:root{--bg:#f7f4ee;--ink:#28241f;--accent:#a94327;--surface:#eee8df;--muted:#6d6256;--line:#d8d0c3;--onaccent:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.5 system-ui,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.button{min-height:44px;border:1px solid var(--line);border-radius:8px;padding:10px 16px;background:var(--surface);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,.button:hover{filter:brightness(.94)}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.primary{background:var(--accent);color:var(--onaccent);border-color:var(--accent)}header,main,footer{width:min(1400px,100%);margin:auto;padding:24px 48px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-size:24px;font-weight:500;text-decoration:none;letter-spacing:-.02em}nav{display:flex;gap:24px;align-items:center;font-size:14px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(40px,5vw,72px);font-weight:400;line-height:1.04;letter-spacing:-.035em;margin-bottom:24px}h2{font-size:28px;font-weight:500}h3{font-size:20px;font-weight:500}p{color:var(--muted);max-width:64ch}.intro{padding:40px 0 32px;display:flex;align-items:end;justify-content:space-between;gap:40px}.intro p{max-width:42ch;margin:0}.kicker{font-size:14px;color:var(--muted);display:block;margin-bottom:16px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;align-items:start}#stage{background:var(--surface);min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}#stage canvas{display:block;width:100%;height:auto}#controls{display:grid;gap:20px}label{display:grid;gap:8px;font-size:14px}input:not([type=range]),select,textarea{width:100%;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:8px}input[type=range]{accent-color:var(--accent);width:100%;min-height:32px}textarea{min-height:120px;resize:vertical}#status{font-size:14px;color:var(--muted);margin:16px 0;overflow-wrap:anywhere;min-height:24px}.drop{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px}.drop strong{font-size:24px;font-weight:500}.drop p{font-size:15px;margin:16px 0}.notes{padding:32px;min-height:400px}.note{padding:24px 0;border-bottom:1px solid var(--line);display:grid;gap:12px}.note small{color:var(--muted)}.note div{white-space:pre-wrap;overflow-wrap:anywhere}.note button{justify-self:start}.big-sample{padding:40px;line-height:1.15;min-height:360px;overflow-wrap:normal;word-break:normal;white-space:pre-wrap}.help{border-top:1px solid var(--line);margin-top:48px;padding:24px 0;display:flex;justify-content:space-between;gap:32px;font-size:14px}.help p{margin:0}.help details{max-width:520px}summary{cursor:pointer;min-height:44px}footer{font-size:13px;color:var(--muted);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.skip{position:absolute;left:16px;top:-100px;background:var(--ink);color:var(--bg);padding:12px;z-index:10}.skip:focus{top:8px}.steps{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;padding:32px}.step{padding:0;aspect-ratio:1;min-height:44px;background:var(--bg);border-radius:8px;font-variant-numeric:tabular-nums}.step.on{background:var(--accent);color:var(--onaccent)}.step.playing{outline:3px solid var(--ink);outline-offset:3px}@media(max-width:760px){header,main,footer{padding:20px}header{gap:16px}nav{gap:16px}.intro{display:block;padding:32px 0}.intro p{margin-top:20px}.workspace{grid-template-columns:1fr;gap:24px}.help{display:block;margin-top:32px}.help p{margin-bottom:20px}.steps{grid-template-columns:repeat(4,minmax(0,1fr));padding:20px;gap:12px}h1{font-size:40px}.big-sample{padding:24px}.drop{min-height:240px}footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}.brand{font-family:Georgia,serif;font-size:36px}.intro{display:grid;grid-template-columns:1fr 1fr}.intro h1{font-family:Georgia,serif;font-size:64px;max-width:10ch}.workspace{grid-template-columns:minmax(0,1fr) 260px}#stage{border-radius:0;padding:24px;background:#e9e2d6}#stage canvas{aspect-ratio:4/3}.palette-strip{display:flex;gap:12px;margin:24px 0}.palette-strip button{height:60px;flex:1;border:0;border-radius:0}.palette-strip button:nth-child(1){background:#272752}.palette-strip button:nth-child(2){background:#1c4944}.palette-strip button:nth-child(3){background:#d7e056;color:#222}@media(max-width:760px){.intro{display:block}.intro h1{font-size:44px}.workspace{grid-template-columns:1fr}}.palette-strip button:nth-child(1),.palette-strip button:nth-child(2){color:#fff}