*{box-sizing:border-box}body{margin:0;background:#fff;color:#273447;font:16px/1.55 'Trebuchet MS',Arial,sans-serif}main{max-width:1160px;margin:auto;padding:26px 32px 100px}header{display:flex;justify-content:space-between;color:#677084;font-size:14px}a{color:inherit}h1{font-size:clamp(36px,5vw,60px);line-height:1.08;letter-spacing:-.04em;margin:44px 0 18px;max-width:850px;font-weight:600}.intro{max-width:740px;color:#586377;font-size:18px}nav{display:flex;gap:12px;margin:32px 0 24px}button{font:inherit;cursor:pointer;color:inherit;border:1px solid #c8ced6;background:#fff;border-radius:9px;min-height:44px;padding:10px 16px}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #5d68bb;outline-offset:3px}button:disabled{opacity:.45;cursor:wait}nav button{flex:1;text-align:left;font-size:20px;font-weight:600;padding:16px 20px}nav span{display:block;font-size:12px;font-weight:400;margin-top:2px;color:#5f6878}nav button[aria-pressed=true]{border-color:#615595;background:#f4f1fa;box-shadow:inset 0 -3px #615595}.workshop{display:grid;grid-template-columns:1.1fr 1fr;gap:36px}.scene{min-width:0;border-radius:22px;background:#f1edf8;min-height:460px;padding:20px;display:flex;flex-direction:column;align-items:center;position:relative}.scene[data-brand=tim]{background:#e7e4df}.scene[data-brand=brick]{background:#e5eee8}.scene.dark{background:#283443}.scene.dark .scene-top,.scene.dark p{color:#fff}.scene-top{display:flex;justify-content:space-between;align-items:center;width:100%;gap:10px}.scene-top strong{font-size:22px}.scene-top button{font-size:12px;padding:6px 12px;min-height:34px;background:transparent;color:inherit}#hero,#poster{width:min(100%,340px);height:340px;object-fit:contain;display:block}#poster[hidden],canvas[hidden],img[hidden]{display:none!important}.scene p{margin:6px 0;min-height:48px;max-width:370px;text-align:center;font-size:15px}#frame-position{font-size:12px;color:#717485;height:18px}h2{font-size:23px;margin:0 0 18px}.controls{padding-top:12px}.states{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.states button{font-size:14px;padding:10px 5px;min-height:48px}.states button[aria-pressed=true]{color:#fff;border-color:#4e446f;background:#4e446f}.playback{display:flex;gap:10px;margin-top:22px}.playback button:first-child{background:#273447;color:white;flex:1}.scrub{display:block;margin-top:20px;font-size:13px}.scrub input{width:100%;display:block;margin:14px 0;accent-color:#615595;min-height:24px}.hint{font-size:14px;color:#697285;margin-top:22px;max-width:440px}#status{font-size:12px;color:#697285;min-height:38px}.notes{margin:48px 0 26px}.notes>div{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.notes p{font-size:14px;margin:0;color:#606b7c}.notes strong{display:block;font-size:15px;color:#273447;margin-bottom:6px}details{font-size:14px;border-top:1px solid #d9dce2;padding-top:18px}pre{font-size:12px;white-space:pre-wrap}#pet{position:fixed;right:24px;bottom:20px;width:104px;height:126px;border:0;padding:0;background:transparent;touch-action:none;user-select:none;z-index:50;display:flex;flex-direction:column;align-items:center}#mini,#mini-poster{width:104px;height:104px;object-fit:contain;pointer-events:none}#pet-label{font-size:12px;background:#fff;border-radius:20px;padding:1px 10px;box-shadow:0 2px 8px #23334d22;pointer-events:none}body{overflow-x:hidden}@media(max-width:720px){main{padding:22px 16px 160px}h1{margin-top:28px;font-size:38px}nav{gap:6px}nav button{padding:12px 10px;font-size:17px}nav span{font-size:10px}.workshop{grid-template-columns:1fr;gap:20px}.scene{min-height:360px;padding:16px}#hero,#poster{width:min(100%,280px);height:280px}.scene p{min-height:40px}.controls{padding:0}.notes>div{grid-template-columns:1fr;gap:16px}#pet{right:12px;bottom:12px;width:92px;height:112px}#mini,#mini-poster{width:92px;height:92px}.notes{margin-top:36px}}
/* Keep the actual animation above the fold; the character is the hero. */
h1{font-size:38px;margin:20px 0 8px;letter-spacing:-.03em}.intro{font-size:16px;margin:0;max-width:1000px}nav{margin:20px 0 20px}main{padding-top:20px}

h1{font-size:38px;margin:20px 0 8px;letter-spacing:-.03em}.intro{font-size:16px;margin:0;max-width:1000px}nav{margin:20px 0 20px}main{padding-top:20px}
