*{box-sizing:border-box}body{margin:0;background:#090d17;color:#e9e5f1;font:14px/1.6 system-ui,sans-serif}header{height:62px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #252b3a}header span,.eyebrow{font-size:10px;letter-spacing:.2em;color:#9995ae}a{color:#c7b2f0;text-decoration:none}main{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:calc(100dvh - 62px)}.stage{position:relative;min-height:660px;background:radial-gradient(ellipse at 50% 65%,#1d1a30,#090d17 70%)}canvas{position:absolute;width:100%;height:100%;touch-action:none}.caption{position:absolute;bottom:20px;left:24px;right:24px;display:flex;justify-content:space-between;font-size:11px;color:#b8b0c9;pointer-events:none}#reset{position:absolute;top:20px;left:24px}aside{padding:30px 26px;border-left:1px solid #252b3a}h1{font-size:40px;line-height:1.12;letter-spacing:-.05em;margin:12px 0 24px;font-weight:500}.intro{color:#aba6b9;margin-bottom:28px}nav{display:flex;flex-direction:column;gap:6px}button{font:inherit;color:inherit;background:#151a28;border:1px solid #33364b;border-radius:5px;padding:9px 12px;cursor:pointer}button:hover{border-color:#a481cc}nav button{text-align:left;display:flex;justify-content:space-between}nav button[aria-pressed=true]{background:#2b203d;border-color:#956dc2}nav small{font-size:10px;letter-spacing:.1em;align-self:center;color:#bc9fd9}h2{font-size:17px;font-weight:500;margin:25px 0 7px}#description{min-height:68px;color:#aba6b9}.playback{flex-wrap:wrap;display:flex;align-items:center;gap:8px}.playback label{margin-left:auto;font-size:12px}input{accent-color:#b48aff}.scrub-label{display:block;margin-top:22px;font-size:11px;color:#bbb1cc}#scrub{width:100%}.note,details{font-size:11px;color:#8f899e;margin-top:24px}summary{cursor:pointer;color:#bcb2ce}#error{color:#f3b598;font-size:12px}button:focus-visible,a:focus-visible{outline:2px solid #ceadff;outline-offset:3px}@media(max-width:760px){header{padding:0 16px}main{display:flex;flex-direction:column}.stage{height:53dvh;min-height:360px}aside{border-left:0;border-top:1px solid #252b3a;padding:22px}h1{font-size:32px}h1 br{display:none}nav{display:grid;grid-template-columns:1fr 1fr}nav small{display:none}.caption{left:12px;right:12px;font-size:9px}#description{min-height:0}.intro{margin-bottom:18px}}
