html:has(.workshop){scrollbar-gutter:auto;background:var(--deck)}.workshop{z-index:0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--deck);color:var(--deck-ink);font:14px/1.5 var(--font-sans);position:fixed;inset:0;overflow:clip}.workshop *{box-sizing:border-box}.workshop button,.workshop a{-webkit-tap-highlight-color:transparent}.workshop button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.workshop button:focus-visible,.workshop a:focus-visible{outline:2px solid var(--brass);outline-offset:3px}.workshop button:disabled{opacity:.45;cursor:wait}.workshop dialog{margin:auto}.workshop a{color:inherit}.workshop .kicker{font:500 11px/1.4 var(--font-mono);letter-spacing:.12em;color:var(--brass);margin:0}.workshop #experience{isolation:isolate;width:100%;height:100%;min-height:500px;position:relative;overflow:clip}.workshop #viewport{touch-action:none;position:absolute;inset:0;overflow:clip}.workshop .workshop-plate{object-fit:cover;width:100%;max-width:none;height:100%;position:absolute;inset:0}.workshop canvas{outline:none;width:100%;height:100%;display:block;position:relative}.workshop .vignette{z-index:1;pointer-events:none;background:linear-gradient(#0c090600 45%,#0c090680 70%,#120e0aeb 100%),linear-gradient(90deg,#0c09068c,#0c090600 45%),linear-gradient(#0c090673,#0c090600 18%);position:absolute;inset:0}.workshop .pill{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);height:34px;font:12px var(--font-mono);letter-spacing:.04em;color:var(--brass-hi);white-space:nowrap;transition:background .2s var(--ease-out-quart);background:#15110d8c;border:1px solid #d9a44173;border-radius:999px;align-items:center;gap:6px;padding:0 14px;text-decoration:none;display:inline-flex}.workshop .pill:hover{background:#d9a44138}.workshop .pill[hidden]{display:none}.workshop .masthead{z-index:3;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;top:20px;left:24px;right:24px}.workshop .masthead-tools{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-left:auto;display:flex}.workshop .is-embedded .brand{display:none}.workshop .intro{z-index:2;pointer-events:none;max-width:34rem;position:absolute;bottom:112px;left:36px}.workshop h1{font:400 clamp(64px, 7vw, 104px)/.9 var(--font-display);letter-spacing:-.02em;color:var(--deck-ink);margin:10px 0 0}.workshop h1 span{letter-spacing:0;color:#f4ecdcd1;font-size:.36em}.workshop .intro h2{margin:8px 0 0;font-size:20px;font-weight:600}.workshop .intro-copy{max-width:30rem;color:var(--deck-dim);margin:10px 0 0}.workshop .readouts{border-top:1px solid #d9a44147;grid-template-columns:repeat(2,minmax(0,max-content));margin:18px 0 0;display:grid}.workshop .readouts div{min-width:0;padding:10px 24px 0 0}.workshop .readouts div+div{border-left:1px solid #d9a4412e;padding-left:18px}.workshop .readouts dt{font:11px var(--font-mono);letter-spacing:.06em;color:#f4ecdc99}.workshop .readouts dd{white-space:nowrap;margin:4px 0 0;font-size:15px}.workshop #distance{font-family:var(--font-mono);color:var(--brass-hi)}.workshop .is-near .intro h1{font-size:52px}.workshop .is-near .intro-copy{display:none}.workshop #loading{z-index:10;text-align:center;background:var(--deck);font:12px var(--font-mono);letter-spacing:.12em;color:var(--deck-dim);place-content:center;gap:14px;display:grid;position:absolute;inset:0}.workshop #loading[hidden]{display:none}.workshop #loading p{margin:0}.workshop .loading-ring{border:1px solid #d9a44140;border-top-color:var(--brass);border-radius:50%;width:32px;height:32px;margin:auto;animation:1.4s linear infinite workshop-spin}@keyframes workshop-spin{to{transform:rotate(360deg)}}.workshop #error{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);width:min(480px,100% - 32px);color:var(--ink);padding:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.workshop #error[hidden]{display:none}.workshop #error h2{font:400 26px/1.15 var(--font-display);margin:0}.workshop #error p{color:var(--ink-3);margin:10px 0 0}.workshop #error-detail{white-space:pre-wrap;font:12px var(--font-mono);color:var(--ink-4);margin:12px 0 0}.workshop .inspector{z-index:3;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);width:300px;color:var(--ink);padding:16px 18px;position:absolute;top:72px;right:24px;box-shadow:0 18px 40px -18px #00000073}.workshop .inspector .kicker{color:var(--accent)}.workshop .inspector-head{justify-content:space-between;align-items:center;display:flex}.workshop .icon-button{width:28px;height:28px;color:var(--ink-3);border-radius:999px;place-content:center;padding:0;font-size:20px;display:inline-grid}.workshop .icon-button:hover{color:var(--ink)}.workshop .inspector h2{font:400 25px/1.15 var(--font-display);margin:10px 0 0}.workshop .inspector p{color:var(--ink-3);margin:8px 0 0;font-size:13px;line-height:1.7}.workshop .registers{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px;display:grid}.workshop .registers div{flex-direction:column;gap:2px;min-width:0;padding:8px 8px 8px 0;display:flex}.workshop .registers div+div{border-left:1px solid var(--line-soft);padding-left:10px}.workshop .registers span{color:var(--ink-3);font-size:11.5px}.workshop .registers strong{font:800 28px/1.05 var(--font-numeral);color:var(--ink)}.workshop .registers .is-constant{color:var(--accent)}.workshop .ledger{font:12px var(--font-mono)}.workshop .ledger-head,.workshop #ledger-rows>div{border-bottom:1px solid var(--line-soft);grid-template-columns:30px 1fr 1.2fr;align-items:center;gap:6px;padding:6px 0;display:grid}.workshop .ledger-head{color:var(--ink-4);font-size:11px}.workshop #ledger-rows>div{color:var(--ink-4)}.workshop #ledger-rows>div:last-child{color:var(--ink)}.workshop .ledger strong{font-weight:600}.workshop #ledger-rows>div span:last-child{text-align:right}.workshop .inspector .machine-status{font:12px var(--font-mono);align-items:center;gap:8px;margin-top:10px;line-height:1.4;display:flex}.workshop .status-dot{background:var(--ink-4);border-radius:50%;flex:none;width:6px;height:6px}.workshop .status-dot.is-running{background:var(--brass);box-shadow:0 0 8px #d9a441b3}.workshop .hotspot{z-index:2;white-space:nowrap;opacity:0;pointer-events:none;will-change:transform;align-items:center;gap:8px;padding:0;transition:opacity .2s;display:flex;position:absolute;top:0;left:0}.workshop .hotspot.is-visible{opacity:1;pointer-events:auto}.workshop .spot-circle{border:1px solid var(--brass);width:30px;height:30px;color:var(--brass-hi);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s var(--ease-out-quart), color .2s var(--ease-out-quart);background:#15110db3;border-radius:50%;place-items:center;font-size:15px;display:grid;box-shadow:0 0 0 4px #d9a4412e}.workshop .hotspot:hover .spot-circle,.workshop .hotspot:focus-visible .spot-circle,.workshop .hotspot.is-selected .spot-circle{background:var(--brass);color:#2a1f16}.workshop .spot-label{font:12px var(--font-mono);color:var(--deck-ink);background:#15110db3;border:1px solid #d9a44159;border-radius:999px;padding:3px 10px}.workshop .dock{z-index:4;background:linear-gradient(#120e0a00,#120e0ae6 40%);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:28px 36px 20px;display:grid;position:absolute;bottom:0;left:0;right:0}.workshop .view-controls{gap:6px;display:flex}.workshop .view-button,.workshop .run-button,.workshop .reset-button{height:36px;font:12px var(--font-mono);letter-spacing:.04em;color:var(--brass-hi);transition:background .2s var(--ease-out-quart);background:#15110d8c;border:1px solid #d9a44173;border-radius:999px;padding:0 14px}.workshop :is(.view-button,.run-button,.reset-button):hover{background:#d9a44138}.workshop .view-button.is-active,.workshop .run-button[aria-pressed=true]{border-color:var(--brass);color:var(--deck-ink);background:#d9a4412e}.workshop .dock-note{text-align:center;font:11.5px var(--font-mono);color:var(--deck-faint);flex-direction:column;gap:2px;margin:0;display:flex}.workshop .touch-hint{display:none}.workshop .dock-actions{align-items:center;gap:8px;display:flex}.workshop .reset-button{place-content:center;width:36px;padding:0;font-size:18px;display:inline-grid}.workshop .run-button{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.workshop .play-icon{font-size:9px}.workshop .step-button{white-space:nowrap;background:linear-gradient(var(--brass-hi), var(--brass));color:#2a1f16;border-radius:999px;height:40px;padding:0 22px;font-weight:600}.workshop .step-button:hover{background:linear-gradient(#f6dfa4, var(--brass-hi))}.workshop .toast{z-index:9;text-align:center;max-width:85%;font:12px var(--font-mono);color:var(--deck-ink);background:#15110de0;border:1px solid #d9a44173;border-radius:999px;padding:8px 16px;position:absolute;bottom:104px;left:50%;transform:translate(-50%)}.workshop .toast[hidden]{display:none}.workshop dialog{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);max-width:min(1050px,92vw);max-height:89svh;color:var(--ink);padding:0;overflow:auto;box-shadow:0 30px 120px #00000080}.workshop dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d0a07d9}.workshop dialog img{object-fit:contain;background:var(--deck);width:100%;max-height:69svh;display:block}.workshop .dialog-close{z-index:2;width:34px;height:34px;color:var(--brass-hi);background:#15110d99;border:1px solid #d9a44173;font-size:22px;position:absolute;top:12px;right:12px}.workshop .dialog-close:hover{color:var(--deck-ink)}.workshop .dialog-caption{padding:16px 22px 20px}.workshop .dialog-caption h2{font:400 26px/1.15 var(--font-display);margin:0}.workshop .dialog-caption p{color:var(--ink-3);margin:8px 0 0;font-size:13px;line-height:1.7}.workshop .about-content{max-width:610px;padding:40px}.workshop .about-content .kicker{color:var(--accent)}.workshop .about-content h2{font:400 32px/1.15 var(--font-display);margin:14px 0 16px}.workshop .about-content p{color:var(--ink-3);margin:0 0 12px;font-size:14px;line-height:1.8}.workshop .about-content a{color:var(--accent);font-size:13px}.workshop .about-content .about-small{font:11px var(--font-mono);color:var(--ink-4);margin-top:24px}@media (pointer:coarse){.workshop .desktop-hint{display:none}.workshop .touch-hint{display:inline}}@media (width<=1100px){.workshop .inspector{width:260px}.workshop #inspector-copy,.workshop .dock-note{display:none}.workshop .dock{grid-template-columns:auto auto;justify-content:space-between}}@media (height<=620px) and (width>=761px){.workshop .intro-copy,.workshop #inspector-copy,.workshop .readouts{display:none}.workshop .intro{bottom:92px}.workshop h1{font-size:60px}.workshop .inspector{top:64px}.workshop #ledger-rows>div:not(:last-child){display:none}}@media (width<=760px){.workshop #viewport,.workshop .vignette{height:60svh;bottom:auto}.workshop .masthead{flex-wrap:wrap;top:12px;left:12px;right:12px}.workshop .pill{height:36px}.workshop #style-toggle{display:none}.workshop .intro{bottom:calc(40svh + 36px);left:20px;right:20px}.workshop h1{font-size:64px}.workshop .intro h2{font-size:18px}.workshop .intro-copy,.workshop .readouts,.workshop .spot-label{display:none}.workshop .is-near .intro h1{font-size:44px}.workshop .hotspot{margin:-7px;padding:7px}.workshop .sheet{z-index:3;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);color:var(--ink);flex-direction:column;gap:12px;padding:16px;display:flex;position:absolute;inset:calc(60svh - 24px) 12px 12px;overflow:auto}.workshop .inspector{width:auto;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;position:static}.workshop .inspector h2{margin-top:6px;font-size:22px}.workshop #inspector-copy,.workshop .ledger{display:none}.workshop .dock{background:0 0;flex-direction:column;align-items:stretch;gap:8px;margin-top:auto;padding:0;display:flex;position:static}.workshop .dock-note{display:none}.workshop .view-controls{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.workshop .view-button,.workshop .run-button,.workshop .reset-button{border-color:var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;height:44px;font:13px var(--font-sans);color:var(--ink-3);background:0 0}.workshop .view-button.is-active,.workshop .run-button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-softer);color:var(--ink)}.workshop .dock-actions{gap:6px}.workshop .reset-button{flex:none;width:44px;font-size:18px}.workshop .run-button{color:var(--ink);flex:1;justify-content:center}.workshop .step-button{flex:1.3;height:44px;padding:0 12px}.workshop .toast{bottom:calc(40svh + 32px)}.workshop .about-content{padding:32px 22px}.workshop .about-content h2{font-size:26px}}@media (prefers-reduced-motion:reduce){.workshop *,.workshop :before,.workshop :after{transition:none!important;animation:none!important}}.workshop #experience>:not(#viewport){transition:opacity .6s}.workshop .is-crossing>:not(#viewport){opacity:0;pointer-events:none}
