:root{font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#f7e7c6;background:#141221;font-synthesis:none;--mint: #83e7bd;--gold: #f6cb78;--muted: #b3abb7;--line: #746477;--panel: #292536f5;--ink: #161322;--rim: #44374d;--paper: #f7e7c6}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,summary{font:inherit}button{cursor:pointer;color:var(--paper);background:#514151;border:3px solid #211b2c;border-top-color:#927688;border-left-color:#806b7e;padding:10px 14px;border-radius:0;box-shadow:0 3px #171321;transition:background .1s,transform .1s}button:hover{color:#fff6d9;background:#695366;border-top-color:#cfb299}button:active{transform:translateY(2px);box-shadow:0 1px #171321}button:disabled{cursor:wait;filter:saturate(.3);opacity:.48}button:focus-visible,summary:focus-visible{outline:3px solid #a7ffda;outline-offset:4px}input{background:#191623;color:#ffe9ba;border:2px solid #6d5c70;border-top-color:#151220;border-left-color:#151220;outline:none;border-radius:0;padding:10px 12px;min-width:0}input:focus{border-color:var(--gold)}input::placeholder{color:#a092a4}a{color:inherit;text-decoration:none}.hidden{display:none!important}#game{position:fixed;inset:0;width:100vw;height:100vh}.screen-grain{position:fixed;pointer-events:none;inset:0;z-index:1;opacity:0;background:repeating-linear-gradient(0deg,#0000 0 3px,#11111c 3px 4px)}header{position:fixed;top:15px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:5;pointer-events:none}header a,header button{pointer-events:auto}.brand{display:flex;align-items:center;gap:8px;text-shadow:2px 2px #161322;font-weight:800;font-size:13px;letter-spacing:2px;white-space:nowrap}.brand-mark{width:26px;height:26px;background:url(/ui/sonar-mark.svg) center/100% no-repeat;image-rendering:pixelated}.brand small{font:8px monospace;color:#a89bab;letter-spacing:1px;margin-left:5px}.status{display:flex;align-items:center;gap:10px;color:#c3b6c7;font-size:9px;font-weight:600;text-shadow:1px 2px #171423}.status button{font-size:11px;padding:7px 10px;background:#383040ee;box-shadow:0 2px #171423}.status .help-button{width:31px;height:31px;padding:3px;color:var(--gold);font-weight:900;font-size:16px}.status .ok{color:var(--mint)}.status .error{color:#ffb794}#performance{font-size:10px;color:#d8d1ca;font-variant-numeric:tabular-nums;white-space:nowrap}body:has(#landing:not(.hidden)) .brand{visibility:hidden}body:has(#landing:not(.hidden)) #voice-state{display:none}#landing{position:fixed;left:clamp(36px,7.5vw,150px);top:50%;transform:translateY(-48%);width:360px;z-index:3;text-align:center}.title-kicker{font:9px monospace;letter-spacing:2px;color:#dfc7a3;text-shadow:2px 2px #171423;margin-bottom:15px;display:flex;align-items:center;justify-content:center;gap:9px}.title-kicker i{width:6px;height:6px;background:var(--mint);box-shadow:0 0 0 3px #2b4b43}h1{margin:0;font-size:66px;font-weight:1000;letter-spacing:5px;line-height:1.18;color:#fff1b8;white-space:nowrap;text-shadow:3px 0 #6e4538,-3px 0 #6e4538,0 -3px #6e4538,0 4px #6e4538,4px 7px #191324,0 10px #171321;transform:scaleX(.96)}h1 small{display:block;color:#c5a891;font:700 12px monospace;line-height:1.5;letter-spacing:14px;margin-left:8px;margin-bottom:1px;text-shadow:2px 2px #171423}h1 span{color:#9bffd1;text-shadow:3px 0 #345c56,-3px 0 #345c56,0 -3px #345c56,0 4px #345c56,4px 7px #191324,0 10px #171321}.title-subtitle{color:#efd7b0;text-shadow:2px 2px #171423;font-size:15px;font-weight:800;letter-spacing:10px;margin:24px 0 15px;padding-left:9px}.title-rule{display:flex;justify-content:center;align-items:center;gap:9px;margin:0 15px}.title-rule b{height:2px;background:#a48462;width:68px;box-shadow:0 2px #171423}.title-rule i{width:7px;height:7px;background:#d7ab67;transform:rotate(45deg);box-shadow:2px 2px #171423}.intro{font-size:11px;font-weight:600;color:#d2c2ba;margin:15px 0 21px;text-shadow:2px 2px #171423}.join-card{width:304px;margin:0 auto}.name-row{display:flex;align-items:center;justify-content:center;gap:10px;font-size:10px;color:#c1acbc;margin:0 16px 13px}.name-row input{width:150px;font-size:12px;text-align:center;background:#201b2abf;padding:5px 8px;border:0;border-bottom:2px solid #66516a}.menu-button{width:100%;display:flex;align-items:center;text-align:left;gap:15px;padding:12px 18px;min-height:62px;margin-bottom:12px;box-shadow:0 0 0 2px #171423,0 5px 0 2px #171423;font-weight:800;font-size:19px;letter-spacing:2px;position:relative}.menu-button:after{content:"";position:absolute;inset:2px;border:1px solid #fff1c31f;pointer-events:none}.menu-button:hover{transform:translate(5px)}.menu-button:active{transform:translate(5px,2px)}.menu-button small{display:block;font:8px monospace;letter-spacing:1px;opacity:.65;margin-top:4px}.menu-button>b{margin-left:auto;font-size:21px}.menu-button .menu-symbol{width:23px;font-size:21px;color:#ffe8aa;text-shadow:2px 2px #513546}.primary{background:#d39b4b;color:#342135;border-top-color:#ffe6a3;border-left-color:#f9d180;border-bottom-color:#77503b;border-right-color:#77503b;font-weight:800}.primary:hover{background:#f1bf65;color:#2c1d2d;border-top-color:#fff3c4}.primary .menu-symbol{color:#fff0bd}.training-button{background:#4a455f;border-top-color:#a899b1;border-left-color:#8b7f9e;border-bottom-color:#272339;border-right-color:#272339}.training-button .menu-symbol{color:#96efcd}.menu-button .new-badge{font-size:9px;letter-spacing:1px;color:#a4f5cb;border:1px solid #7fc2a3;padding:3px 4px;margin-left:auto}.network-menu{margin-top:8px;text-align:left}.network-menu summary{cursor:pointer;display:flex;align-items:center;gap:12px;font-weight:700;padding:10px 17px;border:2px solid #77617c;background:#282237d9;list-style:none;font-size:13px;color:#d9c9dd}.network-menu summary::-webkit-details-marker{display:none}.network-menu summary>span{color:#d5b5a0;font-size:19px}.network-menu summary small{font:8px monospace;color:#a89aae}.network-menu summary>b{margin-left:auto;color:#e5c081}.network-menu[open] summary>b{transform:rotate(45deg)}.network-card{padding:12px;background:#211c30e8;border:2px solid #685570;border-top:0}.duo-create{width:100%;display:flex;justify-content:space-between;font-size:11px;padding:8px 12px;margin-bottom:10px}.join-row{display:flex;gap:7px}.join-row input{width:145px;font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:8px}.join-row button{font-size:10px;flex:1;white-space:nowrap;padding:7px}#connection{display:block;font-size:9px;color:#a69bad;margin-top:15px;text-shadow:2px 2px #171423}.landing-note{display:flex;justify-content:center;align-items:center;gap:13px;font-size:9px;color:#b4a5b9;margin-top:21px;white-space:nowrap;text-shadow:2px 2px #171423}kbd,.key{display:inline-block;background:#51465c;color:#fff0cf;border:2px solid #8e7b91;border-bottom:4px solid #292133;font:700 10px monospace;border-radius:0;min-width:23px;text-align:center;padding:3px 5px;text-shadow:1px 1px #171423;box-shadow:1px 1px #171423}footer{position:fixed;bottom:15px;left:22px;right:22px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#a89aaa;text-shadow:2px 2px #171423;z-index:2;pointer-events:none}.panel,.modal article{background:var(--panel);border:4px solid #a38b90;border-top-color:#d8c5ac;border-left-color:#c1a797;box-shadow:0 0 0 3px #211a30,0 0 0 6px #59435b,0 8px 0 6px #171321,inset 0 0 0 2px #43364b;border-radius:0}.panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);padding:27px;max-height:calc(100vh - 132px);overflow:auto;width:min(660px,88vw);z-index:4}.eyebrow{color:var(--gold);font:700 9px monospace;letter-spacing:3px;margin-bottom:12px}.panel h2,.modal h2{color:#ffe3a2;text-shadow:2px 3px #171423;font-size:25px;font-weight:900;letter-spacing:2px;margin:0 0 12px}.sub{font-size:12px;color:#c6b9c8;line-height:1.8}.roomcode{display:inline-block;padding:8px 17px;margin:5px 15px 5px 0;color:#a7f0c9;letter-spacing:6px;background:#191623;border:2px solid #5c4a64;font:700 26px monospace}.lobby-players{display:flex;gap:12px;margin:18px 0}.crew{flex:1;padding:12px;background:#211d2f;border:2px solid #66546e}.crew:before{content:"\25c6";font-size:18px;color:#c2a6ca;margin-right:8px}.crew b{font-size:13px}.crew small{display:block;font-size:10px;margin:7px 0 0 27px;color:#baaabc}.crew.ready{border-color:#8fd8ad}.crew.ready:before{color:#9ef3b9}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0}.actions>.primary{min-width:160px}.shop{border-top:2px solid #5f4c65;margin-top:20px;padding-top:12px}.shop h3{font-size:12px;color:#e1c69b;font-weight:700}.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.shop-grid button{font-size:11px;padding:9px 10px;text-align:left;background:#393045}.shop-grid button:hover{background:#5b4860}#player-hud{position:fixed;left:24px;top:70px;min-width:198px;color:#fff0cd;font-size:12px;padding:11px 14px 12px 34px;background:#292536ec;border:3px solid #957a84;border-top-color:#d9bd9d;box-shadow:0 3px #171423,inset 0 0 0 1px #453448;z-index:2}#player-hud:before{content:"";position:absolute;top:12px;left:10px;width:15px;height:15px;background:url(/ui/heart.svg) center/contain no-repeat;image-rendering:pixelated}#player-hud>span{font:700 11px monospace;margin-left:20px;color:#f6b7ab!important}#player-hud>small{font-size:9px;color:#beaec1}.health{height:11px;background:#191423;border:2px solid #171321;box-shadow:0 1px #8d747e;margin:8px 0;overflow:hidden}.health i{display:block;height:100%;background:repeating-linear-gradient(90deg,#f39780 0 15px,#b65360 15px 17px);border-top:2px solid #ffcf9d}.teamline{font-size:9px;color:#e5c492;margin-top:8px}#objective{position:fixed;top:69px;left:50%;transform:translate(-50%);color:#fce4ab;font-size:14px;font-weight:800;letter-spacing:2px;text-align:center;text-shadow:2px 3px #171423;padding:6px 15px 10px;background:#231f32c9;border-bottom:2px solid #9d7c70;z-index:2}#objective small{display:block;margin-top:7px;font-size:9px;font-weight:500;color:#d8c8c9;letter-spacing:1px}#minimap{position:fixed;right:24px;top:70px;width:152px;height:133px;background:#221e30ed;border:3px solid #8c7483;border-top-color:#d2b39d;box-shadow:0 3px #171423,inset 0 0 0 1px #453448;z-index:2}#minimap svg{width:100%;height:100%;shape-rendering:crispEdges}#minimap svg text{fill:#eddfc0;font-family:inherit}#minimap svg rect{rx:0}#minimap svg path{stroke:#a58b74;stroke-width:2px}#boss-hud{position:fixed;left:33%;right:33%;top:136px;text-align:center;font-size:13px;color:#ffe1a0;text-shadow:2px 2px #171423;letter-spacing:3px;font-weight:800;z-index:2}#boss-hud:empty{display:none}#boss-hud .health{height:15px;border:3px solid #3f233b;outline:2px solid #c69c78;margin-top:9px}#boss-hud .health i{background:#bb4e64;border-top-color:#f3a17d}#hotbar{position:fixed;left:50%;bottom:21px;transform:translate(-50%);display:flex;gap:5px;padding:6px;background:#201b2fed;border:3px solid #9b7d80;border-top-color:#d7b79c;box-shadow:0 4px #171423,0 0 0 2px #36283f;z-index:3}.slot{position:relative;width:65px;min-width:65px;padding:7px 3px 6px;color:#ded0cd;font-size:9px;font-weight:600;text-align:center;border:2px solid #89708e;border-bottom-color:#231b30;border-right-color:#231b30;background:#40354c;box-shadow:0 1px #171423}.slot:hover{background:#6a5369}.slot.selected{background:#786048;border:2px solid #ffe5a0;color:#fff3c5;outline:2px solid #211a2c;box-shadow:inset 0 0 0 2px #b18d55;transform:translateY(-4px)}.slot.selected:after{content:"";position:absolute;left:50%;top:-10px;margin-left:-4px;width:8px;height:5px;background:#ffe6a4;box-shadow:2px -2px #ffe6a4,-2px -2px #ffe6a4}.slot .icon{width:30px;height:30px;display:block;margin:9px auto 6px;font-size:0;image-rendering:pixelated;background-position:center;background-repeat:no-repeat;background-size:contain}.slot em{position:absolute;right:4px;top:3px;font:700 10px monospace;color:#ffdda4;text-shadow:1px 1px #171423}.slot kbd{position:absolute;left:3px;top:2px;padding:0;min-width:8px;font-size:8px;color:#d8c6d2;background:none;border:0;box-shadow:none}.slot.empty{opacity:.45}.slot[data-select=horn] .icon{background-image:url(/ui/item-horn.svg)}.slot[data-select=milk] .icon{background-image:url(/ui/item-milk.svg)}.slot[data-select=tube] .icon{background-image:url(/ui/item-tube.svg)}.slot[data-select=small] .icon{background-image:url(/ui/item-small.svg)}.slot[data-select=large] .icon{background-image:url(/ui/item-large.svg)}.slot[data-select=flare] .icon{background-image:url(/ui/item-flare.svg)}.slot[data-select=slow] .icon{background-image:url(/ui/item-slow.svg)}.slot[data-select=stop] .icon{background-image:url(/ui/item-stop.svg)}#volume{position:fixed;bottom:25px;left:24px;width:177px;padding:12px;background:#292536ee;border:3px solid #79667f;border-top-color:#b79e92;box-shadow:0 3px #171423;color:#ddcfb8;font-size:9px;z-index:2}#volume>span{font-weight:700;color:#d1c2d6}#volume>div{position:relative;height:9px;background:repeating-linear-gradient(90deg,#151322 0 8px,#34293f 8px 10px);border:1px solid #171423;margin:10px 0 8px}#volume i{position:relative;display:block;z-index:1;width:0;height:100%;background:repeating-linear-gradient(90deg,#8fe0b4 0 8px,#426e62 8px 10px);border-top:2px solid #c9f6cb}#volume b{position:absolute;left:18%;width:44%;top:-4px;height:15px;border:2px solid #f2c170;z-index:2}#volume small{font-size:9px;color:#c3b0c8}#interaction{position:fixed;left:50%;transform:translate(-50%);bottom:123px;font-size:11px;color:#ffedbc;background:#292337ee;border:2px solid #927888;box-shadow:0 3px #171423;padding:8px 14px;z-index:2;white-space:nowrap}#interaction:empty{display:none}#notices{position:fixed;left:24px;bottom:125px;max-width:260px;pointer-events:none;z-index:11}.toast{color:#f6dfb7;background:#332a3dee;font-size:10px;line-height:1.6;border:2px solid #a08986;border-left:4px solid #d6b073;box-shadow:0 3px #171423;padding:8px 11px;margin-top:6px;animation:appear .15s steps(3)}.toast.error{border-left-color:#fa9a7d;color:#ffcfb0}@keyframes appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.modal{position:fixed;inset:0;z-index:20;background:#100d20bd;display:flex;align-items:center;justify-content:center}.modal article{width:min(700px,88vw);max-height:calc(100vh - 110px);padding:26px;overflow:auto}.modal .top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:2px solid #65516a;padding-bottom:12px;margin-bottom:17px}.modal .top h2{margin:0;font-size:21px}.modal .top button{padding:7px 10px;font-size:11px}.modal p,.modal li{color:#cfc1d0;font-size:12px;line-height:1.9}.modal table{width:100%;border-collapse:collapse;font-size:12px}.modal td{border-bottom:1px solid #625064;padding:10px}.modal td:first-child{color:#f5d191;width:35%}.inv-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #57455e;font-size:12px;color:#ead7bb}.inv-item>span{flex:1}.inv-item button{font-size:10px;padding:5px 8px}#new-spell{max-width:100%}#ending{text-align:center}#ending:before{content:"\2726";display:block;color:#f1c776;font-size:40px;text-shadow:3px 3px #57344a;margin:0 0 15px}.metrics{display:flex;justify-content:center;gap:30px;padding:20px 0 26px}.metrics b{display:block;font:700 27px monospace;color:#f3c67f}.metrics small{display:block;font-size:10px;color:#baacc2;margin-top:8px}#tutorial-ui{position:fixed;left:50%;top:68px;transform:translate(-50%);width:min(465px,48vw);z-index:7;background:#30273bec;border:3px solid #c4a881;border-top-color:#f7dfaa;box-shadow:0 4px #171423,inset 0 0 0 1px #64516d;padding:12px 17px 13px}.tutorial-mast{display:flex;align-items:center;gap:8px;color:#efc884;font-size:10px;font-weight:700;letter-spacing:1px;margin-bottom:9px}.training-emblem{color:#a0f4c7;font-size:17px;text-shadow:2px 2px #171423}#tutorial-progress{margin-left:auto;display:flex;gap:5px;align-items:center;color:#c1b1c7;font:10px monospace;letter-spacing:0}#tutorial-progress i,#tutorial-progress span.dot{display:inline-block;width:8px;height:8px;background:#53425d;border:1px solid #a38a9e}#tutorial-progress i.done,#tutorial-progress .done{background:#90d5ad;border-color:#c3f2c5}#tutorial-progress i.active,#tutorial-progress .active{background:#f4d18a;border-color:#fff0c2}#tutorial-text{font-size:12px;color:#e7d8d4;line-height:1.6}#tutorial-text h2,#tutorial-text h3,#tutorial-text strong{display:block;color:#ffe6b4;font-size:18px;font-weight:900;margin:0 0 6px;letter-spacing:1px}#tutorial-text p{margin:5px 0 0;font-size:11px;color:#d0c0d3}#tutorial-text kbd,#tutorial-action kbd{min-width:28px;font-size:13px;padding:4px 7px;margin:4px 3px 3px 0;background:#746078}#tutorial-text .keys{margin:5px 0}#tutorial-text .instruction{color:#a5efc7}#tutorial-action{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}#tutorial-action:empty{display:none}#tutorial-action button{font-size:10px;padding:6px 10px}#tutorial-action button.primary{margin-left:auto}#tutorial-action small{color:#ad9cb4;font-size:9px}body:has(#tutorial-ui:not(.hidden)) #objective{display:none}body:has(#tutorial-ui:not(.hidden)) #boss-hud{top:264px}body:has(#tutorial-ui:not(.hidden)) #interaction{display:none}body:has(#tutorial-ui:not(.hidden)) #notices{max-width:235px}@media(max-height:800px){#landing{transform:translateY(-47%)}.title-kicker{margin-bottom:9px;font-size:8px}h1{font-size:59px}h1 small{font-size:10px}.title-subtitle{margin:19px 0 12px;font-size:13px}.intro{margin:12px 0 16px;font-size:10px}.menu-button{min-height:55px;padding:9px 16px;margin-bottom:10px;font-size:18px}.name-row{margin-bottom:11px}.landing-note{margin-top:15px}#connection{margin-top:12px}.panel{padding:23px}.panel .sub{font-size:11px}.shop{margin-top:14px;padding-top:9px}.shop-grid{gap:7px}}@media(max-width:1150px){.brand small{display:none}.status{gap:8px}#speech-state,#voice-state{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#landing{left:5%;width:335px}h1{font-size:56px}#player-hud{left:18px;min-width:182px}#minimap{right:18px;width:131px;height:115px}#objective{font-size:12px}#hotbar{gap:4px;bottom:18px}.slot{min-width:58px;width:58px;font-size:8px}#volume{left:18px;width:151px;font-size:8px}#notices{left:18px;max-width:210px}#tutorial-ui{width:min(440px,48vw)}}@media(max-height:680px){#landing{top:58px;bottom:36px;transform:none;overflow-y:auto;scrollbar-width:thin}.title-kicker,.intro{display:none}h1{font-size:48px}.title-subtitle{margin-top:15px;margin-bottom:10px}.title-rule{margin-bottom:15px}.panel{max-height:calc(100vh - 98px)}#tutorial-ui{top:60px;padding:9px 13px}#tutorial-text h2,#tutorial-text h3,#tutorial-text strong{font-size:16px}}@media(max-width:800px){header{left:12px;right:12px}.brand{display:none}.status{margin-left:auto;font-size:8px}#voice-state{display:none}#landing{left:50%;transform:translate(-50%,-47%);background:#211a30d4;padding:22px 8px;border:2px solid #796277}#objective{left:46%;top:64px;max-width:240px}#player-hud{top:66px;left:12px;min-width:160px;padding-right:9px;font-size:10px}#minimap{right:12px;top:66px;width:99px;height:85px}#volume{width:135px;left:12px;bottom:121px}#hotbar{gap:3px;padding:4px}.slot{width:55px;min-width:55px}#tutorial-ui{top:165px;width:min(420px,77vw)}#boss-hud{left:25%;right:25%;top:125px}#interaction{bottom:123px;max-width:90vw;white-space:normal;text-align:center;font-size:10px}#notices{bottom:215px;left:12px;max-width:175px}}#player-hud:has(.heart-row){padding-left:13px;min-width:214px}#player-hud:has(.heart-row):before{display:none}.player-name{display:inline-block;font-size:12px;font-weight:800;letter-spacing:1px;color:#ffe5b6}.hp-number{float:right;color:#f3b3a0!important;font:700 10px monospace;margin-left:14px}.heart-row{display:flex;align-items:center;gap:3px;margin:7px 0 5px;height:20px}.pixel-heart{font-size:0;display:inline-block;width:22px;height:22px;background:url(/ui/heart.svg) center/contain no-repeat;image-rendering:pixelated}.pixel-heart.empty{opacity:.25;filter:grayscale(1)}#tutorial-text .tutorial-title{display:block;color:#ffe6b4;font-size:18px;font-weight:900;letter-spacing:1px;margin-bottom:6px}#tutorial-text .tutorial-copy{color:#dacbdc;font-size:11px;line-height:1.7}.tutorial-meter{margin-top:9px;height:8px;border:1px solid #9b7f91;background:#1a1627;overflow:hidden}.tutorial-meter i{display:block;width:0;height:100%;background:repeating-linear-gradient(90deg,#a5e5b4 0 10px,#56977d 10px 12px);border-top:2px solid #ddf8c8}#tutorial-progress .step-dot{display:inline-block;width:6px;height:6px;background:#51405d;border:1px solid #8e768e}#tutorial-progress .step-dot.done{background:#8bd1ab;border-color:#c4f1ce}#tutorial-progress .step-dot.active{background:#f5ce86;border-color:#fff1bd}body.in-tutorial #player-hud{min-width:183px}body.in-tutorial #tutorial-ui{max-height:calc(100vh - 380px);overflow-y:auto;scrollbar-width:thin}#tutorial-progress .lesson-dots{display:flex;align-items:center;gap:4px}#tutorial-progress>span{white-space:nowrap;font:9px monospace}#tutorial-text .practice-label{display:block;color:#e1bd83;font-size:9px;line-height:1.6;margin-top:7px}#tutorial-action{flex-wrap:wrap}#tutorial-action .quiet{color:#c4afc7;background:#332b41;border-color:#67536d;font-size:9px;padding:5px 8px;box-shadow:none}body.in-tutorial #tutorial-ui{max-height:min(240px,calc(100vh - 300px))}#tutorial-ui.complete{border-color:#9ae9b8;border-top-color:#d7f7c4}body.in-game #game{cursor:none}#equipment-info{position:fixed;left:50%;bottom:112px;transform:translate(-50%);width:max-content;max-width:min(470px,88vw);padding:3px 8px 4px;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:2px 7px;background:#14101d55;border:1px solid #d4b6d64d;border-radius:4px;color:#f1e7f0;font-size:11px;line-height:1.35;text-shadow:0 1px 2px #000,0 0 3px #000;z-index:3;pointer-events:none}#equipment-info b{color:#f6dda0}#equipment-info small{font-size:inherit;color:#c5e8d2}#equipment-info small:empty{display:none}#equipment-info.unavailable small{color:#f1bdab}#equipment-info.charged{border-color:#f6d986a6}.cooldown-track{height:1px;position:absolute;bottom:0;left:3px;right:3px;overflow:hidden}.cooldown-track i{display:block;height:100%;width:0;background:#e6be76}#interaction{bottom:157px;max-width:86vw;width:max-content;white-space:normal;text-align:center;background:#14101d55;border:1px solid #d4b6d64d;border-radius:4px;box-shadow:none;padding:3px 8px;text-shadow:0 1px 2px #000;pointer-events:none}#room-banner{position:fixed;top:33%;left:50%;transform:translate(-50%);z-index:4;text-align:center;pointer-events:none;padding:12px 36px;background:#201d30d9;border-top:2px solid #a38a70;border-bottom:2px solid #66516c;animation:room-in 2.1s ease both}#room-banner small{display:block;color:#b4a4bb;font-size:10px;margin-bottom:8px;letter-spacing:2px}#room-banner b{color:#ffe6ad;letter-spacing:6px;font-size:25px;text-shadow:2px 3px #171423}@keyframes room-in{0%{opacity:0;margin-top:6px}15%,76%{opacity:1;margin-top:0}to{opacity:0}}#pause-veil{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:13px;background:#16132299;pointer-events:none;z-index:8}#pause-veil strong{color:#f9dda5;font-size:28px;letter-spacing:6px;text-shadow:3px 3px #171423}#pause-veil span{font-size:12px;color:#c9bacf}#volume.in-range b{border-color:#c6f3a7}#volume.in-range small{color:#b5f5b9}#volume.too-loud i{background:#e89c77}#notices{max-width:270px}.toast{animation-duration:.12s}.health i{transition:width .15s ease-out}.slot:focus-visible{outline:3px solid #a4f1d1;outline-offset:4px}.settings-grid{display:grid;gap:16px;padding:7px 0}.setting-row{display:grid;grid-template-columns:125px minmax(110px,1fr) 57px;gap:12px;align-items:center;color:#e0cfce;font-size:12px}.setting-row output{color:#e8ce98;font:12px monospace;text-align:right}.setting-row input[type=range]{appearance:none;width:100%;padding:0;height:9px;background:#1c1829;border:2px solid #77627c;cursor:pointer;accent-color:#e4bd77}.setting-row input[type=range]::-webkit-slider-thumb{appearance:none;width:14px;height:20px;background:#edcf91;border:2px solid #fff1bd;box-shadow:2px 3px #171423}.setting-row input[type=range]::-moz-range-thumb{width:12px;height:18px;border-radius:0;background:#edcf91;border:2px solid #fff1bd}.setting-check{font-size:12px;color:#d9c9cf;display:flex;align-items:center;gap:11px}.setting-check input{width:16px;height:16px;accent-color:#e3c281}.modal .settings-note{font-size:10px;line-height:1.7;color:#a995b4;margin:0}body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}body.reduced-motion #room-banner{animation:none}@media(max-width:1000px){#volume{bottom:124px}}@media(max-height:700px){#room-banner{top:35%}.setting-row{font-size:11px}}@media(max-width:800px){.setting-row{grid-template-columns:105px minmax(60px,1fr) 47px;gap:7px;font-size:10px}}body.in-tutorial #room-banner{display:none}body.tutorial-complete #tutorial-ui.complete{top:50%;transform:translate(-50%,-50%);text-align:center;max-height:80vh;width:min(520px,82vw);padding:23px;background:#2d293cf5;box-shadow:0 0 0 100vmax #17132270,0 5px #171423}#tutorial-ui.complete:before{content:"\2726";display:block;color:#f4d58e;font-size:38px;margin-bottom:17px;text-shadow:3px 3px #725263}#tutorial-ui.complete #tutorial-text h2{font-size:23px;margin:17px 0 12px}#tutorial-ui.complete #tutorial-action{justify-content:center;margin-top:22px}#tutorial-ui.complete #tutorial-action .primary{margin:0}.status,.sub,.shop h3,.shop-grid button,.crew small,.toast,#objective small,#volume,#volume small,#interaction,.teamline,#tutorial-text .tutorial-copy,#tutorial-text p,.modal .settings-note,#tutorial-action button{font-size:13px}.shop h3,.shop-grid button{line-height:1.65}.slot,#tutorial-text .practice-label,#tutorial-action small,#connection,.landing-note{font-size:12px}.slot.empty .icon{background-image:none!important;position:relative}.slot.empty .icon:after{content:"\2014";position:absolute;inset:0;color:#928799;font:20px/30px sans-serif}.slot.empty em{display:none}body.in-tutorial #tutorial-ui{width:min(520px,48vw);max-height:min(300px,calc(100vh - 340px))}#reward-reopen{position:fixed;left:24px;top:218px;z-index:5;font-size:13px;font-weight:700;line-height:1.4;padding:9px 12px;color:#ffe1a2;background:#4b3a4bef;border-top-color:#ecd099;box-shadow:0 3px #171423}#reward-reopen kbd{margin-left:6px;font-size:10px}.modal article.reward-dialog{width:min(800px,90vw);padding:24px;max-height:calc(100vh - 78px)}.reward-dialog .top{margin-bottom:12px}.reward-dialog .top h2{font-size:23px}.reward-dialog .reward-intro{margin:0 0 16px;color:#cdbdcf;font-size:14px}.reward-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.reward-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;min-width:0;min-height:194px;padding:20px 12px 16px;color:#e7d9d4;background:#3c324b;border:3px solid #8b718c;border-top-color:#c3a6ae;border-left-color:#a3899e;border-bottom-color:#21192e;border-right-color:#21192e;box-shadow:0 4px #171423}.reward-card:hover{background:#59465f}.reward-card.selected{background:#5c4a48;border-color:#ffe6a8;box-shadow:0 4px #171423,inset 0 0 0 2px #9d7c4e;color:#fff0c2}.reward-card:focus-visible{outline:3px solid #92edc4;outline-offset:4px}.reward-card.selected:after{content:"\9884\89c8\4e2d";position:absolute;left:50%;transform:translate(-50%);bottom:-10px;padding:2px 8px;background:#e2b86c;color:#342332;font-size:11px;font-weight:800;white-space:nowrap;border:2px solid #21192e}.reward-card-number{position:absolute;top:7px;left:8px;color:#c5adc8;font:700 11px monospace}.reward-card .reward-icon{display:block;width:70px;height:70px;margin:3px 0 13px;image-rendering:pixelated}.reward-icon img,.reward-icon svg{width:100%;height:100%;image-rendering:pixelated;shape-rendering:crispEdges}.reward-fallback-icon{color:#a2ebce;font-size:55px;text-shadow:4px 4px #251e35}.reward-card-name{display:block;width:100%;text-align:center;font-size:17px;font-weight:800;line-height:1.5;overflow-wrap:anywhere}.reward-card small{color:#bda9c6;font-size:11px;margin-top:7px}.reward-card.selected small{color:#e0c9a4}.reward-preview{min-height:132px;margin-top:23px;padding:14px 17px;background:#201b2e;border:2px solid #76607e;border-left:4px solid #dfbe7c}.reward-preview h3{color:#ffe3a2;font-size:19px;margin:0 0 9px;line-height:1.4}.reward-preview .reward-effect,.reward-preview .reward-usage{color:#eee1dc;font-size:14px;line-height:1.7;margin:4px 0}.reward-preview strong{display:inline-block;color:#afddbf;font-size:12px;font-weight:700;margin-right:13px}.reward-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px}.reward-bottom p{margin:0;color:#bba9c7;font-size:12px;line-height:1.7}.reward-bottom .primary{flex-shrink:0;min-width:212px;font-size:14px;padding:12px 15px;max-width:52%;overflow-wrap:anywhere}.run-bonus-list{margin:15px 0;padding:12px;background:#211b2d;border:2px solid #735b76;display:flex;gap:8px;flex-wrap:wrap}.run-bonus-list h3{width:100%;margin:0 0 3px;color:#f1cf95;font-size:14px}.run-bonus-list>span{padding:5px 9px;color:#d8efd4;border:1px solid #6e8e77;background:#344139;font-size:12px}.run-bonus-list>small{display:block;width:100%;color:#b7a6c0;font-size:11px;margin-top:4px}@media(max-height:760px){.modal article.reward-dialog{padding:19px 22px;max-height:calc(100vh - 50px)}.reward-dialog .top h2{font-size:21px}.reward-dialog .reward-intro{margin-bottom:13px}.reward-card{min-height:161px;padding:14px 10px 13px}.reward-card .reward-icon{width:57px;height:57px;margin-bottom:8px}.reward-card-name{font-size:16px}.reward-preview{min-height:113px;margin-top:21px;padding:11px 14px}.reward-bottom{margin-top:13px}}@media(max-width:950px){.reward-cards{gap:10px}.reward-card-name{font-size:15px}.reward-bottom{align-items:stretch}.reward-bottom .primary{min-width:170px;font-size:13px}#reward-reopen{left:18px;max-width:205px;font-size:12px}}@media(max-width:620px){.modal article.reward-dialog{padding:14px;width:93vw}.reward-dialog .top h2{font-size:17px}.reward-dialog .top button{font-size:10px;padding:6px}.reward-cards{gap:7px}.reward-card{min-height:151px;padding:17px 6px 12px}.reward-card .reward-icon{width:46px;height:46px}.reward-card-name{font-size:13px}.reward-card small{font-size:10px}.reward-preview h3{font-size:17px}.reward-preview .reward-effect,.reward-preview .reward-usage{font-size:13px}.reward-bottom{flex-direction:column;gap:12px}.reward-bottom .primary{max-width:none;width:100%}}#landing{left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 34px));max-height:calc(100vh - 64px);overflow-y:auto;overflow-x:hidden;padding:22px 24px 20px;text-align:center;background:#211a30d9;border:2px solid #756078;box-shadow:0 4px #171423,0 0 0 2px #171423;scrollbar-width:thin}#landing h1{text-align:center;margin:0 0 22px;font-size:clamp(43px,5vw,64px);line-height:1.18}#landing .title-rule{margin:0 0 20px}#landing .join-card{width:min(304px,100%)}#landing .name-row{margin-bottom:14px}#landing .landing-note{flex-wrap:wrap;gap:9px 13px;margin-top:16px;line-height:1.8;font-size:12px}#landing #connection{line-height:1.7;font-size:12px;margin-top:12px}#mic-access{margin:14px 0 10px;padding:10px 11px;color:#d5c6d8;background:#292334d9;border-left:3px solid #d2af70;text-align:left;font-size:13px;line-height:1.7}#mic-access:empty{display:none}#mic-access.ok{color:#b7edca;border-left-color:#91d0a9}#mic-access.error{color:#f5c2aa;border-left-color:#ec9d82}#landing-tools{width:100%;margin-top:9px;padding-top:10px;border-top:1px solid #645169}#landing-tools .status{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:0;font-size:12px;text-shadow:none}#landing-tools .status button{font-size:12px}#landing-tools #speech-state,#landing-tools #voice-state{flex:1 1 100%;max-width:none;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.6}#landing-tools #voice-state{display:none}#landing-tools #mic{order:0}#landing-tools [data-action=settings]{order:1}#landing-tools [data-action=help]{order:2}#landing-tools #speech-state{order:3}#game-tools{inset:auto 22px 22px auto;width:234px;max-width:calc(100vw - 40px);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:9px;padding:10px 11px;background:#211b2eeb;border:2px solid #766079;box-shadow:0 3px #171423;z-index:5}#game-tools .brand{justify-content:center;font-size:11px;color:#c4adcd;letter-spacing:2px}#game-tools .brand-mark{width:18px;height:18px}#game-tools .status{justify-content:center;gap:7px;flex-wrap:wrap;margin:0;font-size:12px;line-height:1.5}#game-tools .status button{font-size:11px;padding:6px 8px}#game-tools #speech-state,#game-tools #voice-state{flex:1 1 100%;max-width:none;white-space:normal;overflow:visible;text-align:center;font-size:11px;line-height:1.6}#game-tools #performance{font-size:11px}body:has(#landing:not(.hidden)) #game-tools{display:none}footer{justify-content:center;left:20px;right:20px;bottom:12px;font-size:11px}@media(max-height:760px){#landing{max-height:calc(100vh - 42px);padding-top:17px;padding-bottom:15px}#landing h1{font-size:51px;margin-bottom:17px}#landing .title-rule{margin-bottom:16px}#landing .menu-button{min-height:52px;margin-bottom:9px}#landing .name-row{margin-bottom:11px}#landing .landing-note{margin-top:12px}#mic-access{margin-top:11px;font-size:12px;padding:8px 10px}#landing-tools{padding-top:8px;margin-top:8px}footer{bottom:5px;font-size:10px}#game-tools{bottom:16px;right:16px;padding:8px 9px;gap:7px}}@media(max-height:620px){#landing{top:14px;bottom:25px;max-height:none;transform:translate(-50%)}#landing h1{font-size:44px;margin-bottom:13px}#landing .title-rule{margin-bottom:13px}#game-tools{width:204px}#game-tools #speech-state,#game-tools #voice-state{font-size:10px}}@media(max-width:800px){#landing{left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(390px,calc(100vw - 28px));max-height:calc(100vh - 42px);padding:18px 18px 15px}#landing h1{font-size:clamp(38px,11vw,52px)}#game-tools{right:12px;bottom:12px;width:192px;padding:7px}#game-tools .brand{display:none}#game-tools .status{gap:6px}#game-tools #speech-state,#game-tools #voice-state{font-size:10px}}@media(max-width:800px)and (max-height:620px){#landing{top:12px;bottom:25px;max-height:none;transform:translate(-50%)}}.modal article.weapon-dialog{width:min(580px,94vw);padding:20px 24px;max-height:calc(100vh - 36px)}.weapon-dialog .top{margin-bottom:8px}.weapon-dialog .wheel-instructions,.weapon-dialog .wheel-footnote{text-align:center;margin:5px 0;font-size:12px}.weapon-wheel{position:relative;width:min(440px,77vw);aspect-ratio:1;margin:12px auto;border:2px solid #695570;border-radius:50%;background:radial-gradient(circle,#40324999 0 28%,#17142355 29% 58%,#67516b33 59% 60%,transparent 61%)}.wheel-slot{position:absolute;width:104px;min-height:90px;transform:translate(-50%,-50%);padding:6px 5px;display:flex;flex-direction:column;align-items:center;gap:2px;border:2px solid #89738c;background:#30273e;text-align:center;font-size:12px}.wheel-slot .icon{display:block;width:31px;height:31px;font-size:24px;line-height:31px}.wheel-slot .icon img,.wheel-slot .icon svg{width:31px;height:31px}.wheel-slot kbd{position:absolute;left:5px;top:4px;font-size:10px}.wheel-slot b{color:#efe3c8;font-weight:600;font-size:12px}.wheel-slot small{color:#b6a4bc;font-size:10px}.wheel-slot.selected{background:#685236;border-color:#f0ce8b;box-shadow:0 0 0 2px #6d5033}.wheel-slot:hover:not(:disabled),.wheel-slot:focus-visible{outline:3px solid #b5edcd;outline-offset:3px}.wheel-slot:disabled{opacity:.45;cursor:default}.wheel-center{position:absolute;inset:32% 29%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;pointer-events:none}.wheel-center small{color:#a996b4;font-size:10px}.wheel-center b{color:#ffdda1;font-size:17px}.wheel-center span{color:#d3c4d7;font-size:11px;line-height:1.7}@media(max-height:700px),(max-width:600px){.modal article.weapon-dialog{padding:12px 16px}.weapon-wheel{width:min(350px,74vw);margin:10px auto}.wheel-slot{width:86px;min-height:76px;padding:4px 3px}.wheel-slot .icon,.wheel-slot .icon img,.wheel-slot .icon svg{width:25px;height:25px;font-size:22px;line-height:25px}.wheel-slot b{font-size:11px}.wheel-center{inset:30% 28%;gap:5px}.wheel-center b{font-size:14px}.wheel-center span{font-size:10px;line-height:1.5}}.run-coins{display:flex;align-items:center;gap:5px;margin:6px 0;color:#e9ca83;font-size:12px;letter-spacing:1px}.run-coins b{font-size:17px;color:#ffdf91}.run-coins span{color:#e6b85e}.vending-dialog{width:min(620px,calc(100vw - 36px));max-height:calc(100vh - 50px);overflow-y:auto}.vending-wallet{display:flex;align-items:center;gap:10px;padding:13px 0;color:#e8d3a7;border-bottom:1px solid #756078}.vending-wallet b{font-size:24px;color:#ffe0a0}.vending-wallet span{margin-left:auto;font-size:11px;color:#b4aabd;max-width:230px;line-height:1.6}.vending-products{display:grid;gap:10px;margin-top:15px}.vending-product{display:flex;align-items:center;gap:15px;padding:14px;border:1px solid #766078;background:#30283e}.vending-product>div{flex:1}.vending-product h3{margin:0 0 7px;color:#f5deb6;font-size:17px}.vending-product p{margin:0 0 6px;color:#c9c0ce;font-size:12px;line-height:1.7}.vending-product small{color:#b7b6a6;font-size:11px}.vending-product button{min-width:130px;font-size:12px;border-color:#c4a66d;background:#564332}.vending-product button:disabled{opacity:.45;cursor:default}.vending-product.sold-out{opacity:.65}.vending-note{font-size:12px;color:#bfb0c3;line-height:1.8;margin-bottom:0}@media(max-width:600px){.vending-wallet{flex-wrap:wrap}.vending-wallet span{flex-basis:100%;max-width:none;margin-left:0}.vending-product{padding:10px;gap:9px}.vending-product button{min-width:100px}.vending-product h3{font-size:15px}}#landing{inset:0;transform:none;width:100vw;height:100vh;max-height:none;padding:0;overflow:hidden;background:none;border:0;box-shadow:none;pointer-events:none;text-align:left;z-index:3}#landing .hub-heading{position:absolute;left:50%;top:16px;transform:translate(-50%);text-align:center;pointer-events:none}#landing .hub-heading h1{font-size:30px;line-height:1.2;margin:0;letter-spacing:4px;text-shadow:2px 3px #302634}#landing .hub-heading p{margin:6px 0;color:#f3dfb1;font-size:11px;letter-spacing:5px;text-shadow:1px 2px #302634}#landing .hub-name{position:absolute;left:22px;top:20px;margin:0;padding:9px 11px;width:auto;gap:8px;background:#2b2838e8;border:1px solid #a2917e;pointer-events:auto}#landing .hub-name input{width:110px;font-size:12px;padding:3px;margin:0}#hub-stations{position:fixed;inset:0;pointer-events:none}#hub-stations button{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;padding:5px 9px;font-size:11px;white-space:nowrap;letter-spacing:1px;background:#3e4135e8;border:1px solid #b0a071;color:#fff0c8;box-shadow:0 2px #383329;text-shadow:1px 1px #292924}#hub-stations button:hover,#hub-stations button.nearby{background:#dbbf74;color:#39332e;text-shadow:none;border-color:#fff2b4}#landing #hub-menu,#lobby{position:fixed;inset:50% 28px auto auto;transform:translateY(-50%);width:min(370px,calc(100vw - 36px));max-height:calc(100vh - 160px);padding:22px;overflow-y:auto;background:#292638f5;border:2px solid #b3a08b;box-shadow:0 5px #191824,0 0 0 3px #332a34;pointer-events:auto;text-align:left;z-index:8}#landing #hub-menu{margin:0}#hub-menu .top,#lobby .top{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #756779;padding-bottom:13px;margin-bottom:18px}#hub-menu h2,#lobby h2{font-size:22px;margin:0;color:#f5dc9e;letter-spacing:2px}#hub-menu .top button,#lobby .top button{font-size:11px;white-space:nowrap;padding:5px 8px}#hub-menu p,#lobby p{font-size:13px;color:#ddd0bf;line-height:1.9}#hub-menu small,#lobby small{display:block;font-size:11px;color:#b7adba;line-height:1.9}#hub-menu .menu-button,#lobby .menu-button{font-size:15px;min-height:46px;letter-spacing:1px;margin:16px 0}#hub-menu .network-menu{margin-top:14px}#hub-menu .hub-adventure-options,#hub-menu .hub-coop-options{display:none}#hub-menu[data-section=adventure] .hub-adventure-options,#hub-menu[data-section=coop] .hub-coop-options{display:block}#lobby .shop-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:16px 0}#lobby .shop-grid button{font-size:12px;text-align:left}.hub-gear-display{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.hub-gear-display span{padding:12px 10px;background:#3d3b4b;border:1px solid #8f7e88;font-size:12px;color:#e8d4a2}.hub-stock{max-height:180px;overflow:auto;border-top:1px solid #62576a;margin-bottom:16px}.mirror-placeholder{font-size:70px;text-align:center;color:#b9e2df;margin:12px}#hub-prompt{position:absolute;bottom:108px;left:50%;transform:translate(-50%);text-align:center;white-space:nowrap;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 30px);padding:8px 13px;background:#252331dc;border:1px solid #a69378;color:#f0ddad;font-size:12px;pointer-events:auto}#hub-prompt button{font-size:12px;padding:7px 12px;background:#c6aa64;color:#292a29;border:1px solid #f2d99a;white-space:nowrap}#landing .hub-bottom{position:absolute;bottom:27px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;max-width:calc(100vw - 36px);padding:10px 16px;background:#272332ed;border:1px solid #8e7c7f;pointer-events:auto}#landing #mic-access{font-size:11px;padding:0;margin:0;border:0;background:none;max-width:230px;line-height:1.6}#landing #landing-tools{margin:0;padding:0;border:0;width:auto}#landing-tools .status{gap:7px;flex-wrap:nowrap;white-space:nowrap}#landing-tools #speech-state,#landing-tools #voice-state,#landing #connection{display:none}#landing-tools #mic{min-width:125px}#landing-tools .status button{font-size:11px;padding:6px 9px}body.in-hub #footer{display:flex;bottom:6px;font-size:9px;pointer-events:none;z-index:3}body.in-hub #game-tools{display:none}body.in-hub #notices{top:80px}@media(max-width:800px){#landing .hub-heading{top:13px}#landing .hub-heading h1{font-size:24px}#landing .hub-name{left:12px;top:12px;padding:6px;font-size:10px}#landing .hub-name input{width:75px}#landing #hub-menu,#lobby{right:16px;max-height:calc(100vh - 150px);padding:18px}#landing .hub-bottom{padding:7px 10px;gap:8px;bottom:22px;width:max-content}#landing #mic-access{max-width:165px;font-size:10px}#hub-prompt{bottom:96px;font-size:11px;white-space:normal;width:max-content}#hub-stations button{font-size:10px;padding:4px 6px}}@media(max-width:540px){#landing .hub-name{top:57px}#landing .hub-bottom{flex-wrap:wrap;justify-content:center;width:calc(100vw - 24px)}#landing #mic-access{max-width:none;width:100%;text-align:center}#hub-prompt{bottom:117px;font-size:10px}#landing #hub-menu,#lobby{right:12px;width:calc(100vw - 24px);max-height:calc(100vh - 190px);top:48%}}#modal article.vending-dialog{width:min(1040px,calc(100vw - 36px));max-height:calc(100vh - 40px);padding:24px;background:#252333;border-color:#a98e71}.vending-dialog .top{margin-bottom:18px}.vending-intro{display:flex;align-items:center;justify-content:space-between;gap:24px}.vending-eyebrow{font-size:12px;letter-spacing:2px;color:#b8daca}.vending-dialog .vending-intro p{margin:7px 0 0;color:#eadfc9;font-size:15px;line-height:1.7}.vending-dialog .vending-wallet{display:grid;grid-template-columns:auto auto;gap:4px 12px;align-items:center;flex-shrink:0;margin:0;padding:12px 18px;background:#3d352d;border:1px solid #ad8b51;min-width:178px}.vending-dialog .vending-wallet>span{font-size:13px;color:#e9cf96;margin:0;max-width:none}.vending-dialog .vending-wallet b{font:700 30px/1.1 monospace;color:#ffe5a0;text-align:right}.vending-wallet small{grid-column:1/-1;font-size:11px;color:#c5b89b}.vending-how{display:flex;flex-wrap:wrap;gap:9px 20px;list-style:none;margin:20px 0;padding:13px 15px;background:#1e202b;border:1px solid #514b5b}.vending-dialog .vending-how li{display:flex;align-items:center;gap:7px;font-size:12px;color:#d2ccd3;line-height:1.7}.vending-how li b{display:inline-grid;place-items:center;min-width:21px;height:21px;border:1px solid #8d7f67;color:#f0d39b;font-size:11px}.vending-dialog kbd{font-size:11px;padding:1px 5px;border:1px solid #8a7b8a;background:#3b3447;color:#f7e8b8;box-shadow:0 2px #171720}.vending-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:0}.vending-product{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:0;background:#302d3c;border:2px solid #6f6471;box-shadow:0 4px #15151e}.vending-product>div{flex:initial}.vending-product .vending-product-heading{display:flex;align-items:center;gap:17px;padding:18px 18px 15px;background:#38323e;border-bottom:1px solid #5c505f}.vending-product-image{position:relative;display:grid;place-items:center;width:120px;height:128px;flex:0 0 120px;background:repeating-linear-gradient(0deg,#23252e 0 14px,#272a32 14px 16px);border:2px solid #88734e;box-shadow:inset 0 0 0 4px #191d25}.vending-product-image img{display:block;width:96px;height:96px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(3px 5px #10121b88)}.vending-product-image>span:not(.vending-material-image){position:absolute;bottom:5px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:2px;color:#b0a993}.vending-material-image{font-size:50px;color:#d3b77c}.vending-product-title{min-width:0}.vending-product-category{font-size:11px;letter-spacing:2px;color:#b6d6c6}.vending-product-title h3{margin:6px 0;color:#fff0cb;font-size:22px;line-height:1.35}.vending-product .vending-product-title>p{margin:0;color:#d5c5b8;font-size:13px;line-height:1.6}.vending-stock{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:12px;font-size:11px;color:#b9b3be}.vending-stock b{color:#f0d599;font-size:12px}.vending-product .vending-product-details{display:grid;gap:13px;padding:17px 18px;flex:1}.vending-product-details h4{margin:0 0 5px;font-size:12px;letter-spacing:1px;color:#f3cc8b}.vending-product .vending-product-details p{margin:0;color:#e0d8df;font-size:13px;line-height:1.85}.vending-use{padding:11px 12px;border-left:3px solid #8ac9b3;background:#222931}.vending-use h4{color:#a7e1cb}.vending-product .vending-product-note{color:#b9b2bd;font-size:11px;line-height:1.75}.vending-product .vending-purchase{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px 12px;padding:14px 18px 12px;background:#25222e;border-top:1px solid #615460}.vending-price{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.vending-price b{font:700 27px/1.2 monospace;color:#ffe1a0}.vending-price span{font-size:12px;color:#c1b498}.vending-product .vending-purchase button{min-width:138px;font-size:14px;font-weight:700;padding:11px 14px;background:#bba068;color:#201f27;border-color:#e1c285 #796345 #5b4934 #c9ac73}.vending-product .vending-purchase button:hover{background:#d4b67c}.vending-product .vending-purchase button:disabled{opacity:1;filter:none;cursor:default;background:#45404c;color:#bbb3bb;border-color:#6e6470 #292633 #252330 #5d5562}.vending-product .vending-buy-status{grid-column:1/-1;margin:0;color:#aebeb2;font-size:11px;line-height:1.7}.vending-product .vending-buy-status.short{color:#f1ba99}.vending-product.sold-out{opacity:1}.vending-product.sold-out .vending-product-image{filter:saturate(.3);opacity:.6}.vending-dialog .vending-note{font-size:12px;line-height:1.9;color:#c4bac9;margin:17px 0 0}@media(max-width:760px){#modal article.vending-dialog{padding:18px;width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.vending-products{grid-template-columns:1fr}.vending-intro{align-items:flex-start;gap:12px}.vending-dialog .vending-wallet{padding:10px 12px;min-width:150px}.vending-dialog .vending-intro p{font-size:13px}.vending-how{gap:9px 16px;margin:16px 0}.vending-product .vending-product-heading{padding:15px}}@media(max-width:420px){.vending-intro{flex-direction:column}.vending-dialog .vending-wallet{display:flex;align-items:center;gap:10px;min-width:0;width:100%}.vending-wallet small{margin-left:auto}.vending-product-image{width:100px;height:112px;flex-basis:100px}.vending-product-image img{width:80px;height:80px}.vending-product .vending-product-heading{gap:12px;padding:12px}.vending-product-title h3{font-size:20px}.vending-product .vending-product-details,.vending-product .vending-purchase{padding:13px}.vending-product .vending-purchase button{min-width:126px}}@keyframes guild-panel-in{0%{opacity:0;transform:translateY(14px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes guild-toast-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes guild-rim{0%,to{box-shadow:0 0 0 2px #b3955a44,inset 0 0 14px #ffc66b12}50%{box-shadow:0 0 0 2px #f5d28a88,inset 0 0 20px #ffc66b22}}#modal:not(.hidden) .modal-card,#lobby:not(.hidden),#hub-menu:not(.hidden){animation:guild-panel-in .2s ease-out both}.toast{animation:guild-toast-in .18s ease-out both}.slot{transition:transform .12s,background .12s,border-color .12s}.slot:hover{transform:translateY(-3px)}.slot.selected{animation:guild-rim 2s ease-in-out infinite}.vending-product{animation:guild-panel-in .22s ease-out both}.vending-product:nth-child(2){animation-delay:35ms}.vending-product:nth-child(3){animation-delay:.07s}.vending-product:nth-child(4){animation-delay:.105s}.vending-product:nth-child(5){animation-delay:.14s}.vending-product:nth-child(6){animation-delay:.175s}.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}body[data-hub-panel=shop] #lobby{left:50%;right:auto;top:50%;transform:translate(-50%,-50%);width:min(1080px,calc(100vw - 48px));max-height:calc(100vh - 96px);padding:26px 30px;background:#20232bed;border:1px solid #9f8860;box-shadow:0 12px 60px #050809c9,inset 0 0 0 5px #282c34;backdrop-filter:blur(8px);scrollbar-color:#86704c #20232b}body[data-hub-panel=shop] #lobby>.top{margin-bottom:22px;border-bottom:1px solid #6d604a;padding-bottom:16px}body[data-hub-panel=shop] #lobby h2{letter-spacing:4px;font-size:23px;color:#f3dca8}.guild-shop-heading{display:flex;gap:22px;justify-content:space-between;align-items:center;margin-bottom:24px}#lobby .guild-shop-heading h3{font-size:23px;letter-spacing:1px;margin:9px 0 4px;color:#faf0d7}#lobby .guild-shop-heading p{font-size:13px;margin:0;color:#aeb5b6}.shop-kicker{font-size:10px;letter-spacing:2px;color:#b5c8bb;line-height:1.6}.shop-wallets{display:flex;flex-direction:column;gap:6px;flex-shrink:0;padding:10px 14px;background:#151b22;border:1px solid #4c514b;min-width:180px}.shop-wallets>span{display:flex;gap:9px;align-items:center;color:#b8c3bd;font-size:11px}.shop-wallets img{width:30px;height:30px;image-rendering:pixelated}.shop-wallets b{margin-left:auto;color:#f8d98c;font:700 23px/1 monospace}.shop-section-label{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #454c4c;padding-bottom:10px;margin-bottom:16px;gap:10px}.shop-section-label>span{font-size:15px;color:#eed5a3;letter-spacing:3px}#lobby .shop-section-label small{color:#929f9e;font-size:11px}.camp-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.camp-product{min-width:0;border:1px solid #61635e;background:#292e36;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px #13191d;transition:border-color .15s,transform .15s}.camp-product:hover{border-color:#c1ad7c;transform:translateY(-2px)}.shop-tone-slow{--shop-accent:#c3abf3;--shop-glow:#7463a340}.shop-tone-stop{--shop-accent:#9bd9cd;--shop-glow:#448c8040}.shop-tone-relic,.shop-tone-horn{--shop-accent:#ebc47b;--shop-glow:#9f7a3940}.shop-tone-milk{--shop-accent:#acd9b6;--shop-glow:#538b6540}.shop-tone-tube{--shop-accent:#d9bc7e;--shop-glow:#9a794240}.shop-tone-small,.shop-tone-large,.shop-tone-flare{--shop-accent:#f1a18b;--shop-glow:#a5554640}.shop-tone-fragment{--shop-accent:#9ed5e5;--shop-glow:#40829440}.shop-art-stage{position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 80%,var(--shop-glow,#91754c40),transparent 65%),repeating-linear-gradient(90deg,#ffffff03 0 1px,transparent 1px 26px),linear-gradient(#171e29,#242a34);height:204px;overflow:hidden;border:0;border-bottom:1px solid #454b51;box-shadow:inset 0 0 32px #070f1850}.shop-art-stage:before{content:"";position:absolute;left:17%;right:17%;bottom:20px;height:26px;border-radius:50%;background:#090e1766;border:1px solid #70798255;box-shadow:0 0 26px var(--shop-glow,#91754c40)}.shop-art-stage:after{content:"";position:absolute;left:12px;top:12px;width:14px;height:14px;border-top:1px solid var(--shop-accent,#c7b58f);border-left:1px solid var(--shop-accent,#c7b58f);opacity:.6;pointer-events:none}.shop-product-art{position:relative;display:block;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 9px 5px #080e1966);z-index:1}.shop-art-stage .shop-product-art{width:184px;height:184px;transition:transform .2s}.camp-product:hover .shop-product-art,.vending-product:hover .shop-product-art{transform:translateY(-4px) rotate(-3deg)}.shop-art-stage .shop-art-label{position:absolute;inset:13px 15px auto auto;font-size:10px;letter-spacing:2px;color:#c1c7c7;z-index:2}.shop-art-stage .shop-art-seal{position:absolute;inset:auto 13px 13px auto;font-size:10px;letter-spacing:1px;color:var(--shop-accent,#e1c78c);border:1px solid #6c7469;background:#1d2830dd;padding:4px 8px;z-index:2}.camp-product-content{padding:20px 22px 16px;flex:1}#lobby .camp-product h3{font-size:25px;letter-spacing:3px;color:#f5ead1;margin:6px 0 13px}.shop-stat-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.shop-stat-chips>span{font-size:11px;color:var(--shop-accent,#d6c7a3);padding:5px 8px;background:#131c2566;border:1px solid #65706b66;line-height:1.4}.shop-stat-chips b{font-size:13px}#lobby .camp-product-content>p{font-size:13px;color:#c4cbc8;line-height:1.85;margin:0 0 14px}.shop-use-line{font-size:12px;color:#d4d9d0;background:#1b242b;padding:12px 13px;border-left:2px solid var(--shop-accent,#c5af7c);line-height:1.9}.shop-use-line>span{display:block;font-size:10px;letter-spacing:2px;color:var(--shop-accent,#c5af7c);margin-bottom:4px}#lobby .shop-use-line small{color:#a1b4ad;font-size:11px}.camp-product-purchase{display:grid;grid-template-columns:1fr auto;gap:9px 10px;padding:16px 22px;border-top:1px solid #4a514f;background:#1c242b}.shop-cost{display:flex;align-items:center;gap:6px;font-size:11px;color:#bec8be}.shop-cost img{width:30px;height:30px;image-rendering:pixelated}.shop-cost b{font:700 26px/1 monospace;color:#f1d99d}.camp-product-purchase button,.shop-trade-action button{font-size:13px;font-weight:700;min-width:144px;padding:10px 16px;color:#20292c;background:#d9bd7d;border:1px solid #f2d59b;box-shadow:0 3px #77613d;transition:background .15s}.camp-product-purchase button:hover,.shop-trade-action button:hover{background:#eed39a}.camp-product-purchase button:disabled,.shop-trade-action button:disabled{color:#a2afa8;background:#35443f;border-color:#52645b;box-shadow:0 3px #17231f;cursor:default;opacity:1}#lobby .camp-product-purchase p{grid-column:1/-1;margin:2px 0 0;color:#9dafaa;font-size:11px;line-height:1.7}.is-learned .shop-art-seal{background:#28473e;color:#bce3c2;border-color:#62886b}.camp-relic-trade{display:grid;grid-template-columns:124px 1fr auto;align-items:center;gap:18px;margin-top:20px;padding:16px 22px 16px 8px;border:1px solid #5d6257;background:linear-gradient(105deg,#32352d,#242c30)}.shop-trade-art{display:grid;place-items:center}.shop-trade-art img{width:124px;height:124px}#lobby .camp-relic-trade h3{font-size:19px;color:#ecddb5;margin:6px 0 8px}#lobby .camp-relic-trade p{font-size:12px;margin:0 0 4px;color:#bfc9bd}#lobby .camp-relic-trade small{font-size:10px;color:#98aba0}.shop-trade-action{display:flex;flex-direction:column;align-items:stretch;gap:10px;font-size:11px;color:#b3c4b8;text-align:center}.shop-trade-action b{font:700 22px monospace;color:#e7cc8e}.shop-travel-note{display:flex;align-items:center;gap:10px;padding:14px 5px 0}.shop-travel-note img{image-rendering:pixelated}#lobby .shop-travel-note p{font-size:11px;color:#a2b2ad;line-height:1.9;margin:0}.shop-travel-note b{color:#ccdac8;font-weight:500}#modal article.vending-dialog{width:min(1120px,calc(100vw - 44px));padding:26px 30px;background:#202630f7;border:1px solid #9c8b69;box-shadow:0 12px 60px #050809c9,inset 0 0 0 5px #282e37}.vending-dialog .vending-intro p{font-size:22px;font-weight:600;color:#efe6cf;letter-spacing:1px}.vending-dialog .vending-how{background:#1a222a;border-color:#49554e;margin:18px 0}.vending-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.vending-products .vending-product{border:1px solid #5c685f;box-shadow:0 4px #121c23;background:#2b323b;transition:border-color .15s;overflow:hidden}.vending-products .vending-product:hover{border-color:var(--shop-accent,#c8b88c)}.vending-products .vending-product .vending-product-image{width:100%;height:172px;flex:none;min-height:172px;border:0;border-bottom:1px solid #485349}.vending-products .shop-art-stage .shop-product-art{width:158px;height:158px;filter:drop-shadow(0 9px 5px #080e1966)}.vending-products .vending-product .vending-product-heading{padding:17px 18px 0;background:none;border:0;display:block}.vending-product .vending-product-category{font-size:10px;letter-spacing:2px;color:#aac0b2}.vending-product .vending-product-title h3{font-size:21px;letter-spacing:1px;margin:5px 0 7px;color:#f3e8cb}.vending-product .vending-product-title>p{font-size:12px;color:#acbeb6;margin:0 0 12px}.vending-product .shop-stat-chips{margin-bottom:0}.vending-products .vending-product .vending-product-details{padding:14px 18px;gap:12px}.vending-product-details h4{font-size:10px;color:#c3c9b0;letter-spacing:2px}.vending-products .vending-product .vending-product-details p{font-size:12px;line-height:1.85;color:#d0d9d1}.shop-item-instructions{border:1px solid #526359;background:#202a30}.shop-item-instructions summary{cursor:pointer;list-style:none;font-size:11px;padding:10px;color:#afcfbd;display:flex;justify-content:space-between;gap:8px}.shop-item-instructions summary::-webkit-details-marker{display:none}.shop-item-instructions[open] summary{border-bottom:1px solid #45594e}.shop-item-instructions[open] summary span{transform:rotate(45deg)}.shop-item-instructions .vending-use{border:0;background:none;padding:10px}.shop-item-instructions .vending-product-note{margin-top:10px!important;color:#9eb1a9!important;font-size:11px!important}.vending-product .vending-stock{margin-top:auto;font-size:10px;color:#a5b9ab;gap:8px 12px}.vending-products .vending-product .vending-purchase{padding:14px 18px;background:#1b262c;border-color:#4d6151;gap:10px}.vending-product .vending-price b{font-size:26px;color:#eed392}.vending-product .vending-price span{font-size:10px;color:#b7bea5}.vending-products .vending-product .vending-purchase button{min-width:104px;padding:9px 12px;font-size:12px;background:#cbb47c;color:#202b2b;border-color:#eed099 #8f794e #79643e #d3ba7d}.vending-products .vending-product .vending-purchase button:disabled{background:#35443f;color:#a4b6aa;border-color:#53655b;box-shadow:none}.vending-products .vending-product .vending-buy-status{font-size:10px;color:#a0bba8;min-height:17px}.vending-products .vending-product .vending-buy-status.short{color:#e5b59b}.vending-products .sold-out .vending-product-image{filter:saturate(.25);opacity:.65}.vending-products .sold-out .shop-art-seal{color:#c6c7ba;background:#414338}@media(max-width:1050px){.vending-products{grid-template-columns:repeat(2,minmax(0,1fr))}.camp-relic-trade{grid-template-columns:105px 1fr}.shop-trade-action{grid-column:2;align-items:flex-start;text-align:left}.shop-trade-art img{width:105px;height:105px}}@media(max-width:700px){body[data-hub-panel=shop] #lobby{width:calc(100vw - 20px);max-height:calc(100dvh - 32px);padding:20px 16px;top:50%}.guild-shop-heading{align-items:flex-start;flex-direction:column;gap:12px}.shop-wallets{flex-direction:row;width:100%;justify-content:space-between}.shop-wallets>span{flex:1}.shop-wallets>span+span{border-left:1px solid #45544c;padding-left:12px}.shop-section-label{align-items:flex-start;flex-direction:column;gap:4px}.camp-product-grid{gap:13px}.camp-product-content{padding:15px}.camp-product-purchase{padding:14px 15px;grid-template-columns:1fr}.camp-product-purchase p{grid-column:auto}.camp-product-purchase button{width:100%}#lobby .camp-product h3{font-size:21px}.shop-art-stage{height:166px}.shop-art-stage .shop-product-art{width:150px;height:150px}.shop-art-stage .shop-art-label{font-size:9px;letter-spacing:0;right:10px}.shop-art-stage .shop-art-seal{font-size:9px;right:8px;bottom:8px}.shop-stat-chips>span{font-size:10px}.shop-travel-note{padding-top:14px}#modal article.vending-dialog{padding:20px 16px;width:calc(100vw - 20px);max-height:calc(100dvh - 24px)}.vending-dialog .vending-intro p{font-size:19px}.vending-products{gap:12px}.vending-products .vending-product .vending-product-heading{padding:14px 13px 0}.vending-products .vending-product .vending-product-details,.vending-products .vending-product .vending-purchase{padding:13px}.vending-products .vending-product .vending-purchase{grid-template-columns:1fr}.vending-products .vending-product .vending-buy-status{grid-column:auto}}@media(max-width:480px){.camp-product-grid,.vending-products{grid-template-columns:1fr}.camp-product-purchase{grid-template-columns:1fr auto}.camp-product-purchase p{grid-column:1/-1}.camp-product-purchase button{min-width:132px}.camp-relic-trade{padding:12px;grid-template-columns:76px 1fr;gap:12px}.shop-trade-art img{width:76px;height:76px}#lobby .camp-relic-trade h3{font-size:16px}.shop-trade-action{grid-column:1/-1;align-items:stretch}.shop-wallets{gap:10px;padding:8px}.shop-wallets b{font-size:19px}.shop-wallets>span{font-size:10px;gap:4px}.shop-wallets img{width:24px;height:24px}.vending-products .vending-product .vending-purchase{grid-template-columns:1fr auto}.vending-products .vending-product .vending-buy-status{grid-column:1/-1}.camp-product .shop-art-stage{height:190px}.camp-product .shop-art-stage .shop-product-art{width:178px;height:178px}}body.reduced-motion .camp-product,body.reduced-motion .shop-product-art,body.reduced-motion .vending-product{animation:none!important;transition:none!important;transform:none!important}@media(prefers-reduced-motion:reduce){.camp-product,.shop-product-art,.vending-product{animation:none!important;transition:none!important;transform:none!important}}@keyframes shop-panel-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 12px)) scale(.985)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}body[data-hub-panel=shop] #lobby:not(.hidden){animation:shop-panel-in .2s ease-out both}body.reduced-motion[data-hub-panel=shop] #lobby:not(.hidden){animation:none!important}@media(prefers-reduced-motion:reduce){body[data-hub-panel=shop] #lobby:not(.hidden){animation:none!important}}.vending-products .vending-product-image>.shop-art-label{inset:13px 13px auto auto;font-size:10px;letter-spacing:1px;text-align:right}.vending-products .vending-product-image>.shop-art-seal{inset:auto 12px 12px auto;font-size:10px;text-align:center;letter-spacing:1px;padding:4px 8px}#room-threat{position:fixed;top:140px;left:50%;transform:translate(-50%);min-width:260px;padding:8px 16px 9px;background:#171e29ed;border:1px solid #9b8261;box-shadow:0 3px #090f18;z-index:3;text-align:center;pointer-events:none}.room-threat-count{display:flex;justify-content:center;align-items:baseline;gap:10px;color:#e1ccaa;font-size:12px}.room-threat-count b{font:800 29px/1 monospace;color:#ffb48a}.room-threat-count em{font-size:10px;font-style:normal;color:#f4b8a0}.room-threat-count.clear b{color:#a7dfb5}#room-threat>small{display:block;color:#a2b5ad;font-size:10px;margin-top:5px}#room-threat:not(.hidden)~#boss-hud{top:215px}#room-ritual-panel{position:fixed;left:24px;bottom:190px;width:340px;padding:16px 18px;background:#19262eed;border:1px solid #a08b62;box-shadow:0 5px #0e171e,0 0 0 3px #24333c;z-index:5;pointer-events:auto;max-height:calc(100vh - 300px);overflow:auto}.ritual-panel-title{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:10px}.ritual-panel-title b{font-size:15px;color:#f6dd9d}.ritual-panel-title>span{color:#a9d1c0;font-size:10px;white-space:nowrap}.ritual-rules{font-size:11px;line-height:1.8;color:#b4c3bd;margin:0 0 11px}.ritual-rules strong{color:#f5ba97;font-weight:500}.ritual-verses{display:grid;grid-template-columns:1fr;gap:4px;list-style:none;padding:0;margin:0 0 12px}.ritual-verses li{display:flex;align-items:center;gap:8px;padding:4px 9px;border:1px solid #4d6264;background:#182129;color:#becdc5;font-size:14px;letter-spacing:1px}.ritual-verses li>span{color:#7f9f9b;font:11px monospace}.ritual-verses .done{color:#a5e3b7;border-color:#62947d;background:#29453d}.ritual-verses .current{border-color:#e2c681;color:#ffe4a7;background:#4c4430;box-shadow:inset 3px 0 #f1d48f}.ritual-verses .current>span{color:#ffe6a8}.ritual-progress{height:9px;background:#101b24;border:1px solid #668478;overflow:hidden}.ritual-progress i{display:block;height:100%;background:#badbaf;transition:width .1s linear}.ritual-voice-status{font-size:12px;line-height:1.8;color:#f4d99c;margin:9px 0}.ritual-interrupted{color:#f5b398;font-size:11px;line-height:1.8;margin:0 0 10px}.ritual-success{color:#b0dbc1;font-size:12px;line-height:1.9;margin:0}#room-ritual-panel button{width:100%;padding:9px 12px;font-size:12px;background:#4b6658;border-color:#8cb69a;color:#edf4cd}#room-ritual-panel button:disabled{opacity:.55;cursor:default}#room-ritual-panel>small{display:block;font-size:10px;color:#9db5aa;margin-top:8px;line-height:1.7}#room-ritual-panel kbd{font-size:10px;min-width:20px;padding:1px 4px;margin-right:4px}@media(max-width:1000px){#room-ritual-panel{width:300px;padding:13px;bottom:175px}.ritual-verses li{font-size:12px;gap:5px;letter-spacing:0}#room-threat{top:138px;min-width:225px}}@media(max-width:650px){#room-threat{top:115px;left:auto;right:12px;transform:none;min-width:178px;padding:7px 9px}.room-threat-count{font-size:10px;gap:6px}.room-threat-count b{font-size:25px}#room-threat>small{font-size:9px}#room-ritual-panel{left:12px;bottom:185px;width:min(310px,calc(100vw - 24px));max-height:calc(100vh - 270px)}#room-threat:not(.hidden)~#boss-hud{top:185px}}body.reduced-motion .ritual-progress i{transition:none}@media(prefers-reduced-motion:reduce){.ritual-progress i{transition:none}}
