:root{--bg:#0c1014;--panel:#141a20;--panel2:#1a222a;--line:#29333d;--text:#edf2f5;--muted:#91a0ab;--gold:#f0b84a;--green:#54d18b;--red:#ff665f;--blue:#65a8ff;--shadow:0 18px 50px #0008;font:15px/1.45 Inter,system-ui,sans-serif;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 75% 0,#20313a 0,transparent 35%),var(--bg);color:var(--text);min-width:320px}button{font:inherit}.app{display:grid;grid-template-columns:190px minmax(0,1fr) 280px;grid-template-rows:74px minmax(0,1fr);height:100vh;overflow:hidden}.topbar{grid-column:1/-1;display:flex;align-items:center;gap:24px;padding:12px 20px;border-bottom:1px solid var(--line);background:#0d1216e8;backdrop-filter:blur(14px);z-index:2}.brand{display:flex;align-items:center;gap:11px;min-width:240px}.brand img{width:42px;height:42px}.brand strong,.brand span{display:block}.brand strong{font-size:17px;letter-spacing:.2px}.brand span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.stats{display:flex;align-items:center;gap:24px;flex:1}.stats>div:not(.heat-track){display:grid}.stats span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.stats strong{font-size:17px}.heat-track{width:110px;height:7px;border-radius:9px;background:#2b3339;overflow:hidden}.heat-track i{display:block;width:0;height:100%;background:var(--green);transition:.25s}.top-actions{display:flex;gap:8px}.icon-button{border:1px solid var(--line);background:var(--panel);color:var(--text);width:42px;height:42px;border-radius:10px;cursor:pointer}.nav{padding:18px 12px;border-right:1px solid var(--line);background:#0f1419;display:flex;flex-direction:column;gap:7px}.nav-button{border:0;background:transparent;color:var(--muted);padding:12px;text-align:left;border-radius:9px;cursor:pointer;font-weight:650}.nav-button span{display:inline-block;width:28px}.nav-button:hover,.nav-button.active{background:var(--panel2);color:var(--text)}.nav-button.active{box-shadow:inset 3px 0 var(--gold)}.workspace{overflow:auto;padding:28px clamp(18px,3vw,42px)}.view{display:none;max-width:1080px;margin:auto}.view.active{display:block}.view-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:26px}.eyebrow{font-size:10px;color:var(--gold);font-weight:800;letter-spacing:1.5px}.view h1{font-size:32px;margin:2px 0}.view h2{font-size:14px;margin:0 0 12px;color:#c7d1d8}.capacity{color:var(--muted);font-size:12px;border:1px solid var(--line);padding:7px 10px;border-radius:20px}.section-block{margin-bottom:30px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.card{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:13px;padding:15px;box-shadow:0 8px 24px #0002}.card-top{display:flex;justify-content:space-between;gap:12px;align-items:start}.card h3{font-size:15px;margin:0}.tag{font-size:10px;text-transform:uppercase;color:var(--gold);border:1px solid #f0b84a55;border-radius:5px;padding:3px 6px}.meta{display:flex;flex-wrap:wrap;gap:7px 13px;color:var(--muted);font-size:12px;margin:13px 0}.card-actions{display:flex;gap:8px;flex-wrap:wrap}.primary,.secondary{border:0;border-radius:8px;padding:9px 12px;cursor:pointer;font-weight:750}.primary{background:var(--gold);color:#17130c}.secondary{background:#27313a;color:var(--text);border:1px solid #34414c}.primary:disabled,.secondary:disabled{opacity:.4;cursor:not-allowed}.progress{height:6px;background:#303942;border-radius:8px;overflow:hidden;margin-top:12px}.progress i{display:block;height:100%;background:var(--blue)}.empty{grid-column:1/-1;color:var(--muted);border:1px dashed var(--line);border-radius:12px;padding:24px;text-align:center}.intel{border-left:1px solid var(--line);background:#10161b;padding:25px 18px;overflow:auto}.intel h2{font-size:20px;margin:4px 0 18px}.intel h3{font-size:12px;color:var(--muted);margin:28px 0 10px;text-transform:uppercase}.intel-card{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.intel-card span{color:var(--muted)}.activity{margin:0;padding:0;list-style:none}.activity li{font-size:12px;color:#c3cdd4;border-left:2px solid var(--blue);padding:3px 0 3px 9px;margin:10px 0}.trust-note{margin-top:24px;padding:12px;border:1px solid #54d18b33;background:#54d18b0b;color:#9fcab2;font-size:11px;border-radius:9px}.modal{position:fixed;inset:0;background:#05080bd9;display:grid;place-items:center;padding:20px;z-index:10}.modal.hidden,.toast.hidden{display:none}.modal-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:26px;width:min(560px,100%);max-height:90vh;overflow:auto}.modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:var(--muted);font-size:26px;cursor:pointer}.modal-card h2{margin:4px 0 16px}.target-summary{padding:12px;background:var(--panel2);border-radius:9px;margin-bottom:16px}.modal fieldset{border:0;padding:0;margin:0}.modal legend{font-size:12px;color:var(--muted);margin-bottom:8px}.selection-list{display:grid;gap:7px}.selection{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:10px;border-radius:8px;cursor:pointer}.selection:has(input:checked){border-color:var(--gold);background:#f0b84a0d}.chance{margin:14px 0;color:var(--muted)}.wide{width:100%}.toast{position:fixed;right:22px;bottom:22px;background:#edf2f5;color:#101417;padding:12px 16px;border-radius:9px;box-shadow:var(--shadow);z-index:20;font-weight:700}
button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}@media(max-width:980px){.app{grid-template-columns:76px minmax(0,1fr);}.intel{display:none}.nav-button{font-size:0;text-align:center}.nav-button span{width:auto;font-size:20px}.brand{min-width:0}.brand span{display:none}}@media(max-width:650px){.app{display:block;height:auto;min-height:100vh}.topbar{position:sticky;top:0;padding:9px 12px}.brand div{display:none}.stats{gap:12px}.stats .heat-track{display:none}.nav{position:fixed;z-index:5;bottom:0;left:0;right:0;border:0;border-top:1px solid var(--line);display:flex;flex-direction:row;justify-content:space-around;padding:7px}.nav-button{padding:8px 10px}.workspace{padding:22px 14px 90px;overflow:visible}.card-grid{grid-template-columns:1fr}.top-actions #settings{display:none}.view h1{font-size:27px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.result-card{width:min(500px,100%)}.result-body{display:grid;gap:10px;margin:16px 0 22px}.result-line{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}.result-line span{color:var(--muted)}.result-outcome{font-size:18px;font-weight:800;padding:14px;border-radius:10px;background:var(--panel2)}.result-outcome.win{color:var(--green)}.result-outcome.loss{color:var(--red)}
@media(max-width:650px){.nav{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:1px}.nav-button{padding:8px 2px;min-width:0}.nav-button span{font-size:17px}}
.brand{min-width:270px;gap:10px}.brand img{display:block;width:50px;height:50px;object-fit:cover;border-radius:11px}.brand-lockup{min-width:205px}.brand-lockup strong{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:950;letter-spacing:-.5px;white-space:nowrap}.brand-lockup strong b{background:var(--gold);color:#111820;font-size:13px;letter-spacing:.2px;padding:4px 7px;border-radius:2px}.brand-lockup span{display:block;margin-top:3px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:2px;white-space:nowrap}@media(max-width:980px){.brand{min-width:220px}.brand img{width:46px;height:46px}.brand-lockup strong{font-size:16px}.brand-lockup{min-width:165px}}@media(max-width:650px){.brand{min-width:48px}.brand img{width:48px;height:48px}.brand-lockup{display:none}}

/* Viewport-density contract: use available desktop space before introducing scroll. */
@media(min-width:981px){
    .workspace{padding:22px clamp(18px,2vw,30px);scrollbar-gutter:auto}
    .view{width:100%;max-width:1480px}
    .view-heading{margin-bottom:18px}
    .section-block{margin-bottom:18px}
    .card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
    .campaign-layout{grid-template-columns:minmax(0,2.25fr) minmax(270px,.75fr);gap:16px}
    .campaign-scene,.campaign-context{padding:20px}
    .choice-prompt{margin:18px 0 9px!important}
    .campaign-choice-detail{font-size:13px;line-height:1.4;margin:6px 10px 2px 0}
}
@media(min-width:1500px){
    .view{max-width:none}
    .campaign-choices{grid-template-columns:repeat(3,minmax(0,1fr))}
    .campaign-choice{align-content:start}
    .story-choice-button{height:100%;align-items:flex-start}
    .compact-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.compact-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.dialogue-list{display:grid;gap:8px}.dialogue-line{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:11px 14px;border-left:3px solid var(--gold);background:var(--panel);border-radius:0 9px 9px 0}.dialogue-line p{margin:0;color:var(--muted)}.confirm-card{width:min(460px,100%)}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.danger-button{border:0;border-radius:8px;padding:10px 14px;background:var(--red);color:#180a08;font-weight:800;cursor:pointer}
@media(min-width:651px){.workspace{overflow:auto;scrollbar-gutter:stable}.view.active{min-height:100%;overflow:visible}.nav{overflow:hidden}.section-block{margin-bottom:22px}}
@media(max-width:980px){.dashboard-grid{grid-template-columns:1fr}.dialogue-line{grid-template-columns:110px 1fr}}
@media(max-width:650px){.app{height:100vh;min-height:0;overflow:hidden}.workspace{height:calc(100vh - 66px);overflow:auto;padding-bottom:86px}.nav{grid-template-columns:repeat(10,minmax(0,1fr));overflow-x:auto}.topbar{height:66px}.dashboard-grid{display:block}}
.ui-icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.nav-button svg,.icon-button svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-button span{vertical-align:middle}.nav-button span svg{display:block}.icon-button{display:grid;place-items:center}
.asset-title,.vehicle-title{display:inline-flex;align-items:center;gap:9px}.asset-icon,.vehicle-title svg{flex:0 0 auto;width:36px;height:36px;padding:5px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;border:1px solid #f0b84a45;border-radius:8px;background:#f0b84a0d}.selection .asset-icon{width:32px;height:32px}.card-top h3 .asset-title{line-height:1.25}.card-actions{align-items:stretch}.card-actions button{min-height:38px}
.campaign-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,.7fr);gap:18px;align-items:start}.campaign-scene,.campaign-context{border:1px solid var(--border);background:var(--panel);border-radius:14px;padding:24px}.campaign-scene h2{font-size:27px;margin:8px 0 18px}.campaign-copy{color:var(--text);font-size:15px;line-height:1.6;max-width:72ch}.story-prose{max-width:76ch}.story-paragraph{font-size:16px;line-height:1.72;color:#dbe3e8;margin:0 0 14px}.story-speaker{margin:20px 0 0;border-left:4px solid var(--gold);background:#0e151a;padding:14px 16px;border-radius:0 10px 10px 0}.story-speaker:empty{display:none}.story-speaker-identity{display:flex;align-items:center;gap:10px}.story-avatar{display:grid;place-items:center;width:34px;height:34px;border:1px solid #f0b84a77;background:#f0b84a12;color:var(--gold);border-radius:50%;font-size:11px;font-weight:900;letter-spacing:.5px}.story-speaker-name{font-size:16px;color:var(--gold)}.story-dialogue{font-size:17px;line-height:1.55;margin:12px 0 0;color:var(--text);font-style:normal}.choice-prompt{font-size:13px!important;text-transform:uppercase;letter-spacing:1.3px;color:var(--muted)!important;margin:24px 0 10px!important}.campaign-choices{display:grid;gap:9px}.campaign-choice{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.story-choice-button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid #34414c;background:#202a32;color:var(--text);border-radius:9px;padding:12px 14px;cursor:pointer;font-size:15px;font-weight:750;line-height:1.35}.story-choice-button:hover{border-color:var(--gold);background:#27323a}.story-choice-button:disabled{opacity:.42;cursor:not-allowed}.choice-number{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:6px;background:var(--gold);color:#17130c;font-size:12px;font-weight:900}.campaign-choice-detail{color:var(--muted);font-size:14px;line-height:1.5;margin:6px 12px 3px 52px}.campaign-facts{margin-top:14px}.campaign-facts p{border-bottom:1px solid var(--border);color:var(--muted);font-size:12px;line-height:1.45;margin:0;padding:9px 0;text-transform:none}.campaign-facts p:first-child,.campaign-facts p:nth-child(2){color:var(--text);font-weight:700}@media(max-width:900px){.campaign-layout{grid-template-columns:1fr}.campaign-context{order:2}.campaign-scene,.campaign-context{padding:16px}.story-paragraph{font-size:15px}.story-dialogue{font-size:16px}.campaign-choice-detail{margin-left:10px}}

/* Five-design comparison surface: reclaim the auxiliary columns and keep all
   established custom builds visible without horizontal scrolling. */
@media(min-width:651px){
    body:has(#view-builds.active) .app{grid-template-columns:76px minmax(0,1fr)}
    body:has(#view-builds.active) .intel{display:none}
    body:has(#view-builds.active) .nav-button{font-size:0;text-align:center}
    body:has(#view-builds.active) .nav-button span{width:auto;font-size:20px}
    #view-builds.active{display:flex;flex-direction:column;min-height:0}
    #view-builds .view-heading{margin-bottom:10px}
    #view-builds .section-block{margin-bottom:10px}
    #view-builds .section-block h2{margin-bottom:7px}
    #build-types{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
    #build-types .card{min-width:0;padding:10px;display:flex;flex-direction:column}
    #build-types .card-top{gap:5px}
    #build-types .card h3{font-size:13px;min-width:0}
    #build-types .asset-title{align-items:flex-start;gap:6px}
    #build-types .asset-icon{width:30px;height:30px;padding:4px}
    #build-types .tag{font-size:8px;line-height:1.15;padding:2px 4px;max-width:44%;overflow-wrap:anywhere}
    #build-types .meta{display:grid;gap:3px;margin:7px 0;font-size:10px;line-height:1.25}
    #build-types .card-actions{margin-top:auto}
    #build-types .primary{width:100%;min-height:32px;padding:6px;font-size:10px;line-height:1.2}
    #view-builds #monster-builds .empty{padding:12px}
}
@media(max-width:650px){#build-types{grid-template-columns:1fr}}


/* v4.7.2 — responsive story density and single-workspace layout.
   Story prose uses the available card width, but only forms two readable
   columns when the scene card itself is wide enough. */
@media(min-width:981px){
    .workspace{padding:16px clamp(16px,1.7vw,26px);scrollbar-gutter:auto}
    #view-campaign{max-width:1360px}
    .campaign-layout{grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:14px}
    .campaign-scene,.campaign-context{padding:18px}
    .campaign-scene{container-type:inline-size}
    .campaign-scene h2{font-size:clamp(23px,1.7vw,27px);margin:6px 0 14px}
    .story-prose{max-width:none}
    .story-paragraph{line-height:1.58;margin-bottom:10px}
    .story-speaker{margin-top:14px;padding:12px 14px}
    .story-dialogue{font-size:16px;line-height:1.45;margin-top:9px}
    .choice-prompt{margin:14px 0 8px!important}
    .campaign-choice-detail{line-height:1.35}
}
@container (min-width:760px){
    .story-prose:has(> .story-paragraph:nth-child(2)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;align-items:start}
    .story-paragraph{break-inside:avoid}
}
@media(min-width:1500px){
    .view{max-width:1480px}
    #view-campaign{max-width:1360px}
}
@media(min-width:981px) and (max-height:900px){
    .app{grid-template-rows:64px minmax(0,1fr)}
    .topbar{padding:7px 16px;gap:18px}
    .brand img{width:44px;height:44px}
    .brand-lockup strong{font-size:18px}
    .workspace{padding-top:12px;padding-bottom:12px}
    .view-heading{margin-bottom:10px}
    .view h1{font-size:27px}
    .campaign-scene,.campaign-context{padding:15px 17px}
    .campaign-scene h2{font-size:23px;margin:5px 0 11px}
    .story-paragraph{font-size:15px;line-height:1.5;margin-bottom:8px}
    .story-speaker{margin-top:10px;padding:10px 12px}
    .story-avatar{width:30px;height:30px}
    .story-speaker-name{font-size:15px}
    .story-dialogue{font-size:15px;line-height:1.4;margin-top:7px}
    .choice-prompt{font-size:11px!important;margin:11px 0 7px!important}
    .story-choice-button{padding:9px 11px;font-size:14px}
    .campaign-choice-detail{font-size:12px;line-height:1.3;margin-top:4px}
    .campaign-facts{margin-top:9px}
    .campaign-facts p{padding:6px 0;line-height:1.35}
}

/* v4.7.8 — preserve the one-screen campaign workspace on ordinary desktop and
   laptop widths. The intelligence rail is secondary to the active story and
   remains available through the Case and status views on narrower desktops. */
@media (min-width:981px) and (max-width:1499px){
    .app{grid-template-columns:170px minmax(0,1fr)}
    .intel{display:none}
    .nav{padding-left:9px;padding-right:9px}
    .nav-button{padding:10px 9px}
    .campaign-layout{grid-template-columns:minmax(0,1fr) minmax(230px,280px)}
}
@media (min-width:981px) and (max-width:1499px) and (max-height:900px){
    .campaign-scene,.campaign-context{padding:13px 15px}
    .story-prose:has(> .story-paragraph:nth-child(3)){columns:2 250px;column-gap:22px}
    .story-prose .story-paragraph{break-inside:avoid-column}
    .campaign-choices{gap:7px}
    .campaign-choice-detail{margin-bottom:1px}
}
@media (min-width:981px) and (max-height:900px){
    .story-choice-button{padding:7px 10px;font-size:13px;line-height:1.2}
    .choice-number{flex-basis:23px;height:23px;font-size:11px}
    .campaign-choice-detail{font-size:11px;line-height:1.2;margin:2px 6px 0 40px}
    .campaign-choices{gap:4px}
}


/* v4.7.8 — mobile, accessibility, safe-area, and load-resilience contract. */
.skip-link{position:fixed;inset-block-start:8px;inset-inline-start:8px;z-index:1000;transform:translateY(-160%);padding:10px 14px;border-radius:8px;background:var(--text);color:var(--bg);font-weight:800;text-decoration:none}.skip-link:focus{transform:none}
html,body{max-width:100%;overflow-x:hidden}.app{height:100vh;height:100dvh}.workspace,.nav,.intel{overscroll-behavior:contain}.workspace{scrollbar-gutter:auto}.card,.campaign-scene,.campaign-context,.story-choice-button,.campaign-choice-detail,.dialogue-line,.intel-card{min-width:0;overflow-wrap:anywhere;word-break:normal;hyphens:auto}.primary,.secondary,.danger-button,.icon-button,.nav-button,.story-choice-button{touch-action:manipulation}.primary,.secondary,.danger-button{min-height:44px}.icon-button{min-width:44px;min-height:44px}.command-pending [data-action],.command-pending #advance{pointer-events:none}.command-pending [data-action]{opacity:.72}
.nav-button[aria-current="page"]{background:var(--panel2);color:var(--text);box-shadow:inset 3px 0 var(--gold)}
html[dir="rtl"] .nav-button{text-align:right}html[dir="rtl"] .nav-button[aria-current="page"]{box-shadow:inset -3px 0 var(--gold)}html[dir="rtl"] .story-speaker{border-left:0;border-right:4px solid var(--gold);border-radius:10px 0 0 10px}html[dir="rtl"] .campaign-choice-detail{margin-left:0;margin-right:52px}html[dir="rtl"] .dialogue-line{border-left:0;border-right:3px solid var(--gold);border-radius:9px 0 0 9px}
@media(max-width:650px){
  body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  .app{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}
  .topbar{position:relative;top:auto;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:7px;height:60px;min-height:60px;padding:6px max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left));align-items:center}
  .brand{min-width:38px}.brand img{width:38px;height:38px;border-radius:8px}.brand-lockup{display:none}
  .stats{min-width:0;gap:8px;justify-content:start}.stats>div:not(.heat-track){min-width:0}.stats span{font-size:8px;letter-spacing:.55px}.stats strong{font-size:14px;white-space:nowrap}.stats .heat-track{display:none}
  .top-actions{gap:4px}.icon-button{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:9px}.top-actions #settings{display:grid}
  .workspace{grid-row:2;height:auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:14px max(12px,env(safe-area-inset-right)) calc(78px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));scroll-padding-bottom:calc(84px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
  .view-heading{align-items:flex-start;gap:8px;margin-bottom:12px}.view-heading>div{min-width:0}.view h1{font-size:clamp(22px,7vw,27px);line-height:1.12}.capacity{flex:0 0 auto;max-width:42%;white-space:normal;text-align:center;padding:5px 8px}
  .campaign-layout{display:block}.campaign-scene,.campaign-context{padding:14px;border-radius:11px}.campaign-context{margin-top:10px}.campaign-scene h2{font-size:clamp(21px,6.5vw,25px);line-height:1.18;margin:6px 0 12px}.story-paragraph{font-size:15px;line-height:1.56}.story-dialogue{font-size:15px;line-height:1.48}.story-speaker{margin-top:12px;padding:11px 12px}.campaign-choices{grid-template-columns:1fr!important;gap:8px}.story-choice-button{min-height:52px;padding:11px 12px;font-size:14px}.campaign-choice-detail{margin:5px 4px 2px 42px;font-size:12px;line-height:1.4}html[dir="rtl"] .campaign-choice-detail{margin:5px 42px 2px 4px}
  .nav{position:fixed;z-index:30;inset-inline:0;bottom:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(68px,1fr);grid-template-columns:none;justify-content:start;gap:2px;overflow-x:auto;overflow-y:hidden;padding:5px max(6px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));border:0;border-top:1px solid var(--line);background:#0f1419f7;backdrop-filter:blur(12px);scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .nav::-webkit-scrollbar{display:none}.nav-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:68px;min-height:54px;padding:5px 4px;font-size:9px!important;line-height:1.05;text-align:center!important;white-space:normal;scroll-snap-align:center}.nav-button span{width:auto}.nav-button span svg{width:20px;height:20px}.nav-button[aria-current="page"]{box-shadow:inset 0 3px var(--gold)}html[dir="rtl"] .nav-button[aria-current="page"]{box-shadow:inset 0 3px var(--gold)}
  .modal{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.modal-card{max-height:calc(100dvh - 20px);padding:22px 16px 16px}.toast{left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));text-align:center}
}
@media(max-width:380px){.stat-level{display:none}.stats{gap:5px}.topbar{grid-template-columns:36px minmax(0,1fr) auto;gap:5px}.top-actions{gap:2px}}
@media(max-width:650px) and (orientation:landscape){.topbar{height:54px;min-height:54px}.brand img{width:34px;height:34px}.workspace{padding-top:9px}.nav-button{min-height:48px}.nav{grid-auto-columns:minmax(64px,1fr)}}
@media(prefers-contrast:more){:root{--muted:#b9c5cc;--line:#465560}.card,.campaign-scene,.campaign-context,.icon-button,.story-choice-button{border-width:2px}}

/* v4.9.0 — visible world-time control */
.time-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 13px;border:1px solid #f4b94288;background:#f4b94218;color:var(--gold);border-radius:10px;cursor:pointer;font-weight:850;white-space:nowrap}.time-button:hover{background:#f4b94228;border-color:var(--gold)}.time-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.skip-inline{border-color:#f4b94266}.command-pending #advance{pointer-events:none;opacity:.6}@media(max-width:650px){.time-button{padding:0 9px}.time-button span{font-size:0}.time-button span::after{content:'Skip';font-size:11px}.top-actions{align-items:center}}@media(max-width:480px){#help{display:none}}
