/* Terra field terminal: a shared editorial grid, functional signals and archival typography. */
:root{--bg:#111416;--panel:#1c2023;--panel2:#262c30;--line:#485155;--muted:#b5bfc1;--ink:#f2f3ed;--cyan:#48c9d8;--gold:#efc36b;--red:#ff7d8b;--radius:0px;--ui-font:"Microsoft YaHei","PingFang SC","Noto Sans SC",sans-serif}
body{background:var(--bg);font-family:var(--ui-font);font-size:16px;color:var(--ink);background-image:radial-gradient(#ffffff10 .65px,transparent .65px);background-size:7px 7px}button,input,select,dialog,.panel,.skill,.codex-card,.route-card,.array,.compact-unit,.mission-strip,.command-pane,.info-panels>section{border-radius:0;box-shadow:none}button{transition:background .15s,border-color .15s;min-height:40px}button:hover:not(:disabled){background:#34454a;border-color:var(--cyan);transform:none}button.primary{background:var(--cyan);color:#102024;border-color:var(--cyan);font-weight:700;padding-inline:24px;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%)}button.primary:hover:not(:disabled){background:#7bdeea;color:#0d1b1e}button:focus-visible,summary:focus-visible{outline:2px solid #f2f3ed;outline-offset:3px}button:disabled{opacity:.5}input,select{background:#111618;color:#f1f3ee;border-color:#58666b;font-size:15px}a{color:#64d7e5}h1,h2,h3{font-weight:700;letter-spacing:.02em}p{line-height:1.7}.smalltext,.muted{color:var(--muted);font-size:14px}.eyebrow{font:12px/1.5 Consolas,monospace;letter-spacing:.12em;color:var(--cyan)}.gold{color:var(--gold)}.divider{background:#536066}.tag{border:1px solid #53676c;background:#223238;color:#d4eef1;font-size:12px;border-radius:0}.tag.gold{background:#352f21;color:#f1d68d;border-color:#847044}
.terminal-strip{height:23px;background:#080c0e;border-bottom:1px solid #4f5b60;color:#bcc4c5;font:12px/23px Consolas,"Microsoft YaHei",sans-serif;padding-inline:26px}.terminal-strip i{background:var(--cyan)}.topbar{background:#161a1c;border-bottom:1px solid #566269;min-height:70px;padding:12px 26px}.brand img{width:46px;height:46px}.brand strong{font-size:22px}.brand span{font:10px/1.5 Consolas,monospace;letter-spacing:.13em;color:#aebbbf}.top-actions{gap:3px}.top-actions button{border:0;border-left:1px solid #465257;background:transparent;color:#d1dcdf;font-size:14px;padding-inline:14px}.shell{max-width:1540px;padding:30px 38px}.footer{color:#aebabc;border-top:1px solid #475459;background:#161a1c;font-size:12px}.footer a{color:#b4dbe0}.pagehead{border-bottom:1px solid #627179;padding-bottom:18px}.pagehead h1{font-size:30px}.pagehead p{font-size:15px}.panel{background:#1c2326;border:1px solid #46545b;border-top:3px solid #66797f;padding:24px;position:relative}.panel h2,.panel h3{color:#f2f4ee}.panel+.panel{margin-top:18px}.panel::after{content:"";position:absolute;right:5px;top:5px;width:5px;height:5px;border-top:1px solid #9fbbc1;border-right:1px solid #9fbbc1;pointer-events:none}.sidepanel{border-top-color:var(--cyan);background:#191f22}.archive-list li{border-color:#42565c}.archive-combat-values>span{border-bottom:1px solid #415157;padding:7px 0}.stat-tier{color:#bdd5d8}.notice{background:#222a2b;border:1px solid #526970;border-left:3px solid var(--cyan);color:#d8e5e5;font-size:14px}.bar{background:#0b1317;border-radius:0}.bar i{background:#88d3c8}.bar.energy i{background:#4cb6ec}.bar.gold i{background:var(--gold)}
/* Landing: Rhodes Island key art used as a restrained in-world establishing view. */
.hero-start{gap:0;grid-template-columns:minmax(0,1.2fr) minmax(380px,1fr);border:1px solid #62727a;margin:0}.start-title{background:linear-gradient(0deg,#11181ef5 0%,#11181ecf 54%,#11181e42 100%),url('assets/prts/rhodes-day.jpg') center top/cover;min-height:560px;padding:42px;display:flex;flex-direction:column;justify-content:flex-end;border:0;position:relative}.start-title::after{display:none}.start-title .eyebrow{color:#8cdeeb}.start-title h1{font-size:52px;line-height:1.12;text-shadow:0 2px 15px #061219;margin:18px 0}.start-line{width:54px;height:5px;background:var(--cyan)}.start-title p{max-width:470px;font-size:16px;color:#dee9e9}.statsline{border-top:1px solid #6c818b;padding-top:18px;margin-top:14px;gap:32px}.statsline strong{font:38px/1.2 Consolas,monospace;color:#edf0eb}.statsline span{font-size:13px;color:#c2d9dc}.hero-start>.panel{margin:0;border:0;border-left:1px solid #61717a;background:#1b2327;padding:34px}.hero-start>.panel h2{font-size:26px;margin:12px 0 22px}.checklabel{font-size:14px}.hero-start .primary{margin-top:8px}.startfoot{border-top:1px solid #55676e;gap:0;margin-top:26px}.startfoot article{padding:20px 26px 16px 0;border-right:1px solid #46585d;margin-right:26px}.startfoot strong{font-size:18px}.startfoot p{font-size:14px;color:#bccbce}.archive-list strong{color:#eef0e9}.statblock small{font-size:12px}.statblock .bar{height:3px}.auto-progression>div{border-color:#556264;background:#252c2e}.auto-progression span{color:#c6d4d7}.journal{border-color:#41575e}.journal p{color:#bfccd0}
/* Roulette hardware: readable fixed typography around a machined radial dial. */
.origin-stage{border-bottom:1px solid #435a62;padding-bottom:12px}.origin-stage>strong{font:24px/1 Consolas,monospace;color:#dae9e8}.progress-steps span{background:#3d4e55}.progress-steps span.done{background:var(--cyan)}.wheel-window{background:#10191d;border:1px solid #6e848c;border-radius:50%;box-shadow:0 0 0 5px #202a2f,0 0 0 6px #5c7078,inset 0 0 24px #050d13}.wheel-hub{background:#152127;border:1px solid #6d8892;box-shadow:0 0 0 6px #11171acc}.wheel-hub strong{color:#e6f2ef;font-family:Consolas,monospace}.wheel-readout{background:#ecf0eb;color:#17262b;border-left:4px solid var(--cyan);border-radius:0}.readout-label{color:#42616d;font-size:12px}.readout-name{color:#14282e;font-weight:700}.wheel-tools{font-size:13px}.wheel-tools button{font-size:13px}.wheel-note{font-size:12px;color:#b0c6cc}.wheel-catalog{background:#182126;border:1px solid #516870;border-radius:0}.wheel-catalog summary{font-size:14px;color:#e9f3f2;background:#293840}.catalog-body{background:#151d21}.wheel-options li{border-color:#435760}.wheel-options li>button{background:#1d2a30;border-color:#4b6872;color:#eaf1ed;border-radius:0}.wheel-options b{font-size:14px}.wheel-options em{font-size:12px;color:#bdcbd0}.wheel-options .active>button{border-color:var(--gold);background:#3b3624}.wheel-caption{background:transparent}.wheel-caption p{font-size:14px;color:#bfced0}.wheel-caption .primary{font-size:16px;min-height:48px}.wheel-caption .next-wheel{font-size:13px}.wheel-toolbar,.wheel-tools{color:#c4d7dd}.resource-rule{background:#253b40;color:#b3e2e7;border-color:var(--cyan)}
/* Library and journey use the same registered-file heading and sober paper dividers. */
.codex-list{gap:12px}.codex-card,.route-card,.skill{background:#1b252a;border:1px solid #47606a;padding:20px}.codex-card:hover{border-color:var(--cyan)}.codex-card h3{font-size:21px;color:#f1f3ef}.codex-card p{font-size:14px;color:#b9ccd1}.codex-card .role-emblem{width:28px;height:28px;margin-right:10px}.skill h3{font-size:19px}.skill p{font-size:15px;color:#d7e4e5}.skill-meta{font-size:13px;color:#f1d390;border-top:1px solid #536166;padding-top:8px}.route-card.current{border-color:var(--cyan);background:#23393f}.route-card small{color:#c3d4d8}.route-number{font:22px/1 Consolas,monospace;color:#73d1dd}.growth-stat{background:#1d2a30;border:1px solid #516971;border-top:3px solid var(--cyan);border-radius:0}.growth-stat>span{font-size:14px}.growth-stat>strong{font-family:Consolas,monospace;color:#f2f5ec}.growth-stat b{color:#89ddc3}.growth-track{background:#10191f;border-radius:0}.growth-rating,.growth-mastery{background:#24343c;border-color:#58727d}.growth-unlock{background:#36311e;color:#ffe29a;border-color:#8f793e}.result-banner{background:#26383f;border-left:5px solid var(--cyan)}.result-cells{border:1px solid #587079}.result-cells>div{background:#1c2b31}.result-cells strong{color:#89d9e3}.growth-actions p{font-size:14px;color:#c8d8dc}
/* Tactical view: distinct allied telemetry, enemy dossiers, and a white personnel file. */
.in-combat .topbar{background:#131b20}.in-combat .top-actions button{font-size:12px}.in-combat main.shell{padding:10px 16px}.mission-strip{background:#1a252a;border:1px solid #586c73;border-left:4px solid var(--gold);padding:10px 16px}.mission-strip h2{font-size:20px}.mission-strip p{font-size:14px;color:#bccdd2}.mission-goal{font-size:14px;color:#f1d799}.mission-strip small{font-size:12px;color:#a8c0c8}.battle-tools button{background:#273b42;border-color:#58757f;font-size:13px}.combat-center{gap:10px;grid-template-columns:minmax(0,1fr) minmax(430px,39%)}.arena{gap:10px}.array{background:#141d21;border-color:#526f77}.array-heading{background:#253941;color:#d5ebef;border-color:#587982;font-size:14px;padding:8px 12px}.array:first-child{border-color:#88515a}.array:first-child .array-heading{background:#352126;color:#ffb0b9;border-color:#88515a}.unit-list{gap:8px}.compact-unit{background:#24343a;border-color:#547782;border-top:2px solid var(--cyan);padding:12px;position:relative}.compact-unit.enemy{background:#302327;border-color:#76505b;border-top-color:#d97582}.compact-unit.current{border-color:var(--gold);box-shadow:inset 3px 0 var(--gold)}.compact-unit.target{outline-color:#83e1eb}.unit-title strong{font-size:16px;max-width:65%;display:flex;align-items:center;gap:6px}.role-emblem{width:22px;height:22px;object-fit:contain;opacity:.85}.unit-title small{font-size:12px;color:#e0d0ab}.unit-hp{font-size:13px;color:#c2d5d9}.compact-unit .intent{font-size:13px;line-height:1.5;color:#f1c0c7}.compact-unit .statusrow{font-size:12px}.compact-unit .statusrow span{background:#203c43;border-color:#5e808b;color:#dce8e7}.compact-unit.enemy .statusrow span{background:#482a32;border-color:#9a6673}.summon-label{font-size:12px;color:#b8ccd1}.info-panels{gap:10px}.info-panels>section{background:#1d2b32;border-color:#58737d;padding:12px}.info-panels h3{font-size:14px;color:#e3eef0}.skill-descriptions strong{font-size:14px;line-height:1.5}.skill-descriptions article p{font-size:14px;line-height:1.6;color:#d7e3e6}.skill-descriptions small{font-size:12px;color:#f0d299;white-space:normal}.skill-descriptions .highlight{background:#2b414b;border-color:var(--cyan)}.in-combat .info-panels{grid-template-rows:minmax(245px,1.15fr) minmax(80px,1fr)}.battle-file{background:#e9efeb!important;color:#1e333b!important;border-color:#9aacac!important}.battle-file h3{color:#203a43}.battle-file>strong{color:#254c58;font-size:14px}.battle-file p{color:#35555f;font-size:12px}.file-values{gap:5px;font-size:13px}.file-values>span{color:#2b4c57}.file-values b{color:#12272f;font-family:Consolas,monospace;font-size:15px}.in-combat .file-values .stat-tier{color:#496e7b;font-size:12px}.battle-file h3 button{color:#294e5b;background:#d0ddda;border:1px solid #9ab3b9;min-height:32px;font-size:12px}.log-pane .battle-log{font-size:13px;color:#c6d5da}.log-pane .damage{color:#ffb0bd}.log-pane .battle-log span{font-size:12px;color:#90aeb9}.command-pane{background:#172b34;border-color:#51737f;border-top:3px solid var(--cyan);padding:10px 14px}.command-heading{font-size:14px}.command-heading span{font-size:12px}.action-buttons button{background:#29424d;border-color:#5c7984;font-size:14px;min-height:48px}.action-buttons button.selected{background:#406d75;color:#f3ffff;border-color:#6fe0e8}.action-buttons button small{font-size:12px;color:#bcd6df}.action-buttons button:nth-child(2)::before,.action-buttons button:nth-child(3)::before,.action-buttons button:nth-child(4)::before{content:"";display:inline-block;width:17px;height:17px;background:url('assets/prts/caster.png') center/contain no-repeat;vertical-align:middle;margin-right:5px}.aux-controls{gap:10px}.aux-controls button,.aux-controls label{font-size:12px;min-height:36px}.aux-controls select{font-size:12px;background:#203b47}.unit-resource{display:flex;align-items:center;gap:10px;margin-top:8px;border-top:1px solid #68808a;padding-top:7px;font-size:13px;color:#d0e8ec}.unit-resource strong{color:#f6d68d;font:700 18px/1.1 Consolas,monospace;white-space:nowrap}.unit-resource strong small{font-size:12px;color:#b6cdd4}.resource-pips{display:flex;gap:3px;flex:1;justify-content:flex-end;max-width:150px}.resource-pips i{flex:1;height:7px;max-width:18px;background:#10252c;border:1px solid #61747a;transform:skewX(-15deg)}.resource-pips i.filled{background:#efc570;border-color:#efc570}.battle-file .unit-resource{color:#214d5a;margin-top:5px;padding-top:5px}.battle-file .unit-resource strong{color:#245b6b}.battle-file .unit-resource strong small{color:#527380}.battle-file .resource-pips i{background:#bdd1d5;border-color:#7c9ba2}.battle-file .resource-pips i.filled{background:#28768b;border-color:#28768b}.live-resources>div{background:#263c45;border-color:#698a94}.resource-rule{font-size:14px}.in-combat .brand img{width:32px;height:32px}.in-combat .brand strong{font-size:18px}
.resource-delta{font:700 15px/1 Consolas,monospace;color:#ffe496;position:absolute;right:12px;bottom:39px;pointer-events:none}
/* Central leader cut-in: its own scrim captures clicks; no decorative layer covers text. */
.leader-layer{position:fixed;inset:0;display:grid;place-items:center;z-index:1001;background:#03090dde;pointer-events:auto;color:#edf4ef;cursor:pointer;animation:scrim-in .15s ease-out}.leader-cut{position:relative;width:min(720px,92vw);padding:32px 44px;border-block:1px solid #5fc2d1;background:#121d25;box-shadow:0 24px 90px #0008;overflow:hidden;text-align:left}.leader-cut::before{content:"";position:absolute;top:0;bottom:0;left:0;width:6px;background:var(--cyan)}.leader-cut.enemy{border-color:#c54053;background:#241319}.leader-cut.enemy::before{background:#d41e3f}.leader-cut small{font:14px/1.4 Consolas,monospace;letter-spacing:.15em;color:#8bced9}.leader-cut .leader-announcement{display:block;font-size:22px;letter-spacing:.16em;color:#85d8e2;margin:14px 0 8px}.leader-cut.enemy small{color:#e17c8d}.leader-cut.enemy .leader-announcement{color:#ef2045;text-shadow:0 0 25px #a61a3066}.leader-cut .leader-name{display:block;font-size:48px;line-height:1.3;color:#f2f4ed}.leader-cut .leader-grade{display:block;color:#dac894;font-size:16px;margin-top:12px}.leader-cut .leader-dismiss{display:block;font-size:12px;color:#acb8bc;margin-top:24px}.leader-cut .leader-index{position:absolute;right:26px;top:26px;font:60px/1 Consolas,monospace;color:#8fb3c026}.leader-signal{height:3px;background:#35575f;margin-top:20px}.leader-signal i{display:block;height:100%;background:var(--cyan);animation:leader-timer 2s linear forwards}.enemy .leader-signal{background:#54222c}.enemy .leader-signal i{background:#e42949}@keyframes leader-timer{to{width:0}}@keyframes scrim-in{from{opacity:0}to{opacity:1}}
dialog{background:#1b282e;border:1px solid #78949e;color:#e6f0ef;padding:28px}dialog::backdrop{background:#050b10d9}.modal-head h2{color:#f3f5ef}.help p{font-size:15px}.help h3{border-left:3px solid var(--cyan);padding-left:12px}.table{font-size:14px}.table td,.table th{border-color:#526970}.table th{background:#30454d;color:#eff4f0}#toast{background:#e9f0eb;border-left:4px solid var(--cyan);color:#153441;font-size:14px}
@media(max-width:1100px) and (min-width:761px){.combat-center{grid-template-columns:minmax(0,1fr) minmax(370px,42%)}.shell{padding:24px}.brand strong{font-size:18px}.top-actions button{padding-inline:9px;font-size:13px}.unit-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.unit-title strong{font-size:14px}}
@media(max-width:760px){body{font-size:16px}.shell{padding:16px}.terminal-strip{font-size:12px;height:20px;line-height:20px;padding-inline:14px}.topbar{padding:12px 14px}.brand strong{font-size:20px}.brand span{font-size:10px}.brand img{width:36px;height:36px}.top-actions button{min-height:44px;font-size:13px;padding:5px;border-left:0}.hero-start{grid-template-columns:1fr}.start-title{min-height:350px;padding:26px}.start-title h1{font-size:40px}.start-title p{font-size:15px}.statsline strong{font-size:29px}.hero-start>.panel{padding:24px;border-left:0;border-top:1px solid #607780}.startfoot{margin-top:20px}.startfoot article{padding:18px 0;margin:0;border-right:0;border-bottom:1px solid #445c64}.pagehead h1{font-size:25px}.pagehead p{font-size:14px}.panel{padding:18px}.smalltext,.wheel-caption p{font-size:14px}.wheel-caption{background:#1c272d}.wheel-tools button,.wheel-catalog summary{font-size:14px}.in-combat .terminal-strip{font-size:10px;height:18px;line-height:18px}.in-combat .topbar{height:48px;min-height:48px;padding:3px 8px}.in-combat .brand strong{font-size:12px}.in-combat .brand img{width:26px;height:26px}.in-combat .top-actions button{font-size:12px;min-width:44px;min-height:44px;padding:4px}.in-combat .top-actions button:first-child{font-size:11px}.in-combat main.shell{padding:6px}.combat-screen{gap:6px}.mission-strip{padding:7px 8px}.mission-strip h2{font-size:15px}.mission-strip p{font-size:12px}.mission-goal{font-size:12px}.mission-strip small{font-size:12px}.battle-tools button{font-size:12px;min-height:32px}.combat-center{grid-template-columns:1fr;grid-template-rows:minmax(140px,.85fr) minmax(285px,1.15fr);gap:6px}.arena{gap:6px}.array-heading{font-size:13px;padding:5px 7px}.array-heading small{font-size:12px}.unit-list{gap:5px;padding:5px}.compact-unit{padding:7px}.unit-title strong{font-size:13px;max-width:60%;gap:3px}.unit-title small{font-size:11px}.role-emblem{width:17px;height:17px}.unit-hp{font-size:12px;margin:4px 0}.compact-unit .intent{font-size:12px}.compact-unit .statusrow,.summon-label{font-size:11px}.unit-resource{font-size:12px;gap:5px;padding-top:5px;margin-top:5px}.unit-resource strong{font-size:16px}.resource-pips{gap:2px;max-width:68px}.resource-pips i{height:5px}.info-panels{gap:6px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.in-combat .info-panels{grid-template-rows:minmax(215px,1fr) minmax(60px,.35fr)}.info-panels>section{padding:7px}.info-panels h3{font-size:13px}.skill-descriptions strong{font-size:13px}.skill-descriptions small{font-size:12px}.skill-descriptions article p{font-size:13px;line-height:1.55}.battle-file>strong{font-size:12px}.battle-file p{font-size:12px;margin:3px 0}.file-values{font-size:12px;gap:3px;grid-template-columns:repeat(2,1fr)}.file-values>span{grid-template-columns:1fr;gap:0}.file-values b{font-size:14px}.in-combat .file-values .stat-tier{font-size:11px}.battle-file h3 button{font-size:12px;min-height:28px}.battle-file .inspect-line{font-size:12px}.log-pane .battle-log{font-size:12px}.log-pane .battle-log span{font-size:11px}.command-pane{padding:6px 7px}.command-heading{font-size:12px}.command-heading span{font-size:11px}.action-buttons{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.action-buttons button{font-size:12px;min-height:44px;padding:4px}.action-buttons button small{font-size:11px}.action-buttons button:nth-child(n)::before{display:none}.aux-controls{gap:5px}.aux-controls button,.aux-controls label{font-size:11px;min-height:30px}.aux-controls select{font-size:11px;min-height:30px;max-width:100px}.live-resources>div{font-size:12px;padding:4px 6px}.live-resources strong{font-size:19px}.leader-cut{padding:28px 24px}.leader-cut .leader-name{font-size:36px}.leader-cut .leader-announcement{font-size:20px}.leader-cut small{font-size:12px}.leader-cut .leader-grade{font-size:14px}.leader-cut .leader-index{font-size:42px}.growth-stat>span{font-size:14px}.growth-stat small,.growth-stat .stat-tier{font-size:12px}.growth-hero p,.growth-actions p{font-size:13px}.footer{font-size:12px}}
@media(max-width:760px) and (max-height:750px){.combat-center{grid-template-rows:minmax(110px,.7fr) minmax(250px,1.3fr)}.in-combat .info-panels{grid-template-rows:minmax(205px,1fr) minmax(40px,.2fr)}.mission-strip p,.battle-file .inspect-line{display:none}.file-values{gap:1px}.compact-unit .statusrow{max-height:none}.command-heading span{display:none}.aux-controls{margin-top:4px}}
.unit-list{grid-template-rows:none;grid-auto-rows:max-content;align-content:start}.compact-unit{height:auto;min-height:max-content}.in-combat .arena{grid-template-rows:minmax(0,1fr) minmax(210px,1fr)}.compact-unit{padding:8px 10px}.compact-unit .unit-hp{margin:4px 0}.compact-unit .unit-resource{margin-top:5px;padding-top:5px}.compact-unit .statusrow{margin-top:4px}.in-combat .battle-file{overflow:auto}
@media(max-width:760px){.in-combat .arena{grid-template-rows:1fr;grid-template-columns:1fr 1fr}.compact-unit{padding:7px}.unit-list{display:flex;flex-direction:column}.compact-unit{flex:none}}
@media(max-width:760px){.battle-file .file-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 3px}.battle-file .file-values>span{font-size:12px;line-height:1.25}.battle-file .file-values b{font-size:14px;line-height:1.25}.battle-file .inspect-line{display:none}.battle-file .unit-resource{font-size:12px;gap:4px;padding-top:3px;margin-top:3px}.battle-file .unit-resource strong{font-size:16px}.in-combat .info-panels{grid-template-rows:minmax(225px,1fr) minmax(60px,.3fr)}.battle-file h3{margin-bottom:4px}.battle-file p{margin:2px 0}.in-combat .brand strong{font-size:12px}.in-combat .top-actions button:first-child{max-width:54px;line-height:1.25}}
.in-roulette .wheel-caption{position:static;background:transparent}.wheel-area{overflow:visible}
@media(prefers-reduced-motion:reduce){.leader-layer{animation:none}.leader-signal i{animation:none}.panel,button{transition:none}}body[data-motion=reduced] .leader-layer{animation:none}
