
:root{--surface:#12212c;--line:#314654;--ink:#ecf2f4;--quiet:#9bafbc;--accent:#ead09a;--mint:#8bd6c8}
body,body.simulation-ui{background:#09131c;color:var(--ink);font-family:"Segoe UI","Microsoft YaHei",sans-serif}
body header,body.simulation-ui header{max-width:1280px;margin:auto;padding:20px 24px 12px;align-items:center}
header small{color:var(--mint);letter-spacing:3px;font-size:9px}body h1,body.simulation-ui h1{font-size:23px;letter-spacing:1px;margin:7px 0}body h1 span{font-size:11px;color:var(--accent);letter-spacing:2px}
#uiNav{max-width:1232px;margin:0 auto 18px;display:flex;gap:6px;padding:6px;border:1px solid var(--line);border-radius:12px;background:#101e29}
#uiNav button{flex:1;border:1px solid transparent;background:transparent;padding:13px 10px;color:var(--quiet);font-size:13px;white-space:nowrap}
#uiNav button[aria-current=true]{background:#293c47;border-color:#617978;color:#f2dfb7;box-shadow:inset 0 -2px #dfc28c}
#uiNav button:disabled{opacity:.55}#uiNav button[aria-current=true]:disabled{opacity:1}
body main,body.simulation-ui main{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start;max-width:1280px;margin:auto;padding:0 24px 24px}
body .map-panel,body.simulation-ui .map-panel,body aside>.card,body.simulation-ui aside>.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:0 10px 32px #0002}
body .map-heading,body.simulation-ui .map-heading{display:flex;align-items:center;gap:12px;margin:0 0 14px;min-height:26px;font-size:14px}.map-heading strong:before{content:'';display:inline-block;width:5px;height:16px;background:var(--mint);margin-right:9px;vertical-align:middle;border-radius:2px}
body #clues{font-size:11px;color:var(--quiet);margin-left:auto}
body #viewport,body.simulation-ui #viewport,body.simulation-ui.command-lobby #viewport,body.simulation-ui.command-contact #viewport{width:min(100%,calc(100svh - 355px));margin:0 auto;border:1px solid #3c515c;border-radius:9px;overflow:hidden;background:#09131a;isolation:isolate}
body #mapImage{opacity:1!important;filter:none!important}#viewport:after{display:none!important}
body aside,body.simulation-ui aside{padding:0}body aside>small{display:none}body aside>h2{font-size:21px;border:0;padding:0;margin:0 0 6px;color:var(--ink)}body aside>.intro{font-size:12px;color:var(--quiet);margin:0 0 15px}
body label,body.simulation-ui label{font-size:12px;color:#c5d3db;margin:13px 0;gap:10px}body select,body.simulation-ui select{background:#0d1c27;border:1px solid #3a505f;border-radius:7px;padding:11px 10px;font-size:12px;min-width:0;max-width:70%;color:var(--ink)}
body button,body.simulation-ui button{border-radius:7px;border:1px solid #3e5666;background:#1c303e;color:#e6edf0;font-size:12px;padding:11px 14px;min-height:39px;cursor:pointer;transition:background .16s,border-color .16s,transform .12s,box-shadow .16s}
body button:not(:disabled):hover{background:#294655;border-color:#90b7b6;box-shadow:0 3px 12px #0003}body button:not(:disabled):active{transform:translateY(2px) scale(.98)}body button:disabled{cursor:default;opacity:.4}
body .primary,body.simulation-ui .primary{background:var(--accent);border-color:var(--accent);color:#15232d;font-weight:700}body .primary:not(:disabled):hover,body.simulation-ui .primary:not(:disabled):hover{background:#f7dfaa;border-color:#fff1cd}
body button:focus-visible,body select:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
body #instructions{font-size:12px;line-height:1.9;color:#b5c7d2;padding:12px 0;margin:8px 0;border-top:1px solid var(--line)}body #hint{font-size:11px;color:#a5bbc6;line-height:1.8;margin:12px 0 0}
body #progress{background:#0d1b25;border:1px solid var(--line);border-radius:8px;padding:13px;margin:12px 0}body #timer{color:var(--accent);font-size:21px;font-variant-numeric:tabular-nums}
body #result:not(:empty){padding:13px;border:1px solid #486d61;background:#19332e;color:#bde6cf;border-radius:8px;font-size:14px;margin:12px 0}body #result.wrong:not(:empty){background:#352a29;border-color:#80534b;color:#e9b7a6}
body #start,body #submit,body #next,body #exit,body #clearPrediction,body #guessScout{width:100%;margin-top:9px;min-height:43px}body #exit{background:transparent;color:#a8bdc9;border-color:#304553}
body .zoom,body.simulation-ui .zoom{top:auto;right:9px;bottom:9px;display:flex;gap:4px;background:#10232ce8;border:1px solid #47616f;border-radius:8px;padding:4px}body .zoom button,body.simulation-ui .zoom button{padding:6px 10px;min-height:32px;font-size:11px}
body #missionIntro h2{font-size:26px;line-height:1.45;color:#eddfbc}body #missionIntro p{font-size:12px;line-height:1.8;color:var(--quiet)}body .brief-points b{color:var(--accent)}body .eyebrow{color:var(--mint);font-size:9px;letter-spacing:2px}
body #liveBrief h2{font-size:22px;line-height:1.4}body #missionHint{font-size:12px;line-height:1.8;color:var(--quiet)}body #routeBrief,body #intelBrief,body #recentEvents{border-color:var(--line);padding-top:15px}body #orderQueue strong,body #intelSummary{font-size:12px}body #briefProgress{height:5px;border-radius:8px;background:#203744;overflow:hidden}body #briefProgress i{background:var(--mint);transition:width .15s linear}
body #commandStages span{border-radius:5px}body #commandStages .current{background:#e2c792;color:#10232c}body #mapDock{gap:7px;margin-top:14px}body #mapDock>button{min-height:44px}body #combatCommands{border-radius:10px;border-color:#b5785f;background:#332a27;animation:ui-rise .22s ease-out}body #fightOrder[aria-pressed=true]{box-shadow:0 0 0 2px #e9a37c55}body #retreatOrder[aria-pressed=true]{box-shadow:0 0 0 2px #7ecac355}
body #lobbyOverlay{display:none!important}body #guessReward{background:#20332e;border-color:#769d83;border-radius:12px}body dialog{border:1px solid #5d7886;border-radius:14px;padding:25px;background:#142531;color:var(--ink)}body dialog::backdrop{background:#07131ac4;backdrop-filter:blur(3px)}
.ui-point-pulse{position:absolute;width:36px;height:36px;margin:-18px;border:2px solid #e9d29e;border-radius:50%;pointer-events:none;z-index:6;animation:ui-point .6s ease-out forwards}
@keyframes ui-point{from{opacity:1;transform:scale(.35)}to{opacity:0;transform:scale(2)}}@keyframes ui-rise{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
body .map-panel,body aside>.card{animation:ui-rise .3s ease-out}body #guessScanNotice{left:50%;max-width:90%;font-size:12px}
@media(max-width:850px){body header,body.simulation-ui header{padding:13px 14px 10px}body h1,body.simulation-ui h1{font-size:18px}#uiNav{margin:0 12px 12px;overflow-x:auto;gap:3px;padding:4px}#uiNav button{flex:1 0 auto;font-size:11px;padding:10px 12px}body main,body.simulation-ui main{display:flex;flex-direction:column;padding:0 12px 18px;gap:12px}body .map-panel,body aside{width:100%}body #viewport,body.simulation-ui #viewport,body.simulation-ui.command-contact #viewport,body.simulation-ui.command-lobby #viewport{width:100%}body:not(.command-playing) aside{order:-1}body aside>h2,body aside>.intro{display:none}body .map-panel,body aside>.card{padding:12px}body .zoom button{font-size:10px;padding:6px}body #clues{font-size:10px}body .card{max-width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.ui-point-pulse{display:none}}

body .map-panel{animation:none}#uiNav button[aria-current="true"]{border-color:#bfa976!important;color:#f7e4ba!important;background:#30444b!important}
body label:has(> #mode){display:none!important}

/* Full game shell: mode selection, briefing, live field, results. */
:root{--accent:#f3b96b;--mint:#86ddd1;--line:#334c59}
body,body.simulation-ui{background-color:#09151e;background-image:radial-gradient(ellipse at 10% 0%,#203b4a77,transparent 48%),linear-gradient(115deg,transparent 70%,#18303d44 70.1%,transparent 85%);background-attachment:fixed}
body header,body.simulation-ui header{max-width:1440px;padding:22px 32px 18px;border-bottom:1px solid #304451;margin-bottom:22px;position:relative}header>div{padding-left:22px;border-left:4px solid var(--accent)}body h1,body.simulation-ui h1{font-size:24px;letter-spacing:2px}header small{font-size:9px;letter-spacing:4px;color:#bdcbd0}header #help{background:transparent;border:1px solid #4a616e;font-size:11px;min-width:100px}header:after{content:'TACTICAL TRAINING SYSTEM';position:absolute;right:160px;top:39px;font-size:9px;letter-spacing:2px;color:#6f8998}
#uiNav{max-width:1376px;margin:0 auto 24px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:0;border:none;border-radius:0;background:none;overflow:visible}
#uiNav button{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;height:157px;padding:17px 19px;background:linear-gradient(145deg,#1c313d,#10212c);border:1px solid #38515e;border-radius:3px;text-align:left;overflow:hidden;transition:transform .22s,border-color .22s,background .22s;isolation:isolate}
#uiNav button:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 20px,#7bb8bf05 21px 22px);pointer-events:none}
#uiNav button:after{content:'';height:3px;position:absolute;bottom:0;left:0;right:100%;background:var(--accent);transition:right .25s}
#uiNav button:hover:not(:disabled){transform:translateY(-4px);background:#203b48;border-color:#86b0b7;box-shadow:0 10px 25px #0005}
#uiNav button[aria-current="true"]{background:linear-gradient(110deg,#394437,#253b3d)!important;border-color:#c7ad7b!important;box-shadow:inset 0 0 30px #d0ad5910;color:#ffdfab!important}
#uiNav button[aria-current="true"]:after{right:0}.mode-index{position:absolute;left:19px;top:15px;font-size:9px;letter-spacing:1.5px;color:#9db2bd}.mode-emblem{position:absolute;right:0;top:18px;width:115px;height:115px;color:#8cb7be;opacity:.28;transition:transform .35s,opacity .35s}#uiNav button[aria-current=true] .mode-emblem{color:#f5d397;opacity:.7;transform:rotate(-12deg)}#uiNav button:hover .mode-emblem{transform:rotate(10deg) scale(1.08);opacity:.65}
#uiNav strong{font-size:20px;letter-spacing:1px;z-index:1}.mode-description{font-size:10px;color:#a6bdc7;margin-top:8px;z-index:1}.mode-selected{position:absolute;right:12px;bottom:12px;font-size:9px;display:none;color:#e6c284}.mode-selected i{font-size:17px;font-style:normal;margin-left:5px}#uiNav button[aria-current=true] .mode-selected{display:block}
body main,body.simulation-ui main{max-width:1440px;padding:0 32px 20px;grid-template-columns:minmax(0,1fr) 320px;gap:22px}
body .map-panel,body.simulation-ui .map-panel,body aside>.card,body.simulation-ui aside>.card{border-radius:3px;background:linear-gradient(140deg,#192c38,#10202b);border-color:#35505f;box-shadow:0 15px 35px #0003;position:relative}
body .map-panel:before{content:'';position:absolute;width:32px;left:-1px;top:-1px;height:3px;background:#8bc8c9}body .map-panel:after{content:'';position:absolute;width:32px;right:-1px;bottom:-1px;height:3px;background:#8bc8c9;pointer-events:none}
body aside>h2,body aside>.intro{display:none}#panelTitle{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #3c5461;padding:2px 0 17px;margin-bottom:17px;font-size:15px;font-weight:600;letter-spacing:2px}#panelTitle small{font-size:9px;font-weight:400;color:#809ba9;letter-spacing:1px}
.game-lobby #missionIntro{display:none!important}.game-lobby .map-panel{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr);gap:0 18px;padding:23px}.game-lobby .map-heading{grid-column:1/-1;border-bottom:1px solid #344b58;padding-bottom:17px;margin-bottom:20px}.game-lobby #viewport,.simulation-ui.game-lobby #viewport{width:100%;align-self:center;grid-column:2;grid-row:2;box-shadow:0 0 0 7px #0c1a2333;border:1px solid #4a6370;border-radius:2px}.game-lobby #hint{grid-column:1/-1;border-top:1px solid #344b58;padding-top:15px;margin-top:22px}.game-lobby #mapDock{grid-column:1/-1}.game-lobby .zoom{display:none!important}
#lobbyBrief{grid-row:2;grid-column:1;align-self:center;padding:10px 5px 10px 0}.lobby-kicker{font-size:9px;letter-spacing:2px;color:#9bb3bf;display:flex;align-items:center;gap:14px}.lobby-kicker span{font:600 20px monospace;color:#8ed7cc}#lobbyTitle{font-size:clamp(30px,3vw,48px);letter-spacing:2px;line-height:1.15;margin:20px 0;color:#f4f2e8;font-weight:800}#lobbyDescription{font-size:13px;line-height:1.9;color:#afc0ca;max-width:260px}#lobbyRules{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}#lobbyRules span{font-size:10px;color:#d4dac9;border:1px solid #48605e;padding:7px;background:#344c411a}.lobby-mark{margin-top:36px;font-size:10px;font-weight:700;letter-spacing:2px;line-height:1.8;color:#8198a6}.lobby-mark span{color:#526b7b}
body label,body.simulation-ui label{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:14px 0;color:#9eb5c2;font-size:11px;letter-spacing:1px}body select,body.simulation-ui select{width:100%;max-width:100%;min-height:43px;border-radius:2px;border:1px solid #3a5668;background:#0e202c;padding:10px 12px;color:#e4edf2;font-size:13px;letter-spacing:.5px}body .sim-toggle{flex-direction:row;align-items:center}
body button,body.simulation-ui button{border-radius:2px}body #start,body #submit,body #next,body.simulation-ui #dockConfirm{min-height:52px;font-size:14px;letter-spacing:2px;border:1px solid #f5cd91;background:linear-gradient(100deg,#f0c382,#d7a664);color:#16232a;position:relative;overflow:hidden}body #start:after,body #submit:after,body #next:after,body #dockConfirm:after{content:'↗';position:absolute;right:17px;top:50%;transform:translateY(-50%);font-size:20px;transition:right .18s}body #start:hover:after,body #submit:hover:after,body #next:hover:after{right:11px}body #start:not(:disabled):hover,body #submit:not(:disabled):hover{box-shadow:0 0 22px #d7a66430;background:#f8d49f}
body #instructions{font-size:11px;line-height:1.8;color:#9fb6c3}#fieldFooter{max-width:1376px;margin:0 auto 20px;padding:15px 0;border-top:1px solid #2d4451;display:flex;justify-content:space-between;gap:14px;font-size:9px;color:#758f9f;letter-spacing:1px}#fieldFooter i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#91cbb1;margin-right:7px;box-shadow:0 0 8px #91cbb166}
.game-running #uiNav,.game-results #uiNav{gap:1px;border:1px solid #354f5d;margin-bottom:16px}.game-running #uiNav button,.game-results #uiNav button{height:45px;padding:9px 15px;justify-content:center;border:0;background:#122633}.game-running #uiNav strong,.game-results #uiNav strong{font-size:12px}.game-running .mode-index,.game-running .mode-description,.game-running .mode-emblem,.game-running .mode-selected,.game-results .mode-index,.game-results .mode-description,.game-results .mode-emblem,.game-results .mode-selected{display:none!important}
#matchStrip{padding:10px 14px;border-left:2px solid #d9bd82;background:#203b46;margin-bottom:12px;font-size:12px;color:#d4e6e5;letter-spacing:1px}body.game-running #viewport,body.simulation-ui.game-running #viewport,body.game-results #viewport{width:min(100%,calc(100svh - 360px));border-radius:2px}body.game-running #mapDock>button{font-size:12px;min-height:45px}body #missionTitle{color:#f3e4c6}body #roundClock{font-size:32px;color:#efc485;font-variant-numeric:tabular-nums}body #matchVitals{border-radius:2px;background:#0d252feF;border-left:3px solid #8fd7c5}body #guessReward{padding:25px 18px;background:radial-gradient(ellipse at top,#385746,#172d2b);border:1px solid #b4c390;border-top:4px solid #dfc58c;border-radius:2px}body #guessReward .reward-rate{font-size:76px}body #guessReward h3{font-size:26px}
@media(min-width:1450px){.game-lobby .map-panel{min-height:510px}}
@media(max-width:1100px){body main,body.simulation-ui main{grid-template-columns:minmax(0,1fr) 280px;padding-inline:18px}#uiNav,#fieldFooter{margin-inline:18px}#uiNav button{padding:14px 12px;height:140px}#uiNav strong{font-size:16px}.mode-index{left:12px}.mode-emblem{right:-20px;width:105px}.mode-selected{display:none!important}.game-lobby .map-panel{grid-template-columns:1fr}#lobbyBrief{grid-row:2;grid-column:1}.game-lobby #viewport,.simulation-ui.game-lobby #viewport{grid-row:3;grid-column:1;width:min(100%,350px)}.lobby-mark{display:none}#lobbyTitle{font-size:32px;margin:12px 0}#lobbyRules{margin:12px 0 20px}#lobbyDescription{max-width:none}}
@media(max-width:850px){body header,body.simulation-ui header{margin:0 12px 14px;padding:16px 0}header:after{display:none}body h1,body.simulation-ui h1{font-size:18px}header>div{padding-left:12px}#uiNav{display:flex;overflow:auto;gap:8px;margin:0 12px 14px;padding:0 0 5px}#uiNav button{flex:0 0 145px;height:125px;padding:12px}#uiNav strong{font-size:15px}.mode-index{top:10px;font-size:8px}.mode-emblem{width:95px;top:15px}.mode-description{font-size:9px}body main,body.simulation-ui main{display:flex;padding:0 12px 15px;gap:12px}.game-lobby .map-panel{padding:16px}.game-lobby aside{order:0!important}body aside>.card{padding:16px}body.game-running #viewport,body.simulation-ui.game-running #viewport,body.game-results #viewport{width:100%}#fieldFooter{margin:0 12px 15px;flex-wrap:wrap;line-height:1.8}.game-running #uiNav button,.game-results #uiNav button{flex:0 0 auto;height:38px}.game-running #uiNav strong,.game-results #uiNav strong{font-size:10px}#lobbyTitle{font-size:34px}.game-lobby #viewport,.simulation-ui.game-lobby #viewport{width:100%;max-width:420px}#panelTitle{margin-bottom:10px}.game-running #matchStrip{font-size:10px}}
@media(min-width:1101px){.game-lobby #viewport,.simulation-ui.game-lobby #viewport{max-width:430px;justify-self:end}.game-lobby .map-panel{min-height:500px}body.game-running #viewport,body.simulation-ui.game-running #viewport{width:min(100%,calc(100svh - 385px))}}
body #start:after,body #submit:after,body #next:after,body #dockConfirm:after{content:'↗' / '';}

/* Softer geometry across the existing game shell. */
#uiNav button{border-radius:18px;padding:18px 20px;background:linear-gradient(145deg,#203742,#122631)}
#uiNav button:after{left:20px;bottom:0;height:3px;border-radius:8px 8px 0 0}#uiNav button[aria-current=true]:after{right:20px}
#uiNav button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 9px 24px #0003}
body .map-panel,body.simulation-ui .map-panel,body aside>.card,body.simulation-ui aside>.card{border-radius:22px;border-color:#3b536066;background:linear-gradient(145deg,#1a303b,#122530);box-shadow:0 12px 34px #0002}
body .map-panel:before,body .map-panel:after{display:none}
body #viewport,body.simulation-ui #viewport,body.game-running #viewport,body.simulation-ui.game-running #viewport,body.game-results #viewport,.game-lobby #viewport,.simulation-ui.game-lobby #viewport{border-radius:16px;border-color:#5a758377;box-shadow:0 4px 16px #0002}
body button,body.simulation-ui button{border-radius:12px}body select,body.simulation-ui select{border-radius:12px;border-color:#4a637177}body #start,body #submit,body #next,body.simulation-ui #dockConfirm{border-radius:14px}
header>div{border-radius:4px}header #help{border-radius:30px;padding-inline:20px}.map-heading strong:before{border-radius:6px}
#lobbyRules span{border-radius:30px;padding:7px 11px;border-color:#66837a66;background:#9fbba510}
.game-running #uiNav,.game-results #uiNav{border-radius:16px;padding:5px;gap:5px;background:#132732;border-color:#39515e77}.game-running #uiNav button,.game-results #uiNav button{border-radius:11px}.game-running #uiNav button:after,.game-results #uiNav button:after{display:none}
#matchStrip{border-radius:12px;border-left:0;box-shadow:inset 3px 0 #dfc58c;background:#29454d77}body #progress,body #result:not(:empty){border-radius:13px}
body .zoom,body.simulation-ui .zoom{border-radius:30px;padding:5px;border-color:#61818a77}body .zoom button,body.simulation-ui .zoom button{border-radius:22px}
body #combatCommands{border-radius:16px}body #matchVitals,body #matchToast,body #mapHud,body #outcomeBadge{border-radius:12px}body #commandStages span{border-radius:9px}
body #guessReward{border-radius:20px}body .outcome-card,body.simulation-ui .outcome-card,body dialog{border-radius:22px}body #guessScanNotice{border-radius:24px}
#extraActions summary{border-radius:12px}#extraActions[open]>div{border-radius:14px}#extraActions button{border-radius:9px}
@media(max-width:850px){#uiNav button{border-radius:15px;padding:14px}body .map-panel,body aside>.card{border-radius:17px}body #viewport,body.simulation-ui #viewport{border-radius:12px}}

/* Skland-inspired content hierarchy, using our existing dark/gold/teal palette. */
body,body.simulation-ui{background:#0c1922;background-image:radial-gradient(ellipse at 15% 0,#23404b55,transparent 55%)}
body header,body.simulation-ui header{max-width:1440px;width:calc(100% - 48px);margin:20px auto 18px;padding:16px 24px;background:#1b303b;border:1px solid #49627044;border-radius:18px;box-shadow:none}
header>div{border:0;padding:0}body h1,body.simulation-ui h1{font-size:21px;margin:3px 0;letter-spacing:0}header small{font-size:8px;letter-spacing:2.5px}header:after{display:none}header #help{border-radius:12px;background:#2d4650;border-color:transparent;font-size:12px}
#islandShell{display:grid;grid-template-columns:184px minmax(0,1fr);align-items:start;gap:18px;max-width:1440px;width:calc(100% - 48px);margin:0 auto}
body #uiNav,body.game-running #uiNav,body.game-results #uiNav{display:flex;flex-direction:column;gap:7px;position:sticky;top:18px;width:100%;margin:0;padding:19px 12px;background:#192d38;border:1px solid #425d692c;border-radius:18px;min-height:420px;overflow:hidden}
.rail-title{font-weight:700;font-size:15px;margin:2px 5px 17px;line-height:1.7;color:#e4ecee}.rail-title small{display:block;font-weight:400;font-size:9px;color:#7e9ba9;letter-spacing:1.5px}
body #uiNav button,body.game-running #uiNav button,body.game-results #uiNav button{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;width:100%;height:52px;min-height:52px;padding:10px 12px;border:0;border-radius:10px;background:none;box-shadow:none;isolation:auto;text-align:left}
body #uiNav button:before,body #uiNav button:after{display:none}body #uiNav button[aria-current=true]{background:#3c4d4166!important;border:0!important;box-shadow:inset 3px 0 #edc386;color:#f7d8a5!important}body #uiNav button:hover:not(:disabled){transform:translateX(2px);background:#29434e;box-shadow:none}
body #uiNav strong,body.game-running #uiNav strong,body.game-results #uiNav strong{font-size:13px;letter-spacing:0;white-space:nowrap}.mode-index,.mode-description,.mode-selected{display:none!important}
body #uiNav .mode-emblem,body.game-running #uiNav .mode-emblem,body.game-results #uiNav .mode-emblem{display:block!important;position:static;width:28px;height:28px;flex:0 0 28px;opacity:.8;transform:none!important}.mode-emblem svg{display:block;width:100%;height:100%}
body main,body.simulation-ui main{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;max-width:none;width:100%;padding:0;margin:0;min-width:0}#islandFeed{display:flex;flex-direction:column;gap:16px;min-width:0}
body .map-panel,body.simulation-ui .map-panel,.game-lobby .map-panel{display:block;padding:17px;background:#172c37;border:1px solid #3d5a6829;border-radius:18px;box-shadow:none;min-height:0}.game-lobby .map-heading,body .map-heading{padding:0;margin:0 0 14px;border:0;font-size:14px}.map-heading strong:before{display:none}body #clues{color:#89a6b3;font-size:10px}
#lobbyBrief{display:block;padding:24px 26px;border-radius:18px;position:relative;overflow:hidden;min-height:174px;background:linear-gradient(110deg,#294447,#19313f);border:1px solid #69867433;align-self:auto;grid-row:auto;grid-column:auto}#lobbyBrief:after{content:'';position:absolute;right:-35px;top:-85px;width:260px;height:260px;border:1px solid #9dd6cd20;border-radius:50%;box-shadow:0 0 0 30px #9dd6cd06,0 0 0 65px #9dd6cd04;pointer-events:none}
.lobby-kicker{font-size:10px;letter-spacing:1px;color:#9ec4c5}.lobby-kicker span{font-size:14px}#lobbyTitle{font-size:30px;line-height:1.3;letter-spacing:1px;margin:10px 0 9px}#lobbyDescription{max-width:none;font-size:12px;margin:0;color:#b5cbd0;line-height:1.8}#lobbyRules{margin:15px 0 0;gap:7px}#lobbyRules span{font-size:10px;border:0;border-radius:8px;background:#0a1e272f;color:#cdddcf;padding:6px 10px}.lobby-mark{display:none}
body #viewport,body.simulation-ui #viewport,.game-lobby #viewport,.simulation-ui.game-lobby #viewport,body.game-running #viewport,body.simulation-ui.game-running #viewport,body.game-results #viewport{width:100%;max-width:none;border-radius:12px;border:0;box-shadow:none;margin:0;grid-row:auto;grid-column:auto}.game-lobby #hint,body #hint{border:0;padding:0;margin:12px 0 0;font-size:10px;color:#8eaab7}
body aside>.card,body.simulation-ui aside>.card{background:#1a303b;border:1px solid #3e5a6829;border-radius:18px;box-shadow:none;padding:19px}#panelTitle{font-size:16px;letter-spacing:0;border:0;margin:0 0 15px;padding:0}#panelTitle small{font-size:9px;color:#7495a4;letter-spacing:.7px}
body label,body.simulation-ui label{margin:14px 0;gap:8px;letter-spacing:0;font-size:11px}body select,body.simulation-ui select{min-height:41px;padding:10px 12px;border:1px solid #3a56624d;border-radius:10px;background:#112733;font-size:12px}body #instructions{border-color:#49606b55;font-size:11px;line-height:1.8}
body #start,body #submit,body #next,body.simulation-ui #dockConfirm{min-height:46px;font-size:13px;letter-spacing:.5px;border-radius:12px;background:#e3bd82;border-color:transparent}body #start:after,body #submit:after,body #next:after,body #dockConfirm:after{display:none}body #guessScout{border-radius:12px}body #exit{border-radius:12px;font-size:11px}
#matchStrip{border-radius:9px;font-size:11px;padding:9px 12px;margin-bottom:12px;background:#29454b80;box-shadow:none;color:#bfdbd9}body .zoom,body.simulation-ui .zoom{border-radius:12px;background:#102733e8;border-color:#52717d66}body .zoom button,body.simulation-ui .zoom button{border-radius:8px}
body #missionTitle{font-size:20px;line-height:1.5}body #missionHint{font-size:11px}body #roundClock{font-size:27px}body #routeBrief,body #intelBrief,body #recentEvents{border-color:#44606d44}body #mapDock{flex-wrap:wrap}body #mapDock>button,body.simulation-ui #mapDock>button{min-width:80px;min-height:42px;font-size:11px;flex:1 1 25%;border-radius:10px}body #combatCommands{flex-wrap:wrap;border-radius:12px}body #combatCommands>div{min-width:100%}
#fieldFooter{width:calc(100% - 48px);max-width:1440px;margin:18px auto;padding:12px 0;border-color:#34505e44;font-size:9px;letter-spacing:0}
@media(min-width:1181px){.game-running #islandShell{grid-template-columns:150px minmax(0,1fr)}.game-running #uiNav{padding:17px 8px}.game-running #uiNav button{gap:7px;padding:10px 7px}.game-running #uiNav strong{font-size:12px}body.game-running #viewport,body.simulation-ui.game-running #viewport{max-width:calc(100svh - 300px);margin:auto}}
@media(max-width:1180px){#islandShell{grid-template-columns:140px minmax(0,1fr);gap:12px;width:calc(100% - 28px)}body main,body.simulation-ui main{grid-template-columns:minmax(0,1fr) 240px;gap:12px}body #uiNav{padding:17px 7px}body #uiNav button{gap:6px;padding:10px 7px}body #uiNav strong{font-size:12px}body #uiNav .mode-emblem{width:24px;height:24px;flex-basis:24px}body header,body.simulation-ui header{width:calc(100% - 28px)}#lobbyBrief{padding:21px}body aside>.card,body.simulation-ui aside>.card{padding:15px}}
@media(max-width:850px){body header,body.simulation-ui header{margin:12px auto;width:calc(100% - 24px);padding:13px 16px;border-radius:15px}body h1,body.simulation-ui h1{font-size:17px}header small{font-size:7px}header #help{min-width:0;padding:8px 12px;font-size:10px}#islandShell,.game-running #islandShell{display:flex;flex-direction:column;width:calc(100% - 24px);gap:12px}body #uiNav,body.game-running #uiNav,body.game-results #uiNav{position:static;display:flex;flex-direction:row;min-height:0;border-radius:14px;padding:6px;gap:5px;overflow:auto;width:100%}.rail-title{display:none}body #uiNav button,body.game-running #uiNav button,body.game-results #uiNav button{width:auto;flex:0 0 auto;height:40px;min-height:40px;padding:8px 11px;gap:6px}body #uiNav strong,body.game-running #uiNav strong{font-size:11px}body #uiNav .mode-emblem{width:22px;height:22px;flex-basis:22px}body main,body.simulation-ui main{display:flex;flex-direction:column;width:100%;gap:12px;padding:0}#islandFeed{width:100%;gap:12px}body aside,.game-lobby aside{order:0!important;width:100%}body .map-panel,body.simulation-ui .map-panel{border-radius:15px;padding:12px}#lobbyBrief{border-radius:15px;padding:20px;min-height:0}#lobbyTitle{font-size:27px}#lobbyRules{margin-top:12px}body #viewport,body.simulation-ui #viewport,.simulation-ui.game-lobby #viewport,.game-lobby #viewport{width:100%;max-width:none}#fieldFooter{width:calc(100% - 24px);flex-wrap:wrap}body aside>.card{border-radius:15px}}
@media(min-width:851px){body aside{position:sticky;top:18px}}

/* Original black / red / antique gold identity across the complete shell. */
:root{--surface:#1b1b1e;--line:#3d3635;--ink:#e9e4db;--quiet:#a69d94;--accent:#b89d60;--mint:#b89d60}
body,body.simulation-ui{background:#101012;background-image:radial-gradient(ellipse at 8% 0%,#48222230,transparent 55%);color:#e9e4db}
body header,body.simulation-ui header{background:#1b191b;border-color:#47373555}header small{color:#9a8773}header h1 span{color:#b89355}header #help{background:#2a2424;border-color:#59463d;color:#d8c8ae}
body #uiNav,body.game-running #uiNav,body.game-results #uiNav{background:#1c1b1d;border-color:#493b363d}.rail-title{color:#e7dfd3}.rail-title small{color:#85796e}
body #uiNav button,body.game-running #uiNav button,body.game-results #uiNav button{background:transparent;color:#a89e94}
body #uiNav button[aria-current=true]{background:#4c252666!important;color:#d8bd83!important;box-shadow:inset 3px 0 #ae4943;border-color:transparent!important}
body #uiNav button:hover:not(:disabled){background:#342426;border-color:#84534b}.mode-emblem,body #uiNav button[aria-current=true] .mode-emblem{color:#b59a66}
body .map-panel,body.simulation-ui .map-panel,.game-lobby .map-panel{background:#1b1b1e;border-color:#453a344d;box-shadow:none}
body aside>.card,body.simulation-ui aside>.card{background:#201d1e;border-color:#453a344d}body #clues,body #hint{color:#93877c}
#lobbyBrief{background:linear-gradient(110deg,#382425,#211e20);border-color:#76534233}#lobbyBrief:after{border-color:#b89d6026;box-shadow:0 0 0 30px #b89d6006,0 0 0 65px #b89d6004}
.lobby-kicker,.lobby-kicker span{color:#b69a68}#lobbyTitle{color:#eae1d3}#lobbyDescription{color:#b1a297}#lobbyRules span{background:#17141555;color:#c5b18c}#panelTitle{color:#e1d4c1}#panelTitle small{color:#8c7b68}
body label,body.simulation-ui label{color:#b2a397}body select,body.simulation-ui select{background:#151416;border-color:#5b483955;color:#e1d6c5}body #instructions{color:#a89b8c;border-color:#51413466}
body button,body.simulation-ui button{background:#2b2526;border-color:#554239;color:#d6c5ae}body button:not(:disabled):hover{background:#40282a;border-color:#986154;box-shadow:0 3px 12px #0003}
body button:focus-visible,body select:focus-visible{outline-color:#b99b60}
body .primary,body.simulation-ui .primary,body #start,body #submit,body #next,body.simulation-ui #dockConfirm{background:#a34440;border-color:#bd6154;color:#f6e9d8}
body .primary:not(:disabled):hover,body.simulation-ui .primary:not(:disabled):hover,body #start:not(:disabled):hover,body #submit:not(:disabled):hover,body #next:not(:disabled):hover{background:#ba5148;border-color:#d08065;box-shadow:0 0 18px #a3444028}
body #exit{background:transparent;color:#a99582;border-color:#493c35}body #guessScout:not(:disabled){background:#342c20;border-color:#8f7546;color:#d3b67a}
body #progress{background:#171516;border-color:#4b3e32}body #timer,body #roundClock{color:#c1a569}#matchStrip{background:#31282099;color:#d0bc94;box-shadow:inset 3px 0 #9c463e}
body #result:not(:empty){background:#30291f;border-color:#7e6742;color:#d7be89}body #result.wrong:not(:empty){background:#3d2425;border-color:#884740;color:#e2a492}
body .zoom,body.simulation-ui .zoom{background:#191719ed;border-color:#6c574066}body .zoom button,body.simulation-ui .zoom button{background:#2c2523;border-color:#5c4c3c;color:#cdbb9a}
body .eyebrow{color:#b79c66}body #missionTitle{color:#e1cfad}body #missionHint,body #orderQueue span,body #intelSummary,body #intelExpiry{color:#b2a08e}
body #routeBrief,body #intelBrief,body #recentEvents{border-color:#55433255}body #briefProgress{background:#302626}body #briefProgress i{background:#a94c44}
body #commandStages span{background:#292426;border-color:#514139;color:#a9947c}body #commandStages .current{background:#9e453e;border-color:#bd6653;color:#f6e4cb}body #commandStages .done{background:#383123;color:#c9ad72;border-color:#74603b}
body #combatCommands{background:#382021;border-color:#984b43}body #combatCommands strong{color:#e4b49a}body #combatCommands span{color:#ba9280}body #fightOrder[aria-pressed=true]{background:#93433c;border-color:#cb7962;color:#fff0d7;box-shadow:0 0 0 2px #a4503a44}body #retreatOrder[aria-pressed=true]{background:#51432a;border-color:#ac8d53;color:#ead6aa;box-shadow:0 0 0 2px #ad8b4c33}
body #mapDock #dockPause{background:#3d3027;border-color:#8b6b49;color:#d6b890}body #mapDock #dockIntel[data-state=ready]{background:#443823;border-color:#ac8d53;color:#ead3a2}
body #matchVitals,body.simulation-ui #matchVitals{background:#1d1819f2;border-color:#71553d;border-left-color:#a98b54}body #matchToast,body.simulation-ui #matchToast{background:#2c2020f2;border-color:#875943;color:#ddbd94}
body #hudLeft #mapHud,body.simulation-ui #hudLeft #mapHud{background:#211b1bef;border-color:#766044;color:#d9c3a0}body #hudLeft #simActivity{background:#2d221f;color:#c6a57c}
body #guessScanNotice{background:#342b1cf2;border-color:#a48a50;color:#e5cb92}body #guessReward{background:radial-gradient(ellipse at top,#433321,#211b1b);border-color:#8e7041;border-top-color:#b38c4b}body #guessReward h3,body #guessReward .reward-rate{color:#d6b879}body #guessReward .reward-streak{border-color:#5b4834}body #guessReward .reward-compare{color:#cdb693}body #guessReward .reward-note{color:#988875}
body dialog,body #guessHelp,body .outcome-card,body.simulation-ui .outcome-card{background:#231c1e;color:#e4d3bc;border-color:#86653f}body dialog::backdrop{background:#100c0dd1}body #guessHelp p{color:#bca994}body #trainingCountdown button,body #trainingCountdown span{background:#2b211cf5;color:#d9bb7b;border-color:#9e7e44}
#extraActions summary{background:#262022;border-color:#5b4638;color:#c5af93}#extraActions[open]>div{background:#261e20;border-color:#74503e}#fieldFooter{color:#88796c;border-color:#4f3b3044}#fieldFooter i{background:#b99b60;box-shadow:0 0 8px #b99b6044}
#lobbyBrief{display:none!important}
