@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";.app{background:radial-gradient(at 75% 35%,#29443f25,#0000 55%);max-width:1920px;min-height:100vh;margin:auto}.topbar{z-index:4;border-bottom:1px solid #afc2b518;justify-content:space-between;align-items:center;height:100px;padding:0 4%;display:flex;position:relative}.brand{letter-spacing:-.2px;align-items:center;gap:10px;font-size:12px;line-height:1.15;display:flex}.brand svg{color:#d4e5d1;width:38px}.brand b{font-size:16px}.header-center{letter-spacing:2.2px;color:#a7b2ad;align-items:center;gap:12px;font-size:9px;display:flex}.tiny-star{color:#d9bc85;font-size:19px}.header-actions{align-items:center;gap:22px;display:flex}.quiet-button,.icon-button,.text-button{background:0 0}.quiet-button{color:#cbd1c8;font-size:11px}.quiet-button span{color:#e0c591;margin-left:18px}.icon-button{color:#b9c7bc;padding:8px;font-size:20px}.eyebrow{letter-spacing:2px;color:#c4ac81;align-items:center;gap:9px;font-size:9px;font-weight:700;display:flex}.eyebrow>span{background:#d6b788;border-radius:50%;width:5px;height:5px}.home-main{grid-template-columns:minmax(340px,37%) 1fr;min-height:635px;padding:40px 4% 18px;display:grid}.intro-panel{z-index:2;max-width:420px;padding-top:8px;position:relative}h1{letter-spacing:-4px;color:#eeeadd;margin:21px 0 18px;font-family:Georgia,Times New Roman,serif;font-size:clamp(56px,5.7vw,88px);font-weight:400;line-height:1.01}h1 em{color:#d7bb88;font-weight:400}.intro-copy{color:#aab8b3;font-size:13px;line-height:1.8}.game-facts{color:#c1c9be;gap:18px;margin:20px 0 23px;font-size:9px;display:flex}.game-facts i{color:#b7ccae;margin-right:5px;font-size:14px;font-style:normal}.setup-card{background:#d8e3bf07;border:1px solid #c5ceb622;border-radius:12px;max-width:375px;padding:17px 20px}.mode-tabs{border-bottom:1px solid #dce3c718;gap:22px;margin-bottom:17px;display:flex}.mode-tabs button{color:#8c9c96;background:0 0;border-bottom:2px solid #0000;padding:0 0 12px;font-size:11px;font-weight:600}.mode-tabs button[aria-selected=true]{color:#e3dac2;border-color:#d4bc88}.party-count{color:#abb9b0;justify-content:space-between;align-items:center;font-size:10px;display:flex}.party-count>div{gap:5px;display:flex}.party-count button{background:#c9d8c30a;border:1px solid #b0c5b522;border-radius:5px;width:27px;height:27px;font-size:11px}.party-count button[aria-pressed=true]{color:#233733;background:#d4c494;border-color:#d4c494}.setup-card .primary-button{margin-top:18px}.primary-button{color:#263b35;background:#d7c390;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;font-size:12px;font-weight:700;display:flex;box-shadow:0 3px #060c141a}.primary-button:hover{background:#e7d6a8}.primary-button span{font-size:17px;line-height:12px}.setup-note{text-align:center;color:#859b8e;margin-top:11px;font-size:9px}.arena-section{min-width:0;position:relative}.at-home .arena-section{margin-left:-30px;margin-right:-15px}.game-view{border-radius:12px;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.game-view canvas{outline:none;width:100%;height:100%;display:block}.scene-label{text-align:center;z-index:1;pointer-events:none;white-space:nowrap;position:absolute;top:17px;left:50%;transform:translate(-50%)}.scene-label .eyebrow{letter-spacing:2.5px;color:#8fa694;justify-content:center;font-size:8px}.scene-label h2{letter-spacing:-.4px;color:#d8ddcc;margin:11px 0 8px;font-family:Georgia,serif;font-size:25px;font-weight:400}.scene-label p{color:#90a595;font-size:10px}.scene-caption{letter-spacing:1.5px;color:#92a494;white-space:nowrap;align-items:center;gap:12px;font-size:8px;display:flex;position:absolute;bottom:35px;left:50%;transform:translate(-50%)}.caption-line{background:#8da28666;width:20px;height:1px}.scene-index{color:#8ca092;letter-spacing:2px;writing-mode:vertical-rl;font-size:8px;position:absolute;bottom:25px;right:25px}.map-shelf{border-top:1px solid #bdc7b41c;grid-template-columns:190px repeat(3,minmax(0,1fr));gap:17px;margin:12px 4% 0;padding-top:27px;display:grid}.shelf-title .eyebrow{letter-spacing:1.5px;font-size:8px}.shelf-title h2{color:#d5dac7;letter-spacing:-.4px;margin-top:12px;font:400 24px/1.17 Georgia,serif}.shelf-title{grid-row:span 2}.map-card{text-align:left;background:#1b2c32aa;border:1px solid #bdc7b41f;border-radius:9px;align-items:center;gap:13px;min-height:112px;padding:16px 12px;display:flex;position:relative}.map-card:hover{background:#273a3d}.map-card.selected{background:#657b5c18;border-color:#b3b78c83}.map-card svg{filter:drop-shadow(0 4px 3px #0002);flex-shrink:0;width:84px}.map-card small{letter-spacing:1.4px;color:#93a18b;font-size:7px}.map-card h3{color:#d8ddca;margin:9px 0 6px;font-family:Georgia,serif;font-size:15px;font-weight:400}.map-card p{color:#91a28f;font-size:8px}.map-check{color:#c7c597;font-size:11px;position:absolute;top:10px;right:10px}.home-footer{letter-spacing:1.4px;color:#74887c;border-top:1px solid #bdc7b414;justify-content:space-between;margin:30px 4% 0;padding:22px 0;font-size:7px;display:flex}.home-footer>span{align-items:center;gap:8px;display:flex}.live-dot{background:#b2cf95;border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block;box-shadow:0 0 7px #b2cf9544}.live-dot.offline{background:#be8b76}.settings-panel{z-index:10;background:#20323a;border:1px solid #71827777;border-radius:10px;width:290px;padding:19px;position:absolute;top:82px;right:4%;box-shadow:0 18px 50px #0005}.panel-heading{justify-content:space-between;align-items:center;font-family:Georgia,serif;font-size:17px;display:flex}.settings-panel label{color:#bdcabb;justify-content:space-between;align-items:center;margin:16px 0;font-size:12px;display:flex}.settings-panel select{color:#e4e5d3;background:#152630;border:1px solid #75847166;border-radius:4px;padding:7px}.settings-panel p{color:#91a598;font-size:10px;line-height:1.6}.toggle{background:#9baa8355;border:1px solid #a9c18b88;border-radius:4px;padding:5px 12px;font-size:11px}.error-banner{z-index:25;color:#ffdfbb;background:#503f37;border:1px solid #c69670;border-radius:6px;align-items:center;gap:20px;width:max-content;max-width:700px;padding:13px 18px;font-size:12px;display:flex;position:fixed;top:94px;left:50%;transform:translate(-50%)}.error-banner button{background:0 0;font-size:18px}.code-label{color:#bec9b7;flex-direction:column;align-items:stretch;gap:10px;font-size:12px;display:flex}.code-label input{letter-spacing:0;text-align:center;color:#e4d1a4;background:#132730;border:1px solid #a6b98d55;border-radius:5px;width:100%;min-height:76px;padding:12px 16px;font-size:36px;font-weight:600}.code-label input:focus-visible{outline-offset:2px;outline:2px solid #d8c68e}.preview-cycling .game-view{animation:.6s ease-out map-preview-in}@keyframes map-preview-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.preview-cycling .game-view{animation:none}}.room-main{height:calc(100vh - 146px);min-height:580px;padding:0 3%}.room-main>.arena-section{height:100%}.room-main .game-view{height:calc(100% - 70px);inset:0 0 70px}.in-room .topbar{height:80px}.clock{letter-spacing:1px;color:#dfd9bd;font-variant-numeric:tabular-nums;margin-left:8px;font-family:Manrope,sans-serif;font-size:24px}.lobby-card{z-index:3;background:#142a32f5;border:1px solid #a3b19166;border-radius:14px;width:430px;max-height:calc(100% - 32px);padding:26px 32px 18px;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 30px 70px #07121b88}.lobby-card .eyebrow{justify-content:center;font-size:8px}.lobby-card h2{text-align:center;margin:12px 0;font:400 35px Georgia,serif}.lobby-card>p{color:#a5b9a8;text-align:center;font-size:11px;line-height:1.6}.invite-code{background:#afbd8010;border:1px dashed #90a08088;border-radius:6px;justify-content:space-between;align-items:center;width:100%;margin:20px 0 12px;padding:13px 16px;display:flex}.invite-code>span{letter-spacing:0;color:#e3d1a3;font-family:Manrope,sans-serif;font-size:28px;font-weight:700}.invite-code small{letter-spacing:1px;color:#b5bea0;font-size:8px}.lobby-person{opacity:.5;border-bottom:1px solid #a0b39311;align-items:center;gap:11px;padding:9px 0;display:flex}.lobby-maps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.lobby-map-option{color:#e4e5d3;background:#15263080;border:1px solid #75847144;border-radius:7px;flex-direction:column;align-items:center;gap:5px;padding:7px;font-size:10px;display:flex}.lobby-map-option svg{width:100%;height:45px}.lobby-map-option[aria-pressed=true],.lobby-map-option:hover:not(:disabled){background:#d8c68e18;border-color:#d8c68e}.lobby-map-name{color:#bdcabb;font-size:11px}.lobby-person.occupied{opacity:1}.player-dot{color:#264039;border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;font-size:14px;display:flex}.lobby-person>div{flex:1}.lobby-person b{font-size:11px;font-weight:500;display:block}.lobby-person small{color:#91a590;margin-top:4px;font-size:9px;display:block}.ready-status{color:#9faaa0;font-size:8px}.ready-status.ready{color:#bbd797}.lobby-card .primary-button{margin-top:18px}.text-button{color:#9eae9c;padding:10px;font-size:10px}.lobby-card>.text-button{margin:auto;display:block}.match-tag{color:#c7d0b9;align-items:center;gap:9px;font-size:11px;display:flex;position:absolute;top:25px;left:10px}.tag-code{letter-spacing:2px;color:#7f9788;padding-left:10px;font-size:9px}.game-hud{pointer-events:none;justify-content:space-between;align-items:end;display:flex;position:absolute;bottom:6px;left:0;right:0}.battery-hud{color:#d7c490;align-items:center;gap:10px;width:210px;padding:8px 0;display:flex}.battery-hud svg{flex-shrink:0}.battery-hud b{text-align:right;font-variant-numeric:tabular-nums;min-width:35px;font-size:12px}.battery-track{background:#d7c49026;border-radius:4px;flex:1;height:5px;overflow:hidden}.battery-track>div{background:#d7c490;height:100%;transition:width .1s linear}.controls-list{color:#b9c5b2;background:#182e35ec;border:1px solid #aec4a324;border-radius:7px;width:210px;margin:0;padding:10px 14px;font-size:11px;list-style:none}.controls-list li{align-items:center;gap:10px;min-height:21px;display:flex}.controls-list kbd{color:#ded9b7;flex-shrink:0;width:36px;font:600 10px DM Sans,sans-serif}.controls-list b{color:#cfc593;font-variant-numeric:tabular-nums;margin-left:auto;font-size:9px;font-weight:500}.room-footer{color:#879d8e;justify-content:space-between;align-items:center;padding:13px 4%;font-size:9px;display:flex}.room-footer .live-dot{margin-right:7px}.room-footer .text-button{padding:0}.result-ghost{color:#c6e4c9;width:55px;margin:17px auto 0;display:block}.result-card h2{font-size:33px}.result-card{top:50%}.result-card .lobby-person{padding:7px 0}.down-message{text-align:center;pointer-events:none;background:#142c36e8;border:1px solid #e0cdb644;border-radius:12px;padding:24px 35px;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.down-message>span{letter-spacing:2px;color:#ccba8f;font-size:8px}.down-message h2{margin:12px 0;font:400 27px Georgia,serif}.down-message p{color:#c5d3b3;font-size:11px}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#06121bd9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.help-modal{background:#1d3339;border:1px solid #b9c39d55;border-radius:14px;width:min(720px,100vw - 32px);max-height:calc(100dvh - 32px);padding:28px 32px;position:relative;overflow:auto}.help-modal h2{color:#e5dfc5;margin:0 0 22px;font:400 34px/1.15 Georgia,serif}.help-modal p{color:#b0c2b0;font-size:12px;line-height:1.55}.close-button{color:#b9cbb7;background:0 0;font-size:25px;position:absolute;top:15px;right:20px}.help-columns{grid-template-columns:1fr 1fr;gap:28px;margin:20px 0;display:grid}.help-columns h3{color:#daca9f;align-items:center;gap:10px;margin:0 0 10px;font:400 23px Georgia,serif;display:flex}.help-role-icon{flex-shrink:0;width:32px;height:32px}.help-columns .help-goal{color:#e5dfc5;margin:0 0 12px;font-weight:500}.help-columns ul{color:#b0c2b0;margin:0;padding-left:16px;font-size:12px;line-height:1.55}.help-columns li+li{margin-top:7px}.help-controls{border-collapse:collapse;color:#dce3cf;width:100%;margin:18px 0;font-size:12px;line-height:1.5}.help-controls th,.help-controls td{text-align:left;border-bottom:1px solid #adbe9b22;padding:9px 10px}.help-controls thead th{color:#daca9f;font-weight:600}.help-controls th:first-child{width:75px;padding-left:0}.help-controls kbd{text-align:center;color:#f4ebc9;white-space:nowrap;background:#a3b69412;border:1px solid #b0c39b66;border-radius:4px;min-width:36px;padding:5px 7px;font:700 16px/1.4 Courier New,monospace;display:inline-block}.help-modal .help-lobby-tip{margin:12px 0 18px;font-size:11px}@media (width<=540px){.help-modal{padding:24px 20px}.help-columns{grid-template-columns:1fr;gap:20px}.help-controls{font-size:11px}.help-controls th,.help-controls td{padding:8px 5px}}.reconnecting{color:#d6b87d}@media (width>=1600px){.home-main{min-height:730px;padding-top:50px}.intro-panel{max-width:470px}.setup-card{max-width:420px}.map-card{min-height:140px}.map-card svg{width:115px}.map-card h3{font-size:19px}.map-card p{font-size:10px}.map-shelf{grid-template-columns:240px repeat(3,1fr)}.scene-label{top:30px}.scene-label h2{font-size:31px}.game-facts{font-size:11px}.intro-copy{font-size:15px}}@media (width<=1100px){.topbar{height:82px;padding:0 3%}.header-center{letter-spacing:1px;font-size:7px}.header-actions{gap:10px}.home-main{grid-template-columns:340px 1fr;min-height:635px;padding:30px 3% 15px}.at-home .arena-section{margin-left:-45px;margin-right:-15px}.intro-panel{max-width:320px}.setup-card{padding:16px}.map-shelf{grid-template-columns:140px repeat(3,1fr);gap:10px;margin-left:3%;margin-right:3%}.map-card{flex-direction:column;align-items:start;gap:10px;padding:12px}.map-card svg{width:80px}.shelf-title h2{font-size:20px}.map-card h3{font-size:14px}.scene-label h2{font-size:23px}.scene-index{right:2px}.scene-caption{font-size:7px;bottom:62px}.game-hud{gap:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.scene-loading{color:#a4b79f;letter-spacing:1px;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.app.is-playing{max-width:none;height:100dvh;overflow:hidden}.is-playing>.topbar,.is-playing>.room-footer{display:none}.is-playing .room-main{height:auto;min-height:0;padding:0;position:fixed;inset:.5vh .5vw}.is-playing .game-view{border-radius:0;height:100%;inset:0}.match-clock{font-variant-numeric:tabular-nums;text-shadow:0 1px 5px #101e29;pointer-events:none;font-size:22px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.match-settings{position:absolute;top:2px;right:8px}.is-playing .game-hud{bottom:10px;left:12px;right:12px}.is-playing .battery-hud{filter:drop-shadow(0 1px 3px #101e29)}.is-playing .settings-panel{top:42px;right:12px}.match-menu-actions{justify-content:space-between;display:flex}.match-reconnecting{color:#ffdfbb;background:#503f37;padding:8px 12px;font-size:12px;position:absolute;top:40px;left:50%;transform:translate(-50%)}.settings-panel .controls-list{background:0 0;border:0;border-top:1px solid #aec4a324;border-radius:0;width:100%;padding:10px 0}.ability-cooldown{color:#ded9b7;text-shadow:0 1px 4px #101e29;margin-left:auto;font-size:11px}.lobby-ability{color:#bdcabb;grid-template-columns:1fr;align-items:center;gap:8px;margin-top:14px;font-size:11px;display:grid}.lobby-role{color:#ded9b7;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;font-size:10px;display:flex}.role-switch-button{color:#f0edda;cursor:pointer;background:#344e4b;border:1px solid #b7c7ad;border-radius:8px;min-height:40px;margin:0;padding:10px 16px;font-size:12px;font-weight:600}.role-switch-button:hover{background:#45625a;border-color:#e0c991}.role-switch-button:focus-visible{outline-offset:3px;outline:2px solid #e0c991}.role-switch-button:active{background:#293e3b}.ability-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.ability-option{color:#e4e5d3;background:#15263080;border:1px solid #75847144;border-radius:7px;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:9px 4px;font-size:11px;display:flex}.ability-option[aria-pressed=true]{background:#d8c68e18;border-color:#d8c68e}.ability-option:hover:not(:disabled){border-color:#d8c68e}.ability-icon{object-fit:cover;border-radius:9px;width:40px;height:40px}.ability-icon[src="/landmine.png"]{object-fit:contain;border-radius:0;width:48px}.ability-option:disabled{opacity:.55}.lobby-ability p{color:#91a598;grid-column:1/-1;min-height:28px;margin:0;font-size:10px;line-height:1.4}.waiting-card{z-index:5;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-areas:"heading invite""intro invite""maps players""ability players""ability role""ready force""leave leave";align-content:start;gap:10px 28px;width:min(940px,100vw - 32px);min-height:min(620px,100dvh - 32px);max-height:calc(100dvh - 32px);padding:24px 28px 18px;display:grid;position:fixed}.waiting-card h2{text-align:left;grid-area:heading;margin:0}.waiting-card>p:not(.lobby-map-name){text-align:left;grid-area:intro;margin:0 0 6px;font-size:12px}.waiting-card .invite-code{grid-area:invite;align-self:center;margin:0}.waiting-card .lobby-maps,.waiting-card .lobby-map-name{grid-area:maps;margin:6px 0 0}.waiting-card .lobby-map-option{padding:9px 6px;font-size:12px}.waiting-card .lobby-map-option svg{height:60px}.waiting-card .lobby-players{grid-area:players;align-self:start}.waiting-card .lobby-person{min-height:56px}.waiting-card .lobby-person b{font-size:13px}.waiting-card .ready-status{font-size:10px}.waiting-card .player-dot{flex-shrink:0;width:32px;height:32px}.waiting-card .lobby-ability{grid-area:ability;margin:2px 0 0}.waiting-card .lobby-role{grid-area:role;margin:0}.waiting-card>.primary-button{grid-area:ready;margin:2px 0 0}.waiting-card>.force-start{grid-area:force;margin:0}.waiting-card>.text-button:last-child{grid-area:leave;justify-self:end;margin:0;padding:6px 0}@media (width<=760px){.waiting-card{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading""intro""invite""maps""players""role""ability""ready""force""leave";gap:12px;width:calc(100vw - 24px);min-height:0;padding:20px}}.result-card{grid-template-rows:repeat(7,auto) minmax(0,1fr) repeat(2,auto);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"mark mark""heading heading""intro intro""ready ready""maps players""ability players""ability role""spacer spacer""leave leave""invite invite";align-content:start;gap:10px 24px;width:min(860px,100vw - 24px);height:min(740px,100dvh - 24px);max-height:calc(100dvh - 24px);padding:22px 28px 16px;display:grid;position:fixed}.result-card .result-ghost{grid-area:mark;width:32px;margin:0 auto}.result-card h2{grid-area:heading;margin:0}.result-card>p:not(.lobby-map-name){grid-area:intro;margin:0}.result-actions{grid-area:ready;gap:12px;margin:4px 0 10px;display:flex}.result-actions .primary-button{flex:1;margin:0}.result-actions .force-start{flex-shrink:0;min-width:130px}.result-actions .force-start:disabled{opacity:.45;cursor:default}.result-card .lobby-maps,.result-card .lobby-map-name{grid-area:maps;margin:0}.result-card .lobby-players{grid-area:players}.result-card .lobby-ability{grid-area:ability;margin:0}.result-card .lobby-role{grid-area:role;margin:0}.result-card>.text-button:not(.force-start){grid-area:leave}.result-card .result-invite{background:0 0;border:0;border-top:1px solid #a3b19133;border-radius:0;grid-area:invite;justify-content:center;gap:12px;margin:0;padding:8px}.result-invite>span{color:#9eae9c;font-size:11px;font-weight:400}.result-invite small{letter-spacing:0;font-size:9px}@media (width<=760px){.result-card{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"mark""heading""intro""ready""maps""players""role""ability""leave""invite";padding:20px}}:root{color:#e6e4d9;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#101e29;font-family:DM Sans,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:900px;margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,select:focus-visible{outline-offset:4px;outline:2px solid #eed3a0}button{color:inherit}button,input,select{border-radius:0}a{color:inherit;text-decoration:none}button{border:0}h1,h2,h3,p{margin:0}::selection{color:#142832;background:#a1b8a6}button{transition:background .15s,color .15s,transform .15s}button:active:not(:disabled){transform:translateY(1px)}
