@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--paper:#eae8df;--ink:#242722;--red:#c9583b;--blue:#49768b;--muted:#74776c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}button,select{font:inherit;cursor:pointer}button{color:inherit}button:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:3px}header{height:70px;border-bottom:1px solid #cccfc3;display:flex;align-items:center;justify-content:space-between;padding:0 3.5vw}.brand{text-decoration:none;color:var(--ink);font-family:'Space Grotesk',sans-serif;font-size:29px;font-weight:700;display:flex;align-items:center;gap:18px}.brand span{font-size:11px;letter-spacing:2px}.edition{font-size:9px;letter-spacing:1.7px;display:flex;align-items:center;gap:12px}.edition i{width:6px;height:6px;background:var(--red);border-radius:50%}header button,#pause{border:0;background:transparent;font-size:10px;letter-spacing:1.2px}main{max-width:1720px;margin:auto;padding:0 3.5vw}.intro{display:flex;justify-content:space-between;align-items:center;padding:22px 0 23px}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:600;color:var(--muted);margin:0 0 11px}h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(34px,3.4vw,50px);letter-spacing:-2.6px;line-height:1;margin:0;font-weight:500}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--red)}.subtitle{font-size:13px;line-height:1.7;text-align:right;margin:0}.subtitle span{color:#7a7e71}.arena{border:1px solid #bcbfb2;background:#dddcd2}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:11px 25px;background:#f3f1e9}.score{display:flex;flex-direction:column;gap:5px}.score small{font-size:8px;letter-spacing:1.5px}.score>div{display:flex;align-items:center;gap:15px}.score strong{font:500 28px 'Space Grotesk',sans-serif}.score span{font-size:9px;color:#838778}.red{color:var(--red)}.blue{color:var(--blue);text-align:right}.clock{text-align:center;display:flex;flex-direction:column;gap:2px}.clock small{font-size:8px;letter-spacing:1.5px;color:#707567}.clock strong{font:500 27px 'Space Grotesk'}.clock span{font-size:8px;letter-spacing:1.5px;color:#8b8e80}.viewport{position:relative;height:min(66vh,760px);min-height:530px;overflow:hidden;background:#b4baa9}canvas{width:100%;height:100%;display:block;outline:none;touch-action:none;cursor:crosshair}.map-label{position:absolute;top:20px;left:22px;font-size:10px;font-weight:700;letter-spacing:1.5px;background:#eeeadddf;padding:10px 13px;pointer-events:none}.map-label span{display:block;font-size:8px;font-weight:400;margin-top:5px}.map-controls{position:absolute;right:17px;top:15px;display:flex;gap:3px}.map-controls button{background:#f0eddfeb;border:1px solid #a6af9b;font-size:11px;padding:8px 10px}.map-controls button:first-child{font-size:8px;letter-spacing:1px}.objective-card{position:absolute;top:83px;left:22px;width:215px;background:#eeeadddf;padding:12px 14px;pointer-events:none}.objective-card small{font-size:8px;letter-spacing:1.3px;color:#76806b}.objective-card>div{display:flex;justify-content:space-between;font-size:9px;margin:7px 0 9px;font-weight:600}.zone-meter{height:3px;background:#c6ccba}.zone-meter i{height:100%;display:block;width:50%;background:#aaad91}.objective-card p{font-size:9px;line-height:1.5;color:#717963;margin:7px 0 0}.status-card{position:absolute;bottom:18px;left:20px;width:260px;padding:12px 14px;background:#f0eddfec;border:1px solid #aab49c}.status-card>div:first-child{display:flex;justify-content:space-between;font-size:9px}.status-card b{font-size:8px;color:#6d8064}.stamina{background:#c7ceb9;height:3px;margin:9px 0}.stamina i{background:#768f63;height:100%;display:block;width:100%}.squad{display:flex;gap:5px;margin:9px 0}.squad button{position:relative;flex:1;background:#dedfce;border:1px solid #b7bda9;padding:7px 0;font-size:10px}.squad button.active{border-color:#68795b;background:#f9f5e6}.squad button.detained{opacity:.55}.squad button span{display:block;font-size:7px;margin-top:2px}.status-card>span{font-size:8px;color:#748169;line-height:1.6}.toast{position:absolute;bottom:28px;left:52%;transform:translateX(-50%);padding:10px 17px;background:#242722e8;color:#eeeede;font-size:11px;pointer-events:none;max-width:50%;text-align:center;transition:opacity .3s}.target-hint{position:absolute;left:50%;top:60%;transform:translateX(-50%);background:#f7f2e6e8;color:#334130;font-size:10px;padding:7px 10px;pointer-events:none;border:1px solid #9dac91}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#26332465;backdrop-filter:blur(4px);z-index:5}.panel{background:#f1efe6;width:515px;max-width:94%;padding:27px 32px;box-shadow:0 20px 80px #22332644;max-height:95%;overflow-y:auto}.panel h2,dialog h2,.pause-panel h2{font:500 34px/1.08 'Space Grotesk';letter-spacing:-1.4px;margin:12px 0 15px}.panel>p:not(.eyebrow){font-size:12px;line-height:1.7;color:#6b6f61}.teams{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 17px}.team{padding:15px;text-align:left;border:1px solid #c5c7bb;background:transparent;display:flex;flex-direction:column;gap:10px}.team small{font-size:8px;letter-spacing:1.3px}.team b{font-size:13px}.team span{font-size:10px;line-height:1.6;color:#727668}.team.selected{border-color:var(--red);background:#c9583b0d}.team[data-team="police"].selected{border-color:var(--blue);background:#49768b0d}.options{display:flex;gap:18px;margin-bottom:17px}.options label{font-size:8px;letter-spacing:1.2px;display:flex;flex:1;align-items:center;justify-content:space-between;gap:8px}.options select{border:0;border-bottom:1px solid #c5c7ba;background:transparent;font-size:10px;padding:7px 2px;color:var(--ink);max-width:110px}.primary{background:var(--ink);color:#eeeede;border:0;padding:15px 20px;width:100%;font-size:11px;letter-spacing:1px;text-align:left;display:flex;justify-content:space-between}.fine{text-align:center;font-size:9px!important;margin:11px 0 0;color:#7a8071}.hidden{display:none!important}.bottombar{padding:14px 21px;display:flex;align-items:center;justify-content:space-between;background:#f2f0e7;gap:12px}.control{font-size:9px;color:#727668;display:flex;align-items:center;flex-wrap:wrap;gap:15px}.control span{display:flex;align-items:center;gap:7px}kbd{border:1px solid #cdd0c3;padding:4px 5px;font-size:8px;background:#e9e9df;color:#555c4b}.below{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px;padding:23px 0}.below h3{font:500 16px 'Space Grotesk';margin:10px 0}.below p:not(.eyebrow){font-size:11px;line-height:1.7;color:#74776b;margin-bottom:0}.trust{padding-top:2px}.trust>div:first-child{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.3px}.meter{background:#d1d3c7;height:5px;margin-top:17px}.meter i{display:block;background:#72835d;height:100%;width:50%;transition:width .3s}.log{font-size:10px;line-height:1.8}.log #log{max-height:80px;overflow:hidden;color:#74776b}.log-line{border-bottom:1px solid #d9dccf;padding:3px 0}.log-line time{font-size:8px;color:#9a9f8f;margin-right:6px}footer{border-top:1px solid #cccfc3;padding:17px 0 22px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#74776b}footer span:last-child{letter-spacing:0}.touch{display:none}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0;font-size:11px;line-height:1.9}.result-grid b{font:500 24px 'Space Grotesk'}.result-grid .metrics{grid-column:1/-1;border-top:1px solid #cacfc0;padding-top:12px;display:flex;flex-wrap:wrap;gap:14px;font-size:10px}blockquote{font:italic 18px/1.45 Georgia;margin:18px 0 23px;color:#7b583f}.pause-panel{padding:30px;background:#f1efe6;width:360px;max-width:90%}.quiet{background:none;border:0;width:100%;font-size:9px;letter-spacing:.8px;padding:20px 0 0}.pause-overlay{z-index:7}dialog{max-width:600px;max-height:85vh;background:#f1efe6;border:1px solid #acb39e;padding:30px;color:var(--ink)}dialog::backdrop{background:#16291bc9}dialog p{font-size:12px;line-height:1.7}#closeGuide{float:right;background:none;border:0;font-size:10px}.guide-controls{background:#e5e7da;padding:1px 13px}.arena:fullscreen{display:flex;flex-direction:column;border:0}.arena:fullscreen .viewport{flex:1;height:auto;min-height:0}.arena:fullscreen .bottombar{min-height:48px}@media(max-width:950px){.control{gap:8px;font-size:8px}.control span:nth-child(6){display:none}.score span{display:none}.below{gap:20px}}@media(max-width:700px){.edition{display:none}main{padding:0 12px}header{padding:0 16px;height:59px}.brand span{font-size:9px}.brand{gap:12px}.intro{padding:21px 0}.intro .eyebrow{font-size:7px}h1{font-size:34px;letter-spacing:-1.8px}.subtitle{font-size:10px}.viewport{height:600px;min-height:600px}.bottombar{padding:12px}.control{display:none}.below{grid-template-columns:1fr 1fr;gap:20px}.log{grid-column:1/-1}.touch{display:flex;justify-content:space-between;gap:15px;padding:14px 0}.touch button{background:#dedfd2;border:1px solid #b7bdac;padding:12px;touch-action:none;user-select:none;font-size:10px;min-width:40px}.dpad>button{display:block;margin:0 auto 4px}.dpad>div{display:flex;gap:4px}.touch-actions{max-width:230px;display:flex;flex-wrap:wrap;gap:4px;align-content:center;justify-content:flex-end}.panel{padding:22px;max-height:95%}.panel h2{font-size:29px}.team{padding:12px}.options{gap:12px;flex-direction:column}.options select{max-width:none}.status-card{bottom:14px;left:12px;width:225px}.toast{bottom:145px;left:50%;max-width:90%;width:max-content;max-width:90%;font-size:10px}.map-label{left:12px;top:14px;font-size:8px;max-width:55%;padding:8px}.map-label span{font-size:6px}.objective-card{left:12px;top:75px;width:180px;padding:10px}.objective-card p{font-size:8px}.map-controls{right:9px;top:14px}.map-controls button:first-child{font-size:0}.map-controls button:first-child:after{content:'⌖';font-size:14px}.map-controls button{padding:7px 8px}footer{line-height:1.6;gap:20px;font-size:8px}.topbar{padding:10px 14px;height:73px}.score small{font-size:7px}.score strong{font-size:24px}.clock small{font-size:6px}.clock strong{font-size:24px}.clock span{font-size:6px}.result-grid{gap:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Touch-first layout: the arena, HUD and controls share the visible screen. */
html{overscroll-behavior-y:none}button{-webkit-tap-highlight-color:transparent}.touch{display:none}.joystick{position:relative;width:112px;height:112px;border-radius:50%;border:1px solid #adbaa3;background:#e8ead1a8;box-shadow:inset 0 0 0 12px #eef0d722;touch-action:none;user-select:none;-webkit-user-select:none}.joystick-ring{position:absolute;inset:21px;border:1px dashed #788d6655;border-radius:50%;pointer-events:none}.joystick-knob{position:absolute;top:50%;left:50%;width:46px;height:46px;border:1px solid #728364;border-radius:50%;background:#eef0dfe8;box-shadow:0 3px 9px #354a3733;transform:translate(-50%,-50%);pointer-events:none}.joystick-label{display:block;text-align:center;margin-top:6px;font-size:8px;letter-spacing:1px;color:#eef0d9;text-shadow:0 1px 3px #243e22}.touch-device .touch{display:flex;position:absolute;inset:auto 12px 12px;z-index:3;justify-content:space-between;align-items:flex-end;gap:10px;padding:0;pointer-events:none}.touch .joystick-area,.touch .touch-actions{pointer-events:auto}.touch-device .touch-actions{display:grid;grid-template-columns:48px 48px 64px;grid-template-rows:48px 48px 36px;gap:6px;max-width:none}.touch-device .touch-actions button{border:1px solid #99a98b;background:#eeeddde8;padding:0;min-width:0;min-height:0;touch-action:none;user-select:none;-webkit-user-select:none;color:#34442c;font-size:9px;border-radius:9px;box-shadow:0 3px 7px #233e2928}.touch-actions button b{display:block;font-size:9px;letter-spacing:.2px}.touch-actions button small{display:block;font-size:7px;margin-top:4px;color:#738564}.touch-device .touch-act{grid-column:3;grid-row:1/3;border-radius:32px!important;background:#283e2ee8!important;color:#f0efdc!important;font-size:10px}.touch-act small{color:#bbccb2!important}.touch-device .touch-switch{grid-column:1/4;min-height:36px!important;letter-spacing:1px;font-size:8px!important}.touch-actions .pressed{background:#c4d5b5!important;transform:translateY(2px)}.touch-actions .touch-act.pressed{background:#567d46!important}.touch-actions .cooldown{opacity:.6}.touch-device .squad button{min-height:44px}.touch-device .panel select{font-size:16px;min-height:44px}.touch-device .primary{min-height:48px}.touch-device .team{min-height:100px}.touch-device .map-controls button{min-height:44px;min-width:44px}.touch-device #pause{min-height:44px;min-width:70px}.touch-device .map-label{display:none}.touch-device .objective-card{top:10px;left:10px;width:185px;padding:8px 10px}.touch-device .objective-card p{display:none}.touch-device .objective-card>div{margin:5px 0 8px}.touch-device .map-controls{top:6px;right:8px;gap:3px}.touch-device .map-controls button:first-child{font-size:0}.touch-device .map-controls button:first-child:after{content:'⌖';font-size:18px}.touch-device #fullscreen{display:none}.touch-device .status-card{left:10px;bottom:160px;width:204px;padding:9px 10px}.touch-device .status-card>span{display:none}.touch-device .squad{gap:3px;margin:6px 0 0}.touch-device .squad button{font-size:10px;padding:4px 0;min-height:44px}.touch-device .squad button span{font-size:6px}.touch-device .toast{bottom:170px;left:50%;max-width:84%;font-size:10px;z-index:2}.touch-device .target-hint{top:auto;bottom:160px;max-width:85%;text-align:center}.touch-device .bottombar{min-height:46px;padding:0 10px}.touch-device .control{display:none}.touch-device .bottombar:before{content:'DRAG TO MOVE · HOLD TO ACT';font-size:8px;letter-spacing:1px;color:#718364}.touch-device.in-match{overflow:hidden}.touch-device.in-match header,.touch-device.in-match .intro,.touch-device.in-match .below,.touch-device.in-match footer{display:none}.touch-device.in-match main{padding:0;max-width:none}.touch-device.in-match .arena{position:fixed;inset:0;display:flex;flex-direction:column;z-index:20;border:0;height:100vh;height:100dvh;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);background:#f3f1e9}.touch-device.in-match .viewport{flex:1;height:auto;min-height:0}.touch-device.in-match .topbar{height:58px;min-height:58px;padding:6px 14px}.touch-device.in-match .score strong{font-size:24px}.touch-device.in-match .score small{font-size:7px}.touch-device.in-match .score span{display:none}.touch-device.in-match .clock strong{font-size:23px}.touch-device.in-match .clock span{font-size:6px}.touch-device.in-match .clock small{font-size:6px}.touch-device.in-match .overlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.touch-device.in-match .panel{max-height:94%;padding:20px}.touch-device.in-match dialog{z-index:50}.touch-device .touch{display:none}.touch-device.in-match .touch{display:flex}.touch-device .viewport{min-height:560px}.touch-device .panel .fine{line-height:1.6}.touch-device .quiet{min-height:44px;padding:12px 0 0}.touch-device .pause-panel{max-height:94%;overflow-y:auto}dialog{z-index:50}#closeGuide{min-height:44px;min-width:70px}.touch-device .toast{bottom:285px}.touch-device.in-match .target-hint{bottom:160px}.touch-device .panel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media(max-width:380px){.touch-device .joystick{width:98px;height:98px}.touch-device .touch{left:8px;right:8px}.touch-device .status-card{width:180px}.touch-device .objective-card{width:168px}.touch-device .teams{gap:6px}.touch-device .team{padding:10px}.touch-device .team b{font-size:12px}}
@media(orientation:landscape) and (max-height:600px){.touch-device.in-match .topbar{height:43px;min-height:43px}.touch-device.in-match .topbar .score small,.touch-device.in-match .clock span{display:none}.touch-device.in-match .clock small{font-size:6px}.touch-device.in-match .score strong{font-size:21px}.touch-device.in-match .bottombar{min-height:36px}.touch-device.in-match #pause{min-height:36px}.touch-device.in-match .status-card{top:8px;bottom:auto;left:10px;width:205px;padding:9px}.touch-device.in-match .status-card .squad,.touch-device.in-match .objective-card{display:none}.touch-device.in-match .toast{top:12px;bottom:auto;max-width:38%;left:50%}.touch-device.in-match .joystick{width:98px;height:98px}.touch-device.in-match .touch{bottom:8px}.touch-device.in-match .target-hint{top:48%;bottom:auto}.touch-device.in-match .panel h2{font-size:25px}.touch-device.in-match .panel .teams{margin:12px 0}.touch-device.in-match .result-grid{margin:12px 0;gap:8px}.touch-device.in-match blockquote{font-size:15px;margin:12px 0}}
.joystick,.touch-actions button{-webkit-touch-callout:none}.touch-device.in-match .touch-controls{touch-action:none}
.play-modes{display:flex;border-bottom:1px solid #c4cab9;margin:14px 0}.play-modes button{flex:1;border:0;background:transparent;padding:12px 4px;font-size:9px;letter-spacing:.7px;color:#7b846f}.play-modes button.selected{color:#34432b;border-bottom:2px solid #687c55}.network-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.network-form label{font-size:8px;letter-spacing:1px;color:#78846c}.network-form input{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #bdc7af;background:#f8f6ed;color:#34442b;font-size:16px;border-radius:0}.network-buttons{grid-column:1/-1;display:flex;gap:8px}.network-buttons button{flex:1;min-height:46px;background:#e0e5d4;border:1px solid #a6b597;font-size:10px;letter-spacing:.6px}.network-error{font-size:11px!important;color:#b65438!important;grid-column:1/-1;margin:2px 0!important;line-height:1.5}.network-error:empty{display:none}.room-heading{display:flex;justify-content:space-between;align-items:center;margin:20px 0 12px}.room-heading small{font-size:8px;letter-spacing:1.5px;color:#7a876e;display:block}.room-heading strong{font:500 31px 'Space Grotesk';letter-spacing:4px}.room-heading button{min-height:44px;background:#e1e6d6;border:1px solid #a9b697;font-size:9px;padding:9px 12px}.invite-url{width:100%;padding:8px;border:1px solid #c5ceba;color:#6d805b;background:#e9eddc;font-size:11px}.room-roster{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.room-roster b{font-size:10px;letter-spacing:1px;display:block;margin-bottom:8px}.room-roster>div>div{padding:7px 0;border-bottom:1px solid #d5dccb;font-size:11px}.ai-seat{color:#939d88}.human-seat{font-weight:600}.room-panel .fine{margin-bottom:15px}button:disabled{cursor:default;opacity:.5}#roomInfo{display:flex;align-items:center;gap:12px}#roomInfo button{font-size:9px;background:#e4e8d8;border:1px solid #b5c2a5;min-height:32px;padding:5px 9px}#connectionStatus{font-size:8px;letter-spacing:.7px;color:#6c8058}body:has(#roomInfo:not(.hidden)) .control{display:none}.touch-device.in-match:has(#roomInfo:not(.hidden)) .bottombar:before{display:none}.touch-device #roomInfo{gap:8px}.touch-device #roomInfo button{min-height:36px;font-size:8px}.touch-device .play-modes button{min-height:44px}.touch-device .network-buttons button{min-height:48px}.touch-device .room-panel h2{font-size:28px}.touch-device .invite-url{font-size:16px}.room-panel{max-height:96%}
/* District edition: warmer panels, clear hierarchy, crisp controls. */
body{background:#192d2a;color:#263d34}header{background:#192d2a;color:#f0e8d6;border-bottom:1px solid #ffffff20}.brand{color:#f0e8d6}.brand span{color:#d9d8bf}header button{color:#eee5d0;border-color:#ffffff35}.edition{color:#b1c7b7}main{max-width:1440px}.intro{color:#f1e6ce;padding:30px 0}.intro .eyebrow{color:#a9c2ac}h1{letter-spacing:-2.5px}.subtitle{color:#ddd5be}.subtitle span{color:#a9b9aa}.arena{border:1px solid #829486;border-radius:18px;overflow:hidden;box-shadow:0 24px 80px #081a194d}.topbar{background:#f5f1e4;border-bottom:1px solid #c9ceba}.score strong{font-weight:700;font-variant-numeric:tabular-nums}.score small{font-weight:700}.clock strong{font-variant-numeric:tabular-nums}.map-label,.objective-card,.status-card{border:1px solid #ffffff8c;border-radius:12px;box-shadow:0 5px 20px #253d2922}.map-controls button{border-radius:8px;background:#f6f2e7;box-shadow:0 2px 7px #243b2922}.status-card{background:#f5f1e4f2}.squad button{border-radius:6px}.squad button.active{box-shadow:inset 0 -3px #657e57}.stamina,.zone-meter,.meter{border-radius:6px;overflow:hidden}.stamina{height:5px}.toast{border-radius:10px;line-height:1.5}.target-hint{border-radius:8px}.overlay{background:#18332b77}.panel{width:620px;border-radius:20px;background:#f7f2e6;padding:26px 30px;border:1px solid #fff9}.panel .eyebrow{color:#688065;font-weight:700}.panel h2{font-size:34px;margin:9px 0}.panel>p:not(.eyebrow){line-height:1.5;margin:8px 0}.teams{margin:16px 0 12px;gap:12px}.team{border-radius:12px;background:#eeebdf;position:relative;min-height:112px;transition:background .15s,border-color .15s}.team.selected{border-color:#bd593e;background:#e8c9b944;box-shadow:inset 0 0 0 1px #bd593e}.team[data-team="police"].selected{background:#b6d3dd44;box-shadow:inset 0 0 0 1px #49768b}.team b{font-size:15px}.team span{line-height:1.5}.primary{border-radius:10px;background:#25463b;font-weight:700;min-height:48px}.primary:hover{background:#35604c}.play-modes{border:1px solid #cbd1bf;background:#e6e9dc;border-radius:10px;overflow:hidden;margin:12px 0}.play-modes button{font-weight:700;min-height:44px}.play-modes button.selected{background:#f9f6ec;border-bottom:0;box-shadow:inset 0 -3px #627e59}.network-form input,.network-buttons button,.room-heading button,.invite-url,.options select{border-radius:8px}.options{gap:16px;margin:12px 0}.options label{display:block;line-height:1.5}.options select{display:block;width:100%;max-width:none;border:1px solid #c4ccba;background:#eeeee2;padding:9px;margin-top:5px;font-size:12px;min-height:42px}.bottombar{background:#f3f0e3}#pause{border-radius:7px}.below{color:#e3ddc7;gap:25px;padding:25px 0}.below p:not(.eyebrow),.log #log{color:#abbfae}.below .eyebrow,.trust>div:first-child{color:#b3c8b6}.log-line{border-color:#ffffff15}.below .meter{background:#304d40}.below .meter i{background:#c3b377}footer{border-color:#ffffff20;color:#a8bead}.pause-panel,dialog{border-radius:16px}.character-builder{border:1px solid #cbd0bc;border-radius:12px;background:#eaeedf55}.character-builder summary{padding:11px 14px;font-size:9px;letter-spacing:1.1px;font-weight:700;cursor:pointer;display:flex;justify-content:space-between}.character-builder summary::-webkit-details-marker{display:none}.character-builder summary span{color:#c06c48}.character-body{display:grid;grid-template-columns:116px 1fr;gap:14px;padding:0 14px 10px}.character-portrait{border-radius:10px;background:radial-gradient(ellipse at center,#e8e0c4,#cbd7ba);display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #bac6ac;min-height:142px}.character-portrait svg{width:96px;height:110px;display:block}.character-portrait small{font-size:8px;color:#506747;margin:0 0 8px}.character-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.character-options label{font-size:8px;letter-spacing:.8px;color:#6d7d60;font-weight:700}.character-options select{display:block;width:100%;margin-top:4px;padding:8px 6px;border:1px solid #bfc9af;background:#faf7ed;color:#304837;border-radius:7px;font-size:12px;min-height:40px}.character-note{font-size:9px;line-height:1.5;color:#738066;margin:0;padding:0 14px 11px}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #c28f43;outline-offset:3px}.touch-device .character-options select{font-size:16px;min-height:44px}.touch-device .panel{border-radius:15px;padding:20px}.touch-device.in-match .arena{border-radius:0}.touch-device .objective-card{border-radius:9px}.touch-device .joystick{background:#eff2dd88;border-color:#dce6cd;box-shadow:inset 0 0 0 12px #eff5df22,0 5px 22px #19392b44}.touch-device .joystick-knob{background:#f8f6e7;box-shadow:0 4px 12px #1e382b55}.touch-device .touch-act{background:#284b3ceF!important;border-color:#b3d5b4!important}.touch-device .status-card{border-color:#e7eed8}.room-roster>div{border-radius:10px;padding:12px;background:#e6e9dd}.room-roster .blue{text-align:left}@media(max-width:700px){.intro{padding:22px 0}h1{font-size:36px}.arena{border-radius:12px}.panel{padding:20px}.panel h2{font-size:28px}.team{padding:12px;min-height:112px}.character-body{grid-template-columns:94px 1fr;gap:10px;padding:0 10px 8px}.character-portrait svg{width:82px}.character-options{gap:6px}.character-note{font-size:8px}.below{gap:18px}.options{flex-direction:row;gap:10px}.options label{font-size:7px}.panel .fine{font-size:9px!important}.team span{font-size:9px}.character-builder summary{min-height:42px;align-items:center}}@media(orientation:landscape) and (max-height:600px){.touch-device .panel{max-height:97%}.character-portrait{min-height:125px}}
.character-options label:last-child{grid-column:1/-1}.touch-device .touch-gear{grid-column:1;grid-row:3;font-size:8px!important}.touch-device .touch-switch{grid-column:2/4;font-size:7px!important}.character-builder:not([open]) .character-body{display:none}
/* Right-side event feed and shared team objectives. */
.toast.event-feed,.touch-device .toast.event-feed,.touch-device.in-match .toast.event-feed{top:64px;right:16px;left:auto;bottom:auto;transform:none;width:280px;max-width:calc(100% - 32px);background:none;padding:0;text-align:left;z-index:2;display:flex;flex-direction:column;gap:7px}.event-popup{background:#243e35ed;color:#f5eedc;border:1px solid #92b69b77;border-left:3px solid #d5b777;border-radius:9px;padding:11px 13px;box-shadow:0 5px 18px #17332733;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.mission-card{position:absolute;top:194px;left:22px;width:215px;padding:12px 14px;border-radius:12px;background:#f5f1e4ef;border:1px solid #ffffff8c;box-shadow:0 5px 20px #253d2922;pointer-events:none}.mission-heading,.mission-current{display:flex;justify-content:space-between;align-items:center;gap:8px}.mission-heading{font-size:8px;letter-spacing:.7px;color:#6c7f5d}.mission-heading b{font-size:7px}.mission-current{margin-top:9px;font-size:11px}.mission-current span{font-size:9px;white-space:nowrap;color:#738663}.mission-card p{font-size:10px;color:#6b7b5d;line-height:1.5;margin:7px 0}.mission-meter{height:4px;background:#c5ceba;border-radius:4px;overflow:hidden;margin:8px 0}.mission-meter i{display:block;width:0;height:100%;background:#788b5e}.mission-card>small{font-size:8px;line-height:1.7;color:#849173;display:block}.touch-device .mission-card{top:73px;left:10px;width:175px;padding:9px 10px}.touch-device .mission-card>small{display:none}.touch-device .mission-current{font-size:10px;margin-top:6px}.touch-device .mission-card p{font-size:9px;margin:5px 0}.touch-device .toast.event-feed,.touch-device.in-match .toast.event-feed{top:158px;right:10px;width:185px;max-width:47%}.touch-device .event-popup{padding:8px 9px;font-size:9px}.touch-device .mission-heading{font-size:7px}.touch-device .mission-heading b{font-size:6px}@media(max-width:380px){.touch-device .mission-card{width:157px}.touch-device .toast.event-feed{max-width:46%}}@media(orientation:landscape) and (max-height:600px){.touch-device.in-match .mission-card{top:68px;width:190px}.touch-device.in-match .mission-card p{display:none}.touch-device.in-match .toast.event-feed{top:145px;width:230px;max-width:34%}.touch-device.in-match .event-popup{padding:6px 9px}.touch-device.in-match .event-feed .event-popup:nth-child(3){display:none}}
.level-picker{margin:12px 0}.level-picker label{font-size:8px;letter-spacing:1px;font-weight:700;color:#708363;display:block;margin-bottom:5px}.level-picker select{width:100%;padding:10px;border:1px solid #bfc9af;background:#eeeee2;color:#304837;border-radius:8px;font-size:13px;min-height:44px}.level-picker p{font-size:9px;color:#7d8b70;margin:5px 0}.touch-device .level-picker select{font-size:16px}
