/* (c) 2026 aiidea.co.uk. All rights reserved. */
:root{--ink: #eef2ff;--dim: rgba(226, 232, 255, .62);--faint: rgba(226, 232, 255, .34);--line: rgba(190, 205, 255, .16);--glass: rgba(12, 15, 28, .52);--warm: #ffd9a6;--cool: #9cc4ff;--serif: "Instrument Serif", "Cormorant Garamond", "Iowan Old Style", Georgia, serif;--sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--pad: clamp(16px, 2.6vw, 34px)}*{box-sizing:border-box}html,body{height:100%;margin:0;background:#03040a;color:var(--ink);overflow:hidden}body{font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}canvas{position:fixed;inset:0;width:100%;height:100%;display:block}#ov{touch-action:none;cursor:grab}#ov:active{cursor:grabbing}body.arming #ov{cursor:crosshair}.mono{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}button:focus-visible,input:focus-visible{outline:1.5px solid var(--cool);outline-offset:3px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block}svg .fill{fill:currentColor;stroke:none}#ui{position:fixed;inset:0;pointer-events:none;opacity:0;transition:opacity 1.4s ease .3s}#ui>*{pointer-events:auto}body.entered #ui{opacity:1}body.bare #ui,body.bare #scalebar{opacity:0!important;pointer-events:none;transition:opacity .4s}body.bare #ui>*{pointer-events:none}#head{position:absolute;left:var(--pad);top:var(--pad);max-width:min(410px,78vw);pointer-events:none;text-shadow:0 1px 22px rgba(0,0,0,.75)}#head:before{content:"";position:absolute;inset:-60px -90px -70px -60px;z-index:-1;background:radial-gradient(ellipse at 38% 45%,#03040a9e,#03040a57 45%,#03040a00 72%)}.brand{display:flex;align-items:center;gap:9px;font:500 10.5px var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--dim)}.mark{width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--warm) 0 17%,transparent 21%);position:relative}.mark:after{content:"";position:absolute;inset:3.5px -3px;border:1.2px solid var(--cool);border-radius:50%;transform:rotate(-28deg)}#title{font:italic 400 clamp(40px,5.4vw,68px)/.98 var(--serif);margin:20px 0 12px;letter-spacing:-.012em}#catalog{color:var(--warm);opacity:.9}#blurb{margin:13px 0 11px;color:var(--dim);font-size:13.5px;line-height:1.58;text-wrap:pretty}#when{color:var(--faint)}#head.in>*{animation:rise 1.1s cubic-bezier(.2,.7,.2,1) both}#head.in>:nth-child(2){animation-delay:.08s}#head.in>:nth-child(3){animation-delay:.16s}#head.in>:nth-child(4){animation-delay:.24s}#head.in>:nth-child(5){animation-delay:.32s}@keyframes rise{0%{opacity:0;transform:translateY(10px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}#tools{position:absolute;right:var(--pad);top:var(--pad);display:flex;gap:2px;padding:4px;border-radius:999px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3)}#tools button{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:var(--faint);transition:color .2s,background .2s}#tools button:hover{color:var(--ink);background:#ffffff12}#tools button[aria-pressed=true]{color:var(--ink)}#tools button[data-act=sound] .on{display:none}#tools button[data-act=sound][aria-pressed=true] .on{display:inline}#tools button[data-act=sound][aria-pressed=true] .off{display:none}.panel{position:absolute;right:var(--pad);top:calc(var(--pad) + 56px);width:286px;padding:16px 18px 12px;border-radius:16px;background:#0a0c18c7;border:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.panel[hidden],#launchbar[hidden]{display:none}.row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.row label{font:10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);white-space:nowrap}.hint{margin:2px 0 6px;font-size:12px;color:var(--faint);line-height:1.5}.seg{display:flex;border:1px solid var(--line);border-radius:999px;padding:2px}.seg button{padding:4px 9px;border-radius:999px;font:10.5px var(--mono);letter-spacing:.06em;color:var(--dim)}.seg button.sel{background:#ffffffeb;color:#0a0c18}input[type=range]{-webkit-appearance:none;appearance:none;width:150px;height:18px;background:none;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:2px;background:var(--line);border-radius:2px}input[type=range]::-moz-range-track{height:2px;background:var(--line);border-radius:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;margin-top:-5px;border-radius:50%;background:var(--ink)}input[type=range]::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--ink)}#readout{position:absolute;right:var(--pad);bottom:calc(var(--pad) + 128px);text-align:right;color:var(--ink);pointer-events:none;text-shadow:0 1px 12px #000}#readout div{margin-top:9px;display:flex;flex-direction:column;gap:1px;font-size:11.5px;font-variant-numeric:tabular-nums}#readout .k,.k{color:var(--faint);font-size:9.5px}#scalebar{position:fixed;left:var(--pad);bottom:calc(var(--pad) + 128px);color:var(--dim);pointer-events:none;opacity:0;transition:opacity 1.4s ease .3s;text-shadow:0 1px 12px #000}body.entered #scalebar{opacity:1}#scalebar i{display:block;height:5px;border:1px solid var(--dim);border-top:0;margin-bottom:6px;transition:width .25s}#toast{position:absolute;left:50%;top:calc(var(--pad) + 6px);transform:translate(-50%,-8px);max-width:min(560px,60vw);padding:9px 18px;border-radius:999px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:13px;color:var(--ink);text-align:center;opacity:0;transition:opacity .5s,transform .5s;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%)}#dock{position:absolute;left:0;right:0;bottom:0;padding:0 var(--pad) calc(var(--pad) - 6px + env(safe-area-inset-bottom));background:linear-gradient(to top,#03040ad1,#03040a00);pointer-events:none}#dock>*{pointer-events:auto}#scenes{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 -6px 10px;padding:4px 6px;mask-image:linear-gradient(to right,transparent 0,#000 12px,#000 calc(100% - 28px),transparent 100%)}#scenes::-webkit-scrollbar{display:none}#scenes button{flex:none;padding:7px 13px 7px 11px;border-radius:999px;font:italic 17px/1 var(--serif);color:var(--dim);white-space:nowrap;display:flex;align-items:baseline;gap:8px;border:1px solid transparent;transition:color .2s,background .2s,border-color .2s}#scenes button .mono{font-style:normal;font-size:9px;color:var(--faint)}#scenes button:hover{color:var(--ink)}#scenes button.sel{color:var(--ink);background:var(--glass);border-color:var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}#scenes button.sel .mono{color:var(--warm)}#transport{display:flex;align-items:center;gap:6px;height:54px;padding:0 10px 0 8px;border-radius:999px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3)}#transport button{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:50%;color:var(--dim);transition:color .2s,background .2s}#transport button:hover{color:var(--ink);background:#ffffff12}#b-play{background:#fffffff0!important;color:#06070f!important}#b-play .pause,body.playing #b-play .play{display:none}body.playing #b-play .pause{display:inline}body.reverse.playing #b-rev{color:var(--warm)}#b-speed{width:46px!important;font-size:11px;letter-spacing:.02em}#clock{display:flex;flex-direction:column;justify-content:center;min-width:118px;padding:0 8px 0 6px;font-variant-numeric:tabular-nums}#c-main{font-size:14px;letter-spacing:.04em;color:var(--ink);text-transform:none}#c-sub{font-size:9px;color:var(--faint);min-height:11px}body.reverse.playing #c-sub{color:var(--warm)}#timeline{flex:1;height:38px;display:flex;align-items:center;cursor:pointer;min-width:40px;touch-action:none}.track{position:relative;width:100%;height:2px;background:var(--line);border-radius:2px}.known{position:absolute;left:0;top:0;bottom:0;background:#e2e8ff80;border-radius:2px}.head{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;box-shadow:0 0 14px #a0c8ffe6}.marks i{position:absolute;top:-5px;width:1.5px;height:12px;margin-left:-1px;background:var(--warm);border-radius:1px}.marks i.merge{top:-4px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:none;border:1.5px solid var(--warm)}#launchbar{position:absolute;left:50%;bottom:calc(var(--pad) + 124px);transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:7px 7px 7px 18px;border-radius:999px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);white-space:nowrap}.cta{padding:10px 20px;border-radius:999px;background:#fffffff0;color:#06070f;font-weight:600;font-size:13px;transition:transform .2s,background .2s}.cta:hover{transform:translateY(-1px);background:#fff}body.arming #l-go{background:var(--warm)}.ghost{padding:10px 20px;border-radius:999px;border:1px solid var(--line);color:var(--dim);font-size:13px;transition:color .2s,border-color .2s}.ghost:hover{color:var(--ink);border-color:var(--dim)}#intro{position:fixed;inset:0;display:grid;place-items:center;text-align:center;padding:24px;transition:opacity 1.2s ease,transform 1.6s ease,filter 1.2s ease;background:radial-gradient(ellipse at center,#03040a00,#03040a8c)}body.entered #intro{opacity:0;transform:scale(1.05);filter:blur(8px);pointer-events:none}#intro .inner>*{animation:rise 1.4s cubic-bezier(.2,.7,.2,1) both}#intro .inner>:nth-child(2){animation-delay:.15s}#intro .inner>:nth-child(3){animation-delay:.3s}#intro .inner>:nth-child(4){animation-delay:.45s}#intro .inner>:nth-child(5){animation-delay:.6s}.eyebrow{color:var(--warm);letter-spacing:.34em}#intro h2{font:400 clamp(64px,12.5vw,176px)/.9 var(--serif);margin:22px 0;letter-spacing:-.03em;text-shadow:0 2px 60px rgba(0,0,0,.8)}#intro h2 em{font-style:italic;color:var(--warm)}.lede{font:400 clamp(15px,1.7vw,20px)/1.5 var(--sans);color:var(--ink);opacity:.86;margin:0 0 30px;text-shadow:0 1px 20px #000}#i-count{font-variant-numeric:tabular-nums}.btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.fine{margin-top:30px;color:var(--faint)}#veil{position:fixed;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .3s;color:var(--dim)}#veil.show{opacity:1}.modal{position:fixed;inset:0;background:#03040a99;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px;z-index:5}.modal[hidden]{display:none}.sheet{position:relative;max-width:700px;max-height:88vh;overflow:auto;padding:38px clamp(22px,4vw,48px) 34px;border-radius:22px;background:#0b0d1af0;border:1px solid var(--line);user-select:text;-webkit-user-select:text;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.sheet h2{font:italic 400 42px/1 var(--serif);margin:0 0 16px}.sheet h3{font:500 10.5px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--warm);margin:26px 0 10px}.sheet p,.sheet li{color:var(--dim);font-size:14px;line-height:1.62}.sheet b{color:var(--ink);font-weight:600}.sheet ul{margin:0;padding-left:18px}.sheet li{margin-bottom:8px}.sheet .keys{text-transform:none;letter-spacing:.02em;font-size:11.5px;line-height:1.9}.sheet .src{font-size:12px;color:var(--faint)}.close{position:absolute;right:16px;top:12px;width:36px;height:36px;font-size:24px;color:var(--dim);border-radius:50%}.close:hover{color:var(--ink);background:#ffffff12}#fatal{position:fixed;inset:0;display:grid;place-items:center;text-align:center;padding:30px;background:#03040a;z-index:9}#fatal[hidden]{display:none}#fatal h2{font:italic 400 40px var(--serif);margin:0 0 12px}#fatal p{color:var(--dim);max-width:460px;margin:6px auto}@media (max-width: 760px){#blurb,#when{display:none}#title{margin:12px 0 8px}#head{top:calc(var(--pad) + 52px)}#tools{left:var(--pad);right:auto;max-width:calc(100vw - 2 * var(--pad));overflow-x:auto;scrollbar-width:none}.panel{left:var(--pad);right:var(--pad);width:auto}#readout div:nth-child(3){display:none}#readout{bottom:calc(var(--pad) + 120px)}#scalebar{display:none}#clock{min-width:96px}#b-restart,#b-rev{display:none!important}#toast{max-width:86vw;top:auto;bottom:calc(var(--pad) + 176px);border-radius:16px}#launchbar{bottom:calc(var(--pad) + 122px)}}@media (max-height: 560px){#blurb,#when{display:none}#title{font-size:34px;margin:10px 0 6px}}@media (prefers-reduced-motion: reduce){#head.in>*,#intro .inner>*{animation:none}}
