:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#090b0d;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0;overflow:hidden}button{font:inherit}.game-shell{color:#f3f1ea;background:#101417;height:100dvh;position:relative;overflow:hidden}.canvas{inset:0;position:absolute!important}.pause{z-index:5;text-align:center;background:radial-gradient(circle at 50% 30%,#3f4a4b94,#090b0d 65%);place-content:center;display:grid;position:absolute;inset:0}.button{color:#fff;letter-spacing:.12em;cursor:pointer;background:#ec3e35;border:1px solid #ec3e35;min-width:180px;padding:.9rem 1.25rem;font-weight:800;transition:all .15s;box-shadow:0 4px 14px #ec3e3559}.button:hover,.button:focus-visible{outline-offset:3px;background:#ff5d54;outline:2px solid #fff;transform:translateY(-1px);box-shadow:0 6px 20px #ec3e358c}.hud{z-index:2;pointer-events:none;flex-direction:column;justify-content:space-between;padding:1.8rem;display:flex;position:absolute;inset:0}.hud-top{justify-content:space-between;align-items:flex-start;display:flex}.objective{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.08em;text-transform:uppercase;background:#080a0ce0;border:1px solid #ec3e3547;max-width:480px;padding:.9rem 1.3rem;font-size:1.05rem;box-shadow:0 6px 24px #0009}.objective b{color:#8f9794;margin-bottom:.4rem;font-size:.75rem;display:block}.hud-right{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.hint{color:#aab2ae;letter-spacing:.08em;background:#080a0cb3;border:1px solid #ffffff26;padding:.35rem .75rem;font-size:.85rem}.crosshair{pointer-events:none;background:#fffc;border-radius:50%;width:8px;height:8px;transition:all .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.crosshair.active{background:0 0;border:3px solid #ec3e35;width:20px;height:20px;box-shadow:0 0 14px #ec3e35e6}.hud-message{color:#f3efe5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;letter-spacing:.012em;background:#0d1010e8;border:1px solid #ded5bc57;border-radius:10px;align-self:center;width:fit-content;max-width:min(680px,100vw - 2rem);margin:0 1rem 1.4rem;padding:.82rem 1.15rem .88rem;font-size:clamp(.98rem,1.45vw,1.18rem);font-weight:600;line-height:1.45;animation:.18s cubic-bezier(.16,1,.3,1) dialogue-in;box-shadow:0 12px 28px #00000085}.prompt{color:#eee9dc;align-items:center;gap:.72rem;display:flex}.key{color:#fff9e9;background:#d2c3a01a;border:1px solid #e8dcbe8c;border-radius:6px;place-items:center;min-width:1.75rem;min-height:1.75rem;padding:.12rem .4rem;font-size:.88rem;font-weight:800;line-height:1;display:inline-grid}.subtitle{white-space:pre-line}@keyframes dialogue-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.npc-speech-bubble{color:#28231c;width:max-content;max-width:min(20rem,72vw);font:inherit;letter-spacing:.005em;text-align:center;white-space:pre-line;overflow-wrap:anywhere;background:#f3ead5;border:1px solid #7b6b52;border-radius:12px;padding:.72rem .92rem .78rem;font-size:clamp(.88rem,1.55vw,1.08rem);font-weight:700;line-height:1.35;animation:.16s cubic-bezier(.16,1,.3,1) npc-speech-in;position:relative;box-shadow:0 .65rem 1.4rem #16110b6b}.npc-speech-bubble:after{content:"";background:#f3ead5;border-bottom:1px solid #7b6b52;border-right:1px solid #7b6b52;width:.78rem;height:.78rem;position:absolute;bottom:-.48rem;left:50%;transform:translate(-50%)rotate(45deg)}@keyframes npc-speech-in{0%{opacity:.2;transform:translateY(.3rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.achievement{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#e6cc4b;letter-spacing:.12em;text-align:right;background:#0a0c0df0;border:2px solid #e6cc4b;padding:.9rem 1.25rem;font-size:.75rem;animation:.3s ease-out slide-in;position:absolute;top:5.5rem;right:1.8rem;box-shadow:0 6px 24px #000000b3}@keyframes slide-in{0%{opacity:0;transform:translate(1rem)}to{opacity:1;transform:translate(0)}}.achievement strong{color:#fff;margin-top:.35rem;font-size:1.1rem;display:block}.pause{z-index:4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#030506d1;padding:1rem}.pause-panel{color:#eee9db;text-align:left;background:#111718;border:1px solid #b99e628c;width:min(32rem,100vw - 2rem);padding:clamp(1.6rem,4vw,2.6rem);box-shadow:0 1.5rem 4.5rem #000000b8}.pause h2{letter-spacing:-.025em;margin:0;font-size:clamp(2rem,6vw,3.7rem);font-weight:650;line-height:1}.pause-panel>p{color:#abb2ac;max-width:46ch;margin:1rem 0 0;line-height:1.55}.pause-stats{background:#313937;border:1px solid #313937;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:1.75rem;display:grid}.pause-stats span{color:#939d97;letter-spacing:.08em;text-align:center;text-transform:uppercase;background:#171d1e;gap:.28rem;padding:.75rem;font-size:.64rem;display:grid}.pause-stats b{color:#e7ddc6;font-variant-numeric:tabular-nums;font-size:1.15rem}.pause-achievements{scrollbar-color:#9c8350 #151b1c;border-top:1px solid #303837;border-bottom:1px solid #303837;max-height:8rem;margin-top:1.25rem;padding:.8rem 0;overflow-y:auto}.pause-achievements b{color:#929b96;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;font-size:.62rem;display:block}.pause-achievement-item{color:#e3c96d;letter-spacing:.06em;padding:.2rem 0;font-size:.72rem}.pause-actions{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.5rem;display:grid}.pause-actions .button,.pause-settings-button{letter-spacing:.08em;text-transform:uppercase;border:1px solid #ae9458;width:100%;min-width:0;margin:0;padding:.88rem 1rem;font-weight:800}.pause-actions .button{color:#171b1b;background:#d6bd7a;box-shadow:0 .45rem 1.3rem #00000047}.pause-settings-button{color:#ddd7c9;cursor:pointer;background:#1b2223}.pause-settings-button:hover,.pause-settings-button:focus-visible{color:#fff;outline-offset:3px;background:#293130;border-color:#e1c47f;outline:2px solid #f4ecd9}.pause-hint{color:#77817d;text-align:center;margin-top:1rem;font-size:.7rem;display:block}.settings-overlay{z-index:10;-webkit-backdrop-filter:blur(14px)saturate(.8);backdrop-filter:blur(14px)saturate(.8);background:radial-gradient(circle at 50% 12%,#b797531a,#0000 34%),#030506e6;place-items:center;padding:clamp(.6rem,3vw,2rem);display:grid;position:fixed;inset:0}.settings-panel{color:#e9e5da;text-align:left;background:linear-gradient(145deg,#151a1a,#0c1112 68%);border:1px solid #c9aa669e;width:min(58rem,100vw - 2rem);max-height:min(47rem,100dvh - 2rem);overflow:hidden;box-shadow:0 1.8rem 6rem #000000d1,inset 0 1px #fff4d30d}.settings-header{border-bottom:1px solid #b2975b47;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1.55rem 1.75rem 1.35rem;display:flex}.settings-header h2{color:#f4eddb;letter-spacing:.055em;text-transform:uppercase;margin:0;font-size:clamp(1.7rem,4vw,2.5rem);font-weight:520;line-height:1}.settings-header p{color:#929b96;margin:.55rem 0 0;font-size:.76rem}.settings-close,.settings-secondary,.settings-reset,.settings-done{color:#ddd8ca;cursor:pointer;background:#192021;border:1px solid #5f6a65}.settings-close{letter-spacing:.08em;text-transform:uppercase;padding:.58rem .75rem;font-size:.72rem;font-weight:800}.settings-layout{grid-template-columns:12.5rem minmax(0,1fr);min-height:25rem;display:grid}.settings-tabs{scrollbar-width:none;background:#05090a9e;border-right:1px solid #b2975b2e;flex-direction:column;gap:.28rem;padding:1.15rem .85rem;display:flex}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs button{color:#929c97;text-align:left;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #0000;padding:.9rem 1rem;font-size:.76rem;font-weight:750}.settings-tabs button:hover,.settings-tabs button:focus-visible{color:#f2ecdc;outline-offset:-2px;background:#1b2323;outline:2px solid #d7bd78}.settings-tabs button[aria-current=page]{color:#fff1c7;background:linear-gradient(90deg,#896c3147,#312d206b);border-color:#caab654d;box-shadow:inset 2px 0 #d4b76c}.settings-content{scrollbar-color:#8d7a52 #171d1e;min-width:0;max-height:29rem;padding:clamp(1.45rem,3vw,2.25rem);overflow-y:auto}.settings-group h3{color:#f0eadb;letter-spacing:.035em;margin:0;font-size:1.25rem;font-weight:560}.settings-group>p{color:#919b96;max-width:65ch;margin:.45rem 0 1.35rem;font-size:.8rem;line-height:1.55}.settings-controls{border-top:1px solid #b1975c42}.settings-row{color:#d8d7ce;border-bottom:1px solid #76807a33;justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.5rem;margin:0;padding:.9rem .15rem;font-size:.82rem;display:flex}.settings-row>span{flex-direction:column;gap:.28rem;min-width:9rem;display:flex}.settings-row strong{font-size:.82rem;font-weight:720}.settings-row small{color:#89938e;max-width:34ch;font-size:.7rem;line-height:1.4}.settings-range{grid-template-columns:minmax(10rem,.8fr) minmax(12rem,1fr);display:grid}.settings-range>span{flex-direction:row;justify-content:space-between}.settings-range output{color:#d5b96f;font-variant-numeric:tabular-nums}.settings-row input[type=range]{appearance:none;cursor:pointer;background:linear-gradient(90deg,#b6954d,#dfc984);border-radius:999px;width:100%;height:.28rem}.settings-row input[type=range]::-webkit-slider-thumb{appearance:none;background:#8f7136;border:2px solid #f3e4bb;border-radius:50%;width:1.05rem;height:1.05rem;box-shadow:0 .2rem .55rem #0000008c}.settings-row input[type=range]::-moz-range-thumb{background:#8f7136;border:2px solid #f3e4bb;border-radius:50%;width:.88rem;height:.88rem;box-shadow:0 .2rem .55rem #0000008c}.settings-row select{color:#e7e2d5;background:#161d1e;border:1px solid #59645f;min-width:8.5rem;padding:.62rem .75rem}.settings-toggle input{appearance:none;cursor:pointer;background:#1a2021;border:1px solid #59645f;border-radius:999px;width:2.7rem;height:1.45rem;padding:.17rem;transition:background .16s,border-color .16s}.settings-toggle input:before{content:"";background:#8c9690;border-radius:50%;width:1rem;height:1rem;transition:transform .16s,background .16s;display:block}.settings-toggle input:checked{background:#6c5a31;border-color:#c7a85e}.settings-toggle input:checked:before{background:#fff0c4;transform:translate(1.18rem)}.settings-keymap{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;padding-top:1rem;display:grid}.settings-keymap span{color:#9fa7a2;align-items:center;gap:.65rem;font-size:.72rem;display:flex}.settings-keymap kbd{color:#eee8d7;text-align:center;background:#171d1e;border:1px solid #4b5652;min-width:4.7rem;padding:.42rem .5rem;font:700 .68rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.settings-secondary{padding:.62rem .78rem;font-size:.72rem}.settings-footer{background:#060a0bb8;border-top:1px solid #303837;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.settings-reset,.settings-done{letter-spacing:.06em;text-transform:uppercase;padding:.68rem .9rem;font-size:.72rem;font-weight:800}.settings-done{color:#171b1b;background:linear-gradient(#dec783,#bea05a);border-color:#d1b56e;min-width:7rem}.settings-close:hover,.settings-close:focus-visible,.settings-secondary:hover,.settings-secondary:focus-visible,.settings-reset:hover,.settings-reset:focus-visible,.settings-done:hover,.settings-done:focus-visible,.settings-row select:focus-visible,.settings-row input:focus-visible{outline-offset:3px;border-color:#e2c77e;outline:2px solid #f3ecd9}@media (max-width:680px){.settings-panel{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}.settings-layout{grid-template-columns:1fr}.settings-tabs{border-bottom:1px solid #2b3332;border-right:0;flex-direction:row;overflow-x:auto}.settings-tabs button{flex:none}.settings-tabs button[aria-current=page]{box-shadow:inset 0 -2px #d4b76c}.settings-content{max-height:calc(100dvh - 13rem)}.settings-range{grid-template-columns:1fr;gap:.65rem}.settings-keymap,.pause-actions{grid-template-columns:1fr}}@media (pointer:coarse) and (hover:none) and (orientation:landscape) and (max-height:520px){.settings-overlay{padding:max(.35rem, env(safe-area-inset-top)) max(.5rem, env(safe-area-inset-right)) max(.35rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left))}.settings-panel{grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;max-height:100%;display:grid;overflow:hidden}.settings-header{padding:.65rem .9rem}.settings-header h2{font-size:1.35rem}.settings-header p{margin-top:.25rem}.settings-layout{min-height:0;overflow:hidden}.settings-tabs{min-width:0;overflow-y:auto}.settings-content{max-height:none;padding:.8rem 1rem;overflow:hidden auto}.settings-group>p{margin-bottom:.75rem}.settings-row{min-height:3.25rem;padding-block:.55rem}.settings-footer{padding:.55rem .9rem}.hud{padding:max(.55rem, env(safe-area-inset-top)) max(.7rem, env(safe-area-inset-right)) max(.55rem, env(safe-area-inset-bottom)) max(.7rem, env(safe-area-inset-left))}.objective{letter-spacing:.055em;width:fit-content;max-width:25vw;padding:.4rem .52rem;font-size:clamp(.55rem,1.3vw,.7rem);line-height:1.2}.objective b{margin-bottom:.16rem;font-size:clamp(.46rem,1vw,.54rem)}.objective.ui-active{display:none}}@media (pointer:coarse) and (hover:none) and (orientation:landscape) and (min-height:521px) and (max-width:1180px){.objective{max-width:32vw;padding:.7rem .9rem;font-size:.9rem}.objective.ui-active{display:none}}.credits-overlay{z-index:20;color:#eee9dc;background:#040607e6;place-items:center;padding:1.5rem;display:grid;position:absolute;inset:0}.credits-active .hud,.credits-active .debug-overlay,.credits-active .failure-flash,.credits-active .world-space-ui{visibility:hidden!important}.credits-window{background:#101416;border:1px solid #c7a55bb3;width:min(620px,94vw);box-shadow:0 1.8rem 5rem #000000b8}.credits-header{border-bottom:1px solid #c7a55b52;justify-content:space-between;align-items:center;padding:1rem 1.15rem;display:flex}.credits-header h2{letter-spacing:.13em;margin:0;font-size:clamp(1rem,2.5vw,1.35rem)}.credits-header button{color:#eee9dc;letter-spacing:.12em;cursor:pointer;background:0 0;border:1px solid #c7a55b;padding:.55rem .8rem;font-size:.7rem;font-weight:800}.credits-header button:hover,.credits-header button:focus-visible{color:#111416;outline-offset:3px;background:#d3b369;outline:2px solid #fff}.credits-viewport{height:min(58vh,470px);overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 10% 90%,#0000);mask-image:linear-gradient(#0000,#000 10% 90%,#0000)}.credits-roll{text-align:center;gap:2.2rem;padding:48vh 2rem 52vh;animation:42s linear both credits-scroll;display:grid}.credits-complete,.credits-end{color:#d4b76e;letter-spacing:.18em;margin:0;font-size:.72rem;font-weight:800}.credits-entry{gap:.4rem;display:grid}.credits-entry span{color:#858f8c;letter-spacing:.18em;font-size:.64rem;font-weight:700}.credits-entry strong{letter-spacing:.04em;font-size:clamp(1rem,2vw,1.3rem)}@keyframes credits-scroll{0%{transform:translateY(0)}to{transform:translateY(calc(-100% + min(58vh,470px)))}}.fullscreen-media-overlay{z-index:2147483646;isolation:isolate;pointer-events:auto;background:#000;border:0;width:100vw;height:100dvh;margin:0;padding:0;display:block;position:fixed;inset:0;overflow:hidden}.fullscreen-media-mount,.fullscreen-media-video{background:#000;border:0;width:100%;height:100%;margin:0;display:block;position:absolute;inset:0}.fullscreen-media-video{object-fit:cover;object-position:center}.fullscreen-media-fallback{z-index:2;filter:contrast(1.18)saturate(.82);background-color:#020000;background-position:50%;background-size:cover;animation:.14s steps(2,end) both media-fallback-hit;position:absolute;inset:-2%}@keyframes media-fallback-hit{0%{filter:contrast(1.7)saturate(.4)brightness(1.35);transform:scale(1.12)}to{filter:contrast(1.18)saturate(.82)brightness(.78);transform:scale(1)}}.hub-final-door-label{color:#f1ddb2;text-align:center;background:#0d0f0ff5;border:1px solid #c89c45;min-width:170px;padding:.65rem .9rem;box-shadow:0 .7rem 1.8rem #0000009e}.hub-final-door-label span{letter-spacing:.1em;font-size:1rem;font-weight:900;display:block}.hub-final-door-label small{color:#c89c45;letter-spacing:.16em;margin-top:.3rem;font-size:.58rem;font-weight:800;display:block}.archive-viewer{z-index:40;color:#eee8d8;background:#040708f5;place-items:center;padding:clamp(.75rem,3vw,2rem);display:grid;position:fixed;inset:0;overflow:auto}.archive-viewer-shell{background:#101516;border:1px solid #b89a5b94;width:min(76rem,100%);min-height:min(46rem,100dvh - 4rem);box-shadow:0 1.8rem 5rem #000000b8}.archive-viewer-header{border-bottom:1px solid #b89a5b4d;justify-content:space-between;align-items:flex-start;gap:2rem;padding:clamp(1.2rem,3vw,2rem);display:flex}.archive-viewer-header h2{color:#f3eddd;letter-spacing:-.02em;max-width:24ch;margin:0;font-size:clamp(1.5rem,3vw,2.8rem);line-height:1.05}.archive-viewer-header p{color:#aeb5ae;max-width:68ch;margin:.75rem 0 0;line-height:1.55}.archive-viewer-header button,.archive-viewer-state button,.archive-media-nav button{color:#eee8d8;cursor:pointer;background:#171d1e;border:1px solid #8d7a52}.archive-viewer-header button{font:inherit;letter-spacing:.08em;text-transform:uppercase;flex:none;padding:.72rem .9rem;font-size:.78rem;font-weight:800}.archive-viewer-header kbd{font:inherit;background:#252c2d;border:1px solid #6f765f;margin-left:.5rem;padding:.1rem .3rem}.archive-viewer-header button:hover,.archive-viewer-header button:focus-visible,.archive-viewer-state button:hover,.archive-viewer-state button:focus-visible,.archive-media-nav button:hover,.archive-media-nav button:focus-visible{outline-offset:3px;background:#2a302e;border-color:#d6b66d;outline:2px solid #f4ecd9}.archive-viewer-content{grid-template-columns:minmax(16rem,.8fr) minmax(24rem,1.4fr);gap:clamp(1.5rem,4vw,3.5rem);padding:clamp(1.2rem,3vw,2rem);display:grid}.archive-story{color:#d5d6cd;scrollbar-color:#8d7a52 #171d1e;max-height:62vh;padding-right:1rem;overflow:auto}.archive-story p{max-width:70ch;margin:0 0 1.15rem;font-size:clamp(.96rem,1.35vw,1.08rem);line-height:1.72}.archive-media-panel{min-width:0}.archive-viewer-media,.archive-media-state{background:#090c0d;border:1px solid #343c3b;width:100%;height:min(58vh,35rem);display:block}.archive-viewer-media{object-fit:contain}.archive-media-state{color:#aeb5ae;text-align:center;place-items:center;padding:2rem;display:grid}.archive-media-nav{scrollbar-color:#8d7a52 #171d1e;gap:.55rem;margin-top:.9rem;padding:.25rem .1rem .5rem;display:flex;overflow-x:auto}.archive-media-nav button{font:inherit;letter-spacing:.05em;flex:none;padding:.55rem .72rem;font-size:.72rem}.archive-media-nav button[aria-current=true]{color:#fff4d4;background:#403822;border-color:#d6b66d}.archive-viewer-state{color:#b7bdb7;text-align:center;place-content:center;justify-items:center;gap:1rem;min-height:28rem;padding:2rem;display:grid}.archive-viewer-state button{font:inherit;padding:.65rem 1rem;font-weight:700}@media (max-width:760px){.archive-viewer{place-items:start center;padding:.5rem}.archive-viewer-shell{min-height:calc(100dvh - 1rem)}.archive-viewer-header{gap:1rem}.archive-viewer-header button{padding:.62rem}.archive-viewer-content{grid-template-columns:1fr}.archive-story{max-height:none;padding-right:0}.archive-viewer-media,.archive-media-state{height:min(48vh,26rem)}}@media (prefers-reduced-motion:reduce){.npc-speech-bubble,.failure-flash{animation-duration:.01ms}}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.failure-flash{z-index:8;pointer-events:none;background:#ec3e3566;animation:.28s ease-out forwards flash-fade;position:absolute;inset:0}@keyframes flash-fade{0%{opacity:1}to{opacity:0}}.error-screen{color:#fff;text-align:center;background:#111;place-content:center;gap:1rem;min-height:100dvh;display:grid}.start-screen{z-index:5;isolation:isolate;color:#f1eee4;background:radial-gradient(at 50% 25%,#c9ae702b,#0000 30%),linear-gradient(90deg,#040606,#101413 24%,#151817 50%,#101413 76%,#040606),#070909;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.start-screen:before{content:"";z-index:-1;opacity:.9;pointer-events:none;background:linear-gradient(90deg,#000000c7,#0000 29% 71%,#000000c7),linear-gradient(90deg,#0000 18%,#c6a96714 18.1% 18.25%,#0000 18.35% 81.65%,#c6a96714 81.75% 81.9%,#0000 82%);position:absolute;inset:0}.start-screen:after{content:"";z-index:4;pointer-events:none;background:radial-gradient(#0000 35%,#00000038 68%,#000c 100%);position:absolute;inset:0}.start-screen-scene,.start-screen-content,.start-version{position:absolute;inset:0}.start-credit{z-index:3;position:absolute;bottom:max(2.5rem,5vh)}.start-credit-studio{text-align:left;border-left:1px solid #d4b871;padding-left:1.25rem;left:max(2.6rem,5vw)}.start-credit-creator{text-align:right;border-right:1px solid #d4b871;padding-right:1.25rem;right:max(2.6rem,5vw)}.start-screen-scene{z-index:-1;pointer-events:none}.start-wall-panel{opacity:.8;background:linear-gradient(#373b3742,#070a0a1a);border:1px solid #c7ab691a;width:23%;height:58%;position:absolute;top:17%}.start-wall-panel-left{left:4%;transform:skewY(2deg)}.start-wall-panel-right{right:4%;transform:skewY(-2deg)}.start-ceiling-light{opacity:.88;background:radial-gradient(#fffdf3 0 52%,#d8c69d 58%,#ac91574d 72%,#0000 74%);border-radius:50%;width:clamp(8rem,15vw,15rem);height:clamp(1.3rem,2.5vw,2.2rem);position:absolute;top:8%;left:50%;transform:translate(-50%);box-shadow:0 0 1.8rem .45rem #e6d29d61,0 10rem 10rem 5rem #d0b7801c}.start-ceiling-light:after{content:"";clip-path:polygon(38% 0,62% 0,94% 100%,6% 100%);background:linear-gradient(#efddb22b,#0000 70%);width:clamp(24rem,42vw,42rem);height:70vh;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.start-chamber-column{opacity:.8;background:linear-gradient(90deg,#080b0b,#292b27 48%,#0a0d0d);border-inline:1px solid #c2a05824;width:clamp(8rem,16vw,17rem);position:absolute;top:0;bottom:0;box-shadow:inset 0 0 4rem #000000a3,0 0 4rem #00000073}.start-chamber-column-left{left:11%}.start-chamber-column-right{right:11%}.start-floor-rings{aspect-ratio:2.8;background:repeating-radial-gradient(#0000 0 11%,#cda55252 11.3% 11.6%,#0000 12% 21%);border:1px solid #d0aa5b59;border-radius:50%;width:min(92vw,90rem);position:absolute;bottom:-8%;left:50%;transform:translate(-50%)perspective(28rem)rotateX(58deg);box-shadow:inset 0 0 4rem #bc944514}.start-pedestal{background:linear-gradient(#4b4a42,#111413 58%,#050707);border-radius:50%;width:clamp(10rem,20vw,19rem);height:clamp(1.2rem,2vw,2rem);position:absolute;bottom:8%;left:50%;transform:translate(-50%);box-shadow:0 1rem 2.5rem #000000b8,0 -.2rem 1rem #e0c4811f}.start-floor-reflection{filter:blur(.35rem);background:linear-gradient(#c2a9732e,#0000 73%);width:35%;height:17%;position:absolute;bottom:4%;right:8%;transform:skew(-24deg)}.start-floor-axis{clip-path:polygon(43% 0,57% 0,100% 100%,0 100%);background:linear-gradient(#d9c5940f,#0000 75%);border-inline:1px solid #cdb88517;width:min(42rem,52vw);height:42%;position:absolute;bottom:-13%;left:50%;transform:translate(-50%)}.start-screen-content{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:5vh 4vw 6vh;display:flex}.start-screen-content:before{content:"";z-index:-1;background:radial-gradient(#05080847,#0000 72%);width:min(46rem,78vw);height:min(42rem,78vh);position:absolute}.start-sigil{border:1px solid #e6d4a6b3;border-radius:50%;width:2.7rem;height:2.7rem;margin-bottom:1.15rem;position:relative;box-shadow:0 .7rem 1.8rem #00000052}.start-sigil:before,.start-sigil:after{content:"";position:absolute;left:50%;transform:translate(-50%)}.start-sigil:before{background:#e6d4a6c2;width:1px;height:2.25rem;top:50%}.start-sigil:after{background:linear-gradient(90deg,#0000,#e6d4a6a6 22% 78%,#0000);width:3.75rem;height:1px;top:calc(100% + .45rem)}.start-screen h1{color:#f4efe2;letter-spacing:.105em;font-kerning:normal;text-rendering:optimizelegibility;text-shadow:0 2px 18px #000000b8;flex-direction:column;align-items:center;max-width:92vw;margin:0;font-family:Baskerville,Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(2.75rem,5.8vw,5.9rem);font-weight:400;line-height:.86;display:flex}.start-title-line{text-indent:.105em}.start-title-prefix{color:#eeebdfe6;letter-spacing:.48em;text-indent:.48em;margin-bottom:1.15rem;font-size:clamp(.9rem,1.9vw,1.35rem);font-weight:500;line-height:1}.start-tagline{color:#ece5cfb3;letter-spacing:.19em;text-transform:uppercase;max-width:38rem;margin:1.5rem 0 1.85rem;font-size:clamp(.66rem,.92vw,.8rem);font-weight:500;line-height:1.5}.start-primary-action{color:#f0e8d3;letter-spacing:.32em;text-indent:.32em;cursor:pointer;background:#1516134d;border:1px solid #e1c685b8;justify-content:center;align-items:center;gap:1.15rem;min-width:min(26rem,68vw);padding:1.08rem 2rem 1rem;font-family:Baskerville,Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(.92rem,1.4vw,1.18rem);font-weight:600;transition:background .2s,border-color .2s,transform .2s;display:inline-flex;position:relative;box-shadow:inset 0 0 2.5rem #c19c4e0f,0 .8rem 2.5rem #00000042}.start-primary-action:before{content:"";background:#f2d68f;border-radius:50%;width:.32rem;height:.32rem;box-shadow:0 0 .65rem #f2d68fd9}.start-action-arrow{opacity:.75;background:#f2d68f;border-radius:50%;flex:none;width:.32rem;height:.32rem;transition:transform .2s;position:relative;box-shadow:0 0 .65rem #f2d68fd9}.start-action-arrow:after{content:none}.start-primary-action:hover,.start-primary-action:focus-visible{background:#c49e4e21;border-color:#fff0c6;outline:none;transform:translateY(-2px)}.start-primary-action:hover .start-action-arrow,.start-primary-action:focus-visible .start-action-arrow{transform:scale(1.2)}.start-divider{background:linear-gradient(90deg,#0000,#dcbc74ad,#0000);width:12rem;height:1px;margin:0 0 1.3rem;position:relative}.start-divider:after{content:"";background:#e1c47e;width:.35rem;height:.35rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.start-credit-label,.start-credit-name{color:#ebe7d8b8;letter-spacing:.3em;text-indent:.3em;margin:0;font-size:clamp(.55rem,.8vw,.72rem)}.start-credit-name{color:#f1eddeeb;margin-top:.65rem;font-size:clamp(.72rem,1.15vw,.98rem)}.start-version{z-index:3;color:#ebe7d880;letter-spacing:.08em;font:.7rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;inset:auto auto 2.6vh 2.5vw}@media (max-width:700px){.start-wall-panel{opacity:.45}.start-screen-content{padding-top:3vh}.start-screen h1{font-size:clamp(2.5rem,12vw,5rem)}}@media (max-height:620px){.start-credit{bottom:1rem}.start-credit-label,.start-credit-name{font-size:.48rem}.start-screen-content{padding-block:1vh 6vh}.start-screen h1{font-size:clamp(2rem,10vh,3.5rem)}.start-sigil{width:1.55rem;height:1.55rem;margin-bottom:.55rem}.start-sigil:before{height:1.3rem}.start-sigil:after{width:2.4rem}.start-title-prefix{margin-bottom:.4rem;font-size:clamp(.58rem,2.2vh,.85rem)}.start-tagline{margin-block:.7rem .85rem}.start-divider{margin:0 0 .75rem}.start-primary-action{padding-block:.72rem}}.touch-first #game-canvas{touch-action:none}.orientation-gate{z-index:100;padding:max(1.25rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));color:#f3f1ea;text-align:center;touch-action:none;background:radial-gradient(circle at 50% 42%,#222a29 0%,#101514 45%,#070909 100%);place-content:center;justify-items:center;gap:clamp(1rem,3.5vmin,1.8rem);display:grid;position:fixed;inset:0}.orientation-device{aspect-ratio:.58;border:2px solid #e6cc4be6;border-radius:.7rem;width:clamp(3.6rem,13vmin,5rem);transition:transform .42s cubic-bezier(.16,1,.3,1);position:relative;transform:rotate(0);box-shadow:0 .8rem 2rem #00000073}.orientation-device.is-landscape{transform:rotate(-90deg)scale(.9)}.orientation-device span{background:#f3f1eaa6;border-radius:2px;width:28%;height:2px;position:absolute;top:.28rem;left:50%;transform:translate(-50%)}.orientation-copy h1{letter-spacing:-.03em;margin:0;font-size:clamp(1.65rem,6vmin,3rem);line-height:1}.orientation-copy p,.orientation-wait{color:#c7cdca;margin:.65rem 0 0;font-size:clamp(.9rem,2.4vmin,1.1rem)}.orientation-gate button{color:#111514;letter-spacing:.08em;text-transform:uppercase;background:#e6cc4b;border:1px solid #e6cc4b;border-radius:.35rem;min-width:9.5rem;min-height:2.9rem;padding:.75rem 1.25rem;font-weight:850}.orientation-gate button:disabled{color:#f3f1ea7a;background:#c7cdca1a;border-color:#c7cdca47}.touch-controls{display:none}@media (pointer:coarse) and (hover:none){.touch-controls{z-index:6;pointer-events:none;-webkit-user-select:none;user-select:none;display:block;position:fixed;inset:0}.touch-look-zone{z-index:1;pointer-events:auto;touch-action:none;position:absolute;inset:0 0 0 44%}.touch-movement-zone{left:max(.4rem, env(safe-area-inset-left));bottom:max(.4rem, env(safe-area-inset-bottom));z-index:3;pointer-events:auto;touch-action:none;width:43%;height:64%;position:absolute}.touch-joystick{aspect-ratio:1;opacity:0;pointer-events:none;width:clamp(4.8rem,12vmin,6.4rem);transition:opacity .1s,transform .1s;position:absolute;transform:translate(-50%,-50%)scale(.86)}.touch-joystick.active{opacity:1;transform:translate(-50%,-50%)scale(1)}.touch-joystick-ring{background:#080b0b61;border:1px solid #f3f1ea7a;border-radius:50%;position:absolute;inset:0;box-shadow:0 .65rem 1.6rem #00000052}.touch-joystick-knob{aspect-ratio:1;will-change:transform;background:#e6cc4bc7;border:1px solid #ffffffbf;border-radius:50%;width:38%;margin:-19% 0 0 -19%;position:absolute;top:50%;left:50%;box-shadow:0 .35rem .9rem #0006}.touch-action,.touch-pause{z-index:4;pointer-events:auto;touch-action:none;color:#f3f1ea;-webkit-tap-highlight-color:transparent;background:#080b0b9e;place-items:center;display:grid;position:absolute;box-shadow:0 .7rem 1.8rem #00000061}.touch-action{right:max(clamp(1.2rem, 4vw, 2.5rem), env(safe-area-inset-right));bottom:max(clamp(1rem, 5vh, 2rem), env(safe-area-inset-bottom));aspect-ratio:1;letter-spacing:.06em;border:1px solid #f3f1eacc;border-radius:50%;width:clamp(5rem,13.5vmin,6.8rem);font-size:clamp(.62rem,1.8vmin,.82rem);font-weight:900}.touch-action-interact{color:#f3e690;background:#221e0ab8;border-color:#e6cc4b}.touch-action:active,.touch-pause:active{transform:scale(.94)}.touch-pause{top:max(clamp(.8rem, 3vh, 1.4rem), env(safe-area-inset-top));right:max(clamp(.9rem, 3vw, 1.7rem), env(safe-area-inset-right));aspect-ratio:1;border:1px solid #f3f1eaa6;border-radius:.65rem;width:clamp(2.75rem,7vmin,3.5rem);min-width:44px}.touch-pause svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:55%}}@media (pointer:coarse) and (hover:none) and (min-width:900px) and (min-height:600px){.touch-movement-zone{left:max(.8rem, env(safe-area-inset-left));bottom:max(.8rem, env(safe-area-inset-bottom))}.touch-action{right:max(3rem, env(safe-area-inset-right));bottom:max(2.3rem, env(safe-area-inset-bottom))}.touch-pause{top:max(1.6rem, env(safe-area-inset-top));right:max(2rem, env(safe-area-inset-right))}}@media (prefers-reduced-motion:reduce){.orientation-device{transition:none}}.start-actions{flex-direction:column;align-items:center;gap:.85rem;display:flex}.start-secondary-action{color:#d6cfbe;letter-spacing:.28em;text-indent:.28em;cursor:pointer;background:#12141466;border:1px solid #a0967873;justify-content:center;align-items:center;gap:1.15rem;min-width:min(26rem,68vw);padding:.85rem 2rem .8rem;font-family:Baskerville,Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(.85rem,1.2vw,1.05rem);font-weight:600;transition:background .2s,border-color .2s,transform .2s,color .2s;display:inline-flex;position:relative;box-shadow:inset 0 0 1.5rem #0006,0 .5rem 1.8rem #00000059}.start-secondary-action:before{content:"";background:#a9a28f;border-radius:50%;width:.28rem;height:.28rem;box-shadow:0 0 .45rem #a9a28f99}.start-secondary-action:hover,.start-secondary-action:focus-visible{color:#fff0c6;background:#c49e4e1f;border-color:#e1c685bf;outline:none;transform:translateY(-2px)}.start-secondary-action:hover .start-action-arrow,.start-secondary-action:focus-visible .start-action-arrow{transform:scale(1.2)}.pause-secondary-button{color:#ddd8ca;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#192021cc;border:1px solid #5f6a65;padding:.72rem 1.3rem;font-size:.85rem;font-weight:600;transition:background .2s,border-color .2s,color .2s}.pause-secondary-button:hover,.pause-secondary-button:focus-visible{color:#fdd;background:#b43c3c40;border-color:#dc5a5ab3;outline:none}.multiplayer-screen-overlay{z-index:100;-webkit-backdrop-filter:blur(12px);background:#040708e0;justify-content:center;align-items:center;animation:.25s ease-out multiplayerFadeIn;display:flex;position:fixed;inset:0}@keyframes multiplayerFadeIn{0%{opacity:0}to{opacity:1}}.multiplayer-modal{text-align:center;background:linear-gradient(155deg,#141818 0%,#0c1011 100%);border:1px solid #d4b97a8c;flex-direction:column;width:min(34rem,100vw - 2.5rem);display:flex;overflow:hidden;box-shadow:0 1.5rem 5rem #000000d9,inset 0 1px #fff4d314}.multiplayer-modal-header{border-bottom:1px solid #b2975b38;flex-direction:column;align-items:center;padding:1.8rem 2rem 1.4rem;display:flex}.multiplayer-modal-sigil{border:1px solid #e1c68599;width:1.4rem;height:1.4rem;margin-bottom:.9rem;transform:rotate(45deg);box-shadow:0 0 .8rem #e1c68533}.multiplayer-modal-header h2{color:#f5eedc;letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;margin:0;font-family:Baskerville,Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(1.4rem,3vw,1.85rem);font-weight:600}.multiplayer-modal-subtitle{letter-spacing:.18em;color:#8c9691;text-transform:uppercase;margin:.5rem 0 0;font-size:.68rem;font-weight:500}.multiplayer-modal-body{flex-direction:column;gap:1.2rem;padding:1.8rem 2rem;display:flex}.multiplayer-input-section{text-align:left;flex-direction:column;gap:.6rem;display:flex}.multiplayer-label{letter-spacing:.14em;color:#c9bfab;text-transform:uppercase;font-size:.72rem;font-weight:700}.multiplayer-input-wrapper{align-items:center;display:flex;position:relative}.multiplayer-input{color:#f7f2e4;letter-spacing:.08em;background:#0a0e0fd9;border:1px solid #b2975b66;outline:none;width:100%;padding:.85rem 3.2rem .85rem 1rem;font-family:inherit;font-size:1.05rem;transition:border-color .2s,box-shadow .2s}.multiplayer-input:focus{border-color:#f0db9e;box-shadow:0 0 1rem #e1c68533}.multiplayer-input-count{color:#6a7570;pointer-events:none;font-size:.72rem;position:absolute;right:.85rem}.multiplayer-input-hint{color:#838e88;letter-spacing:.04em;margin:0;font-size:.72rem}.multiplayer-connecting-banner{color:#edd9a6;letter-spacing:.14em;background:#e1c68514;border:1px solid #e1c6854d;justify-content:center;align-items:center;gap:.8rem;padding:.9rem 1rem;font-size:.75rem;font-weight:600;display:flex}.multiplayer-connecting-spinner{border:2px solid #e1c68540;border-top-color:#f0db9e;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite multiplayerSpin}@keyframes multiplayerSpin{to{transform:rotate(360deg)}}.multiplayer-status-card{background:#141818b3;border:1px solid #c8a05066;flex-direction:column;align-items:center;gap:.5rem;padding:1.2rem;display:flex}.multiplayer-status-full{border-color:#d2a54ba6}.multiplayer-status-error{border-color:#dc5a5aa6}.multiplayer-status-card h3{color:#f7eedc;letter-spacing:.12em;margin:0;font-size:1rem}.multiplayer-status-card p{color:#a4aca7;margin:0;font-size:.8rem;line-height:1.45}.multiplayer-modal-actions{border-top:1px solid #b2975b2e;justify-content:center;gap:1rem;padding:1.2rem 2rem 1.6rem;display:flex}.multiplayer-button{letter-spacing:.16em;text-transform:uppercase;cursor:pointer;flex:1;padding:.85rem 1.2rem;font-size:.85rem;font-weight:700;transition:background .2s,border-color .2s,transform .15s,opacity .2s}.multiplayer-button-primary{color:#fff2cb;background:#e1c6852e;border:1px solid #e1c685bf}.multiplayer-button-primary:hover:not(:disabled){background:#e1c68547;border-color:#fff0c6;transform:translateY(-1px)}.multiplayer-button-primary:disabled{opacity:.45;cursor:not-allowed}.multiplayer-button-secondary{color:#ccd2cd;background:#181c1dcc;border:1px solid #828c8880}.multiplayer-button-secondary:hover:not(:disabled){color:#f5f5f5;background:#242a2ce6;border-color:#c0c8c3;transform:translateY(-1px)}.multiplayer-hud-status{top:max(1.2rem, env(safe-area-inset-top));left:max(1.5rem, env(safe-area-inset-left));z-index:25;-webkit-backdrop-filter:blur(6px);pointer-events:none;letter-spacing:.14em;color:#ded7c4;background:#090d0ebf;border:1px solid #b2975b59;border-radius:2px;align-items:center;gap:.55rem;padding:.42rem .85rem;font-family:inherit;font-size:.72rem;font-weight:700;display:inline-flex;position:absolute}.multiplayer-status-indicator-dot{border-radius:50%;flex-shrink:0;width:.45rem;height:.45rem}.status-connected .multiplayer-status-indicator-dot{background:#4de28a;box-shadow:0 0 .55rem #4de28a}.status-warning .multiplayer-status-indicator-dot{background:#f1b346;animation:1.2s ease-in-out infinite multiplayerPulse;box-shadow:0 0 .55rem #f1b346}.status-disconnected .multiplayer-status-indicator-dot{background:#e65252;box-shadow:0 0 .55rem #e65252}@keyframes multiplayerPulse{0%,to{opacity:.3}50%{opacity:1}}.multiplayer-chat{bottom:max(1.5rem, env(safe-area-inset-bottom));left:max(1.5rem, env(safe-area-inset-left));z-index:30;pointer-events:none;flex-direction:column;width:min(28rem,100vw - 3rem);max-height:min(22rem,50vh);font-family:inherit;transition:background .2s,border-color .2s;display:flex;position:absolute}.multiplayer-chat-open{pointer-events:auto;-webkit-backdrop-filter:blur(8px);background:#080c0de0;border:1px solid #b2975b73;padding:.75rem;box-shadow:0 .8rem 2.5rem #000000a6}.multiplayer-chat-closed{background:0 0;border:1px solid #0000;padding:0}.multiplayer-chat-messages{flex-direction:column;flex:1;gap:.35rem;max-height:14rem;padding-right:.25rem;display:flex;overflow-y:auto}.multiplayer-chat-line{text-shadow:0 1px 3px #000000e6;align-items:baseline;gap:.45rem;font-size:.82rem;line-height:1.35;display:flex}.multiplayer-chat-closed .multiplayer-chat-line{background:#070a0ba6;border-radius:2px;width:fit-content;padding:.2rem .45rem}.multiplayer-chat-time{color:#7b8882;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.68rem}.multiplayer-chat-author{color:#e5cd91;flex-shrink:0;font-weight:700}.multiplayer-chat-text{color:#f2efe9;word-break:break-word}.multiplayer-chat-form{pointer-events:auto;flex-direction:column;gap:.3rem;margin-top:.55rem;display:flex}.multiplayer-chat-input-row{gap:.4rem;display:flex}.multiplayer-chat-input{color:#fff7e4;background:#0e1314f2;border:1px solid #b2975b80;outline:none;flex:1;padding:.5rem .75rem;font-size:.85rem}.multiplayer-chat-input:focus{border-color:#eed699}.multiplayer-chat-send-btn{color:#fff2cb;letter-spacing:.08em;cursor:pointer;background:#e1c68533;border:1px solid #e1c685b3;padding:.5rem .85rem;font-size:.75rem;font-weight:700}.multiplayer-chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.multiplayer-chat-close-btn{color:#ccd2cd;cursor:pointer;background:#1c2122e6;border:1px solid #828c8880;padding:.5rem .75rem;font-size:.72rem;font-weight:600}.multiplayer-chat-footer{color:#7b8882;justify-content:space-between;align-items:center;font-size:.68rem;display:flex}.multiplayer-chat-warning{color:#f18c8c;font-weight:600}.multiplayer-chat-hints{color:#8c9892}.multiplayer-chat-count{color:#65716c;margin-left:auto}.touch-chat-button{top:max(clamp(.8rem, 3vh, 1.4rem), env(safe-area-inset-top));right:calc(max(clamp(.9rem, 3vw, 1.7rem), env(safe-area-inset-right)) + clamp(3.2rem, 8vmin, 4.2rem));aspect-ratio:1;color:#ede9dc;z-index:25;cursor:pointer;touch-action:manipulation;background:#151c1dc7;border:1px solid #f3f1eaa6;border-radius:.65rem;justify-content:center;align-items:center;width:clamp(2.75rem,7vmin,3.5rem);min-width:44px;display:flex;position:absolute}.touch-chat-button.active{color:#fff0c6;background:#e1c6854d;border-color:#fff0c6}.remote-player-name{color:#e2e8f0;font-family:var(--font-mono,monospace);letter-spacing:.04em;text-shadow:0 1px 2px #000c;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#0f1418c7;border:1px solid #82a0b459;border-radius:4px;padding:.15rem .55rem;font-size:.72rem}
