:root{--ink: #f6f2ea;--gold: #e9d9b0;--panel: rgba(20, 17, 13, .62);--line: rgba(233, 217, 176, .35);--sel: #e9d9b0;--sel-ink: #1b150d}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#0e0c0a;color:var(--ink);font-family:Helvetica Neue,Arial,sans-serif;-webkit-user-select:none;user-select:none}canvas#view{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}.hidden{display:none!important}.panel{position:fixed;background:var(--panel);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:14px}.intro{left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,calc(100% - 32px));padding:28px 26px;text-align:center}.brand{letter-spacing:.32em;font-size:11px;color:var(--gold)}.intro h1{font-family:Georgia,Times New Roman,serif;font-weight:400;font-size:40px;margin:10px 0 2px}.sub{margin:0 0 18px;opacity:.85}#loadbar{height:3px;background:#ffffff26;border-radius:2px;overflow:hidden}#loadfill{height:100%;width:0;background:var(--gold);transition:width .2s}#loadtext{font-size:13px;opacity:.8;margin:8px 0 16px}button{font:inherit;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:999px;padding:10px 18px;cursor:pointer}button:disabled{opacity:.4;cursor:default}#enter{background:var(--gold);color:var(--sel-ink);border:none;padding:12px 28px;font-weight:600}.hint{font-size:12px;opacity:.65;margin:14px 0 0}#crosshair{position:fixed;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#fff9;pointer-events:none}#crosshair.hot{background:var(--gold);box-shadow:0 0 0 4px #e9d9b040}#prompt{position:fixed;left:50%;top:calc(50% + 26px);transform:translate(-50%);background:var(--panel);color:var(--gold);padding:6px 14px;border-radius:999px;font-size:14px;pointer-events:none}.card{left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100% - 32px));padding:22px;text-align:center}.card h2{font-family:Georgia,serif;font-weight:400;margin:0 0 16px;font-size:24px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}.choice{border-radius:12px;padding:18px 14px;text-align:left;display:flex;flex-direction:column;gap:6px}.choice b{font-size:18px}.choice span{font-size:13px;opacity:.8}.choice i{font-style:normal;font-size:12px;color:var(--gold);min-height:1em}.choice:hover,.choice.sel{background:var(--sel);color:var(--sel-ink);border-color:var(--sel)}.choice:hover i,.choice.sel i{color:var(--sel-ink)}.ghost{margin-top:14px;border:none;opacity:.75}#hud{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom));display:flex;gap:8px;flex-wrap:wrap}#hud button{background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:14px;padding:9px 14px}@media(hover:none){.desktop-only{display:none!important}}@media(hover:hover){.touch-only{display:none!important}}@media(max-width:520px){.choices{grid-template-columns:1fr}.intro h1{font-size:32px}}.flamerow{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.flamelabel{font-size:13px;opacity:.85;margin-bottom:10px}.flamelabel span{color:var(--gold);margin-left:6px}.swatches{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.swatch{width:38px;height:38px;padding:0;border-radius:50%;background:var(--c);border:2px solid rgba(255,255,255,.25);box-shadow:0 0 12px -2px var(--c)}.swatch.cycle{background:conic-gradient(#ff9a3c,#ff3b2a,#9b4dff,#3d7bff,#19d6bd,#ff9a3c);--c: #e9d9b0}.bedrow{margin-top:10px;padding-top:10px}.swatch.match{background:radial-gradient(circle,#e9d9b0 0 30%,#6b5a3a 31% 100%);--c: #e9d9b0}.swatch.on{border-color:#fff;box-shadow:0 0 0 3px #e9d9b08c,0 0 16px 0 var(--c)}@media(max-width:480px){.swatch{width:34px;height:34px}.choice{padding:14px 10px}}.help table{margin:0 auto 4px;border-collapse:collapse;text-align:left;font-size:14px}.help td{padding:5px 10px;vertical-align:top}.help td:first-child{color:var(--gold);white-space:nowrap}#lockhint{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;padding:8px 14px;font-size:13px;opacity:.85;pointer-events:none}.winlink{display:inline-block;margin-top:12px;font-size:13px;color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(233,217,176,.4)}.card{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}#cardclose,#helpclose{position:sticky;bottom:-22px}body.cardopen #hud{display:none}@media(orientation:landscape)and (max-height:500px){.card{top:8px;transform:translate(-50%);padding:12px 16px;max-height:calc(100dvh - 16px);width:min(760px,calc(100% - 24px))}.card h2{font-size:18px;margin-bottom:8px}.choices{grid-template-columns:1fr 1fr;gap:8px}.choice{padding:8px 10px}.flamerow{margin-top:8px;padding-top:8px}.flamelabel{margin-bottom:6px}.swatches{gap:8px}.swatch{width:34px;height:34px}.ghost{margin-top:8px}#cardclose,#helpclose{bottom:-12px;background:var(--panel)}}:root{--gold: #6EA8FF;--gold-hover: #8DBBFF;--slate: #8E8E93;--ink: #F7F7F5;--panel: rgba(11, 11, 15, .74);--line: rgba(110, 168, 255, .38);--sel: #6EA8FF;--sel-ink: #0B0B0F;--r: 12px}html,body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Inter,system-ui,sans-serif;overscroll-behavior:none;height:100%;height:100dvh;touch-action:manipulation;-webkit-tap-highlight-color:transparent}canvas#view{height:100dvh;touch-action:none}.panel{border-radius:var(--r);border-color:var(--line)}.intro h1,.card h2{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Inter,system-ui,sans-serif;font-weight:300;letter-spacing:.01em}.intro h1{font-weight:700;letter-spacing:.02em}.brandlogo{display:block;width:210px;max-width:70%;height:auto;margin:0 auto 10px}.brand{color:var(--slate);letter-spacing:.28em}.sub{color:#d9d6cf}button{border-radius:var(--r);border-color:var(--line)}#enter{background:var(--gold);color:var(--sel-ink);font-weight:700;letter-spacing:.04em}#enter:not(:disabled):hover{background:var(--gold-hover)}.choice{border-radius:var(--r)}.choice:hover,.choice:focus-visible{background:transparent;color:var(--ink);border-color:var(--gold);outline:2px solid var(--gold);outline-offset:2px}.choice:hover i,.choice:focus-visible i{color:var(--gold)}.choice.sel,.choice.sel:hover,.choice.sel:focus-visible{background:var(--gold);border-color:var(--gold);color:var(--sel-ink)}.choice.sel i{color:var(--sel-ink);font-weight:700}#hud button:hover{border-color:var(--gold)}#hud button b,.flamelabel span,.help td:first-child,.choice i{color:var(--gold)}#prompt,#lockhint{border-radius:var(--r)}#crosshair.hot{background:var(--gold);box-shadow:0 0 0 4px #6ea8ff47}#loadfill{background:var(--gold)}.winlink{color:var(--gold);border-bottom-color:#6ea8ff73}.winlink:hover{color:var(--gold-hover)}.winnote{font-size:12px;color:var(--slate);margin:12px 0 0}.card,.help{overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}#hud{left:calc(16px + env(safe-area-inset-left));right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom))}#lockhint{right:calc(16px + env(safe-area-inset-right))}.intro{max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto}@media(pointer:coarse){#hud{gap:8px}#hud button{min-height:44px;min-width:44px;padding:10px 16px;font-size:15px}.card button,.help button,#enter{min-height:44px}.swatch{width:44px;height:44px}.swatches{gap:10px}}@media(pointer:coarse)and (orientation:landscape)and (max-height:500px){.swatch{width:40px;height:40px}#hud{gap:8px}#hud button{min-height:44px;padding:8px 12px;font-size:14px}}@media(hover:none){#hud{top:calc(10px + env(safe-area-inset-top));bottom:auto;justify-content:center}}#stick{position:fixed;z-index:4;width:120px;height:120px;border-radius:50%;pointer-events:none;left:calc(24px + env(safe-area-inset-left));bottom:calc(28px + env(safe-area-inset-bottom));background:#02020257;border:2px solid rgba(110,168,255,.5);box-sizing:border-box;opacity:.5;transition:opacity .25s}#stick.active{opacity:1;transition:none;background:#0202026b;border-color:#6ea8ffcc}#stick .knob{position:absolute;left:33px;top:33px;width:50px;height:50px;border-radius:50%;background:#6ea8ffe0;box-shadow:0 0 0 4px #6ea8ff33,0 2px 8px #00000073;transition:transform .22s cubic-bezier(.3,1.6,.5,1)}#stick.active .knob{transition:none}body.cardopen #stick,body.helpopen #stick{display:none}#touchhint{position:fixed;z-index:4;left:50%;transform:translate(-50%);pointer-events:none;bottom:calc(170px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 32px);background:var(--panel);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);font-size:14px;line-height:1.4;text-align:center;padding:10px 14px;opacity:1;transition:opacity .6s}#touchhint.gone{opacity:0}@media(orientation:landscape)and (max-height:500px){#touchhint{bottom:auto;top:calc(70px + env(safe-area-inset-top))}}#btn-gyro{margin-right:8px}#btn-gyro.on{border-color:var(--gold);color:var(--gold)}#cardclose,#helpclose{background:#020202e6}@media(max-width:520px)and (orientation:portrait){.card{padding:16px 14px}.card h2{font-size:19px;margin-bottom:12px}.choices{grid-template-columns:1fr 1fr;gap:8px}.choice{padding:12px 10px;gap:4px}.choice b{font-size:16px}.choice span{font-size:12px}.flamerow{margin-top:12px;padding-top:10px}.flamelabel{margin-bottom:8px}.swatches{gap:8px}.ghost{margin-top:10px}}#btn-gyro{border:1px solid var(--line);opacity:.9}@media(max-height:500px){.intro{padding:12px 18px;width:min(520px,calc(100% - 32px))}.brandlogo{width:140px;margin-bottom:2px}.intro h1{font-size:24px;margin:4px 0 0;line-height:1.15}.intro .sub{margin:2px 0 8px;font-size:14px}#loadtext{margin:6px 0 8px}.hint{margin-top:8px}.winnote{margin-top:6px}}#caption{position:fixed;z-index:6;left:50%;transform:translate(-50%);pointer-events:none;bottom:calc(18% + env(safe-area-inset-bottom));max-width:calc(100% - 32px);width:max-content;text-align:center;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Inter,system-ui,sans-serif;font-weight:300;font-size:clamp(20px,3.2vw,34px);letter-spacing:.02em;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.55);padding:10px 22px;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);background:linear-gradient(90deg,#02020200,#0202028c,#02020200);opacity:1;transition:opacity .7s;animation:capIn .9s ease-out}#caption.gone{opacity:0}@keyframes capIn{0%{opacity:0;letter-spacing:.12em}to{opacity:1;letter-spacing:.02em}}#skipchip{position:fixed;z-index:6;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));font-size:13px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:8px 12px;pointer-events:none;opacity:.85}#fade{position:fixed;inset:0;z-index:5;background:#0b0b0f;opacity:0;pointer-events:none}body.showing #hud,body.showing #stick,body.showing #crosshair,body.showing #lockhint,body.showing #touchhint{display:none!important}#btn-cinema{border:1px solid var(--line);margin-right:8px}body.introing .intro{background:#020202b8}body.introplay #hud,body.introplay #stick,body.introplay #crosshair{display:none!important}#skipintro{position:fixed;z-index:7;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--r);min-height:44px;padding:10px 16px}#skipintro:hover{border-color:var(--gold)}#caption{bottom:auto;top:calc(12% + env(safe-area-inset-top));background:#020202b8;border:1px solid var(--gold);border-left:none;border-right:none;text-shadow:none;padding:12px 26px}#caption{white-space:nowrap;animation:capIn .5s ease-out;transition:opacity .35s}@keyframes capIn{0%{opacity:0}to{opacity:1}}@media(max-width:600px){#caption{font-size:clamp(14px,4.1vw,20px);padding:9px 16px}}@media(min-width:1400px)and (min-height:820px){.intro{width:min(560px,calc(100% - 32px));font-size:17px}.intro h1{font-size:46px}.intro .hint{font-size:15px}}#stick{transition:opacity .6s}@media(max-width:600px){#skipintro{bottom:auto;top:calc(16px + env(safe-area-inset-top))}}.intro.folding{border-color:var(--gold);box-shadow:0 0 24px #6ea8ff73;overflow:hidden;pointer-events:none}body.nobrand .brandlogo,body.nobrand .brand,body.nobrand #winlink,body.nobrand #winnote,body.nohud #hud,body.nohud #stick,body.nohud #crosshair,body.nohud #lockhint,body.nohud #touchhint,body.nohud #skipintro,body.nohud #skipchip,body.nohud #prompt,body.nocaption #caption{display:none!important}.intro.folding>*{opacity:0;transition:opacity .12s}.build{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Inter,system-ui,sans-serif;text-align:left;margin:14px 0 16px}.build-head{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.build-pct{font-variant-numeric:tabular-nums;letter-spacing:.04em}.build-bar{position:relative;height:3px;margin:7px 0;background:#6ea8ff29;border-radius:2px;overflow:hidden}.build-fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--gold);transition:width .35s ease-out}.build.busy .build-bar:after{content:"";position:absolute;top:0;bottom:0;width:34%;left:-34%;background:linear-gradient(90deg,#fff0c800,#fff0c88c,#fff0c800);animation:buildShimmer 1.6s ease-in-out infinite}@keyframes buildShimmer{to{left:100%}}.build-stage{font-size:13px;color:var(--ink);opacity:.88}.build-slow{font-size:12px;color:var(--gold);opacity:.85;margin-top:3px}#buildpill{position:fixed;z-index:8;left:50%;transform:translate(-50%);bottom:calc(18px + env(safe-area-inset-bottom));width:min(320px,calc(100% - 32px));background:#020202c7;border:1px solid var(--line);border-radius:var(--r);padding:8px 14px 9px}#buildpill .build{margin:0}body.nohud #buildpill{display:none!important}@media(prefers-reduced-motion:reduce){.build.busy .build-bar:after{animation-duration:4s}}@keyframes cardFold{0%{transform:translate(-50%,-50%) scale(1);opacity:1}55%{transform:translate(-50%,-50%) scaleY(.012);opacity:1}85%{transform:translate(-50%,-50%) scale(.22,.012);opacity:.85}to{transform:translate(-50%,-50%) scale(0,.012);opacity:0}}.intro.folding{animation:cardFold .62s cubic-bezier(.55,0,.25,1) forwards}.intro.folding.byframe{animation:none}body.nobrand .brand{display:block!important;color:#a1a1a6}#enter:not(:disabled),.choice.sel,.choice.sel:hover,.choice.sel:focus-visible{background:#5b6ff8 linear-gradient(135deg,#7c5cff,#3b82f6);border-color:transparent;color:#fff}#enter:not(:disabled):hover{background:linear-gradient(135deg,#8f74ff,#5592f7)}.choice.sel i{color:#fff}#studio{right:calc(16px + env(safe-area-inset-right));top:16px;width:320px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:14px 14px 10px;z-index:6;text-align:left}#studio.hidden{display:none}#studio .st-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}#studio h2{margin:0;font-size:19px;font-weight:400}#studio .st-x{min-width:44px;min-height:44px;font-size:22px;line-height:1;padding:0}.st-cmp{display:grid;grid-template-columns:1fr 1fr;gap:6px}.st-cmp button{min-height:44px;font-size:14px}.st-cmp button.sel{background:linear-gradient(135deg,#7c5cff,#3b82f6);border-color:transparent;color:#fff}.st-note{margin:6px 0 4px;font-size:12px;opacity:.7}.st-sec{margin-top:12px}.st-label{font-size:13px;letter-spacing:.02em;margin-bottom:6px}.st-cur{color:var(--gold);margin-left:4px}.st-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.stsw{display:flex;flex-direction:column;align-items:center;gap:4px;padding:5px 2px 6px;min-height:44px;min-width:44px;background:transparent;border:1px solid transparent;border-radius:10px;cursor:pointer;color:inherit}.stsw i{display:block;width:44px;height:44px;border-radius:8px;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px #ffffff2e,0 1px 3px #00000059}.stsw i.same{background:repeating-linear-gradient(45deg,#edeae0 0 6px,#cfcabd 6px 12px)}.stsw span{font-size:11px;line-height:1.15;text-align:center;opacity:.85}.stsw:hover{border-color:var(--line)}.stsw.on{border-color:var(--gold);background:#6ea8ff1f}.stsw.on span{opacity:1}.stsw:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.st-foot{display:flex;gap:8px;margin-top:12px;position:sticky;bottom:-10px;padding:8px 0 10px;background:linear-gradient(#0b0b0f00,#0b0b0ff0 30%)}.st-foot button{flex:1;min-height:44px;font-size:14px}#btn-studio.on{border-color:var(--gold)}.studiorow{margin-top:14px}.studiorow .st-sub{opacity:.6;font-size:.9em}.studiorow .st-sec{margin-top:8px}.studiorow .st-label{text-align:center;opacity:.85}.st-grid.compact{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.st-grid.compact .stsw{padding:2px}.st-grid.compact .stsw i{width:40px;height:40px}.studiorow .st-open{margin-top:10px;min-height:44px}@media(hover:none),(max-width:600px){#studio{left:calc(8px + env(safe-area-inset-left));right:calc(8px + env(safe-area-inset-right));top:auto;bottom:calc(8px + env(safe-area-inset-bottom));width:auto;max-height:46vh;max-height:46dvh;padding:10px 12px 6px}.st-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.st-note{display:none}body.studioopen #stick,body.studioopen #touchhint{display:none!important}}@media(hover:none)and (orientation:landscape)and (max-height:500px){#studio{left:auto;width:min(360px,48vw);top:calc(8px + env(safe-area-inset-top));max-height:calc(100dvh - 16px)}}body.cardopen #studio,body.showing #studio,body.introplay #studio,body.nohud #studio,body.nohud #btn-studio{display:none!important}
