:root{--bg:#20211e;--paper:#ecebdf;--ink:#252821;--muted:#a4a69a;--accent:#fa633b;--blue:#376ae9;--line:#45473e;--mono:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--sans)}button,input,a,summary{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.38;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{color:inherit}a{color:inherit}button:hover:not(:disabled){filter:brightness(1.12)}.skip{position:fixed;top:-80px;left:20px;background:var(--paper);color:var(--ink);padding:12px;z-index:30}.skip:focus{top:10px}.masthead{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:25px}.brand{text-decoration:none;font-size:23px;letter-spacing:-1px;font-weight:900;display:flex;align-items:center;gap:5px}.brand>span:not(.brand-mark){font-weight:400}.brand-mark{color:var(--accent);font-size:39px;margin-right:8px}.brand sup{font:10px var(--mono);align-self:flex-start;margin:10px 0 0 5px}.edition,.eyebrow,.text-button,.machine-top,.panel-label,.range-ends,.machine-bottom,.scene-label,.hatch-invitation,footer,.chip>span,.allocation-top,.basement-note,.motion-note{font-family:var(--mono);font-size:10px;letter-spacing:1px}.edition{color:var(--muted)}.text-button{background:transparent;border:1px solid var(--line);padding:11px 14px;min-height:44px;border-radius:25px;white-space:nowrap}.sound-icon{font-size:16px;margin-right:7px}.text-button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}main{max-width:1540px;margin:auto;padding:0 4%}.title-strip{display:flex;justify-content:space-between;align-items:flex-end;padding:32px 0 28px;gap:25px}.eyebrow{color:var(--muted);margin:0 0 13px}h1{font-size:clamp(35px,4.4vw,69px);font-weight:500;letter-spacing:-3px;line-height:1;margin:0}h1 em{font-family:var(--serif);font-weight:400}h1>span{color:var(--accent);margin-left:20px;display:inline-block;transform:rotate(-10deg)}.invitation{font-size:13px;color:var(--muted);line-height:1.7;margin:0 0 2px;white-space:nowrap}.invitation strong{color:var(--paper);font-weight:400}.machine{border:1px solid var(--line);border-radius:7px;overflow:hidden;box-shadow:0 20px 80px #0002}.machine-top{height:41px;display:flex;align-items:center;padding:0 18px;gap:18px;background:#272924;justify-content:space-between}.machine-top>span{white-space:nowrap}.machine-top output{margin-left:auto;color:var(--muted);font-size:9px}.led{display:inline-block;width:6px;height:6px;background:#b5ce7b;border-radius:50%;margin-right:8px;box-shadow:0 0 8px #b5ce7b22}.round-button{width:24px;height:24px;min-width:24px;border:1px solid #656858;border-radius:50%;background:none;font-size:12px}.bench{display:grid;grid-template-columns:76px minmax(0,1fr) 198px}.toolrack{background:#2b2d27;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:12px 7px;gap:4px}.tool{position:relative;width:100%;border:1px solid transparent;border-radius:4px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:62px;gap:5px;font:10px var(--mono);color:#b6b9aa}.tool-symbol{font:26px var(--sans);line-height:24px}.tool kbd{position:absolute;right:4px;top:4px;font:8px var(--mono);opacity:.45}.tool.selected{background:var(--paper);color:var(--ink)}.tool.selected .tool-symbol{color:var(--accent)}.tool:hover:not(.selected){border-color:#626657}.arena-wrap{position:relative;background:var(--paper);min-height:490px;height:clamp(480px,47vw,650px);overflow:hidden;color:var(--ink);isolation:isolate}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}canvas:focus-visible{outline-offset:-5px}.arena-caption{pointer-events:none;position:absolute;bottom:16px;left:22px;right:22px;display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:1px;color:#6c7160}.instrument-panel{background:#272924;padding:22px 18px}.panel-label{color:var(--muted);font-size:9px;margin-bottom:28px}.instrument-panel label{font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}.instrument-panel output{font:8px var(--mono);color:var(--accent)}input[type=range]{width:100%;margin:6px 0 10px;accent-color:var(--accent);height:16px;cursor:pointer}.range-ends{color:var(--muted);font-size:7px;display:flex;justify-content:space-between;margin-bottom:18px}.flip-button{width:100%;border:1px solid var(--line);border-radius:4px;background:none;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;min-height:45px;margin:6px 0 28px}.flip-button span{font-size:21px;color:var(--accent)}.flip-button[aria-pressed=true] span{transform:rotate(180deg)}.divider{height:1px;background:var(--line);margin:22px 0}.action-button{border:0;background:none;display:flex;align-items:center;gap:13px;padding:10px 0;font-size:12px;min-height:42px;text-align:left}.action-button span{font-size:23px;color:var(--accent)}.transport{display:flex;gap:7px;margin-top:19px}.transport button{flex:1;background:var(--paper);border:0;border-radius:3px;color:var(--ink);padding:12px 5px;font-size:10px;min-height:40px}.transport button+button{background:#3b3e33;color:var(--paper)}.motion-note{color:var(--muted);font-size:9px;line-height:1.8;margin:20px 0 0;letter-spacing:0}.machine-bottom{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:10px 18px;gap:20px;color:#b8bbad;font-size:9px;letter-spacing:.3px}.machine-bottom p{margin:0;max-width:72%}.counter{white-space:nowrap;color:#858c77}.counter output{color:var(--paper)}.scene-strip{display:flex;align-items:center;gap:20px;padding:18px 0 29px}.scene-label{font-size:8px;color:var(--muted);white-space:nowrap}.scenes{display:flex;gap:7px;flex:1;flex-wrap:wrap}.scenes button{background:none;border:1px solid var(--line);padding:10px 12px;border-radius:3px;font:9px var(--mono);color:#8e9482;min-height:40px;white-space:nowrap}.scenes button span{color:var(--paper);margin-left:8px;font:11px var(--sans)}.scenes button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.bottle{background:none;border:0;font-size:11px;min-height:44px;white-space:nowrap}.bottle span{color:var(--accent);font-size:18px;margin-left:5px}.basement{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.basement summary{display:flex;align-items:center;gap:20px;padding:25px 0}.hatch-mark{width:51px;height:51px;display:grid;place-items:center;background:#303329;border:1px solid var(--line);font-size:30px;color:#aeb497}.basement summary .eyebrow{display:block;margin-bottom:6px;font-size:8px}.basement summary strong{display:block;font:23px var(--serif);font-weight:400}.hatch-invitation{margin-left:auto;font-size:9px;color:var(--muted)}.hatch-invitation>span{font-size:18px;color:var(--accent);margin-left:12px}.basement[open] .hatch-invitation>span{display:inline-block;transform:rotate(180deg)}.basement-inner{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:35px;padding:23px 0 32px;align-items:center}.basement-intro h2{font-size:49px;font-weight:400;letter-spacing:-2px;line-height:.98;margin:17px 0}.basement-intro h2 em{font-family:var(--serif);font-weight:400}.basement-intro>p:last-child{font-size:12px;line-height:1.8;color:var(--muted);max-width:290px}.chip{position:relative;background:#353931;border:6px double #636c5c;outline:1px solid #434a3f;box-shadow:0 0 0 9px #252820,0 0 0 10px #505646;max-width:300px;min-height:245px;width:calc(100% - 20px);margin:10px;color:var(--paper);padding:18px 12px;transform:rotate(-3deg)}.chip>span{display:block;color:var(--muted);font-size:8px;letter-spacing:0}.chip>strong{display:block;font:italic 58px var(--serif);line-height:.85;margin:25px 0 17px}.chip>strong>span{font:13px var(--mono);display:block;margin-top:12px}.chip .chip-spec{line-height:1.7;font-size:10px}.chip .chip-secret{font-size:8px;color:var(--accent);margin-top:19px}.allocation{border:1px solid var(--line);padding:16px}.allocation-top{color:var(--muted);font-size:8px;margin-bottom:12px}.allocation-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:11px 0}.allocation-row strong{font-weight:400;font-size:36px;letter-spacing:-1px;white-space:nowrap}.allocation-row strong>small{font:12px var(--mono);letter-spacing:0;color:var(--muted)}.allocation-row>span{font:10px var(--mono);line-height:1.7}.allocation-row>span>small{color:var(--muted);font-size:8px}.allocation>p{font:9px var(--mono);line-height:1.8;color:var(--muted)}.basement-note{grid-column:1/-1;color:var(--muted);font-size:8px;line-height:1.8;letter-spacing:0;margin:0}.inventory{padding:18px 0;color:var(--muted);font-size:11px;border-bottom:1px solid var(--line)}.inventory summary{display:flex;justify-content:space-between;gap:15px}.inventory summary:before{content:'+';color:var(--accent);font-size:14px}.inventory[open] summary:before{content:'−'}.inventory summary output{margin-left:auto;font:9px var(--mono)}.inventory>p{max-width:600px;line-height:1.7}.inventory button{border:1px solid var(--line);background:none;border-radius:3px;padding:10px;font-size:10px;min-height:36px}#pieces{display:flex;gap:6px;flex-wrap:wrap;padding:0;list-style:none;max-height:220px;overflow:auto}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 0;color:var(--muted);font-size:8px}footer button{border:0;background:none;font:10px var(--mono);padding:10px;min-height:40px;color:var(--paper)}footer button span{color:var(--accent);font-size:18px;margin-left:10px}.instructions{position:absolute;z-index:4;inset:20px auto auto 20px;background:var(--ink);color:var(--paper);width:min(380px,calc(100% - 40px));padding:22px;box-shadow:8px 8px 0 #fa633b77;border:1px solid #555a47}.instructions h2{font:italic 26px var(--serif);font-weight:400;margin:0 0 18px}.instructions p{font-size:12px;line-height:1.65;color:#c2c5b7}.instructions p b{color:var(--paper)}.instructions button{background:var(--accent);border:0;border-radius:3px;color:#231e19;min-height:42px;padding:10px 16px;font-size:12px}.canvas-fallback{position:absolute;inset:20%;padding:20px;background:var(--paper)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;background:var(--paper);color:var(--ink);border-radius:4px;border:1px solid #646757;padding:12px 18px;font:11px var(--mono);max-width:calc(100% - 40px);z-index:15;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}dialog{width:min(540px,calc(100% - 32px));padding:40px;background:var(--paper);color:var(--ink);border:0;border-radius:5px}dialog::backdrop{background:#10110fe8}dialog h2{font-size:36px;font-weight:400;line-height:1.1;letter-spacing:-1px;margin:20px 0}dialog h2 em{font-family:var(--serif)}dialog p{font-size:13px;line-height:1.7;color:#616752}dialog .eyebrow{font-size:9px}dialog label{display:block;font:10px var(--mono);margin:22px 0 8px}dialog input{width:100%;padding:12px;background:#d9dccd;border:1px solid #c1c7b0;color:var(--ink);font:10px var(--mono);border-radius:3px}.dialog-close{position:absolute;right:15px;top:10px;font-size:30px;border:0;background:none;color:var(--ink);width:40px;height:40px}.copy-button{background:var(--ink);color:var(--paper);border:0;padding:14px 20px;margin-top:15px;border-radius:3px;font-size:12px;min-height:44px}.no-js{border-top:1px solid var(--line);padding:20px;font-size:14px;text-align:center}[hidden]{display:none!important}
@media(min-width:1450px){.arena-wrap{height:600px}.instrument-panel{padding-top:36px}.tool{min-height:73px}}
@media(max-width:1050px){.edition{display:none}.bench{grid-template-columns:64px minmax(0,1fr) 162px}.instrument-panel{padding:18px 12px}.tool{min-height:59px}.scene-strip{flex-wrap:wrap;gap:12px}.scene-label{width:100%}.basement-inner{gap:20px}.basement-intro h2{font-size:39px}.chip>strong{font-size:49px}.chip>span{font-size:7px}.invitation{font-size:11px}}
@media(max-width:700px){.masthead{height:68px;padding:0 5%}.brand{font-size:19px}.brand-mark{font-size:31px;margin-right:2px}.text-button{font-size:9px;padding:10px;min-height:42px}.title-strip{padding:25px 0 21px;display:block}.title-strip .eyebrow{font-size:7px;letter-spacing:.8px}h1{font-size:37px;letter-spacing:-1.9px}h1>span{margin-left:10px}.invitation{display:none}main{padding:0 4%}.machine-top{padding:0 11px;font-size:8px;gap:8px;height:38px}.machine-top output{font-size:7px;letter-spacing:0;max-width:90px;text-align:right}.round-button{width:27px;height:27px}.bench{display:flex;flex-wrap:wrap}.toolrack{width:100%;flex-direction:row;padding:6px;border:0;border-bottom:1px solid #929783;gap:1px}.tool{min-height:55px;gap:4px;font-size:8px;min-width:0}.tool-symbol{font-size:24px;line-height:22px}.tool kbd{display:none}.arena-wrap{width:100%;height:430px;min-height:430px}.arena-caption{left:14px;right:14px;bottom:10px;font-size:6px;letter-spacing:.5px}.instrument-panel{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px 20px;padding:18px 14px}.panel-label{grid-column:1/-1;margin:0 0 5px;font-size:8px}.instrument-panel label{font-size:11px;margin:0;grid-column:1}.instrument-panel label[for=bounce]{grid-column:2;grid-row:2}#gravity{grid-column:1;grid-row:3;margin:4px 0;height:20px}#bounce{grid-column:2;grid-row:3;margin:4px 0;height:20px}.range-ends{display:none}.flip-button{grid-column:1;grid-row:4;margin:6px 0;min-height:40px;font-size:10px}.divider,.motion-note{display:none}.action-button{padding:4px 0;font-size:10px;min-height:40px}.action-button span{font-size:20px}#shake{grid-column:2;grid-row:4}#rewind{grid-column:2;grid-row:5}.transport{grid-column:1;grid-row:5;margin:0}.transport button{padding:10px 4px}.machine-bottom{padding:11px 12px;font-size:8px;align-items:flex-start;gap:12px}.machine-bottom p{max-width:75%;line-height:1.5}.counter{font-size:7px}.scene-strip{padding:18px 0 23px;gap:10px}.scenes{width:100%;flex:none;display:grid;grid-template-columns:1fr 1fr}.scenes button{text-align:left;padding:11px 9px;min-height:44px}.scenes button span{font-size:10px;margin-left:5px}.bottle{padding:5px 0;min-height:42px}.basement summary{gap:13px;padding:21px 0}.hatch-mark{height:43px;width:43px;min-width:43px;font-size:25px}.basement summary strong{font-size:20px}.basement summary .eyebrow{font-size:6px;letter-spacing:.7px}.hatch-invitation{font-size:0}.hatch-invitation>span{font-size:22px;margin:0}.basement-inner{grid-template-columns:1fr 1fr;gap:25px 16px;padding:10px 0 25px}.basement-intro{grid-column:1/-1}.basement-intro h2{font-size:43px}.basement-intro>p:last-child{max-width:100%;font-size:12px}.chip{min-height:236px;padding:14px 6px;width:calc(100% - 12px);margin:6px;border-width:4px}.chip>strong{font-size:39px}.chip>strong>span{font-size:9px}.chip .chip-spec{font-size:8px}.chip>span{font-size:6px}.chip .chip-secret{font-size:6px}.allocation{padding:12px 10px}.allocation-row strong{font-size:28px}.allocation-row strong>small{font-size:8px}.allocation-row>span{font-size:8px}.allocation-top{font-size:6px;letter-spacing:0;white-space:nowrap}.allocation-top .led{width:4px;height:4px;margin-right:4px}.allocation>p{font-size:7px}.basement-note{font-size:8px}footer{flex-wrap:wrap;padding:20px 0;gap:10px;font-size:7px}footer>span:nth-child(2){order:3;width:100%}footer button{margin-left:auto;font-size:9px}.instructions{inset:13px auto auto 13px;width:calc(100% - 26px);padding:17px}.instructions p{font-size:11px}.instructions h2{font-size:24px}.instructions button{min-height:40px}dialog{padding:30px 24px}dialog h2{font-size:31px}}
@media(max-width:370px){h1{font-size:33px}h1>span{display:none}.arena-wrap{height:400px;min-height:400px}.tool{font-size:7px}.machine-top>span{font-size:7px}.machine-top output{max-width:75px}.chip>strong{font-size:32px}.allocation-row strong{font-size:23px}.allocation-row>span{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.toast{transform:translateX(-50%)}.chip{transform:none}}
