/* The same obsidian / champagne identity as mint-onchain.css.
   This file styles the interface only. World geometry, HUD anchors, hidden states,
   movement controls and wallet/game logic remain owned by their existing modules. */
:root{
 --bg:#090a09;--panel:rgba(12,14,11,.94);--line:rgba(180,164,119,.23);
 --muted:#989e90;--text:#d8d6ce;--gold:#b4a477;--teal:#a4b5a0;--red:#d28e78;
 --display-font:"Iowan Old Style","Palatino Linotype","Songti SC","Noto Serif CJK SC",Georgia,serif;
 font-family:"Avenir Next","PingFang SC","Microsoft YaHei",sans-serif;
 color-scheme:dark;
}
body{background:var(--bg)}
button,a,summary{transition:background .18s,border-color .18s,color .18s}
button:hover:not(:disabled){filter:none;color:#e5d9b7}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #c9b67d;outline-offset:4px}
button:disabled{opacity:.5}
.topbar{background:#090a09;border-bottom:1px solid var(--line);box-shadow:none}
.brand{font-size:15px;font-weight:400;letter-spacing:2.8px;color:#d8d6ce;gap:13px}
.brand-mark{display:flex;align-items:center;color:var(--gold);font-size:0}
.brand-mark svg{width:33px;height:33px;fill:none;stroke:currentColor;stroke-width:1}
.brand small{font-size:7px;font-weight:400;letter-spacing:2.6px;color:#8d907f;margin-top:7px}
.nav{font-size:12px;color:#9c9f92;font-weight:400;letter-spacing:.3px}
.nav:hover,.nav.active{color:#cbbb90}
.nav.active:after{height:1px;background:#c3af75;left:5px;right:5px}
.session{font-size:10px;letter-spacing:.4px;color:#949a89}
.live-dot{background:#b3ae8a;box-shadow:none;width:4px;height:4px}
.demo-pill{border:1px solid #a6966b66;border-radius:30px;background:transparent;color:#c4b48a;padding:10px 16px;font-weight:400}
.icon-btn{border-color:var(--line);color:#a99a73}
.loot-badge{background:#12150f;border:1px solid #a6966b45;border-radius:3px;color:#c4b48a;font-size:10px;font-weight:400;letter-spacing:.4px;box-shadow:none}
.loot-badge:hover{background:#1b1e15;border-color:#b4a47799}
.world-heading .eyebrow{color:#c5b88d;font-size:8px;font-weight:400;letter-spacing:2.5px}
.world-heading h1,.overview-view .world-heading h1{font-family:var(--display-font);font-weight:400;color:#e1ded3;letter-spacing:.02em;line-height:1.4;text-shadow:0 2px 18px #000a}
.world-heading p,.overview-view .world-heading p{font-size:10px;color:#c3c3b5;letter-spacing:.1em;line-height:1.7}
.vignette{background:linear-gradient(180deg,#090a0970,transparent 25%,transparent 75%,#090a0990),linear-gradient(90deg,#090a0920,transparent 25%,transparent 75%,#090a0920)}
.overview-view .vignette{background:linear-gradient(0deg,#090a09c2,transparent 35%,transparent 78%,#090a0944),radial-gradient(ellipse at 50% 45%,transparent 52%,#090a0940)}
.glass-btn{background:rgba(10,13,10,.82);border:1px solid #b4a47766;border-radius:3px;color:#d0c7ac;font-weight:400;font-size:11px;backdrop-filter:blur(10px);box-shadow:none}
.glass-btn:hover{background:#181c14dd;border-color:#cfbc87}
#camera-btn{border-color:#c3ad7580;color:#e0cf9f}
#overview-detail,#rail-camera{border-radius:30px;padding:10px 17px;color:#cfc09b}
#time-label{color:#b8b392;font-size:9px;letter-spacing:1.5px}
.eyebrow,.micro{color:#a89d7c;font-weight:400;letter-spacing:2px}
.panel{background:var(--panel);border:1px solid #ac9b674d;border-radius:3px;backdrop-filter:blur(14px);box-shadow:0 10px 26px #0003}
.panel:not(.folded):before{content:"";position:absolute;top:0;left:18px;width:38px;height:1px;background:#d0b97f;pointer-events:none}
.panel h2,.mission-panel h2,.map-title h2{font-family:var(--display-font);font-weight:400;color:#ded8c5;letter-spacing:.5px}
.mission-panel h2{font-size:20px;line-height:1.4}
.map-title h2{font-size:18px}
.panel-top{opacity:1}.panel-top .micro{font-size:8px;color:#a89d7c}
.panel-icon-toggle{color:#c0b086;font-weight:400;font-size:11px}
.panel-icon-toggle svg{stroke-width:1.15}.panel-icon-toggle b{color:#a89d7c;font-size:19px}
.panel.folded{border-radius:6px;background:#0b0e0bf2;border-color:#baa66f80;box-shadow:0 4px 15px #0003}
.panel.folded:hover{border-color:#d2bb7e;background:#1b1f14}
.step{color:#868c7c}.step i{border-color:#7f805855;color:#a99e7f;border-radius:2px;font-family:var(--display-font);font-size:11px}
.step.current{color:#d4cfbd}.step.current i{background:#b4a47713;border-color:#b4a47777;color:#d4bd7d}
.step.done{color:#a7b89c}.panel-foot{color:#8e9685;border-color:var(--line);font-size:9px}
.primary{background:#b4a477;color:#15170e;border:1px solid #c6b481;border-radius:3px;font-weight:500;box-shadow:none;font-family:inherit}
.primary:hover:not(:disabled){background:#cbbc8d;color:#0c1009}
.secondary{background:transparent;border:1px solid var(--line);border-radius:3px;color:#b1b7a5;box-shadow:none;text-decoration:none;display:block;text-align:center}
.secondary:hover:not(:disabled){border-color:#b4a47799;background:#a6956210;color:#d6ccb0}
.text-btn{color:#bdae83;font-weight:400}.text-btn:hover{color:#e1cf9d}
dialog .text-btn{padding:10px 0;margin-right:18px;font-size:11px}
.zone{background:#95aa8810;border-color:#95aa8833;color:#b2c3a9;border-radius:2px}
.zone.danger{background:#b9664512;border-color:#cd8c6644;color:#dfad8d}
.attack-button{background:#704736;border:1px solid #c08c62;color:#e6d4b6;border-radius:3px}
.destination{border-color:var(--line);color:#c9cbbb}.destination:hover{background:#b4a4770c}
.destination .num{font-family:var(--display-font);font-size:12px;color:#b4a477}.destination .arrow{color:#af9d6c}
.map-legend,.fine,.map-title>span{color:var(--muted)}.map-legend i{border-radius:1px}
.label .tag{background:#0c110bd9;color:#c3c9b3;border:1px solid #b4a47720}
.label.landmark{color:#decd9c}.label.landmark small{color:#b7bd9f}
.label.district,.overview-view #labels .district{background:#0a0f09ce;border:1px solid #b4a47766;border-radius:2px;color:#dfd0aa;box-shadow:0 3px 8px #0003;font-family:inherit;letter-spacing:1px}
.label.district small,.overview-view #labels .district small{color:#aaa991}
.controls-bar{background:#0b100bd9;border-color:var(--line);border-radius:3px;color:#aeb5a1}
kbd{border-color:#a6966b40;color:#c8c9b8;background:#b4a47708;border-radius:2px}
.view-footer{color:#a9b09d;font-size:8px;letter-spacing:.8px}
.toast,#toast,.context-hint,#context-hint,.route-status,#route-status{background:#0c110be8;border:1px solid #a6956266;border-radius:3px;color:#cecaac;box-shadow:0 6px 20px #0003}
.on-rail #route-status{background:#0c110bd9;border-color:#a6956255}
#combat-hud{background:#0c110be8;border:1px solid #a6956260;border-radius:3px;color:#d3d2be;box-shadow:none}
#combat-hud button{background:#1a2014;border:1px solid #a695624d;color:#c8c6ab;border-radius:2px}
#health-edge{background:#0b110bdb;border-left-color:#b2b98b;color:#dadcc2}
#aim-btn,#fire-main{background:#0c130ce0;color:#ddd0ac;border-color:#c2ac728c}
#crosshair{color:#e1dfc4;text-shadow:0 0 3px #000}
.vehicle-bar{background:#0c110bf2;border:1px solid #a6956280;border-radius:3px;color:#d6c699}
.vehicle-bar button{background:#b4a477;color:#10150d;border:1px solid #d0bc82;border-radius:2px}
#mobile-controls button{background:#0c140ce8;border-color:#b4a47780;color:#d5d3ba;border-radius:6px}
/* Character vault: restrained metal border, etched names, no high-gloss foil. */
.roster-panel{background:#0b0e0b;border-top:1px solid #b4a4774d;box-shadow:inset 0 1px #dbc79708}
.roster-heading .micro{color:#9f946f;letter-spacing:2px}
.roster-heading h2{font-family:var(--display-font);font-size:21px;letter-spacing:1px;font-weight:400;color:#ded4b7}
.roster-heading h2 span{font-family:"Avenir Next",sans-serif;font-size:11px;color:#a39468}
.roster-heading p{color:#8f9885}.roster{scrollbar-color:#7f7553 #0b0e0b}
.role-card{border:1px solid #9e8d5d7a;border-radius:3px;background:linear-gradient(130deg,#24271b,#0c130d 65%);box-shadow:0 4px 12px #0004}
.role-card::before{inset:5px;border:1px solid #b4a47720;border-radius:0;background:none}
.role-card::after{background:linear-gradient(110deg,transparent 22%,#cabc8d09 38%,transparent 52%)}
.role-card.active{border-color:#cbbb87;background:linear-gradient(130deg,#343422,#10170f 65%);box-shadow:inset 0 0 0 1px #d1bd7930,0 4px 12px #0004}
.role-card.active::before{background:none;border-color:#d0ba7738}
.role-card:hover:not(:disabled){transform:translateY(-2px);border-color:#d0bd83;box-shadow:0 5px 15px #0005}
.role-card img{filter:saturate(.62) drop-shadow(-6px 2px 9px #0006)}
.card-orbit{border-color:#b4a47730;box-shadow:0 0 0 7px #b4a47706,0 0 0 8px #b4a4770b;background:radial-gradient(circle,#a89b571c,transparent 70%)}
.card-orbit::after{border-color:#b4a47720}.card-crest{background:#272c1b;color:#c9b882;border-color:#a996614d;box-shadow:none}
.role-card .faction{color:#bfb58f;font-weight:400;letter-spacing:.4px;text-shadow:none}
.card-edition{color:#a2966d}.card-nameplate{background:linear-gradient(180deg,transparent,#10160ce8 45%,#10140d);border-bottom:1px solid #a9966140}
.role-card strong{font-family:var(--display-font);font-size:22px;font-weight:400;letter-spacing:.7px;color:#d8c495;background:none;-webkit-text-fill-color:#d8c495;filter:none;text-shadow:0 2px 5px #000}
.role-card .role-status{color:#babba2}.role-status i{background:#b4a477;box-shadow:none}.role-card .role-id{color:#9c936e}
.role-card.is-invalid{opacity:.58;border-color:#737362;filter:grayscale(.7)}
.role-card.is-invalid strong{-webkit-text-fill-color:#bbb6a0;color:#bbb6a0}
.role-card.is-invalid .role-status{color:#c8a897}.role-card.is-invalid .card-nameplate{background:linear-gradient(180deg,transparent,#171910 45%)}
.empty-roster{border:1px dashed #a6956266;border-radius:3px;background:#141a10;color:#d2c39b}
.empty-roster small{color:#929b86}.roster-summary{border-color:var(--line)}
.roster-summary strong{font-family:var(--display-font);font-weight:400;color:#cbbc8d}.roster-summary small,.roster-summary>span:not(.micro){color:#929b86}
/* All user-opened dialogs share the Mint typography and compact card language. */
dialog{background:linear-gradient(135deg,#171a12,#0b100c 75%);border:1px solid #a6956270;border-radius:4px;color:#d8d6ce;padding:40px;box-shadow:0 25px 100px #0009}
dialog::backdrop{background:#050805bd;backdrop-filter:blur(8px)}
dialog:before{content:"";position:absolute;left:40px;top:0;width:62px;height:1px;background:#ceb679;pointer-events:none}
dialog h2{font-family:var(--display-font);font-size:31px;line-height:1.45;letter-spacing:.4px;font-weight:400;color:#ded9c8;margin:18px 0}
dialog h3{font-family:var(--display-font);font-size:19px;font-weight:400;color:#cfc5a6}
dialog p,dialog li{color:#aab19f;font-size:12px;line-height:1.95}
dialog .modal-eyebrow{font-size:8px;letter-spacing:2.5px;color:#b3a476}
.modal-close{color:#acaa8e;font-weight:300}.modal-close:hover{color:#e0cca0}
.codex-card,.building-option,.npc-row{background:#12190f;border:1px solid #a695623d;border-radius:3px;box-shadow:none}
.building-option{color:#d3c8a6}.building-option:hover,.npc-row:hover{border-color:#b4a4779c;background:#1b2214}
.building-option strong{font-family:var(--display-font);font-weight:400;font-size:19px}
.building-option small,.building-option span{color:#a3ac98;font-size:11px}
.codex-card h3{color:#ccb98a}.codex-card p{color:#a4ae98}
.notice{background:#b4a47709;border:1px solid #b4a47730;border-left:2px solid #b4a47780;color:#c0b593!important;border-radius:2px}
.stat-line,.log-item,.team-head{border-color:var(--line)}
.mint-slot{background:linear-gradient(140deg,#272a1b,#10160e);border:1px solid #a6956260;border-radius:3px;gap:12px}
.mint-slot strong{font-family:var(--display-font);font-size:27px;font-weight:400;color:#d5c18e}
.mint-slot small,.mint-slot span{font-size:11px;color:#a7ad98}
.mint-quantity select,#net-connect-actions select{background:#11190e;color:#d7c9a4;border:1px solid #a6956255;border-radius:3px}
#webgl-error{background:#0a0e0a}#webgl-error h2{font-family:var(--display-font);font-weight:400;color:#ddc99a}
@media(min-width:951px){.topbar{padding-left:30px;padding-right:30px}.topbar nav{gap:16px}.overview-view .world-heading{max-width:510px}.overview-view .world-heading h1{font-size:clamp(24px,2.5vw,38px)}}
@media(min-width:951px) and (max-width:1150px){.brand{font-size:12px;letter-spacing:1.8px}.topbar nav{gap:8px}.nav{font-size:11px}.session{gap:6px}.demo-pill{padding:8px 10px}}
@media(max-width:950px){
 .brand{font-size:11px;letter-spacing:1.5px;gap:8px}.brand-mark svg{width:27px;height:27px}.brand small{font-size:6px;letter-spacing:1.5px;margin-top:5px}
 .topbar nav{gap:5px}.topbar nav .nav{font-size:11px;letter-spacing:0;padding:5px 8px}
 .loot-badge{font-size:9px;border-radius:3px;background:#141a10;color:#c6b88c;letter-spacing:0}
 .world-tools .glass-btn{font-size:10px;border-radius:3px;background:#0c120ce3;min-height:36px}
 .overview-view .world-heading h1{font-size:23px;line-height:1.35}.overview-view .world-heading p{font-size:9px;line-height:1.7}
 .roster-heading h2{font-size:14px;letter-spacing:.5px}.role-card{border-radius:3px}.role-card strong{font-size:20px}.role-card .faction{font-size:8px}
 #quick-enter{background:transparent;border:1px solid #b4a4776b;border-radius:3px;color:#d3c29a;font-weight:400}
 #mobile-controls button{border-radius:6px;background:#0c140ce8;border-color:#b4a47780;color:#d5d3ba}
 dialog{padding:32px 22px;border-radius:3px}dialog h2{font-size:26px}dialog:before{left:22px;width:45px}.building-option strong{font-size:18px}
}
@media(max-height:520px) and (max-width:950px){.role-card strong{font-size:18px}.card-nameplate{background:linear-gradient(90deg,#11180ddd,transparent)}.overview-view .world-heading h1{font-size:18px}}
@media(prefers-reduced-motion:reduce){button,a,summary,.role-card{transition:none}.role-card:hover:not(:disabled){transform:none}}
/* The panorama follows the Mint page's cinematic, obsidian editorial treatment. */
.overview-view #world{background:#090a09;isolation:isolate}
.overview-view #scene{filter:saturate(.72) contrast(1.08) brightness(.88)}
.overview-view .vignette{z-index:1;background:linear-gradient(180deg,#090a09b8,transparent 26%,transparent 60%,#090a09eb 100%),linear-gradient(90deg,#090a0955,transparent 25%,transparent 80%,#090a0940);pointer-events:none}
.overview-view .world-heading{z-index:2;left:40px;bottom:66px;top:auto;max-width:min(660px,calc(100% - 80px));text-shadow:none}
.overview-view .world-heading:before{content:"";display:block;width:48px;height:1px;background:#c2aa71;margin-bottom:19px}
.overview-view .world-heading .eyebrow{font-size:8px;letter-spacing:3px;color:#b4a477}
.overview-view .world-heading h1{font-size:clamp(24px,2.9vw,42px);letter-spacing:.035em;line-height:1.45;font-weight:400;margin:13px 0 10px;color:#d8d6ce;overflow:visible;text-wrap:balance}
.overview-view .world-heading p{font-size:10px;letter-spacing:1.5px;color:#9b9d90;margin:0;line-height:1.9}
.overview-view .world-tools{top:23px;right:28px;left:auto;max-width:calc(100% - 56px);gap:9px;flex-wrap:nowrap}
.overview-view .world-tools .glass-btn{border-radius:30px;padding:10px 17px;background:#0a0c0acf;border-color:#b4a47750;font-weight:400}
.overview-view .world-tools #vehicle-btn,.overview-view .world-tools #room-btn,.overview-view .world-tools #nav-btn{display:none}
.overview-view #labels{z-index:2;overflow:hidden}
.overview-view #labels .district{background:#0a0d0ac9;border:0;border-left:1px solid #b4a4778c;border-radius:0;padding:5px 10px;font-size:10px;box-shadow:none;color:#cfc5a8}
.overview-view .view-footer{z-index:2;bottom:20px;left:40px;right:40px;font-size:8px;color:#92998a}
.overview-view #overview-detail{z-index:3;right:32px;bottom:48px;background:#0b0d0bb8;border:1px solid #b4a47755;font-size:10px;padding:11px 19px}
.overview-view #fps-label{visibility:hidden}
@media(max-width:950px){
 .overview-view .world-tools{top:14px;left:14px;right:14px;max-width:none;overflow-x:auto;gap:7px;scrollbar-width:none;padding-bottom:5px}
 .overview-view .world-tools .glass-btn{font-size:9px;min-height:32px;padding:8px 12px}
 .overview-view .world-heading{left:22px;right:22px;max-width:none;bottom:82px;width:auto}
 .overview-view .world-heading:before{width:34px;margin-bottom:12px}
 .overview-view .world-heading .eyebrow{font-size:6.5px;letter-spacing:2px}
 .overview-view .world-heading h1{font-size:clamp(18px,4.7vw,30px);line-height:1.55;letter-spacing:.02em;margin:10px 0 8px;word-break:normal}
 .overview-view .world-heading p{font-size:8px;letter-spacing:.7px}
 .overview-view .view-footer{left:22px;right:22px;bottom:17px;font-size:7px;line-height:1.5}
 .overview-view #overview-detail{right:18px;bottom:14px;font-size:9px;padding:9px 14px}
 .overview-view #labels .district{font-size:8px;padding:4px 6px}
}
@media(max-height:620px) and (max-width:950px){.overview-view .world-heading{bottom:53px}.overview-view .world-heading:before,.overview-view .world-heading .eyebrow,.overview-view .world-heading p{display:none}.overview-view .world-heading h1{font-size:19px;margin:0}.overview-view #overview-detail{bottom:10px}}
/* Restore the game's warm Mars palette; retain continuous terrain and readable anchors. */
.overview-view #scene{filter:none}
.overview-view #world{background:#17262b}
.overview-view .topbar{background:#111c1f;border-color:#cbb57438}
.overview-view .nav.active,.overview-view .nav:hover{color:#e8c878}
.overview-view .vignette{background:linear-gradient(0deg,#101d29a8,transparent 30%,transparent 84%,#14232b38),radial-gradient(ellipse at center,transparent 55%,#17242a30)}
.overview-view .world-heading:before{display:none}
.overview-view .world-heading h1{font-family:"Avenir Next","PingFang SC","Microsoft YaHei",sans-serif;color:#efe5cf;font-weight:500;font-size:clamp(22px,2.2vw,32px);text-shadow:0 2px 15px #0008}
.overview-view .world-heading .eyebrow{color:#e8c878}.overview-view .world-heading p{color:#c8d0c5}
.overview-view .world-tools .glass-btn,.overview-view #overview-detail{background:#14262dd9;border:1px solid #d8be7880;color:#f1d99c;border-radius:5px}
.overview-view #labels .district{color:#ffe4a5;background:#142326cf;border:1px solid #d5bd6c66;border-radius:4px}
@media(max-width:950px){.overview-view .world-heading h1{font-size:clamp(18px,4.6vw,26px)}}
/* Engraved identity badges, not mannequin portraits. */
.identity-badge{position:absolute;width:88px;height:88px;right:8px;top:15px;filter:drop-shadow(0 3px 7px #0009);color:var(--tier-color,#b8c7ca)}
.identity-emblem{width:100%;height:100%;overflow:visible}
.emblem-halo{fill:#15232d;stroke:currentColor;stroke-width:1.7}.emblem-line{fill:none;stroke:currentColor;stroke-width:.5;opacity:.55}
.emblem-icon{fill:color-mix(in srgb,currentColor 16%,transparent);stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.emblem-tick{fill:none;stroke:currentColor;stroke-width:1;opacity:.5}
.role-card .card-orbit{display:none}.role-card .card-nameplate{background:linear-gradient(180deg,transparent,#111c24f0 55%)}
.role-card strong{color:var(--tier-color);-webkit-text-fill-color:var(--tier-color);font-size:24px;letter-spacing:2px}
.role-card .role-id{color:var(--tier-color);top:10px;right:9px;font-size:9px}.role-card .card-edition{color:var(--tier-color);font-size:7px;opacity:.7}
.role-card[data-tier=miner]{background:linear-gradient(135deg,#25353d,#111c23)}
.role-card[data-tier=pioneer]{background:linear-gradient(135deg,#44352a,#181e23);border-color:#bd8e58}
.role-card[data-tier=commander]{background:linear-gradient(135deg,#49402a,#14202a);border-color:#e2bd68}
.tier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
.tier-tile{border:1px solid color-mix(in srgb,var(--tier-color) 40%,transparent);background:linear-gradient(150deg,#27313a,#111c23);padding:20px 10px;text-align:center;color:var(--tier-color);border-radius:4px}
.tier-tile svg{width:84px;height:84px;display:block;margin:0 auto 15px}.tier-tile small{font-size:9px;letter-spacing:1px}.tier-tile h3{margin:8px 0!important;color:var(--tier-color);font-size:22px}.tier-tile strong{font-size:20px;font-weight:500}.tier-tile strong span{font-size:10px}.tier-tile p{font-size:10px;margin:8px 0 0;color:#adb6b6}
@media(max-width:950px){.identity-badge{width:69px;height:69px;top:14px;right:4px}.role-card strong{font-size:21px}.tier-grid{gap:7px}.tier-tile{padding:14px 5px}.tier-tile svg{width:61px;height:61px}.tier-tile h3{font-size:18px}.tier-tile small{font-size:7px}.tier-tile strong{font-size:17px}}

/* Aim feedback follows the monster and leaves the centre of the view readable. */
#target-lock{position:absolute;z-index:5;pointer-events:none;transform:translate(-50%,-50%);border:1px solid #f5ce6688;border-radius:8px;box-shadow:inset 0 0 12px #ffbb3312;transition:width .08s,height .08s}#target-lock[hidden]{display:none}#target-lock:before,#target-lock:after{content:'';position:absolute;width:11px;height:11px;border-color:#ffe29a;border-style:solid}#target-lock:before{top:-2px;left:-2px;border-width:2px 0 0 2px}#target-lock:after{bottom:-2px;right:-2px;border-width:0 2px 2px 0}#target-lock span{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-size:10px;color:#ffe29a;white-space:nowrap;text-shadow:0 1px 4px #000;padding-bottom:5px}#crosshair.locked{color:#ffdc83;text-shadow:0 0 8px #ffc466}#crosshair.hit-confirm{color:#ff875d;text-shadow:0 0 12px #ffb24c;scale:1.35}

/* Panels start folded before expensive scene construction: no load-time card flash. */
body:not(.panels-ready) .mission-panel,body:not(.panels-ready) .map-panel{visibility:hidden}.panel.folded{transition:none!important}.panel.folded>:not(.panel-adjust){display:none!important}
#ammo-notice{position:absolute;left:24px;bottom:132px;z-index:18;pointer-events:none;padding:7px 12px;border-left:2px solid #e7bc73;border-radius:2px;background:#101a20d9;color:#ffe2a5;font-size:12px;max-width:220px;line-height:1.5}#ammo-notice[hidden]{display:none}.overview-view #ammo-notice,.on-rail #ammo-notice{display:none!important}@media(max-width:950px){#ammo-notice{left:auto;right:12px;bottom:34px;max-width:155px;font-size:10px;padding:5px 8px}}

/* Driving help stays folded at the edge; the road ahead remains unobstructed. */
body.driving #vehicle-status{top:auto!important;bottom:28px!important;right:10px!important;left:auto!important;width:210px;max-width:45%;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;padding:6px;font-size:10px}
body.driving #vehicle-status[hidden]{display:none}
body.driving #vehicle-status button{padding:5px;min-height:32px;font-size:10px}
body.driving #speedometer{width:100%;text-align:right;font-size:10px}
body.driving #context-hint,body.driving #route-status{display:none!important}
#driver-help{width:100%;text-align:right;font-size:10px;line-height:1.5}#driver-help summary{cursor:pointer;color:#e3cc90}#driver-help span{display:block;margin-top:4px}
body.driving #passenger-btn{display:none}
@media(max-width:600px){body.driving #vehicle-status{max-width:46%;width:190px;bottom:30px!important}body.driving #vehicle-status button{font-size:9px}body.driving #ammo-notice{bottom:145px}}

/* Shared Mint identity: restrained serif wordmark, no gameplay slogan. */
.overview-view .world-heading{max-width:calc(100% - 80px)}
.overview-view .world-heading h1{font-family:"Iowan Old Style","Palatino Linotype","Songti SC",Georgia,serif;font-size:clamp(38px,5vw,70px);font-weight:400;letter-spacing:-.045em;line-height:1.05;color:#deddd6;margin:12px 0 13px;text-wrap:nowrap}
.overview-view .world-heading h1 span{margin-left:.06em}
.overview-view .world-heading p{font-family:"Iowan Old Style","Songti SC",Georgia,serif;font-size:clamp(14px,1.4vw,19px);letter-spacing:.08em;color:#d3d0c4}
.overview-view .world-heading .eyebrow{color:#b9ae90;letter-spacing:3.5px}
@media(max-width:950px){
 .overview-view .world-heading{max-width:calc(100% - 40px);left:20px;right:20px}
 .overview-view .world-heading h1{font-size:clamp(32px,8.6vw,50px)}
 .overview-view .world-heading p{font-size:13px;line-height:1.7;letter-spacing:.04em}
 .mobile-dpad{left:max(10px,env(safe-area-inset-left))}
 .mobile-actions{right:max(10px,env(safe-area-inset-right))}
}
@media(max-height:520px) and (max-width:950px){
 .overview-view .world-heading{bottom:30px}
 .overview-view .world-heading h1{font-size:32px;margin:0 0 6px}
 .overview-view .world-heading p{display:block;font-size:11px}
}
/* Phone testing: leave the center clear and put controls within thumb reach. */
@media(max-width:950px){
 body.playing .roster-panel{display:none}
 body.playing #world{flex:1;min-height:0}
 body.playing #combat-hud{left:50%;right:auto;top:auto;bottom:8px;transform:translateX(-50%);max-width:230px;padding:5px 7px}
 body.playing #combat-hud button{min-height:36px;padding:5px 8px}
 body.playing .mobile-dpad{bottom:max(10px,env(safe-area-inset-bottom));z-index:18}
 body.playing .mobile-actions{bottom:max(18px,env(safe-area-inset-bottom));grid-template-columns:46px 58px;gap:6px}
 body.playing #attack-touch{width:58px;height:58px;grid-row:span 2;font-size:12px!important;border-radius:50%;border-color:#e2c58099}
 body.playing #aim-btn{right:14px;bottom:135px;top:auto;width:46px;height:42px;border-radius:6px}
 body.playing #context-hint{left:12px;top:94px;bottom:auto;max-width:240px;font-size:9px;padding:4px 7px}
 body.playing #toast{left:12px;top:127px;bottom:auto;max-width:235px;font-size:9px}
 body.playing .world-tools{left:auto;right:10px;max-width:56%;top:8px}
 body.playing .panel.folded{top:50px;width:32px;height:32px}
 body.playing #health-edge{left:10px;top:8px;max-width:40%;font-size:9px;padding:6px}
 body.playing #ammo-notice{top:52px;left:52px;right:auto;max-width:220px}
}
@media(max-height:520px) and (max-width:950px){
 .overview-view .world-heading{display:block}
 body.playing #context-hint{top:87px;max-width:235px}
 body.playing #toast{top:116px;max-width:235px}
}
@media(max-width:520px){
 body.playing #combat-hud{bottom:6px;max-width:96%;width:max-content}
 body.playing .mobile-dpad{bottom:87px}
 body.playing .mobile-actions{bottom:96px}
 body.playing #aim-btn{bottom:225px}
}
