:root{--ink:#e8dcc0;--ink-dim:#a99a7c;--olive:#4a4a32;--khaki:#b8a37a;--paper:#d9c9a3;--dark:#12100cdb;--panel:#18150fe6;--line:#d9c9a340;--accent:#d9a441;--red:#b03a2e;--font-title:"Special Elite", "Courier New", monospace;--font-ui:"Oswald", "Arial Narrow", Arial, sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font-ui);-webkit-user-select:none;user-select:none;background:#0e0c09;margin:0;overflow:hidden}#game,#hud{width:100%;height:100%;display:block;position:fixed;inset:0}#hud{pointer-events:none}#ui{pointer-events:none;position:fixed;inset:0}.dim{color:var(--ink-dim)}.hidden{display:none!important}button{font:inherit;color:inherit}.menus{pointer-events:none;position:fixed;inset:0}.menus.active .menu-screen{pointer-events:auto}.menu-screen{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.menu-screen.main,.menu-screen.sub,.menu-screen.loading{background:#15110b}.menu-screen.overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a08058c}.menu-bg,.loading-bg{background:radial-gradient(at 70% 30%,#d9a4412e,#0000 55%),radial-gradient(at 20% 80%,#5a462859,#0000 60%),repeating-linear-gradient(115deg,#fff0c805 0 2px,#0000 2px 7px),linear-gradient(#2a2216 0%,#16120c 70%,#0d0b07 100%);position:absolute;inset:0}.menu-bg:after,.loading-bg:after{content:"";background:radial-gradient(#0000 50%,#000000b3);position:absolute;inset:0}.menu-title{position:absolute;top:14vh;left:9vw}.menu-title .t1{font-family:var(--font-title);letter-spacing:.08em;color:var(--paper);text-shadow:0 2px #000,0 0 30px #d9a44140;font-size:clamp(42px,7vw,96px)}.menu-title .t2{font-family:var(--font-title);color:var(--accent);letter-spacing:.3em;text-transform:uppercase;margin-top:6px;font-size:clamp(14px,1.6vw,22px)}.menu-list{flex-direction:column;gap:6px;display:flex}.menu-screen.main .menu-list{position:absolute;top:42vh;left:9vw}.menu-list.row{flex-direction:row;justify-content:flex-end;gap:10px;margin-top:18px}.menu-list button{text-align:left;cursor:pointer;font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:0 0;border:none;padding:4px 14px 4px 0;font-size:26px;font-weight:500;transition:color .12s,transform .12s}.menu-list button:hover,.menu-list button:focus-visible{color:var(--accent);outline:none;transform:translate(6px)}.menu-list.row button{border:1px solid var(--line);background:#00000040;padding:7px 18px;font-size:17px}.menu-list.row button:hover{border-color:var(--accent);transform:none}.menu-list button.primary{color:var(--accent)}.menu-list.row button.primary{background:#d9a4411f;border-color:#d9a44199}.menu-foot{font-family:var(--font-title);color:var(--ink-dim);letter-spacing:.15em;font-size:13px;position:absolute;bottom:6vh;left:9vw}.panel{background:var(--panel);border:1px solid var(--line);min-width:360px;max-height:92vh;padding:26px 30px;position:relative;overflow:auto;box-shadow:0 20px 60px #0009,inset 0 0 0 1px #0009}.panel.wide{width:min(980px,94vw)}.panel.small{width:360px}.panel h2{font-family:var(--font-title);letter-spacing:.06em;color:var(--paper);border-bottom:1px solid var(--line);margin:0 0 18px;padding-bottom:10px;font-size:28px;font-weight:400}.panel h3{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:18px 0 8px;font-size:14px;font-weight:500}.field{color:var(--ink);justify-content:space-between;align-items:center;gap:14px;margin:7px 0;font-size:15px;display:flex}.field.check{justify-content:flex-start}.field input[type=number],.field input:not([type]),.field select,#pname{border:1px solid var(--line);color:var(--ink);font:15px var(--font-ui);background:#00000059;min-width:90px;padding:6px 9px}#pname{width:260px}.field input[type=range]{accent-color:var(--accent);width:170px}.servers,.binds,.results{border-collapse:collapse;width:100%;margin-top:14px;font-size:15px}.servers th,.results th{text-align:left;color:var(--ink-dim);border-bottom:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;padding:6px 8px;font-size:12px;font-weight:500}.servers td,.results td{border-bottom:1px solid #d9c9a314;padding:8px}.servers tr.sel td{cursor:pointer;background:#d9a4411f}.results tr.me td{color:var(--accent)}.binds td{padding:3px 6px;font-size:14px}.binds button.bind{border:1px solid var(--line);cursor:pointer;text-align:center;background:#0000004d;min-width:110px;padding:3px 10px}.binds button.bind.capturing{border-color:var(--accent);color:var(--accent)}.opt-grid{grid-template-columns:1fr 1fr;gap:30px;display:grid}.err{color:#e06a4e;min-height:20px;margin-top:10px}.manual{color:var(--ink);font-size:16px;line-height:1.55}.manual li{margin:6px 0}.panel.team{text-align:center}.teams{justify-content:center;gap:18px;display:flex}.team-card{border:1px solid var(--line);cursor:pointer;background:#0000004d;width:230px;padding:18px;transition:border-color .15s,transform .15s}.team-card:hover{border-color:var(--accent);transform:translateY(-3px)}.team-name{font-family:var(--font-title);margin:10px 0 4px;font-size:26px}.team-flag{border:1px solid #0009;width:120px;height:72px;margin:0 auto}.team-flag.allies{background:linear-gradient(#c8b58a,#b39a6a);position:relative}.team-flag.allies:after{content:"8";font:40px var(--font-title);color:#5a2e24;place-items:center;display:grid;position:absolute;inset:0}.team-flag.axis{background:linear-gradient(#8e8461,#6f6848);position:relative}.team-flag.axis:after{content:"DAK";font:28px var(--font-title);color:#2a2618;place-items:center;display:grid;position:absolute;inset:0}.loading{width:min(760px,90vw);position:relative}.loading-map{font-family:var(--font-title);color:var(--paper);letter-spacing:.06em;font-size:48px}.loading-desc{color:var(--ink-dim);max-width:620px;margin:8px 0 30px;font-size:16px;line-height:1.5}.bar{border:1px solid var(--line);background:#0006;height:10px}.bar .fill{background:linear-gradient(90deg, #8a6a2c, var(--accent));width:0;height:100%;transition:width .15s}.loading-label{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;margin-top:8px;font-size:14px}.loading-tip{font-family:var(--font-title);color:var(--ink-dim);margin-top:40px;font-size:14px}.menu-overlay{pointer-events:none;position:absolute;inset:0}.death{text-align:center;text-shadow:0 2px 4px #000;position:absolute;top:18vh;left:0;right:0}.death .big{font-family:var(--font-title);color:var(--paper);font-size:32px}.death .small{color:var(--ink);letter-spacing:.05em;margin-top:8px;font-size:18px}.killcam-bars:before,.killcam-bars:after{content:"";background:#000;height:10vh;position:fixed;left:0;right:0}.killcam-bars:before{top:0}.killcam-bars:after{bottom:0}.killcam-title{text-align:center;font-family:var(--font-title);color:var(--paper);letter-spacing:.3em;z-index:2;font-size:34px;position:fixed;top:3vh;left:0;right:0}.killcam-sub{text-align:center;color:var(--ink);z-index:2;font-size:18px;position:fixed;bottom:3.5vh;left:0;right:0}.final-score{font-family:var(--font-title);margin-bottom:10px;font-size:26px}.final-score .allies{color:#d7c28a}.final-score .axis{color:#9fb07d}.conn{text-align:center;font-family:var(--font-title);text-shadow:0 2px 4px #000;font-size:24px;position:absolute;top:40%;left:0;right:0}.hud{pointer-events:none;font-family:var(--font-ui);text-shadow:0 1px 2px #000000e6;position:fixed;inset:0}.hud-top{letter-spacing:.06em;justify-content:center;gap:22px;font-size:18px;display:flex;position:absolute;top:12px;left:0;right:0}.hud-top .timer{font-family:var(--font-title);color:var(--paper);font-size:22px}.hud-top .sc-allies{color:#d7c28a}.hud-top .sc-axis{color:#9fb07d}.hud-center{text-align:center;position:absolute;top:58%;left:0;right:0}.cp{letter-spacing:.05em;color:var(--ink);font-size:20px}.cp.kill{color:var(--paper)}.cp.death{color:#e0a090}.cp.announce{font-family:var(--font-title);color:var(--accent);font-size:26px}.hud-feed{flex-direction:column;gap:3px;font-size:16px;display:flex;position:absolute;bottom:210px;left:16px}.hud-chat{flex-direction:column;gap:3px;max-width:45vw;font-size:16px;display:flex;position:absolute;bottom:330px;left:16px}.obit,.chatline{transition:opacity .6s}.obit.fade,.chatline.fade{opacity:0}.obit.me{background:#00000040;padding:0 4px}.chatline.print{color:var(--ink-dim)}.obit-icon{vertical-align:middle;background:50%/contain no-repeat;width:38px;height:10px;margin:0 6px;display:inline-block}.obit-icon.kar{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 76 20'%3E%3Cpath d='M1 12 L16 9 L30 8 L74 7 L74 9 L40 10 L30 12 L24 17 L20 17 L22 13 L14 14 L3 17 Z' fill='%23e8dcc0'/%3E%3C/svg%3E")}.obit-icon.melee{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 20'%3E%3Cpath d='M4 16 L20 4 L24 6 L10 18 Z M22 3 L30 1 L32 5 L26 7 Z' fill='%23e8dcc0'/%3E%3C/svg%3E");width:20px}.obit-icon.fall{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 2 L10 14 M5 9 L10 16 L15 9' stroke='%23e8dcc0' stroke-width='2.5' fill='none'/%3E%3C/svg%3E");width:14px}.obit-icon.bomb{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='11' r='6' fill='%23e8dcc0'/%3E%3Cpath d='M13 5 L16 2' stroke='%23e8dcc0' stroke-width='2'/%3E%3C/svg%3E");width:16px}.obit-hs{color:var(--accent);margin-right:6px;font-size:11px}.hud-chatinput{pointer-events:auto;border:1px solid var(--line);width:420px;color:var(--ink);font:16px var(--font-ui);background:#0000008c;padding:5px 8px;display:none;position:absolute;bottom:300px;left:16px}.hud-chatinput.open{display:block}.scoreboard{background:var(--panel);border:1px solid var(--line);width:min(860px,94vw);text-shadow:none;padding:14px 20px 18px;position:absolute;top:9vh;left:50%;transform:translate(-50%)}.sb-title{font-family:var(--font-title);color:var(--paper);margin-bottom:8px;font-size:20px}.sb-team{margin-top:10px}.sb-teamhead{font-family:var(--font-title);color:var(--tc);border-bottom:1px solid var(--line);justify-content:space-between;padding:3px 0;font-size:20px;display:flex}.scoreboard table{border-collapse:collapse;width:100%;font-size:15px}.scoreboard th{text-align:left;color:var(--ink-dim);letter-spacing:.1em;text-transform:uppercase;padding:4px 6px;font-size:12px;font-weight:500}.scoreboard td{padding:3px 6px}.scoreboard th:not(:first-child),.scoreboard td:not(:first-child){text-align:right;width:70px}.scoreboard tr.me td{color:var(--accent)}.scoreboard tr.dead td{opacity:.55}.sb-spec{color:var(--ink-dim);margin-top:10px;font-size:13px}
