*,:before,:after{box-sizing:border-box}html,body{color:#e6e6e6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;overscroll-behavior:none;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;touch-action:none;background:#05050a;width:100%;height:100%;margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;overflow:hidden}#app{width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}#app>canvas,#app>.view{width:100%;height:100%;display:block}#conn-pill{top:max(env(safe-area-inset-top,0px), 8px);left:max(env(safe-area-inset-left,0px), 8px);z-index:100;letter-spacing:.04em;color:#aaa;-webkit-user-select:none;user-select:none;pointer-events:none;font-variant-numeric:tabular-nums;background:#00000073;border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:flex;position:fixed}#conn-pill .dot{background:#886;border-radius:50%;width:7px;height:7px}#conn-pill[data-state=connected] .dot{background:#4ec9b0;box-shadow:0 0 6px #4ec9b099}#conn-pill[data-state=connecting] .dot{background:#fc3}#conn-pill[data-state=error] .dot{background:#f55}#conn-pill .identity{color:#7a7a7a}#conn-pill .identity:empty,body:not([data-dev="1"]) #conn-pill.pill-dev-only{display:none}.winnie-view{background:#05050a;position:absolute;inset:0}.winnie-view canvas.winnie-canvas{touch-action:none;width:100%;height:100%;display:block}#winnie-movement{z-index:10;pointer-events:none;position:fixed;inset:0}.wm-touch{pointer-events:auto;touch-action:none;position:absolute;inset:0}.wm-arrow{color:#ffffffd1;filter:drop-shadow(0 0 6px #000000bf);opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:opacity;transition:opacity .25s ease-out;position:absolute}.wm-arrow svg{width:100%;height:100%;display:block}.wm-arrow.wm-on{opacity:1;transition:opacity 80ms ease-out}@keyframes wm-drift-e{0%,to{transform:translate(0)}50%{transform:translate(8px)}}@keyframes wm-drift-w{0%,to{transform:translate(0)}50%{transform:translate(-8px)}}@keyframes wm-drift-n{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes wm-drift-s{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.wm-arrow-e.wm-on svg{animation:.7s ease-in-out infinite wm-drift-e}.wm-arrow-w.wm-on svg{animation:.7s ease-in-out infinite wm-drift-w}.wm-arrow-n.wm-on svg{animation:.7s ease-in-out infinite wm-drift-n}.wm-arrow-s.wm-on svg{animation:.7s ease-in-out infinite wm-drift-s}@media (prefers-reduced-motion:reduce){.wm-arrow-e.wm-on svg,.wm-arrow-w.wm-on svg,.wm-arrow-n.wm-on svg,.wm-arrow-s.wm-on svg{animation:none}}.wm-arrow-e,.wm-arrow-w{width:40px;height:144px}.wm-arrow-n,.wm-arrow-s{width:144px;height:40px}.wm-arrow-n{top:calc(env(safe-area-inset-top,0px) + 4vh);left:50%;transform:translate(-50%)}.wm-arrow-s{bottom:calc(env(safe-area-inset-bottom,0px) + 4vh);left:50%;transform:translate(-50%)}.wm-arrow-w{left:calc(env(safe-area-inset-left,0px) + 4vw);top:50%;transform:translateY(-50%)}.wm-arrow-e{right:calc(env(safe-area-inset-right,0px) + 4vw);top:50%;transform:translateY(-50%)}@media (width<=640px){.wm-arrow-e,.wm-arrow-w{width:30px;height:108px}.wm-arrow-n,.wm-arrow-s{width:108px;height:30px}}.grownup-view{background:#05050a;position:absolute;inset:0}.grownup-view canvas.grownup-canvas{width:100%;height:100%;display:block}.resume-badge{bottom:max(env(safe-area-inset-bottom,0px), 18px);font:inherit;letter-spacing:.04em;color:#cfd4e2;cursor:pointer;z-index:6;-webkit-backdrop-filter:blur(6px);background:#0a0c148c;border:1px solid #b4c8ff2e;border-radius:999px;justify-content:center;align-items:center;padding:7px 14px;font-size:.78rem;font-weight:500;animation:2.6s ease-in-out infinite resume-badge-pulse;position:absolute;left:50%;transform:translate(-50%)}.resume-badge:hover{color:#fff;background:#121624bf;border-color:#b4c8ff61}@keyframes resume-badge-pulse{0%,to{opacity:.7}50%{opacity:1}}.pause-menu{z-index:10;background:#05070ec7;justify-content:center;align-items:center;position:absolute;inset:0}.pause-menu-card{text-align:center;color:#e6e6e6;background:#0e121ceb;border:1px solid #b4c8ff2e;border-radius:8px;min-width:280px;padding:28px 36px 24px;box-shadow:0 8px 32px #0000008c}.pause-menu-card h2{letter-spacing:.05em;color:#e0ecff;margin:0 0 18px;font-size:1.6rem;font-weight:500}.pause-resume{font:inherit;color:#eef2ff;cursor:pointer;background:#648cdc38;border:1px solid #8caae680;border-radius:4px;padding:9px 26px;font-size:.95rem;transition:background .12s,border-color .12s}.pause-resume:hover{background:#78a0e65c;border-color:#aac8f0bf}.pause-hint{color:#8a91a5;margin:10px 0 0;font-size:.82rem}.pause-hint kbd{background:#ffffff14;border:1px solid #ffffff2e;border-radius:3px;padding:1px 6px;font-family:inherit;font-size:.78rem}.pause-placeholder{color:#666;margin:22px 0 0;font-size:.78rem;font-style:italic}#crosshair{pointer-events:none;z-index:4;background:#ffffffd9;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%}#minimap{right:max(env(safe-area-inset-right,0px), 12px);bottom:max(env(safe-area-inset-bottom,0px), 12px);z-index:3;width:clamp(120px,16vw,200px);height:clamp(120px,16vw,200px);image-rendering:pixelated;background:#0d0d12;border:1px solid #444;position:absolute}body:not([data-dev="1"]) .overlay-admin,body:not([data-dev="1"]) .overlay-diagnostic{display:none}#diagnostic-stack{left:max(env(safe-area-inset-left,0px), 8px);bottom:max(env(safe-area-inset-bottom,0px), 8px);z-index:150;pointer-events:none;flex-direction:column-reverse;gap:2px;display:flex;position:fixed}.diag-row{color:#aaa;font-variant-numeric:tabular-nums;letter-spacing:.02em;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#0000008c;border-radius:4px;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.diag-row .diag-val{color:#c9a96a}.diag-row.tier-healthy,.diag-row.tier-healthy .diag-val,.diag-val.tier-healthy{color:#8c8}.diag-row.tier-watch,.diag-row.tier-watch .diag-val,.diag-val.tier-watch{color:#c9a96a}.diag-row.tier-problem,.diag-row.tier-problem .diag-val,.diag-val.tier-problem{color:#d07070}.status-meter .status-icon{margin-right:4px;font-weight:700}.status-meter .status-label{text-transform:uppercase;letter-spacing:.08em;font-weight:600}.status-meter .status-reason{color:#888;letter-spacing:.02em;text-transform:none;font-weight:400}.palette-meter-name{margin-right:6px}.palette-meter-swatches{vertical-align:middle;gap:2px;display:inline-flex}.palette-swatch{border:1px solid #ffffff26;border-radius:2px;width:10px;height:10px;display:inline-block}.gpu-capture-meter{color:#aaa;font-variant-numeric:tabular-nums;letter-spacing:.02em;-webkit-user-select:none;user-select:none;background:#0000008c;border-radius:4px;min-width:180px;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.gpu-capture-header{color:#aaa;margin-bottom:2px}.gpu-capture-hint{color:#666;font-style:italic}.gpu-capture-mode{color:#c9a96a}.gpu-capture-warn{color:#d07070}.gpu-capture-row{justify-content:space-between;gap:10px;display:flex}.gpu-capture-row .gpu-capture-cat{color:#aaa}.gpu-capture-row .gpu-capture-ms{color:#c9a96a}.gpu-capture-row.gpu-capture-sub{padding-left:8px}.gpu-capture-row.gpu-capture-sub .gpu-capture-cat{color:#888}.gpu-capture-row.gpu-capture-sub .gpu-capture-ms{color:#9a8757}.gpu-capture-row.gpu-capture-total .gpu-capture-cat{color:#888;font-style:italic}.gpu-capture-row.gpu-capture-total .gpu-capture-ms{color:#888}#dev-panel{top:max(env(safe-area-inset-top,0px), 8px);right:max(env(safe-area-inset-right,0px), 8px);z-index:200;color:#ddd;letter-spacing:.02em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-user-select:none;user-select:none;background:#0c0c12eb;border:1px solid #333;border-radius:8px;width:260px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;position:fixed}#dev-panel .dp-header{border-bottom:1px solid #242430;align-items:center;gap:6px;padding:6px 8px;display:flex}#dev-panel .dp-title{color:#c9a96a;flex:1}#dev-panel .dp-status{color:#888;font-size:10px}#dev-panel .dp-toggle{color:#ddd;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px;line-height:1}#dev-panel .dp-body{flex-direction:column;gap:8px;padding:8px;display:flex}#dev-panel.collapsed .dp-body{display:none}#dev-panel label{color:#aaa;flex-direction:column;gap:3px;display:flex}#dev-panel .dp-row{gap:4px;display:flex}#dev-panel .dp-pair{grid-template-columns:1fr 1fr;gap:6px;display:grid}#dev-panel input[type=text],#dev-panel input[type=number]{color:#e6e6e6;font:inherit;background:#0a0a12;border:1px solid #2a2a38;border-radius:4px;width:100%;padding:4px 6px}#dev-panel input[type=range]{width:100%}#dev-panel button.dp-randomize{color:#ddd;cursor:pointer;background:#222;border:1px solid #333;border-radius:4px;padding:0 8px}#dev-panel button.dp-regen{color:#111;font:inherit;cursor:pointer;background:#c9a96a;border:none;border-radius:4px;margin-top:4px;padding:6px;font-weight:600}#dev-panel button.dp-regen:disabled{opacity:.5;cursor:wait}#dev-panel .dp-err{color:#f77;min-height:12px;font-size:10px}#dev-panel .dp-wiggle-val{color:#c9a96a;font-variant-numeric:tabular-nums}#dev-panel .dp-divider{background:#2d2d3a;height:1px;margin:10px 0 8px}#dev-panel .dp-section-label{color:#8a8aa0;text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:10px;display:flex}#dev-panel .dp-gs-phase{letter-spacing:.04em;text-transform:lowercase;color:#7fd;background:#7fdddd26;border:1px solid #7fdddd66;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}#dev-panel .dp-gs-phase[data-phase=paused]{color:#c9a96a;background:#c9a96a26;border-color:#c9a96a66}#dev-panel .dp-gs-phase[data-phase=intermission]{color:#7fd;background:#7fdddd26;border-color:#7fdddd66}#dev-panel .dp-gs-phase[data-phase=playing]{color:#8c8;background:#82c88226;border-color:#82c88266}#dev-panel .dp-button-row{grid-template-columns:1fr 1fr 1fr;gap:4px;margin-top:4px;display:grid}#dev-panel .dp-button-row button{color:#ccc;cursor:pointer;background:#1c1c24;border:1px solid #333;border-radius:4px;padding:5px 0;font-size:11px}#dev-panel .dp-button-row button:hover:not(:disabled){background:#22222e}#dev-panel .dp-button-row button:disabled{opacity:.35;cursor:default}#dev-panel .dp-button-row .dp-pause{border-color:#c9a96a80}#dev-panel .dp-button-row .dp-intermission{border-color:#7fdddd80}#dev-panel .dp-button-row .dp-resume{border-color:#82c88280}#dev-panel .dp-gs-err{color:#f77;min-height:12px;margin-top:4px;font-size:10px}@media (width<=640px){#dev-panel{width:calc(100vw - 16px)}#minimap{left:max(env(safe-area-inset-left,0px), 12px);right:auto}}.inspector-view{background:#05050a;position:absolute;inset:0;overflow:hidden}.inspector-view canvas.inspector-canvas{width:100%;height:100%;display:block}#inspector-hud{top:max(env(safe-area-inset-top,0px), 12px);left:max(env(safe-area-inset-left,0px), 12px);z-index:50;color:#ddd;letter-spacing:.02em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-user-select:none;user-select:none;background:#0c0c12eb;border:1px solid #2a2a38;border-radius:8px;min-width:280px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;position:fixed}#inspector-hud .ih-row{gap:10px;margin-bottom:8px;display:flex}#inspector-hud label{color:#aaa;flex-direction:column;flex:1;gap:3px;display:flex}#inspector-hud label.ih-checkbox{flex-direction:row;align-items:center;gap:5px}#inspector-hud select,#inspector-hud input[type=number]{color:#e6e6e6;font:inherit;background:#0a0a12;border:1px solid #2a2a38;border-radius:4px;padding:4px 6px}#inspector-hud .ih-readout{color:#aaa;border-top:1px solid #242430;margin-top:10px;padding-top:8px;line-height:1.5}#inspector-hud .ih-readout span{color:#c9a96a;font-variant-numeric:tabular-nums}#inspector-hud .ih-hint{color:#666;margin-top:8px;font-size:10px}#inspector-hud .ih-tuning{border-top:1px solid #242430;margin-top:10px;padding-top:8px}#inspector-hud .ih-tuning>summary{cursor:pointer;color:#c9a96a;letter-spacing:.08em;text-transform:uppercase;-webkit-user-select:none;user-select:none;margin-bottom:6px;font-size:10px;list-style:none}#inspector-hud .ih-tuning>summary:before{content:"▸ ";transition:transform .1s;display:inline-block}#inspector-hud .ih-tuning[open]>summary:before{content:"▾ "}#inspector-hud .ih-tuning-section{border-bottom:1px dashed #242430;padding:6px 0}#inspector-hud .ih-tuning-section:last-of-type{border-bottom:none}#inspector-hud .ih-subhead{color:#888;letter-spacing:.05em;text-transform:uppercase;margin-bottom:4px;font-size:9px}#inspector-hud .ih-slider{align-items:center;gap:6px;margin:3px 0;display:flex}#inspector-hud .ih-slider>label{flex-direction:row;justify-content:space-between;align-items:center;width:100%}#inspector-hud .ih-slider>input[type=range]{accent-color:#c9a96a;flex:1;width:100%}#inspector-hud .ih-slider .ih-val{color:#c9a96a;font-variant-numeric:tabular-nums;text-align:right;min-width:42px;font-size:10px}#inspector-hud .ih-perdir-grid{grid-template-columns:28px 1fr 1fr;align-items:center;gap:4px 6px;display:grid}#inspector-hud .ih-col-head{color:#888;text-align:center;text-transform:uppercase;font-size:9px}#inspector-hud .ih-dir-head{color:#c9a96a;font-size:10px}#inspector-hud .ih-perdir-grid .ih-slider{margin:0}#inspector-hud .ih-tuning-actions{align-items:center;gap:8px;margin-top:8px;display:flex}#inspector-hud .ih-tuning-actions button{color:#ddd;font:inherit;cursor:pointer;background:#1a1a22;border:1px solid #2a2a38;border-radius:4px;padding:4px 10px;font-size:10px}#inspector-hud .ih-tuning-actions button:hover{background:#22222e}#inspector-hud .ih-tuning-actions .ih-export{color:#111;background:#c9a96a;border-color:#c9a96a}#inspector-hud .ih-export-status{color:#7fd;font-size:10px}.texture-inspector-view{background:#05050a;position:absolute;inset:0;overflow:hidden}.texture-inspector-view canvas.texture-inspector-canvas{width:100%;height:100%;display:block}#texture-inspector-hud{top:max(env(safe-area-inset-top,0px), 12px);left:max(env(safe-area-inset-left,0px), 12px);z-index:50;color:#ddd;letter-spacing:.02em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-user-select:none;user-select:none;background:#0c0c12eb;border:1px solid #2a2a38;border-radius:8px;min-width:300px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;position:fixed}#texture-inspector-hud .ti-row{gap:10px;margin-bottom:8px;display:flex}#texture-inspector-hud label{color:#aaa;flex-direction:column;flex:1;gap:3px;display:flex}#texture-inspector-hud select{color:#e6e6e6;font:inherit;background:#0a0a12;border:1px solid #2a2a38;border-radius:4px;padding:4px 6px}#texture-inspector-hud .ti-tuning{border-top:1px solid #242430;margin-top:6px;padding-top:6px}#texture-inspector-hud .ti-tuning>summary{cursor:pointer;color:#c9a96a;letter-spacing:.08em;text-transform:uppercase;-webkit-user-select:none;user-select:none;margin-bottom:6px;font-size:10px;list-style:none}#texture-inspector-hud .ti-tuning>summary:before{content:"▸ "}#texture-inspector-hud .ti-tuning[open]>summary:before{content:"▾ "}#texture-inspector-hud .ti-slider{align-items:center;gap:6px;margin:3px 0;display:flex}#texture-inspector-hud .ti-slider>label{flex-direction:row;justify-content:space-between;align-items:center;width:100%}#texture-inspector-hud .ti-slider>input[type=range]{accent-color:#c9a96a;flex:1;width:100%}#texture-inspector-hud .ti-slider .ti-val{color:#c9a96a;font-variant-numeric:tabular-nums;text-align:right;min-width:42px;font-size:10px}#texture-inspector-hud .ti-readout{color:#aaa;border-top:1px solid #242430;margin-top:10px;padding-top:8px;line-height:1.5}#texture-inspector-hud .ti-readout span{color:#c9a96a;font-variant-numeric:tabular-nums}#texture-inspector-hud .ti-hint{color:#666;margin-top:4px;font-size:10px}#texture-inspector-hud .ti-tuning-actions{align-items:center;gap:8px;margin-top:10px;display:flex}#texture-inspector-hud .ti-tuning-actions button{color:#ddd;font:inherit;cursor:pointer;background:#1a1a22;border:1px solid #2a2a38;border-radius:4px;padding:4px 10px;font-size:10px}#texture-inspector-hud .ti-tuning-actions button:hover{background:#22222e}#texture-inspector-hud .ti-tuning-actions .ti-export{color:#111;background:#c9a96a;border-color:#c9a96a}#texture-inspector-hud .ti-export-status{color:#7fd;font-size:10px}#game-state-overlay{z-index:500;pointer-events:none;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#game-state-overlay.visible{display:flex}#game-state-overlay .gs-backdrop{-webkit-backdrop-filter:blur(2px);background:#0000008c;position:absolute;inset:0}#game-state-overlay .gs-message{color:#e8e6df;letter-spacing:.04em;text-align:center;background:#0c0c12eb;border:1px solid #3a3a4a;border-radius:10px;max-width:min(80vw,560px);padding:18px 32px;font-size:28px;font-weight:600;position:relative;box-shadow:0 6px 32px #0009}#game-state-overlay[data-phase=paused] .gs-message{border-color:#c9a96a}#game-state-overlay[data-phase=intermission] .gs-message{border-color:#7fd}body[data-dev="1"] #game-state-overlay{inset:auto;top:max(env(safe-area-inset-top,0px), 8px);z-index:190;width:auto;height:auto;left:50%;transform:translate(-50%)}body[data-dev="1"] #game-state-overlay .gs-backdrop{display:none}body[data-dev="1"] #game-state-overlay .gs-message{letter-spacing:.08em;text-transform:uppercase;max-width:none;padding:5px 14px;font-size:12px;font-weight:600;box-shadow:0 2px 10px #00000080}#connection-overlay{z-index:600;pointer-events:none;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#connection-overlay.visible{display:flex}#connection-overlay .co-backdrop{-webkit-backdrop-filter:blur(3px);background:#120606a6;position:absolute;inset:0}#connection-overlay .co-card{color:#f4e8e4;text-align:center;pointer-events:auto;background:#140c0cf2;border:1px solid #5a2a2a;border-radius:10px;max-width:min(80vw,440px);padding:22px 28px;position:relative;box-shadow:0 6px 32px #000000b3}#connection-overlay .co-title{letter-spacing:.04em;margin-bottom:6px;font-size:22px;font-weight:700}#connection-overlay .co-detail{color:#d8c6c2;font-size:13px;line-height:1.45}#connection-overlay .co-error{color:#ff9a7a;word-break:break-word;background:#50141459;border-radius:4px;margin-bottom:8px;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}#connection-overlay .co-subtle{color:#9b8a86;font-size:12px}#connection-overlay .co-countdown{color:#f4b38a;font-variant-numeric:tabular-nums;font-weight:600}#connection-overlay .co-reconnect{color:#fff;letter-spacing:.04em;cursor:pointer;background:#a34432;border:none;border-radius:4px;margin-top:12px;padding:6px 16px;font-size:12px;font-weight:600}#connection-overlay .co-reconnect:hover{background:#b85542}#connection-overlay[data-phase=connecting] .co-backdrop,#connection-overlay[data-phase=syncing] .co-backdrop{background:#0c0c1273}#connection-overlay[data-phase=connecting] .co-card,#connection-overlay[data-phase=syncing] .co-card{color:#e8e6df;background:#0c0c12eb;border-color:#3a3a4a}#connection-overlay[data-phase=connecting] .co-title,#connection-overlay[data-phase=syncing] .co-title{letter-spacing:.06em;font-size:18px;font-weight:500}body[data-dev="1"] #connection-overlay{inset:auto;top:max(env(safe-area-inset-top,0px), 40px);z-index:195;width:auto;height:auto;left:50%;transform:translate(-50%)}body[data-dev="1"] #connection-overlay .co-backdrop{display:none}body[data-dev="1"] #connection-overlay .co-card{align-items:center;gap:10px;max-width:none;padding:6px 14px;display:flex;box-shadow:0 2px 10px #00000080}body[data-dev="1"] #connection-overlay .co-title{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}body[data-dev="1"] #connection-overlay .co-detail{color:#9b8a86;text-align:left;font-size:11px}body[data-dev="1"] #connection-overlay .co-error{display:none}body[data-dev="1"] #connection-overlay .co-reconnect{margin-top:0;padding:3px 10px;font-size:10px}
