/* Hallmark · genre: atmospheric · tone: tactical science fiction · anchor: terminal teal · macrostructure: Horizontal roster + floating archive */
:root{--color-terminal-page:#081519;--color-terminal-panel:#0d2023;--color-terminal-raised:#10272a;--color-terminal-rule:#2b5754;--color-terminal-ink:#eafaf3;--color-terminal-muted:#91b6ad;--color-terminal-accent:#79dcb7;--color-terminal-signal:#f0d18a;--space-terminal-xs:4px;--space-terminal-sm:8px;--space-terminal-md:12px;--space-terminal-lg:18px;--space-terminal-xl:24px;--radius-terminal:2px}.native-lobby,.native-game{max-width:1560px;margin:auto;padding:24px;color:#dce9e5}.native-lobby{color:#243e36;background:#d2e0d9;min-height:100vh}.native-lobby header,.native-top{display:flex;align-items:center;gap:18px;justify-content:space-between}.native-lobby h1{font-size:64px;letter-spacing:8px;margin:40px 0 20px}.native-lobby h1 span{display:block;font-size:30px;letter-spacing:12px;margin-top:10px}.native-lobby button,.native-lobby select{color:#27483e;background:#edf2eb;border:1px solid #a2bdb0}.native-setup{display:grid;grid-template-columns:320px minmax(0,1fr);gap:40px}.native-setup h2{font-size:18px;margin:24px 0 12px}.native-setup select{width:100%;padding:12px}.native-setup p{line-height:1.8;font-size:13px}.native-setup>section:first-child>button,.native-setup>section:first-child>a{display:block;width:100%;margin-top:12px;padding:14px}.native-primary{background:#57cfaa!important;color:#0c2920!important;font-weight:700;border-color:#57cfaa!important}.native-strategies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:650px;overflow:auto}.native-strategies>button{display:flex;gap:12px;align-items:flex-start;padding:14px;text-align:left}.native-strategies img{width:52px;height:64px;object-fit:contain}.native-strategies small{display:block;margin:6px 0}.native-strategies p{font-size:11px;margin:0;white-space:pre-line}.native-lobby .chosen{border:2px solid #278665;background:#e1f0e5}.native-lobby footer{padding:30px 0;font-size:11px}.native-top{border-bottom:1px solid #47665c;padding-bottom:16px;font-size:13px;flex-wrap:wrap}.native-top strong{font-size:19px}.native-top button{padding:8px 12px}.native-workspace{display:grid;grid-template-columns:120px minmax(0,1fr) 250px;gap:18px;margin-top:18px}.native-bonds{display:flex;flex-direction:column;gap:8px;max-height:680px;overflow:auto}.native-bonds button{text-align:left;border-left:3px solid #53675f;padding:10px;opacity:.65}.native-bonds button.active{border-left-color:#62d7b2;opacity:1;color:#a8efd6}.native-bonds span,.native-bonds small{display:block;font-size:10px;margin-top:5px}.native-field-caption,.native-controls,.native-bench-label{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;font-size:12px}.native-field-caption b{font-size:16px}.native-field{min-width:0}#native-canvas{display:block;width:100%;height:clamp(290px,49vh,510px);touch-action:none;border:1px solid #42685c}.native-controls{justify-content:flex-end;flex-wrap:wrap}.native-controls .chosen{color:#70ebc0;border-color:#70ebc0}.native-bench-label span{color:#8eb4a7;font-size:10px}.native-bench{display:flex;gap:7px;overflow-x:auto;min-height:98px;padding:4px}.native-bench button{position:relative;flex:0 0 68px;min-width:0;height:94px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;touch-action:none}.native-bench img{width:58px;height:62px;object-fit:cover;pointer-events:none}.native-bench b{font-size:10px}.native-bench .chosen{outline:2px solid #69dbae}.native-detail{font-size:12px;line-height:1.7;max-height:680px;overflow:auto;padding:0 12px;background:#152622}.native-detail h3{font-size:17px;margin:18px 0 10px}.native-detail p{white-space:pre-line}.native-detail select{width:100%;font-size:12px;padding:9px}.native-detail button{font-size:11px;padding:8px;margin:4px 0}.native-shop{margin-top:16px;border-top:1px solid #58786b;padding-top:12px}.native-shop>div:first-child{display:flex;gap:10px;align-items:center;margin-bottom:10px}.native-shop h2{font-size:18px;margin:0 auto 0 0}.native-shop-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.native-shop-cards button{min-width:0;display:flex;flex-direction:column;align-items:center;padding:8px;border-color:#a4996b;min-height:158px}.native-shop-cards img{height:100px;width:100%;object-fit:contain;pointer-events:none}.native-shop-cards strong{font-size:15px;margin-top:4px}.native-shop-cards small{color:#f0d18a;font-size:12px;margin:4px}.native-shop-cards p{font-size:10px;margin:3px 0;line-height:1.5}.native-item-icon{display:grid;place-content:center;font-size:44px;min-height:70px;color:#d4c293}.native-empty{display:grid;place-content:center;border:1px solid #334d43;color:#5c8273}.native-facing{padding:10px;background:#1d4034;font-size:12px}.native-facing[hidden]{display:none}.native-facing button{padding:5px 10px;margin:3px}.native-modal{position:fixed;inset:0;z-index:100;background:#06120fd9;display:grid;place-items:center;padding:20px}.native-modal>section{position:relative;width:min(750px,100%);max-height:88vh;overflow:auto;border:1px solid #5d8877;padding:30px;background:#172924;color:#e0eee7}.native-modal p,.native-modal li{line-height:1.8;font-size:13px;white-space:pre-line}.native-close{position:absolute;right:12px;top:12px}.native-rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.native-rewards button{display:flex;flex-direction:column;align-items:center;padding:14px}.native-rewards img{width:100px;height:100px;object-fit:contain}.native-total{font-size:50px;color:#62dbb1;font-variant-numeric:tabular-nums}.native-result-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #325145}.native-game button,.native-modal button{touch-action:manipulation}.native-bench button{touch-action:none}.native-lobby button{touch-action:manipulation}
@media(max-width:1000px){.native-workspace{grid-template-columns:95px minmax(0,1fr)}.native-detail{grid-column:1/-1;max-height:220px}.native-strategies{grid-template-columns:minmax(0,1fr)}.native-setup{grid-template-columns:260px minmax(0,1fr)}.native-game{padding:12px}.native-top{gap:8px}.native-shop-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.native-lobby{padding:18px}.native-lobby h1{font-size:40px}.native-lobby h1 span{font-size:22px;letter-spacing:5px}.native-setup{display:block}.native-strategies{max-height:430px}.native-workspace{display:flex;flex-direction:column;gap:8px}.native-bonds{flex-direction:row;max-height:95px;overflow:auto}.native-bonds button{min-width:80px}.native-detail{max-height:200px}.native-top strong{font-size:14px}.native-top button{font-size:10px}.native-shop-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.native-shop-cards img{height:65px}.native-shop-cards button{min-height:125px}.native-shop-cards strong{font-size:12px}.native-shop>div:first-child{gap:4px;flex-wrap:wrap}.native-shop h2{font-size:15px}.native-shop button{font-size:11px;padding:6px}.native-bench-label span,.native-bench-label #native-drop-hint{display:none}.native-rewards{grid-template-columns:1fr}.native-modal>section{padding:22px}.native-rewards button{flex-direction:row;gap:12px}.native-total{font-size:38px}}
.native-terrain-legend{display:flex;flex-wrap:wrap;gap:8px 14px;padding:2px 0 10px;color:#c0d4cc;font-size:11px}.native-terrain-legend>span{display:inline-flex;align-items:center;gap:5px}.native-terrain-legend i{display:inline-block;width:15px;height:11px;border:1px solid #788f92}.native-terrain-legend .terrain-high{border-bottom:4px solid #345364;height:14px}
/* 地块色板：战场图例与战前简报的地图缩略图共用（这里只放颜色，尺寸各自定）。 */
.terrain-high{background:#94abb5;border-color:#d0e1e5}.terrain-ground{background:#354b51;border-color:#788f92}.terrain-isolated{background:#354b51;border-color:#c9a575;box-shadow:inset 0 0 0 1px #a8875b}.terrain-corridor{background:#1b4e59;border-color:#63dce4;box-shadow:inset 0 0 0 2px #102d36}.terrain-blocked{background:repeating-linear-gradient(135deg,#142127,#142127 3px,#42545c 4px,#142127 5px);border-color:#788f92}.terrain-entry{background:#834536;border-color:#efa377}.terrain-goal{background:#346d7c;border-color:#89d7e6}
/* 特殊地块与地图装置（PRTS《卫戍协议：盟约 下半/战场一览》）：色板与画布上的地块/装置一致。 */
.terrain-water{background:linear-gradient(#123c52,#0a2233);border-color:#63d3ee}
.terrain-mire{background:linear-gradient(#2b3a24,#16210f);border-color:#9fbf78}
.terrain-originium{background:linear-gradient(#3a2028,#241a26);border-color:#ffb066;box-shadow:inset 0 0 3px #ff8a40}
.terrain-vent{background:repeating-linear-gradient(#2b3238,#2b3238 2px,#c9d6dc 3px,#2b3238 4px);border-color:#98a6ae}
.terrain-wind{background:#123040;border-color:#8fe6ff}
.terrain-platform{background:repeating-linear-gradient(90deg,#7a5a33,#7a5a33 3px,#9c7442 4px);border-color:#d8b071}
.terrain-mound{background:#6b6154;border-color:#efe0c4}.native-terrain-legend .terrain-mound{clip-path:polygon(10% 100%,40% 0,70% 100%)}
.terrain-sealed{background:#161f24;border-color:#b9c7cd}
.terrain-achplat{background:#a4b7bd;border-color:#e7d7a8}
.terrain-bush{background:#2f6b3c;border-color:#a9dfb4}.native-wave-preview{margin:12px 0 18px;border:1px solid #577b6c;padding:10px;background:#1c332b}.native-wave-preview h3{margin:0 0 8px;font-size:14px}.native-wave-preview>div{border-top:1px solid #375447;padding:8px 0}.native-wave-preview span,.native-wave-preview small{display:block;color:#b5cec2;font-size:11px}.native-wave-preview strong{display:block;color:#d6f7e4;font-size:25px}.native-wave-preview strong small{display:inline;font-size:12px}.native-bench.drop-target{outline:2px solid #7af0bd;background:#2d584547}.native-bench.drop-blocked{outline:2px solid #f28e79;background:#713c3940}.native-drag-ghost{position:fixed;z-index:150;pointer-events:none;width:56px;height:64px;opacity:.85;border:2px solid #c6f6dd;background:#203b30;box-shadow:0 6px 16px #0009}.native-drag-ghost img{width:100%;height:100%;object-fit:contain;pointer-events:none}.native-bench{scrollbar-gutter:stable}.native-unit-live{padding:8px 0;font-variant-numeric:tabular-nums;color:#bee5d0}@media(max-width:600px){.native-terrain-legend{font-size:10px;gap:6px 10px}.native-bench-label #native-drop-hint{display:inline;font-size:9px;max-width:65%;text-align:right}.native-wave-preview{margin-top:8px}.native-wave-preview>div{display:inline-block;vertical-align:top;margin-right:15px}.native-wave-preview strong{font-size:21px}}
.native-wave-tags{margin:0 0 8px;color:#d6f7e4;font-size:12px;letter-spacing:.04em}.native-wave-preview small{line-height:1.6}
.native-branch-catalog{display:grid;gap:8px}.native-branch-catalog details{border:1px solid #466c5c;padding:12px}.native-branch-catalog summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px}.native-branch-catalog summary span{font-size:11px;color:#accbbe}.native-branch-catalog a{font-size:12px}.native-branch-catalog p{white-space:pre-line}@media(max-width:600px){.native-branch-catalog summary{flex-direction:column;gap:4px}}
.native-home{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:48px;align-items:start}.native-home h2,.native-briefing h2{font-size:18px;margin:24px 0 12px}.native-home select{width:100%;padding:12px}.native-home p,.native-briefing>p{line-height:1.8;font-size:13px}.native-home button,.native-home a{display:block;width:100%;margin-top:12px;padding:14px}.native-tags{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:8px 0 28px}.native-tags article{padding:16px;background:#edf2eb;border:1px solid #a2bdb0}.native-tags b{display:block;font-size:22px}.native-tags small{display:block;margin:6px 0;font-size:11px;opacity:.7}.native-tags p{margin:0;font-size:13px;line-height:1.6}.native-briefing .native-strategies{max-height:480px}
/* 战前简报：地图缩略图排在「本局特训」词条右侧（`.with-map` 给词条容器补一列，颜色走上面的 .terrain-* 色板）。 */
.native-tags.with-map{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(170px,220px);align-items:start}
.native-briefing-tagline{display:flex;align-items:center;justify-content:space-between;gap:14px}.native-briefing-boss{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid #a97a4e;border-radius:8px;background:#2a2020;color:#f5d6b8}.native-briefing-boss small{font-size:10px;letter-spacing:.08em;color:#f4a776}.native-briefing-boss img{width:34px;height:34px;object-fit:contain}.native-briefing-boss b{font-size:13px}
.native-briefing-map{display:flex;flex-direction:column;gap:6px;padding:12px;color:#cfe7de;background:#0d2023d9;border:1px solid #386764;box-shadow:0 14px 40px #0002}
.native-briefing-map b{font-size:14px;color:#edfdf6}
.native-briefing-map small{color:#80b5ab;font-family:var(--mono,'Arial Narrow',sans-serif);font-size:10px;letter-spacing:.05em}
.native-map-thumb{display:grid;grid-template-columns:repeat(var(--cols),1fr);grid-template-rows:repeat(var(--rows),1fr);gap:2px;width:100%;max-width:220px;padding:6px;background:#071216;border:1px solid #2c5352}
.native-map-thumb i{display:block;aspect-ratio:1;border-width:1px;border-style:solid;border-color:#788f9266;border-radius:1px}
.native-begin{display:block;width:100%;margin:18px 0 40px;padding:16px;font-size:16px}@media(max-width:1000px){.native-home{grid-template-columns:1fr}.native-tags{grid-template-columns:1fr}.native-tags.with-map{grid-template-columns:minmax(0,1fr)}}
.native-status{display:flex;gap:36px;align-items:flex-end;margin:16px 0 0;padding:14px 20px;background:#101f1b;border:1px solid #577b6c;font-variant-numeric:tabular-nums}.native-status small{display:block;margin-bottom:4px;font-size:11px;letter-spacing:.14em;color:#8eb4a7}.native-status b{font-size:36px;line-height:1;font-weight:700;color:#e9fff7}.native-status b i{font-style:normal;font-size:.52em;font-weight:600;opacity:.72}.native-status .hp{color:#57cfaa}.native-status .funds{color:#f0d18a}.native-wave-preview{height:212px;overflow:hidden}.native-wave-preview>.native-wave-faces{display:flex;flex-wrap:wrap;align-content:flex-start;width:100%;height:140px;margin-top:6px;padding:0;overflow:hidden;background:#0f1e1a;border:1px solid #375447}.native-wave-faces img,.native-wave-faces .native-wave-miss{width:var(--face,36px);height:var(--face,36px);flex:0 0 var(--face,36px);object-fit:contain}.native-wave-faces .native-wave-miss{display:grid;place-content:center;color:#8eb4a7}
.native-game{position:relative}
.native-top,.native-status,.native-shop{position:relative;z-index:9}
/* 战斗中计数器：贴在场景窗体（.native-field）的标题行里，紧凑一行、靠右，不再占页面顶部一整条。
   左=当前回合，中=击杀敌人/当轮敌人总数（衍生敌人不计击杀数），右=剩余生命值；数值由 updateHud 刷新，口径走 protocol.battleTally。 */
.native-field-caption{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.native-battle-bar{margin-left:auto;display:flex;align-items:center;gap:6px;padding:2px 4px;border:1px solid #33544e;background:linear-gradient(90deg,#081416f2,#0e2426f0,#081416f2);color:#dff3ec}
.native-bb-seg{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border:1px solid #33544e;background:#0c1e1dcc;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);font:700 15px/1.1 var(--mono,monospace);font-variant-numeric:tabular-nums}
.native-bb-seg em{font:500 10px/1 var(--mono,monospace);font-style:normal;letter-spacing:.08em;color:#a9c8bd}
#native-bb-round{padding:0 5px;background:#d9e8e2;color:#0a1a18;font-size:13px}
.native-bb-core{border-color:#d0743c;background:linear-gradient(180deg,#3d230bee,#5a3210d9);box-shadow:0 0 10px #ff8a3d26;color:#fff2e4}
.native-bb-slash{font-style:normal;color:#ff8a3d99}
.native-bb-accent{color:#ffa254}
.native-bb-icon{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:#ffb072;stroke-width:1.8;stroke-linejoin:round}
.native-bb-icon-hp{width:13px;height:13px;stroke:#57cfaa}
#native-bb-hp{color:#7fe7c4}
@media (max-width:600px){.native-bb-seg{padding:1px 5px;font-size:13px}.native-bb-seg em{display:none}}
 .native-shop-cards .chosen{outline:2px solid #69dbae}.native-shop-cards .native-shop-frozen{border:2px solid #e4fbff!important;outline:1px solid #55cfff;box-shadow:inset 0 0 0 1px #3aa8e8,0 0 8px #55cfff,0 0 16px #d8fbff;animation:native-shop-frozen-pulse 1.4s ease-in-out infinite alternate}
 @keyframes native-shop-frozen-pulse{from{box-shadow:inset 0 0 0 1px #3aa8e8,0 0 5px #55cfff,0 0 10px #d8fbff}to{box-shadow:inset 0 0 0 1px #e4fbff,0 0 10px #55cfff,0 0 20px #d8fbff}}
.native-dossier{position:absolute;z-index:8;inset:64px auto 0 0;width:min(540px,64%);pointer-events:none;background:linear-gradient(90deg,#061014f7 0%,#061014ee 34%,#06101488 62%,#06101400 100%)}
.native-dossier-body{pointer-events:auto;position:relative;width:min(292px,88%);max-height:calc(100% - 12px);overflow:auto;padding:8px 18px 28px 10px;color:#e6f3ee;font-size:13px;line-height:1.65}
.native-dossier-close{position:absolute;top:4px;right:4px;z-index:1;width:32px;height:32px;padding:0;border-color:#5d7a70;color:#cfe6dc}
.native-dossier-art{position:absolute;left:4px;top:8px;width:250px;height:340px;pointer-events:none;opacity:.5;-webkit-mask-image:linear-gradient(90deg,#000 42%,transparent 92%),linear-gradient(#000 72%,transparent);mask-image:linear-gradient(90deg,#000 42%,transparent 92%),linear-gradient(#000 72%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.native-dossier-art img{width:100%;height:100%;object-fit:contain;object-position:left center;filter:drop-shadow(0 12px 28px #000c)}
/* PC：档案高度截止在整备区上方并自身滚动。档案若压到下方整备区，会把干员卡和装备卡一起挡住 */
.native-dossier{max-height:calc(100vh - 556px);min-height:180px;overflow:hidden}
.native-dossier-body{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
/* 海猫模式：资金显示为彩色 ALL */
.native-funds-all{background-image:linear-gradient(90deg,#ff6b6b,#ffd166,#7af0bd,#63dce4,#b28dff,#ff8fd0);background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;font-weight:800;letter-spacing:.08em}
/* 装备位可以点开道具详情；销毁按钮统一在道具详情里（.native-dossier-acts 的方形按钮） */
.native-bench>[data-act="item"]{position:relative}
button.native-equipment-slot{font:inherit;text-align:left;white-space:normal;color:#c4dcd2}
button.native-equipment-slot:hover{border-color:#78e6bd;background:#17362d}
/* 海猫模式的库存面板 */
.native-stock{max-height:52vh;overflow:auto;margin-top:6px;padding-right:4px}
.native-stock-tier{margin:12px 0 6px!important;color:#8eb4a7}
.native-stock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:4px 8px}
.native-stock-row{display:flex;align-items:baseline;gap:5px;padding:3px 6px;border:1px solid #2f4d45;background:#0d1f1c;font-size:12px}
.native-stock-row b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:#d9ece4}
.native-stock-row i{font-style:normal;color:#8fe0bd;font-variant-numeric:tabular-nums}
.native-stock-row small{color:#7e9c92;font-size:10px}
.native-stock-row.is-empty{border-color:#6b3038;background:#220f13}
.native-stock-row.is-empty i{color:#f08a94}
.native-dossier-item{position:static;opacity:1;width:auto;height:120px;margin:4px 0 8px;display:grid;place-content:center;font-size:72px;color:#e4d39a;-webkit-mask-image:none;mask-image:none}
.native-dossier h2{margin:0 0 2px;font-size:28px;letter-spacing:.06em;color:#f3fff9}
.native-dossier-kicker{margin:0 0 8px;color:#9ec4b6;font-size:12px}
.native-dossier-hp{margin:0 0 8px;font-size:15px;color:#cde8dc}
.native-dossier-hp b{font-size:34px;line-height:1;color:#57cfaa;font-variant-numeric:tabular-nums}
.native-dossier-hp i{font-style:normal;color:#8eb4a7;font-size:18px}
.native-dossier-stats{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin:0 0 12px;color:#d6ece3;font-size:12px}
.native-dossier h3{margin:14px 0 6px;font-size:13px;letter-spacing:.16em;color:#8eb4a7;font-weight:600}
.native-dossier p{margin:0 0 8px;white-space:pre-line;color:#d5e8df}
.native-dossier-skill-name{color:#f0d18a;font-weight:600}
.native-dossier-sync{margin:0 0 8px;color:#8fd8c0;font-size:11px;line-height:1.6}
/* 卫戍效果的触发时机（【获得时】【战斗中】…）：原表把时机写在描述里、以前被富文本去标签吃掉了 */
.native-garrison-when{color:#8fd8c0}
.native-dossier label{display:block;margin:0 0 8px;color:#9ec4b6;font-size:11px}
.native-dossier select{width:100%;margin-top:4px;padding:8px;font-size:12px}
.native-dossier-gear{color:#b5cec2;font-size:12px}
.native-dossier-buy{color:#f0d18a;font-weight:600}
.native-dossier-acts{display:flex;gap:8px;margin-top:12px}
.native-dossier-acts button{flex:1;padding:8px;font-size:12px}
.native-dossier-live{margin:0 0 10px;font-size:12px;color:#cde8dc}
.native-game.is-battle #native-canvas{height:clamp(380px,64vh,680px)}
.native-game.is-battle .native-shop,.native-game.is-battle .native-bench,.native-game.is-battle .native-bench-label{display:none}
.native-game.is-battle .native-controls{justify-content:space-between}
.native-game.is-battle .native-status{margin-top:8px}
.native-game.is-sandbox .native-shop{display:none}.native-game.is-sandbox .native-detail{overflow:auto}.sandbox-inline{border:1px solid #29453f;background:#0c1b1dcc;padding:12px;margin-bottom:12px;color:#d7ebe2}.sandbox-inline-head{display:flex;flex-direction:column;gap:3px;margin-bottom:9px}.sandbox-inline-head small{color:#8eafa2;font-size:11px}.sandbox-inline details{border-top:1px solid #29453f;padding:7px 0}.sandbox-inline summary{cursor:pointer;color:#ccefe0;font-size:12px}.sandbox-inline input{width:100%;box-sizing:border-box;margin:7px 0;padding:7px;background:#081316;border:1px solid #34514a;color:#e8f3ee}.sandbox-inline-results{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow:auto}.sandbox-inline-results button{display:flex;align-items:center;gap:7px;padding:5px;background:#10241f;border:1px solid #29453f;color:#d7ebe2;text-align:left}.sandbox-inline-results button:hover{border-color:#78e6bd}.sandbox-inline-results img{width:26px;height:26px;object-fit:cover}.sandbox-inline-results b{display:block;font-size:11px}.sandbox-inline-results small{display:block;color:#8eafa2;font-size:9px}.sandbox-inline-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.sandbox-inline-actions button,.sandbox-inline-live button{padding:5px 7px;font-size:11px}.sandbox-dummy{width:100%;margin:4px 0;padding:6px;border-color:#ba8c59!important;color:#f1c989!important}.sandbox-inline-live{display:flex;flex-direction:column;gap:5px;margin-top:10px;padding-top:8px;border-top:1px solid #29453f;font-size:11px}.sandbox-inline-live>b{color:#8bcbb6;margin-top:3px}.sandbox-inline-live>div{display:flex;align-items:center;gap:5px}.sandbox-inline-live>div span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sandbox-inline-live small{color:#78978b}
.native-sandbox{min-height:100vh;padding:24px clamp(16px,4vw,56px);background:radial-gradient(circle at 75% 0%,#173d3b 0,#0b1518 46%,#071013 100%);color:#e8f3ee}.sandbox-top{display:flex;align-items:center;gap:18px;border-bottom:1px solid #31504b;padding-bottom:14px}.sandbox-top>button:first-child{margin-right:8px}.sandbox-top small{color:#8bcbb6;letter-spacing:2px}.sandbox-top h1{margin:2px 0 0;font-size:clamp(24px,3vw,38px);letter-spacing:4px}.sandbox-top-actions{display:flex;gap:8px;margin-left:auto}.sandbox-layout{display:grid;grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:18px;margin-top:18px}.sandbox-library{display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 120px);overflow:auto}.sandbox-library section,.sandbox-roster>div{border:1px solid #29453f;background:#0c1b1dcc;padding:13px}.sandbox-library h2,.sandbox-roster h2{margin:0 0 9px;font-size:15px;color:#ccefe0}.sandbox-library input{width:100%;box-sizing:border-box;padding:9px;background:#081316;border:1px solid #34514a;color:#e8f3ee;border-radius:3px;margin-bottom:8px}.sandbox-results{display:flex;flex-direction:column;gap:5px}.sandbox-results button,.sandbox-actor button{display:flex;align-items:center;gap:8px;border:1px solid #29453f;background:#10241f;color:#d7ebe2;text-align:left;padding:7px;min-height:40px}.sandbox-results button:hover,.sandbox-actor button:hover{border-color:#78e6bd;background:#17362d}.sandbox-results img,.sandbox-actor img{width:32px;height:32px;object-fit:cover}.sandbox-results span,.sandbox-actor span{min-width:0}.sandbox-results b,.sandbox-actor b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sandbox-results small,.sandbox-actor small{display:block;color:#8eafa2;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sandbox-enemy-glyph{width:32px;text-align:center;color:#e99072;font-size:22px}.sandbox-dummy{width:100%;margin-bottom:8px;border-color:#ba8c59!important;color:#f1c989!important}.sandbox-empty{color:#78978b;font-size:12px;margin:8px 0}.sandbox-main{min-width:0}.sandbox-status{display:flex;justify-content:space-between;gap:10px;color:#a8c5b9;font-size:12px;margin-bottom:8px}.sandbox-board{display:grid;grid-template-columns:repeat(var(--cols),minmax(24px,1fr));grid-template-rows:repeat(var(--rows),minmax(36px,1fr));gap:3px;min-height:420px;padding:10px;background:#071014;border:1px solid #31504b;box-shadow:inset 0 0 30px #0008}.sandbox-cell{position:relative;min-height:36px;padding:2px;border:1px solid #294941;background:#1c3532;color:#dff5ea}.sandbox-cell.blocked{background:#0a1518;border-color:#122523;color:#44635a}.sandbox-cell:hover{border-color:#8cf2c8}.sandbox-unit{position:absolute;inset:3px;display:grid;place-items:center;z-index:2}.sandbox-unit img{width:100%;height:100%;object-fit:contain}.sandbox-live{filter:drop-shadow(0 0 5px #75e6bd)}.sandbox-enemy{position:absolute;right:3px;bottom:1px;color:#f19a7e;font-size:18px;text-shadow:0 0 5px #000}.sandbox-controls{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.sandbox-controls button{padding:8px 13px}.sandbox-roster{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sandbox-actor{display:flex;align-items:center;gap:6px;margin:5px 0;padding:7px;background:#10241f;border:1px solid #29453f}.sandbox-actor>div{display:flex;align-items:center;gap:7px;min-width:0;flex:1}.sandbox-actor button{padding:5px 7px;min-height:28px;white-space:nowrap;font-size:11px}.sandbox-target{justify-content:space-between;color:#d7ebe2;font-size:12px}.sandbox-target button{flex:none}@media(max-width:800px){.native-sandbox{padding:14px 10px}.sandbox-top{gap:8px}.sandbox-top h1{font-size:22px;letter-spacing:2px}.sandbox-top-actions{gap:4px}.sandbox-top-actions button{padding:6px;font-size:11px}.sandbox-layout{grid-template-columns:1fr}.sandbox-library{display:grid;grid-template-columns:1fr 1fr;max-height:38vh;overflow:auto}.sandbox-board{min-height:300px}.sandbox-roster{grid-template-columns:1fr}.sandbox-actor{flex-wrap:wrap}.sandbox-actor>div{flex-basis:100%}}@media(max-width:480px){.sandbox-library{grid-template-columns:1fr}.sandbox-status{font-size:11px}.sandbox-board{min-height:250px}.sandbox-cell{min-height:27px}.sandbox-top-actions button:first-child{display:none}}
@media(max-width:1000px){.native-dossier{width:min(460px,78%);inset:52px auto 0 0}.native-dossier h2{font-size:24px}.native-dossier-hp b{font-size:28px}}
@media(max-width:600px){.native-dossier{width:min(100%,360px);background:linear-gradient(90deg,#061014f5 0%,#061014cc 70%,#06101400 100%)}.native-dossier-body{width:min(260px,92%)}}



.native-board{position:relative}.native-cost{position:absolute;right:12px;bottom:8px;z-index:2;display:inline-flex;align-items:center;gap:5px;padding:0;color:#b5c7bf;pointer-events:none;font-variant-numeric:tabular-nums;white-space:nowrap}.native-cost small{font-size:11px}.native-cost output{min-width:2ch;text-align:right;font-size:16px;font-weight:500;line-height:1}.native-cost output.is-debt{color:#ff9b87}
/* Landscape panels overlay the board; opening supply never changes its geometry. */
.native-mobile-info,.native-supply-toggle{display:none}
html.native-play-lock,html.native-play-lock body{height:100%;margin:0;background:#071114}
html.native-need-rotate,html.native-need-rotate body{overflow:hidden;position:fixed;inset:0;width:100%;height:100%}
html.native-need-rotate #app{position:absolute;top:0;left:100%;overflow:hidden;min-width:0;min-height:0;transform:rotate(90deg);transform-origin:top left}
html.native-landscape-ui{
 .native-game{--dock-height:140px;position:relative;height:100vh;height:100dvh;max-width:none;margin:0;padding:0;overflow:hidden}
 .native-game.is-supply-collapsed{--dock-height:82px}
 .native-game.is-battle{--dock-height:44px}
 .native-top{position:absolute;z-index:10;top:max(6px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));border:0;padding:0;gap:5px;justify-content:flex-start;flex-wrap:nowrap}
 .native-top strong{display:none}
 /* 手机横屏的顶部已经被状态条（生命/时间/资金/波次）和操作按钮占满，计数器不在这里显示，避免遮挡。 */
 html.native-landscape-ui .native-battle-bar{display:none}
 .native-top>button:not([data-act=home]):not(.native-mobile-info){display:none}
 .native-mobile-info{display:inline-block}
 .native-game button{font-size:11px;min-height:30px;padding:4px 8px}
 .native-status,.native-game.is-battle .native-status{position:absolute;z-index:9;top:max(6px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));margin:0;padding:4px 8px;gap:12px;justify-content:flex-end;align-items:center;border:0;background:#101f1bd9}
 .native-status>div{display:flex;align-items:baseline;gap:5px;white-space:nowrap}
 .native-status small{font-size:10px;letter-spacing:0;margin:0}.native-status b{font-size:20px}
 .native-workspace{position:absolute;inset:0 0 calc(var(--dock-height) + env(safe-area-inset-bottom));display:block;margin:0;min-height:0}
 .native-bonds{position:absolute;z-index:2;left:max(10px,env(safe-area-inset-left));top:68px;bottom:6px;width:70px;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;flex-direction:column;align-content:flex-start;font-size:10px;gap:4px;scrollbar-width:thin}
 /* 盟约多起来时不能压扁卡片：卡片保持自然高度，装不下就整体上下滚动。
    少了 flex:0 0 auto 时 flex 会把 20 多条盟约压进可视高度，名字和层数会叠在一起。 */
 .native-bonds button{flex:0 0 auto;min-width:0;min-height:34px;padding:5px 3px;line-height:1.3}
 .native-bonds small{display:block;margin-top:2px;font-size:12px;font-weight:700;color:#e0c98c;font-variant-numeric:tabular-nums}.native-bonds small:empty{display:none}.native-bonds span{margin-top:2px;font-size:10px}
 .native-detail,.native-field>.native-terrain-legend{display:none}
 .native-field{position:absolute;inset:0;display:block;min-height:0}
 .native-field-caption{position:absolute;z-index:2;top:40px;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));padding:0;font-size:10px}.native-field-caption b{font-size:12px}
 #native-canvas,.native-game.is-battle #native-canvas{height:100%;width:100%;min-height:0;border:0}
 .native-board{position:absolute;inset:0}.native-cost{right:12px;bottom:10px;padding:0;gap:5px}.native-cost small{font-size:10px}.native-cost output{font-size:15px}
 .native-controls,.native-game.is-battle .native-controls{position:absolute;z-index:2;top:60px;right:max(10px,env(safe-area-inset-right));width:132px;padding:0;gap:4px;flex-wrap:wrap;align-content:start;align-items:start;justify-content:flex-start;font-size:10px}
 .native-controls button{padding:3px 7px;white-space:nowrap}.native-controls label{display:none}
 .native-controls .native-primary{margin:0;width:100%;min-width:100px}
 .native-bench-label{position:fixed;z-index:12;left:max(6px,env(safe-area-inset-left));right:auto;width:80px;bottom:calc(96px + env(safe-area-inset-bottom));height:44px;padding:4px 6px;font-size:11px;background:#1b332eed;border-top:1px solid #62d7b2}.native-bench-label span,.native-bench-label #native-drop-hint{display:none}
 .native-bench{position:fixed;z-index:12;left:calc(86px + env(safe-area-inset-left));right:max(6px,env(safe-area-inset-right));bottom:calc(96px + env(safe-area-inset-bottom));min-height:0;height:44px;padding:2px 6px;gap:5px;scrollbar-width:thin;scrollbar-gutter:auto;background:#152b27f5;border-bottom:1px solid #577b6c}.native-bench:empty::after{content:"暂无待部署干员 · 可从商店调配";align-self:center;color:#a2c4b6;font-size:11px;padding-left:4px}
 .native-bench button{flex:0 0 62px;height:40px;min-height:40px;padding:1px;display:grid;grid-template-columns:28px 1fr;gap:2px}
 .native-bench img{width:28px;height:36px}.native-bench b{font-size:10px}.native-bench small{display:none}
 .native-bench .native-item-icon{font-size:24px;min-height:0}
 .native-shop{position:fixed;z-index:12;left:max(6px,env(safe-area-inset-left));right:max(6px,env(safe-area-inset-right));bottom:env(safe-area-inset-bottom);height:96px;margin:0;padding:4px 6px;display:grid;background:#101f1bf5;grid-template-columns:minmax(0,1fr);grid-template-rows:30px minmax(0,1fr);gap:4px;border:0;min-height:0}
 .native-shop>div:first-child{display:flex;align-items:center;gap:6px;margin:0}
 .native-shop h2{font-size:12px;margin:0 auto 0 0;align-self:center}
 .native-shop>div:first-child button{padding:2px;min-height:28px;font-size:10px}.native-shop [data-act=upgrade]{grid-column:1/-1}
 .native-shop-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;min-height:0}
 .native-shop-cards button{position:relative;min-height:0;padding:2px;overflow:hidden;justify-content:flex-end}
 .native-shop-cards img{height:20px;width:100%;object-fit:contain;flex-shrink:0}.native-shop-cards strong{flex-shrink:0;line-height:14px;font-size:11px;margin:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .native-shop-cards small{flex-shrink:0;line-height:12px;font-size:10px;margin:0}.native-shop-cards p{display:none}.native-shop-cards .native-item-icon{min-height:20px;height:20px;line-height:20px;font-size:20px;flex-shrink:0}.native-empty{font-size:10px}
 .native-supply-toggle{display:block;order:1;position:static;height:30px;border-color:#62d7b2;background:#1b4035;color:#dffff2}.native-supply-toggle span{color:#93c8b2;margin-left:6px}
 .native-game.is-supply-collapsed .native-shop{height:38px;grid-template-rows:30px}
 .native-game.is-supply-collapsed .native-shop-cards,.native-game.is-supply-collapsed .native-shop>div:first-child>button:not(.native-supply-toggle){display:none}
 .native-game.is-supply-collapsed .native-bench{bottom:calc(38px + env(safe-area-inset-bottom))}
 .native-game.is-battle .native-bench{display:flex;bottom:env(safe-area-inset-bottom)}
 .native-game.is-supply-collapsed .native-bench-label{bottom:calc(38px + env(safe-area-inset-bottom))}
 .native-game.is-battle .native-bench-label{display:flex;bottom:env(safe-area-inset-bottom)}
 .native-game.is-battle .native-shop{display:none}
 .native-game.is-supply-collapsed:not(.is-battle) .native-field>.native-terrain-legend{display:flex;position:absolute;bottom:8px;left:90px;right:150px;justify-content:center;gap:5px 10px;padding:0;font-size:10px}
 .native-facing{position:absolute;z-index:14;bottom:4px;right:116px;max-width:min(420px,100%);padding:5px;font-size:10px;border:1px solid #62d7b2;box-shadow:0 4px 16px #0008}
 .native-facing button{min-height:30px;margin:2px;padding:3px 8px}
 .native-dossier{inset:40px auto calc(var(--dock-height) + env(safe-area-inset-bottom)) 0;width:280px;z-index:11;display:block;overflow:hidden;pointer-events:auto;touch-action:none;background:#101f1bf5;border-right:1px solid #577b6c}
 .native-dossier-body{width:100%;max-height:none;overflow:visible;padding:6px 12px 12px;font-size:11px}.native-dossier h2{font-size:20px;padding-right:30px}.native-dossier h3{margin:8px 0 4px}.native-dossier p{margin-bottom:5px}.native-dossier-stats{margin-bottom:6px}
 .native-modal{padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left))}.native-modal>section{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);padding:16px 24px}.native-modal h2{margin:0 30px 10px 0;font-size:18px}
 .native-rewards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.native-rewards button{padding:8px}.native-rewards img{width:60px;height:60px}
 .native-lobby{padding:10px 20px;min-height:100vh;min-height:100dvh}.native-lobby header{font-size:11px}.native-lobby h1{font-size:28px;margin:10px 0;letter-spacing:4px}.native-lobby h1 span{display:inline;font-size:16px;letter-spacing:3px;margin-left:16px}
 .native-lobby>p{font-size:11px;margin:4px 0}.native-home{grid-template-columns:1.2fr 1fr;gap:30px}.native-home h2,.native-briefing h2{font-size:13px;margin:8px 0 4px}.native-home button,.native-home a{margin-top:5px;padding:7px}.native-home select{padding:6px}.native-home p{font-size:11px;margin:5px 0}.native-lobby footer{padding:10px 0;font-size:10px}
 .native-briefing{height:100vh;height:100dvh;display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-rows:32px 34px 24px 24px minmax(0,1fr) 38px;gap:4px 16px;overflow:hidden}
 .native-briefing header{grid-column:1/-1}.native-briefing h1{grid-column:1;grid-row:2;margin:0;font-size:24px}.native-briefing>p:first-of-type{grid-column:1;grid-row:3}.native-briefing>h2:first-of-type{grid-column:1;grid-row:4;margin:0}
 .native-tags{grid-column:1;grid-row:5/7;display:flex;flex-direction:column;gap:4px;margin:0;overflow:auto}.native-tags article{padding:6px}.native-tags b{font-size:14px}.native-tags small{display:none}.native-tags p{font-size:11px;line-height:1.5}
 /* 手机竖屏：这一列只有 220px 宽，缩略图跟着压到列宽、排在词条下面（flex 列里自动成为最后一项）。 */
 .native-briefing-map{padding:8px}.native-briefing-map .native-map-thumb{max-width:none;gap:1px;padding:4px}
 .native-briefing>h2:nth-of-type(2){grid-column:2;grid-row:2;margin:0;align-self:center}.native-strategy-pane{grid-column:2;grid-row:3/6;min-height:0;overflow:hidden;touch-action:none}.native-briefing .native-strategies{max-height:none;overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
 .native-strategies>button{padding:7px;gap:6px}.native-strategies img{width:30px;height:40px}.native-strategies p{font-size:10px}.native-strategies small{margin:3px 0}.native-begin{grid-column:2;grid-row:6;margin:0;padding:6px;font-size:13px}
}
html.native-need-rotate .native-game,html.native-need-rotate .native-briefing,html.native-need-rotate .native-lobby{width:100%;height:100%!important;min-height:0}

/* Main terminal redesign: a dark, information-first entry surface */
html,body{overflow-x:hidden;overflow-y:auto;-webkit-text-size-adjust:100%}
body{min-width:0;background:#071114}
.native-lobby{position:relative;isolation:isolate;max-width:none;min-height:100dvh;padding:clamp(20px,4vw,54px) clamp(18px,5vw,82px) 28px;color:#e8f4ef;background:radial-gradient(circle at 78% -8%,#1b4641 0,#0d2426 32%,#081519 70%,#061013 100%);overflow-x:hidden;overflow-y:auto}
.native-lobby:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.16;pointer-events:none;background-image:linear-gradient(#78d8c51a 1px,transparent 1px),linear-gradient(90deg,#78d8c51a 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(180deg,#000 0,#0008 45%,transparent 100%)}
.native-lobby:after{content:"";position:absolute;z-index:-1;right:-15vw;top:18vh;width:48vw;height:48vw;border:1px solid #6ad9c31f;border-radius:50%;box-shadow:0 0 0 36px #6ad9c30a,0 0 0 72px #6ad9c305;pointer-events:none}
.native-lobby>header,.native-lobby>.native-hero,.native-lobby>.native-home,.native-lobby>footer{position:relative;z-index:1;max-width:1320px;margin-left:auto;margin-right:auto}
.native-lobby-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 20px;border-bottom:1px solid #2b5553}
.native-brand{display:flex;align-items:center;gap:12px}
.native-brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid #6bd8c0;color:#85f1d3;font-size:22px;transform:rotate(45deg);box-shadow:0 0 22px #3ec8ac2b}
.native-brand>div{display:flex;flex-direction:column;gap:1px}
.native-brand strong{font-size:15px;letter-spacing:.18em;font-weight:700;color:#e7f7f0}
.native-eyebrow{display:block;font:600 10px/1.3 var(--mono,'Arial Narrow',sans-serif);letter-spacing:.2em;color:#80b5ab;text-transform:uppercase}
.native-lobby-meta{display:flex;align-items:center;gap:14px}
.native-lobby-meta button{padding:7px 10px;color:#9cc5ba;background:#0b1c20;border:1px solid #315a58;font-size:11px}
.native-live-dot{display:inline-flex;align-items:center;gap:7px;color:#8de4c4;font:600 10px var(--mono,'Arial Narrow',sans-serif);letter-spacing:.14em}
.native-live-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:#69e0b4;box-shadow:0 0 0 4px #69e0b422}
.native-hero{padding:clamp(46px,10vh,116px) 0 clamp(46px,7vh,84px)}
.native-hero-copy{max-width:700px}
.native-kicker{margin:0 0 14px;color:#9de3cc;font:600 12px/1.4 var(--mono,'Arial Narrow',sans-serif);letter-spacing:.24em}
.native-hero h1{margin:0;color:#f1fff8;font-size:clamp(52px,8vw,112px);line-height:.94;letter-spacing:.1em;font-weight:900;text-shadow:0 8px 30px #0008}
.native-hero-lead{max-width:510px;margin:24px 0 0;color:#a7c5bd;font-size:15px;line-height:1.9}
.native-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.native-hero-actions button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-height:58px;padding:11px 17px;text-align:left}
.native-hero-start{min-width:190px}
.native-hero-actions button span{font-size:15px;letter-spacing:.04em}
.native-hero-actions button small{font-size:10px;color:#9bc0b5;font-weight:400}
.native-hero-start small{color:#174839!important}
.native-hero-facts{display:flex;gap:clamp(22px,4vw,52px);margin-top:38px;padding-top:17px;border-top:1px solid #2b5553;max-width:560px}
.native-hero-facts span{display:flex;flex-direction:column;gap:2px}
.native-hero-facts b{font:600 28px/1 var(--mono,'Arial Narrow',sans-serif);color:#e7fff4}
.native-hero-facts small{font-size:10px;color:#7fa59d;letter-spacing:.05em}
.native-home{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:16px}
.native-home-card{min-width:0;padding:23px 24px 24px;border:1px solid #2c5352;background:#0d2023d9;box-shadow:0 14px 40px #0002}
.native-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:21px}
.native-card-heading h2{margin:5px 0 0;color:#edfdf6;font-size:22px;letter-spacing:.08em}
.native-card-index{color:#5e9a8d;font:600 22px var(--mono,'Arial Narrow',sans-serif)}
.native-field-label{display:flex;flex-direction:column;gap:7px;margin:13px 0;color:#91b6ad;font-size:11px;letter-spacing:.05em}
.native-field-label select{width:100%;padding:11px 12px;border:1px solid #315e5a;color:#e5f7ef;background:#0a191d;border-radius:0}
.native-field-label select:focus{border-color:#71e1c3;outline:2px solid #71e1c333;outline-offset:1px}
.native-loadout-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.native-loadout-actions button{padding:8px 12px;color:#b6d2c8;background:#10282a;border-color:#315e5a;font-size:11px}
/* 「战前准备」是这一行的主入口（用户 2026-09-22 口径：要有图标、更醒目），
   比同行的「恢复本地模拟／导入存档」亮一档，但不能抢过主按钮的视觉层级。 */
.native-loadout-actions .native-prep-entry{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;color:#eafff7;background:linear-gradient(180deg,#1d4f49,#12342f);border:1px solid #6fd7ba;box-shadow:0 0 0 1px #6fd7ba22,0 6px 18px #00000033;font-size:12px;font-weight:600;letter-spacing:.04em}
.native-loadout-actions .native-prep-entry:hover{background:linear-gradient(180deg,#246055,#17423b);border-color:#93f2d6}
.native-prep-entry-icon{display:grid;place-items:center;width:20px;height:20px;flex:0 0 auto;border:1px solid #6fd7ba;color:#a6f2da;font-size:12px;line-height:1}
.native-prep-entry-label{white-space:nowrap}
.native-tool-grid{display:grid;gap:9px}
.native-tool-grid>button,.native-tool-link{display:flex;align-items:center;gap:11px;width:100%;padding:13px 12px;color:#e1f5ed;text-align:left;background:#10272a;border:1px solid #2b5754;text-decoration:none}
.native-tool-grid>button:hover,.native-tool-link:hover{background:#153639;border-color:#70d9bd}
.native-tool-grid>button>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
.native-tool-grid b{font-size:13px;font-weight:600}
.native-tool-grid small{color:#89afa6;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.native-tool-grid em{color:#75d9bc;font-style:normal;font-size:18px}
.native-tool-icon{display:grid;place-items:center;width:29px;height:29px;color:#77e3c4;border:1px solid #437d73;font-size:17px}
.native-tool-link{justify-content:space-between;margin-top:3px;color:#a4c9bd;font-size:11px;background:transparent}
.native-tool-link span:last-child{color:#73dbbe;font-size:16px}
/* 大厅「输入密码」：数字键盘弹窗（数字／删除／清空／确定）。确认后的功能待补，这里只管输入。 */
.native-passcode-hint{margin:2px 0 10px;color:#9fc0b6;font-size:12px}
.native-passcode-display{display:grid;place-items:center;min-height:52px;margin:0 0 12px;padding:8px;border:1px solid #41665f;background:#08161a;color:#eafff5;font:700 22px var(--mono,monospace);letter-spacing:.28em;font-variant-numeric:tabular-nums}
.native-passcode-display span{color:#5f8179;font-size:13px;letter-spacing:.1em}
.native-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.native-keypad button{min-height:48px;padding:0;font:700 20px var(--mono,monospace)}
.native-keypad button[data-key=clear]{font-size:14px;letter-spacing:.1em}
.native-keypad-actions{margin-top:8px}
.native-keypad-actions button{width:100%;min-height:46px}
@media (orientation:landscape) and (max-height:600px){.native-keypad{gap:5px}.native-keypad button{min-height:36px;font-size:17px}.native-passcode-display{min-height:40px;font-size:18px}}
.native-lobby-footer{display:flex;justify-content:space-between;gap:16px;margin-top:30px;padding-top:14px;border-top:1px solid #224543;color:#63877e;font-size:10px;letter-spacing:.04em}
.native-lobby-footer span:last-child{font-family:var(--mono,'Arial Narrow',sans-serif);letter-spacing:.08em;text-align:right}
.native-briefing{background:radial-gradient(circle at 82% 5%,#17403d 0,#0b1a1d 48%,#061013 100%)}
.native-tags article{color:#e8f4ef;background:#0d2023d9;border:1px solid #386764;box-shadow:0 14px 40px #0002}
.native-tags b{color:#edfdf6}
.native-tags small{color:#80b5ab;opacity:1}
.native-tags p{color:#a7c5bd}
@media(max-width:820px){.native-hero{padding-top:58px}.native-home{grid-template-columns:1fr}.native-lobby-footer{flex-direction:column;gap:6px}.native-lobby-footer span:last-child{text-align:left}}
@media(max-width:560px){.native-lobby{padding:15px 14px 22px}.native-lobby-topbar{align-items:flex-start;padding-bottom:14px}.native-brand-mark{width:30px;height:30px;font-size:17px}.native-brand strong{font-size:12px}.native-eyebrow{font-size:8px}.native-lobby-meta{gap:7px}.native-lobby-meta button{font-size:10px;padding:6px 7px}.native-live-dot{font-size:8px}.native-hero{padding:45px 0 36px}.native-kicker{font-size:10px;letter-spacing:.15em}.native-hero h1{font-size:clamp(44px,15vw,70px);letter-spacing:.06em}.native-hero-lead{margin-top:17px;font-size:13px;line-height:1.75}.native-hero-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:22px}.native-hero-actions button{width:100%;min-height:53px}.native-hero-facts{gap:20px;margin-top:27px}.native-hero-facts b{font-size:23px}.native-hero-facts small{font-size:9px}.native-home-card{padding:18px 16px}.native-card-heading{margin-bottom:15px}.native-card-heading h2{font-size:19px}.native-card-index{font-size:18px}.native-lobby-footer{margin-top:20px;font-size:9px;line-height:1.6}}


.egg-325 .native-status{align-items:flex-start;flex-wrap:wrap;gap:16px}
.egg-325 .native-status>div{white-space:normal;max-width:min(240px,36vw)}
.egg-325 .native-status b{font-size:16px;line-height:1.25;word-break:break-all;font-variant-numeric:normal;max-width:min(280px,40vw)}
.egg-325 .native-cost{white-space:normal;max-width:46%;align-items:flex-end}
.egg-325 .native-cost output{font-size:11px;word-break:break-all;text-align:right;line-height:1.2}
.egg-325 .native-dossier-hp,.egg-325 .native-dossier-hp b,.egg-325 .native-total{font-size:18px;word-break:break-all;line-height:1.25;font-variant-numeric:normal}
.egg-325 .native-shop-cards small,.egg-325 .native-controls button,.egg-325 .native-result-row b{word-break:break-all}

.native-bond-current{margin:14px 0;padding:10px 12px;border:1px solid #39685b;background:#102b27}.native-bond-current h3{margin:0 0 7px;color:#72e0b7;font-size:13px}.native-bond-current ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.native-bond-current li{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #294941;padding:3px 0}.native-bond-current li:last-child{border-bottom:0}.native-bond-current li span{color:#9ec5b7}.native-bond-current li b{color:#f0d18a;font-variant-numeric:tabular-nums;text-align:right}.native-bond-current li b small{display:block;color:#7fa79a;font-size:10px;font-weight:400}.native-bond-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}
.native-bond-member{display:flex;align-items:center;gap:7px;min-width:0;padding:6px;border:1px solid #294941;background:#0d211f;color:#c9e8dc;opacity:.72}
.native-bond-member.active{border-color:#69e0b4;background:#173a31;opacity:1;box-shadow:inset 0 0 0 1px #69e0b466}
.native-bond-member img{width:30px;height:34px;flex:0 0 30px;object-fit:cover}
.native-bond-member span{min-width:0}
.native-bond-member b,.native-bond-member small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.native-bond-member b{font-size:11px}
.native-bond-member small{margin-top:2px;color:#8eb4a7;font-size:9px}
.native-dossier-bonds{display:flex;flex-wrap:wrap;gap:5px;margin:5px 0 10px}
.native-dossier-bonds span{padding:3px 6px;border:1px solid #39685b;background:#102b27;color:#bfe6d7;font-size:10px}
.native-dossier-equipment{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:5px 0 10px}
.native-equipment-slot{display:flex;flex-direction:column;gap:2px;min-width:0;padding:7px;border:1px dashed #3b5f54;background:#0d1d20}
.native-equipment-slot.filled{border-style:solid;border-color:#a4854e;background:#28261d}
.native-equipment-slot span,.native-equipment-slot small{color:#8eb4a7;font-size:9px}
.native-equipment-slot b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c4dcd2;font-size:10px}
.native-equipment-slot.filled b{color:#f0d18a}
@media(max-width:600px){.native-bond-roster{grid-template-columns:1fr}.native-dossier-equipment{grid-template-columns:1fr 1fr}.native-bond-member img{width:28px;height:32px;flex-basis:28px}}

.native-reward-shop-card{border:2px solid #e0b768!important;background:linear-gradient(145deg,#342d1d,#1f221e)!important;box-shadow:0 0 0 1px #f5d68c55,0 0 18px #d9a84c33}
.native-reward-shop-card:hover{border-color:#ffe09a!important;background:#40351f!important}
.native-reward-shop-card.chosen{outline:3px solid #f4d486;outline-offset:1px}
.native-reward-shop-card strong{color:#fff3cc!important}
.native-reward-shop-card small{color:#f0ca75!important;font-weight:600}
.native-reward-shop-card p{color:#d9bd7b!important;font-size:10px!important}
.native-shop:has(.native-reward-shop-card)>div:first-child h2{color:#f0ca75}
.native-shop:has(.native-reward-shop-card)>div:first-child:after{content:'三合一奖励选择中 · 点击候选卡片预览，再次点击确认';display:block;flex-basis:100%;color:#e0c98c;font-size:10px;letter-spacing:.04em}
@media(max-width:600px){.native-shop:has(.native-reward-shop-card)>div:first-child:after{font-size:9px}.native-reward-shop-card p{font-size:9px!important}}

.native-strategies,.native-dossier-body,.native-modal>section,.native-bonds,.native-detail,.native-branch-catalog,.sandbox-library,.sandbox-inline-results,.wave-ed-cards,.wave-ed-table-wrap,.native-tags{
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
.native-strategies,.native-strategies>button{touch-action:none}
.native-briefing .native-strategy-pane{
  position:relative;max-height:480px;overflow:hidden;touch-action:none
}
.native-briefing .native-strategy-pane .native-strategies{max-height:none;overflow:visible;position:relative}
@media(max-width:600px){
  .native-dossier{pointer-events:auto;overflow:hidden;touch-action:none}
  .native-dossier-body{max-height:none;overflow:visible;position:relative}
}
@media(max-width:820px){
  .native-briefing{height:100vh;height:100dvh;min-height:0;max-height:100vh;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding-bottom:max(10px,env(safe-area-inset-bottom))}
  .native-briefing header,.native-briefing h1,.native-briefing>p,.native-briefing>h2{flex:none}
  .native-briefing h1{font-size:28px;margin:8px 0 4px}
  .native-briefing>h2{margin:8px 0 6px}
  .native-tags{flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:4px 0 8px;overflow:visible}
  /* 中等窄屏：三张词条一排，缩略图整行落到下面（宽度不够再挤一列）。 */
  .native-tags.with-map{grid-template-columns:repeat(3,minmax(0,1fr))}.native-briefing-map{grid-column:1/-1;flex-direction:row;align-items:center;gap:10px;padding:8px}.native-briefing-map .native-map-thumb{max-width:170px;flex:0 0 auto}
  .native-tags article{padding:8px}
  .native-tags b{font-size:14px}
  .native-tags small{display:none}
  .native-tags p{font-size:10px;line-height:1.4}
  .native-briefing .native-strategy-pane{
    flex:1 1 auto;min-height:0;max-height:none;overflow:hidden;touch-action:none;
    border:1px solid #386764;background:#0a191dd9;box-shadow:inset 0 0 0 1px #0003
  }
  .native-briefing .native-strategies{overflow:visible;max-height:none;grid-template-columns:minmax(0,1fr);gap:6px;margin:0;padding:8px}
  .native-begin{flex:none;width:100%;margin:10px 0 0;padding:14px}
}
html.native-need-rotate .native-lobby,html.native-need-rotate .native-briefing{
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.native-summon-card{border-color:#6c9fca!important;background:#102c38!important;color:#d9f3ff!important}.native-summon-card:disabled{opacity:.62;cursor:not-allowed}.native-summon-card .native-summon-icon{display:grid;place-content:center;min-height:58px;font-size:34px;color:#83d4ee}.native-summon-card small{color:#8fc7d9;font-size:10px}
.native-selected-strategy{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:18px;align-items:center;margin:12px 0 24px;padding:18px;border:1px solid #5d8877;background:#e4eee7;color:#243e36}.native-selected-strategy-art{display:grid;place-items:center;min-height:140px;background:#c8ded3;border:1px solid #a2bdb0}.native-selected-strategy-art img{width:130px;height:130px;object-fit:contain}.native-selected-strategy h3{margin:5px 0;font-size:24px}.native-selected-strategy p{margin:7px 0;line-height:1.7;font-size:13px;white-space:pre-line}.native-selected-strategy button{padding:12px 16px;white-space:nowrap}.native-strategy-select{background:#d2e0d9;color:#243e36}.native-strategy-select-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;border-bottom:1px solid #a2bdb0;margin-bottom:14px}.native-strategy-select-heading h1{margin:12px 0 16px;font-size:36px;letter-spacing:3px}.native-strategy-select-heading p{max-width:300px;font-size:13px;line-height:1.7}.native-strategy-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:calc(100vh - 250px);overflow:auto;padding:2px}.native-strategy-catalog button{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;align-items:start;padding:10px;text-align:left;color:#27483e;background:#edf2eb;border:1px solid #a2bdb0}.native-strategy-catalog button.chosen{border:2px solid #278665;background:#e1f0e5;box-shadow:inset 0 0 0 1px #57cfaa}.native-strategy-card-art{display:grid;place-items:center;height:72px;background:#d2e0d9}.native-strategy-card-art img{width:58px;height:68px;object-fit:contain}.native-strategy-catalog b,.native-strategy-catalog small{display:block}.native-strategy-catalog small{margin-top:3px;color:#547568;font-size:10px}.native-strategy-catalog p{margin:5px 0 0;font-size:11px;line-height:1.5;white-space:pre-line}.native-strategy-select-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:14px}.native-strategy-select-actions button{padding:10px 16px}
/* S.E.E.S. 策略没有官方头像资源（本期 40 个策略各有 band_* 图，band_sees 没有），用占位块顶上。 */
.native-strategy-placeholder{font-size:34px;line-height:1;color:#4f7a6b;opacity:.75}
.native-strategy-card-art .native-strategy-placeholder{font-size:22px}
@media(max-width:600px){.native-selected-strategy{grid-template-columns:82px minmax(0,1fr);gap:10px;padding:12px}.native-selected-strategy-art{min-height:82px}.native-selected-strategy-art img{width:76px;height:76px}.native-selected-strategy h3{font-size:19px}.native-selected-strategy button{grid-column:1/-1;width:100%}.native-strategy-select-heading{display:block}.native-strategy-select-heading h1{font-size:28px}.native-strategy-catalog{grid-template-columns:1fr;max-height:none}.native-strategy-select-actions{position:sticky;bottom:0;background:#d2e0d9;padding-bottom:8px}}

/* Keep the entry flow usable on short mobile landscape screens. */
@media (orientation:landscape) and (max-height:600px) and (max-width:1100px){
 html.native-landscape-ui .native-lobby{height:100vh;height:100dvh;min-height:0;max-height:100vh;max-height:100dvh;padding:10px max(12px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}
 html.native-landscape-ui .native-lobby-topbar{gap:10px;padding-bottom:10px}
 html.native-landscape-ui .native-brand{gap:8px}
 html.native-landscape-ui .native-brand-mark{width:28px;height:28px;font-size:16px}
 html.native-landscape-ui .native-brand strong{font-size:12px}
 html.native-landscape-ui .native-lobby-meta{gap:8px}
 html.native-landscape-ui .native-lobby-meta button{padding:5px 7px;font-size:10px}
 html.native-landscape-ui .native-live-dot{font-size:8px}
 html.native-landscape-ui .native-hero{padding:22px 0 24px}
 html.native-landscape-ui .native-hero-copy{max-width:none}
 html.native-landscape-ui .native-kicker{margin-bottom:8px;font-size:10px}
 html.native-landscape-ui .native-hero h1{font-size:clamp(38px,8vw,64px);letter-spacing:.07em}
 html.native-landscape-ui .native-hero-lead{max-width:370px;margin:12px 0 0;font-size:11px;line-height:1.55}
 html.native-landscape-ui .native-hero-actions{gap:6px;margin-top:16px}
 html.native-landscape-ui .native-hero-actions button{min-height:44px;padding:8px 10px}
 html.native-landscape-ui .native-hero-actions button span{font-size:12px}
 html.native-landscape-ui .native-hero-actions button small{font-size:9px}
 html.native-landscape-ui .native-hero-start{min-width:0}
 html.native-landscape-ui .native-hero-facts{gap:18px;margin-top:18px;padding-top:10px}
 html.native-landscape-ui .native-hero-facts b{font-size:20px}
 html.native-landscape-ui .native-hero-facts small{font-size:9px}
 html.native-landscape-ui .native-hero-panel{min-width:0;padding:12px}
 html.native-landscape-ui .native-panel-kicker{font-size:8px}
 html.native-landscape-ui .native-operation-code{margin-top:7px;font-size:14px}
 html.native-landscape-ui .native-operation-line{margin:10px 0}
 html.native-landscape-ui .native-hero-panel p{font-size:10px}
 html.native-landscape-ui .native-hero-panel ul{gap:5px;margin:10px 0}
 html.native-landscape-ui .native-hero-panel li{padding-bottom:4px;font-size:10px}
 html.native-landscape-ui .native-signal{gap:5px;margin-top:8px;font-size:9px}
 html.native-landscape-ui .native-home{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:10px}
 html.native-landscape-ui .native-home-card{padding:12px 14px}
 html.native-landscape-ui .native-card-heading{margin-bottom:10px}
 html.native-landscape-ui .native-card-heading h2{font-size:17px}
 html.native-landscape-ui .native-card-index{font-size:17px}
 html.native-landscape-ui .native-field-label{gap:4px;margin:8px 0;font-size:10px}
 html.native-landscape-ui .native-field-label select{padding:7px 8px}
 html.native-landscape-ui .native-loadout-actions{margin-top:9px}
 html.native-landscape-ui .native-loadout-actions button{padding:6px 9px;font-size:10px}
 html.native-landscape-ui .native-loadout-actions .native-prep-entry{gap:6px;padding:6px 10px;font-size:11px}
 html.native-landscape-ui .native-prep-entry-icon{width:16px;height:16px;font-size:10px}
 html.native-landscape-ui .native-tool-grid{gap:5px}
 html.native-landscape-ui .native-tool-grid>button,html.native-landscape-ui .native-tool-link{gap:7px;padding:8px}
 html.native-landscape-ui .native-tool-icon{width:24px;height:24px;font-size:14px}
 html.native-landscape-ui .native-tool-grid b{font-size:11px}
 html.native-landscape-ui .native-tool-grid small{font-size:9px}
 html.native-landscape-ui .native-tool-grid em{font-size:15px}
 html.native-landscape-ui .native-lobby-footer{gap:8px;margin-top:15px;padding-top:9px;font-size:9px}
 html.native-landscape-ui .native-briefing{display:block;height:100vh;height:100dvh;min-height:0;max-height:100vh;max-height:100dvh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:max(14px,env(safe-area-inset-bottom))}
 html.native-landscape-ui .native-briefing header,html.native-landscape-ui .native-briefing h1,html.native-landscape-ui .native-briefing>p,html.native-landscape-ui .native-briefing>h2{grid-column:auto;grid-row:auto}
 html.native-landscape-ui .native-briefing h1{margin:8px 0 3px;font-size:26px}
 html.native-landscape-ui .native-briefing>p{margin:3px 0;font-size:10px;line-height:1.5}
 html.native-landscape-ui .native-briefing>h2{margin:8px 0 4px;font-size:13px}
 html.native-landscape-ui .native-tags{display:grid;grid-column:auto;grid-row:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:4px 0 10px;overflow:visible}
 html.native-landscape-ui .native-tags article{padding:7px}
 html.native-landscape-ui .native-tags b{font-size:13px}
 html.native-landscape-ui .native-tags small{display:none}
 html.native-landscape-ui .native-tags p{font-size:10px;line-height:1.4}
 /* 手机横屏：矮屏不能再多占一行，缩略图挤进同一排的第 4 列并压到最窄。 */
 html.native-landscape-ui .native-tags.with-map{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(112px,150px)}
 html.native-landscape-ui .native-briefing-map{grid-column:auto;flex-direction:column;gap:4px;padding:6px}
 html.native-landscape-ui .native-briefing-map .native-map-thumb{max-width:150px;gap:1px;padding:3px}
 html.native-landscape-ui .native-selected-strategy{grid-template-columns:88px minmax(0,1fr) auto;gap:10px;margin:8px 0 12px;padding:10px}
 html.native-landscape-ui .native-selected-strategy-art{min-height:82px}
 html.native-landscape-ui .native-selected-strategy-art img{width:76px;height:76px}
 html.native-landscape-ui .native-selected-strategy h3{font-size:18px}
 html.native-landscape-ui .native-selected-strategy p{margin:4px 0;font-size:11px;line-height:1.45}
 html.native-landscape-ui .native-selected-strategy button{grid-column:auto;padding:8px 10px;font-size:11px}
 html.native-landscape-ui .native-begin{grid-column:auto;grid-row:auto;width:100%;margin:0;padding:10px;font-size:13px}
 html.native-landscape-ui .native-strategy-select{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0;max-height:100vh;max-height:100dvh;overflow:hidden;background:#d2e0d9;color:#243e36}
 html.native-landscape-ui .native-strategy-select-heading{display:flex;align-items:end;gap:12px;margin-bottom:8px}
 html.native-landscape-ui .native-strategy-select-heading h1{margin:7px 0 9px;font-size:26px}
 html.native-landscape-ui .native-strategy-select-heading p{margin:0;font-size:11px;line-height:1.45}
 html.native-landscape-ui .native-strategy-catalog{flex:1 1 auto;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:none;overflow-y:auto;padding:2px}
 html.native-landscape-ui .native-strategy-catalog button{grid-template-columns:48px minmax(0,1fr);gap:7px;padding:7px}
 html.native-landscape-ui .native-strategy-card-art{height:54px}
 html.native-landscape-ui .native-strategy-card-art img{width:44px;height:50px}
 html.native-landscape-ui .native-strategy-catalog p{margin-top:3px;font-size:10px;line-height:1.35}
 html.native-landscape-ui .native-strategy-select-actions{position:static;justify-content:flex-end;padding:7px 0 0;background:transparent}
html.native-landscape-ui .native-strategy-select-actions button{padding:7px 13px;font-size:11px}
}
.native-strategy-catalog small.native-strategy-completeness{display:inline-block;margin-top:4px;padding:2px 5px;border:1px solid #7f9f8f;color:#2e6f54;background:#e6f1e9;font-size:9px}.native-strategy-catalog small.native-strategy-completeness.partial{border-color:#c39145;color:#8a5c1e;background:#fbefd9}.native-strategy-gap{display:block;margin-top:4px;color:#946c2e;font-size:9px;font-style:normal;line-height:1.35}
@media(max-width:820px){
 .native-lobby{height:100vh;height:100dvh;min-height:0;max-height:100vh;max-height:100dvh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}
 .native-lobby button{touch-action:pan-y}
}

/* Safari mobile: keep fixed screens stable while the browser chrome expands or collapses. */
@supports (height:100svh){
 .native-lobby{min-height:100svh}
 @media(max-width:820px){.native-lobby{height:100svh;max-height:100svh}.native-briefing{height:100svh;max-height:100svh}}
 html.native-landscape-ui .native-game,html.native-landscape-ui .native-strategy-select{height:100svh;max-height:100svh}
 html.native-landscape-ui .native-lobby,html.native-landscape-ui .native-briefing{height:100svh;max-height:100svh}
 .native-modal>section{max-height:calc(100svh - 16px)}
}
/* 大厅「配置已改动」提示：只在敌人池／禁用配置与默认不一致时由 native-play 插进 .native-tool-grid。 */
.native-pool-update{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid #d3a954;background:linear-gradient(105deg,#3a3020,#172b2b);color:#f4dda0}
.native-pool-update>div{display:flex;flex:1 1 auto;flex-direction:column;gap:3px;min-width:0}
.native-pool-update span{font:600 8px var(--mono,'Arial Narrow',sans-serif);letter-spacing:.14em;color:#d6b867}
.native-pool-update b{font-size:13px;color:#fff0bd}
.native-pool-update small{font-size:10px;line-height:1.5;color:#c8c09d}
/* 动作按钮必须显式 width:auto：大厅的 `.native-home button{width:100%}` 会把提示文字挤成一列一个字。 */
.native-pool-update-action{flex:0 0 auto!important;display:inline-block!important;width:auto!important;margin:0!important;padding:8px 12px!important;border:1px solid #f0c65e!important;background:#e5b64f!important;color:#15261f!important;font-size:11px!important;font-weight:700;white-space:nowrap}
.native-pool-update-action:hover{background:#f1c96b!important;border-color:#ffe29a!important}
@media(max-width:680px){.native-pool-update{align-items:stretch;flex-direction:column}.native-pool-update-action{width:100%!important}}
@media (orientation:landscape) and (max-height:600px) and (max-width:1100px){
 html.native-landscape-ui .native-shop:has(.native-reward-shop-card)>div:first-child:after{display:none}
 html.native-landscape-ui .native-shop:has(.native-reward-shop-card)>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
 html.native-landscape-ui .native-shop:has(.native-reward-shop-card)>div:first-child .native-reward-shop-hint{display:block;flex:1 1 100%;min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:0;line-height:1.2;color:#e0c98c}
 html.native-landscape-ui .native-shop:has(.native-reward-shop-card)>div:first-child .native-reward-shop-hint:after{content:'三合一：先预览，再次点击确认';font-size:9px;letter-spacing:0}
}

.native-bench-label.is-over{color:#f2b3a4}.native-hand-warn{font-style:normal;color:#ffb9a6;border:1px solid #f28e79;background:#713c3940;padding:1px 6px;font-size:11px;white-space:nowrap}.native-reward-shop-hint.is-over{color:#ffb9a6;border-color:#f28e79}


/* ── 回合结束演出：暗屏 + 拉出横幅（横幅留在场上，文字在横幅内换场）─────────────
   横幅先拉出并显示「波次结束 / WAVE END」，1 秒后只让这行文字离场，横幅不动，
   「损失生命 / 完美通关」的播报接着在同一个横幅里出现。只做表现，数值来自 s.lastBattle。 */
/* 作战报告底部动作行吸底：手机伤害列表要滚动时，回到大厅／导出不能被列表顶出屏幕。 */
.native-result-actions{position:sticky;bottom:-1px;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding:10px 0 4px;background:linear-gradient(180deg,#17292400,#172924 34%)}
.native-result-dps{margin:18px 0;padding:14px;border:1px solid #315451;border-radius:10px;background:#102225}.native-result-dps h3{margin:0 0 10px;color:#cce7dd;font-size:14px}.native-result-unit-list{display:flex;flex-wrap:wrap;gap:6px}.native-result-unit-list button{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:7px 10px;border:1px solid #345a55;border-radius:7px;background:#172d30;color:#d7e8e1;font-size:12px}.native-result-unit-list button.chosen{border-color:#77e2ba;background:#1a423a}.native-result-unit-list b{color:#f2d39a}.native-dps-chart{display:block;width:100%;height:120px;margin:12px 0 4px;overflow:visible}.native-dps-chart path{fill:none;stroke:#54756d;stroke-width:1}.native-dps-chart polyline{fill:none;stroke:#79e0b8;stroke-width:2;vector-effect:non-scaling-stroke}.native-result-dps>small{color:#91b1a7;font-size:10px}
.native-result-actions>button{flex:1 1 140px;padding:11px 16px;font-size:13px}
.native-round-end{--round-accent:#77e8d0;position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;color:#e7fff4;font-family:inherit;text-align:center;padding:12px;box-sizing:border-box}
.native-round-end[data-tone=danger]{--round-accent:#ffac88}
/* 公共减动效规则会 animation:none!important，静态样式必须保持可见，不能依赖动画解除透明。 */
.native-round-end-dim{position:absolute;inset:0;background:#04090c;opacity:.9;animation:native-round-dim .4s ease-out forwards}
.native-round-end-banner{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;box-sizing:border-box;width:min(680px,100%);min-height:320px;padding:48px 32px 28px;border:1px solid #41665f;border-top:2px solid var(--round-accent);border-bottom:2px solid var(--round-accent);background:linear-gradient(90deg,#091819ed,#112b2be0,#091819ed),repeating-linear-gradient(0deg,transparent 0 23px,#77e8d016 23px 24px),repeating-linear-gradient(90deg,transparent 0 23px,#77e8d016 23px 24px);box-shadow:0 16px 48px #0008,inset 0 0 48px #77e8d008;opacity:1;transform:none;animation:native-round-banner-in .55s cubic-bezier(.16,.9,.2,1) forwards}
.native-round-end-banner:before{content:'STRONGHOLD PROTOCOL / BATTLE LOG';position:absolute;top:15px;left:22px;right:22px;padding-bottom:10px;border-bottom:1px solid #77e8d026;text-align:left;font:10px var(--mono,monospace);letter-spacing:.18em;color:#83aaa3;pointer-events:none}
.native-round-end-banner:after{content:'';position:absolute;z-index:-1;top:0;bottom:0;left:0;width:18%;border-right:1px solid var(--round-accent);background:linear-gradient(90deg,transparent,#77e8d01c);opacity:0;pointer-events:none;animation:native-round-scan 1.2s .12s ease-out both}
.native-round-end-wave{grid-area:1/1;display:flex;flex-direction:column;align-items:center;gap:15px;opacity:0;pointer-events:none}
.native-round-end-wave:before{content:'';width:30px;height:3px;background:var(--round-accent);box-shadow:-40px 0 #77e8d033,40px 0 #77e8d033}
.native-round-end[data-stage=wave] .native-round-end-wave{opacity:1;animation:native-round-wave-in .45s cubic-bezier(.16,.9,.2,1) .16s both}
.native-round-end[data-stage=out] .native-round-end-wave{animation:native-round-wave-out .34s ease-in forwards}
.native-round-end-wave b{font-size:clamp(26px,4.4vw,46px);font-weight:700;line-height:1.3;letter-spacing:.3em;text-indent:.3em;color:#eafff5;text-shadow:0 0 24px #77e8d025}
.native-round-end-wave em{font:500 11px var(--mono,monospace);font-style:normal;letter-spacing:.65em;text-indent:.65em;color:var(--round-accent);opacity:1}
.native-round-end[data-stage=wave] .native-round-end-wave em{animation:native-round-text-in .4s .32s ease-out both}
.native-round-end-body{grid-area:1/1;display:grid;justify-items:center;gap:7px;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s ease-out,transform .3s ease-out}
.native-round-end[data-stage=count] .native-round-end-body{opacity:1;transform:none;pointer-events:auto}
/* 结算由 JS 时钟推进；进场动画即使被环境暂停，也不能继续用透明首帧遮住操作。 */
.native-round-end[data-stage=count] .native-round-end-banner{animation:none;opacity:1;transform:none}
.native-round-end[data-stage=count] .native-round-end-dim{animation:none;opacity:.9}
.native-round-end-round{margin:0;color:#80b5ab;font:600 11px var(--mono,monospace);letter-spacing:.3em}
.native-round-end-label{margin:0;color:#b5cec2;font-size:12px;letter-spacing:.24em}
.native-round-end-value{font:600 clamp(48px,8vh,72px)/1 var(--mono,monospace);font-variant-numeric:tabular-nums;color:var(--round-accent);text-shadow:0 0 26px #77e8d022}
.native-round-end-perfect{margin:10px 0;font-weight:600;font-size:clamp(26px,4vw,40px);line-height:1.2;letter-spacing:.2em;color:var(--round-accent)}
.native-round-end-hp{margin:3px 0 12px;color:#9dbcb1;font-size:12px;letter-spacing:.08em}
.native-round-end .native-primary{min-width:220px;padding:11px 24px;border:1px solid var(--round-accent);border-radius:0;background:#77e8d00c;color:#e7fff4;letter-spacing:.12em;box-shadow:inset 3px 0 var(--round-accent);transition:background .15s}
.native-round-end .native-primary:hover{background:#77e8d021}
.native-round-end .native-primary:focus-visible{outline:2px solid #fff;outline-offset:4px}
/* 整局结束（血量清空）的横幅除「查看伤害报告」外还要留一个「回到大厅」。 */
.native-round-end-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}
.native-round-end-actions>button{min-width:150px;padding:11px 22px;border:1px solid var(--round-accent);border-radius:0;background:#77e8d00c;color:#e7fff4;letter-spacing:.12em;transition:background .15s}
.native-round-end-actions>button:hover{background:#77e8d021}
.native-round-end-actions>button:focus-visible{outline:2px solid #fff;outline-offset:4px}
@keyframes native-round-dim{from{opacity:0}to{opacity:.9}}
@keyframes native-round-banner-in{from{opacity:0;transform:scaleX(.08) scaleY(.96)}55%{opacity:1;transform:scaleX(1) scaleY(.96)}to{opacity:1;transform:none}}
@keyframes native-round-scan{from{opacity:0;transform:translateX(-100%)}15%{opacity:.8}80%{opacity:.5}to{opacity:0;transform:translateX(570%)}}
@keyframes native-round-wave-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes native-round-wave-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-12px)}}
@keyframes native-round-text-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.native-round-end[data-reduce] .native-round-end-dim,.native-round-end[data-reduce] .native-round-end-banner,.native-round-end[data-reduce] .native-round-end-wave,.native-round-end[data-reduce] .native-round-end-wave em{animation-duration:.01s;animation-delay:0s}
.native-round-end[data-reduce] .native-round-end-banner:after{animation:none}
.native-round-end[data-reduce] .native-round-end-body{transition-duration:.01s}
@media(prefers-reduced-motion:reduce){.native-round-end-dim,.native-round-end-banner,.native-round-end-wave,.native-round-end-wave em{animation-duration:.01s;animation-delay:0s}.native-round-end-banner:after{animation:none}.native-round-end-body{transition-duration:.01s}}
@media(max-height:500px){.native-round-end-banner{min-height:0;padding:42px 24px 18px}.native-round-end-body{gap:4px}.native-round-end-value{font-size:44px}.native-round-end-hp{margin-bottom:8px}.native-round-end-wave{padding:12px 0}.native-round-end-wave b{font-size:30px}}
/* Hallmark · pre-emit critique: P4 H5 E4 S5 R5 V4
   编制台沿用游戏深绿配色；模板导航、编辑、档案分区。 */
.wave-ed{--we-bg:#0d1715;--we-panel:#15231f;--we-raised:#1c3029;--we-ink:#e1eee8;--we-muted:#9bb5a8;--we-line:#324c40;--we-accent:#79dcb7;--we-on-accent:#102b20;--we-warning:#efd399;--we-dim:#06120fd9;max-width:1640px;margin:auto;padding:24px;color:var(--we-ink);font-size:13px}
.wave-ed *{box-sizing:border-box}
.wave-ed button,.wave-ed input,.wave-ed select{font:inherit;border:1px solid var(--we-line);border-radius:4px;background:var(--we-bg);color:var(--we-ink);min-width:0;min-height:36px;padding:8px 10px}
.wave-ed button{white-space:nowrap;cursor:pointer;touch-action:manipulation}
.wave-ed button:hover:not(:disabled){background:var(--we-raised);border-color:var(--we-muted)}
.wave-ed button:active:not(:disabled){transform:translateY(1px)}
.wave-ed :is(button,input,select):focus-visible{outline:2px solid var(--we-accent);outline-offset:2px}
.wave-ed button:disabled{opacity:.45;cursor:not-allowed}
.wave-ed input:invalid{border-color:var(--we-warning)}
.wave-ed select:disabled{color:var(--we-muted);opacity:1}
.wave-ed .wave-ed-primary{background:var(--we-accent);color:var(--we-on-accent);border-color:var(--we-accent);font-weight:700;padding:10px 16px}
.wave-ed .wave-ed-primary:hover:not(:disabled){background:var(--we-accent);filter:brightness(1.08)}
.wave-ed-top{display:flex;border-bottom:1px solid var(--we-line);align-items:center;gap:16px;border-color:var(--we-line);padding-bottom:20px}
.wave-ed-top h1{font-size:24px;letter-spacing:1px;margin:2px 0 0}
.wave-ed-top small{font-size:10px;color:var(--we-muted);letter-spacing:.15em}
.wave-ed-top .wave-ed-autosave{color:var(--we-muted);margin-left:auto;font-size:12px}
.wave-ed-management{margin-top:16px;padding:16px;background:var(--we-panel);border:1px solid var(--we-line)}
.wave-ed-management p{margin:0 0 12px;color:var(--we-muted);line-height:1.6}
.wave-ed-management>div{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.wave-ed-management label{display:flex;gap:8px;align-items:center}
.wave-ed-management input{width:64px}
.wave-ed-boss-setting{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:16px 0;padding:14px 16px;background:var(--we-panel);border:1px solid var(--we-line)}
.wave-ed-boss-setting>div{display:grid;gap:4px;min-width:0;flex:1}
.wave-ed-boss-setting small{color:var(--we-accent);font-size:10px;letter-spacing:.15em}
.wave-ed-boss-setting b{font-size:14px}
.wave-ed-boss-setting p{margin:0;color:var(--we-muted);font-size:12px;line-height:1.5}
.wave-ed-boss-setting label{display:flex;align-items:center;gap:7px;color:var(--we-accent);font-weight:700;flex:0 0 auto}
.wave-ed-boss-setting input{width:82px;text-align:right;font-size:16px}
.wave-ed-layout{display:grid;grid-template-columns:208px minmax(0,1fr);gap:28px;margin-top:24px;align-items:start}
.wave-ed-sidebar{min-width:0;position:sticky;top:20px}
.wave-ed-field{display:flex;flex-direction:column;gap:8px;color:var(--we-muted);font-size:12px;min-width:0}
.wave-ed-field :is(input,select){width:100%;font-size:13px}
.wave-ed-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:12px 0 24px}
.wave-ed-tiers button{padding:8px 4px}
.wave-ed-tiers button.chosen{outline:0;border-color:var(--we-accent);color:var(--we-accent);background:var(--we-raised)}
.wave-ed-section-label{display:flex;justify-content:space-between;color:var(--we-muted);margin-bottom:10px}
.wave-ed-section-label small{font-size:12px}
.wave-ed-temps{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:4px;max-height:calc(100dvh - 325px);overflow:auto;padding:2px}
.wave-ed-temps button{text-align:left;padding:12px;border-color:transparent;background:transparent;flex-shrink:0}
.wave-ed-temps b{display:block;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:500}
.wave-ed-temps small{display:block;color:var(--we-muted);margin-top:6px;font-size:11px}
.wave-ed-temps .chosen{background:var(--we-raised);border-color:var(--we-line);border-left:3px solid var(--we-accent);outline:0}
.wave-ed-new{width:100%;margin-top:12px}
.wave-ed-work{min-width:0}
.wave-ed-current{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}
.wave-ed-current small{color:var(--we-muted);font-size:12px}
.wave-ed-current h2{font-size:23px;font-weight:600;margin:7px 0 0;overflow-wrap:anywhere}
.wave-ed-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 96px;gap:16px}
.wave-ed-template-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--we-muted);font-size:12px;margin:10px 0 22px}
.wave-ed-template-meta>div{display:flex;gap:4px}
.wave-ed-template-meta button{min-height:30px;padding:5px 10px;background:transparent;border-color:transparent;color:var(--we-muted)}
.wave-ed-body{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.7fr);gap:24px;align-items:start}
.wave-ed-pool,.wave-ed-db{padding:18px;background:var(--we-panel);border:1px solid var(--we-line);min-height:0;min-width:0}
.wave-ed-pool h2,.wave-ed-db h2{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:15px;margin:0 0 14px}
.wave-ed-pool h2 small,.wave-ed-db h2 small{color:var(--we-muted);font-size:12px;white-space:nowrap}
.wave-ed-hint{font-size:12px;color:var(--we-muted);line-height:1.6;margin:0 0 16px}
.wave-ed-cards{display:flex;flex-direction:column;gap:0;max-height:55vh;overflow:auto}
.wave-ed-cards article{display:grid;align-items:center;grid-template-columns:minmax(0,1fr) 44px 26px;gap:6px;padding:12px 0;border:0;border-top:1px solid var(--we-line)}
.wave-ed .wave-ed-card{display:flex;align-items:center;gap:10px;text-align:left;border:0;background:transparent;padding:0;white-space:normal;min-width:0}
.wave-ed-card img,.wave-ed-enemy img{width:36px;height:36px;object-fit:contain;flex-shrink:0}
.wave-ed-card span{min-width:0;display:block}
.wave-ed-card b{font-size:12px;display:block;line-height:1.5;font-weight:500}
.wave-ed-card small{display:block;font-size:10px;margin-top:4px;color:var(--we-muted)}
.wave-ed-cards label{font-size:10px;color:var(--we-muted);display:flex;flex-direction:column;gap:4px}
.wave-ed-cards input{width:44px;min-height:28px;padding:3px;font-size:12px}
.wave-ed-cards .wave-ed-x{padding:0;min-height:30px;border:0;color:var(--we-muted);background:transparent}
.wave-ed-fill{width:100%;margin-top:16px;font-size:12px!important}
.wave-ed-empty{padding:28px 8px!important;text-align:center;color:var(--we-muted);font-size:12px;line-height:1.8}
.wave-ed-search-row{display:flex;gap:8px;margin-bottom:10px}
.wave-ed-search-row input{flex:1;width:0}
.wave-ed-search-row button{font-size:12px}
.wave-ed-filters,.wave-ed-extra-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
.wave-ed-filters select,.wave-ed-extra-filters select{width:100%;font-size:12px;padding:8px}
.wave-ed-table-wrap{max-height:55vh;overflow:auto;margin-top:16px;border-top:1px solid var(--we-line)}
.wave-ed-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:auto}
.wave-ed-table th{position:sticky;top:0;background:var(--we-panel);color:var(--we-muted);z-index:1;font-weight:400;text-align:left;padding:10px 6px;border-bottom:1px solid var(--we-line)}
.wave-ed-table td{padding:10px 6px;border-bottom:1px solid var(--we-line)}
.wave-ed-table th:first-child{width:auto}
.wave-ed-table td:nth-child(2),.wave-ed-table th:nth-child(2){text-align:center;width:42px}
.wave-ed-table td:last-child{width:74px;text-align:right}
.wave-ed-table td>button:not(.wave-ed-enemy){font-size:11px;padding:6px 8px;min-height:30px}
.wave-ed-table tr.chosen,.wave-ed-table tr.in-pool{background:var(--we-raised)}
.wave-ed .wave-ed-enemy{display:flex;align-items:center;gap:10px;text-align:left;border:0;background:transparent;padding:0;width:100%;white-space:normal}
.wave-ed-enemy span{min-width:0;overflow-wrap:anywhere}
.wave-ed-enemy b{font-size:12px;font-weight:500;line-height:1.5}
.wave-ed-enemy small{display:block;font-size:10px;line-height:1.5;margin-top:4px;color:var(--we-muted)}
.wave-ed-detail{margin-top:16px;padding:14px 0 0;border-top:1px solid var(--we-line);font-size:12px;line-height:1.7;color:var(--we-muted)}
.wave-ed-detail img{width:36px;height:36px;object-fit:contain}
.wave-ed-fallback{display:grid;place-content:center;width:36px;height:36px;flex-shrink:0;background:var(--we-raised)}
.wave-ed-detail input{width:70px;margin-left:8px}
.wave-ed-detail h3{font-size:15px;color:var(--we-ink)}
.wave-ed-detail p{overflow-wrap:anywhere}
.wave-ed-detail a{color:var(--we-accent)}
.wave-ed-sr-only{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.wave-ed-test{width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:24px;border:1px solid var(--we-line);border-radius:8px;background:var(--we-panel);color:var(--we-ink);overflow:auto}
.wave-ed-test::backdrop{background:var(--we-dim)}
.wave-ed-test header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.wave-ed-test header small{font-size:11px;color:var(--we-muted)}
.wave-ed-test h2{font-size:22px;margin:6px 0 0;overflow-wrap:anywhere}
.wave-ed-test-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px 0;border-block:1px solid var(--we-line)}
.wave-ed-test-stats strong{display:block;font-size:28px;font-variant-numeric:tabular-nums}
.wave-ed-test-stats strong small{font-size:13px;color:var(--we-muted)}
.wave-ed-test-stats span{display:block;font-size:11px;color:var(--we-muted);margin-top:6px}
.wave-ed-test-results{list-style:none;padding:0;margin:12px 0;max-height:40vh;overflow:auto}
.wave-ed-test-results li{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--we-line)}
.wave-ed-test-results img{width:44px;height:44px;object-fit:contain}
.wave-ed-test-results li>span{flex:1;min-width:0}
.wave-ed-test-results b{display:block;font-size:13px}
.wave-ed-test-results small{display:block;margin-top:5px;font-size:11px;color:var(--we-muted)}
.wave-ed-test-results li>strong{font-size:18px;color:var(--we-accent);white-space:nowrap}
.wave-ed-test footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}
.wave-ed-test footer span{font-size:11px;color:var(--we-muted)}
.wave-ed-test-warning{font-size:12px;line-height:1.7;color:var(--we-warning)}
@media(max-width:1200px){.wave-ed-layout{grid-template-columns:176px minmax(0,1fr);gap:20px}.wave-ed-body{grid-template-columns:minmax(0,1fr)}.wave-ed-cards{max-height:200px}.wave-ed-temps{max-height:60vh}}
@media(max-width:700px){.wave-ed{padding:16px}.wave-ed-top{gap:10px;flex-wrap:wrap}.wave-ed-top h1{font-size:20px}.wave-ed-top .wave-ed-autosave{display:none}.wave-ed-top>button:last-child{margin-left:auto}.wave-ed-boss-setting{align-items:flex-start}.wave-ed-boss-setting label{margin-left:auto}.wave-ed-layout{grid-template-columns:minmax(0,1fr);gap:24px}.wave-ed-sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wave-ed-tiers{margin:0;align-self:end}.wave-ed-section-label{display:none}.wave-ed-temps{grid-column:1/-1;flex-direction:row;max-width:100%;max-height:none;overflow:auto}.wave-ed-temps button{width:160px;flex:0 0 160px;padding:10px}.wave-ed-new{grid-column:1/-1;margin-top:0}.wave-ed-current h2{font-size:20px}.wave-ed-current{gap:10px}.wave-ed-current>button{font-size:12px;padding:10px}.wave-ed-settings{grid-template-columns:minmax(0,1fr) 80px;gap:12px}.wave-ed-settings>label:first-child{grid-column:1/-1}.wave-ed-pool,.wave-ed-db{padding:14px}.wave-ed-body{gap:16px}.wave-ed-table td,.wave-ed-table th{padding:10px 3px}.wave-ed-enemy img{width:28px;height:32px}.wave-ed .wave-ed-enemy{gap:6px}.wave-ed-table td:last-child{width:62px}.wave-ed-table td:nth-child(2){width:30px}.wave-ed-test{padding:18px}.wave-ed-test-stats{gap:10px}.wave-ed-test-stats strong{font-size:23px}}
/* 悬赏与机变决策共享回合结算的横幅、扫光和入场动画。 */
.native-choice-overlay{z-index:100;background:transparent;--round-accent:#77e8d0;text-align:left;padding:24px}
.native-choice-content{width:100%;min-width:0}
.native-choice-overlay>section.native-round-end-banner{display:block;place-items:stretch;width:min(1100px,100%);max-height:calc(100dvh - 48px);min-height:0;overflow:auto;padding:54px 30px 24px;background-color:#0c2120}
.native-choice-overlay .native-round-end-banner:before{content:'STRONGHOLD PROTOCOL / OPERATIONS'}
.native-choice-heading>p:first-child{display:flex;justify-content:space-between;gap:12px;margin:0;color:var(--round-accent);font:11px var(--mono,monospace);letter-spacing:.2em}
.native-choice-heading>p:first-child span{color:#8cafaa}
.native-choice-heading h2{font-size:32px;font-weight:600;letter-spacing:.18em;margin:14px 0 18px;outline:none}
.native-choice-rule{height:2px;width:48px;background:var(--round-accent);box-shadow:56px 0 #77e8d035,112px 0 #77e8d015}
.native-choice-overlay .native-choice-note{margin:16px 0 24px;color:#a9c8bd;font-size:12px;line-height:1.7;white-space:normal}
.native-choice-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.native-choice-cards[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.native-choice-card{position:relative;display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:18px 16px;text-align:left;border:1px solid #42665c;border-top:2px solid #77e8d065;background:#0a1c1de0;color:#e7fff4;border-radius:0;cursor:pointer;animation:native-choice-card-in .45s cubic-bezier(.16,.9,.2,1) both;animation-delay:calc(.16s + var(--choice-order,0)*.07s);transition:border-color .15s,background .15s,transform .15s}
.native-choice-card:hover{border-color:var(--round-accent);background:#163d37}
.native-choice-card:focus-visible{outline:2px solid #fff;outline-offset:3px;border-color:var(--round-accent)}
.native-choice-card:active{background:#1e4a40}
.native-choice-index{color:#91b3a9;font:10px var(--mono,monospace);letter-spacing:.1em}
.native-choice-card>strong{font-size:16px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
.native-bounty-portrait{height:100px;display:flex;justify-content:center;align-items:center;margin:12px 0 16px;background:radial-gradient(ellipse,#77e8d011,transparent 65%)}
.native-bounty-portrait img{width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 6px 12px #0007)}
.native-bounty-target{font-size:11px;color:#9bbab0;margin-top:6px}
.native-bounty-prize{display:flex;align-items:center;gap:12px;margin:18px 0}
.native-bounty-prize>b{font:500 42px/1 var(--mono,monospace);color:var(--round-accent)}
.native-bounty-prize>span{color:#adcac0;font-size:10px;line-height:1.7}
.native-choice-card-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid #77e8d026;color:#a4c1b5;font-size:10px}
.native-choice-card-footer b{color:var(--round-accent);white-space:nowrap;font-size:12px;font-weight:500}
.native-choice-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;color:#8eafa4;font-size:11px;line-height:1.7}
.native-choice-footer button{padding:8px 18px;color:#c7e3d8;border:1px solid #45685e;background:transparent;white-space:nowrap;min-height:36px}
.native-choice-footer button:focus-visible{outline:2px solid var(--round-accent);outline-offset:3px}
.native-decision-mark{font:400 56px/1 var(--mono,monospace);color:#77e8d059;margin:24px 0}
.native-choice-overlay .native-decision-card p{font-size:12px;color:#b2cfc2;line-height:1.9;margin:14px 0 26px;white-space:normal;min-height:68px}
.native-choice-overlay[data-steady] .native-round-end-banner,.native-choice-overlay[data-steady] .native-round-end-dim,.native-choice-overlay[data-steady] .native-round-end-banner:after,.native-choice-overlay[data-steady] .native-choice-card{animation:none}
.native-choice-overlay[data-reduce] .native-choice-card{animation:none;transition:none}
@keyframes native-choice-card-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.native-choice-card{animation:none;transition:none}}
@media(max-width:800px){.native-choice-overlay{padding:16px}.native-choice-overlay>section.native-round-end-banner{padding:48px 20px 20px;max-height:calc(100dvh - 32px)}.native-choice-cards,.native-choice-cards[data-count="3"]{grid-template-columns:repeat(2,minmax(0,1fr))}.native-choice-heading h2{font-size:26px}.native-choice-card{padding:16px}.native-bounty-portrait{height:64px;margin:8px 0}.native-bounty-portrait img{width:60px;height:60px}.native-bounty-prize{margin:12px 0}.native-bounty-prize>b{font-size:32px}}
@media(max-width:460px){.native-choice-overlay{padding:10px}.native-choice-overlay>section.native-round-end-banner{padding:48px 16px 18px;max-height:calc(100dvh - 20px)}.native-choice-cards,.native-choice-cards[data-count="3"]{grid-template-columns:minmax(0,1fr)}.native-choice-heading>p:first-child{letter-spacing:.06em;font-size:10px}.native-choice-card{padding:16px}.native-choice-footer{align-items:flex-start}.native-decision-mark{font-size:36px;margin:16px 0}.native-choice-overlay .native-decision-card p{min-height:0}.native-choice-card>strong{font-size:15px}}
@media(max-height:500px){.native-choice-overlay .native-round-end-banner:before{display:none}.native-choice-overlay{align-items:flex-start;padding:8px}.native-choice-overlay>section.native-round-end-banner{max-height:calc(100dvh - 16px);padding-top:20px}.native-choice-heading h2{font-size:23px;margin:10px 0}.native-choice-overlay .native-choice-note{margin:12px 0}.native-bounty-portrait{height:48px}.native-bounty-portrait img{width:44px;height:44px}}

/* ── 手机端拖放与遮挡修正 ────────────────────────────────────────────────────
   1) 整备区的装备是 <div role="button" data-act="item">，只有 <button> 拿到了 touch-action:none，
      手机上一拖就被当成横向滚动、随即 pointercancel，装备「拖到干员身上」等于不可用。
      这里让装备卡片与干员卡同款：同样尺寸、touch-action:none，并关掉长按菜单与选中。
   2) 整备区标签与朝向面板都是盖在棋盘上的信息层，必须让指针穿透，
      否则预览格正好落在它们下面时按不到画布，就没法拖动选择朝向。 */
.native-bench button,.native-bench>[data-act="item"]{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.native-bench>[data-act="item"]{position:relative;flex:0 0 68px;min-width:0;height:94px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;cursor:grab}
.native-bench-label{pointer-events:none}
.native-facing{pointer-events:none}
.native-facing button{pointer-events:auto}
.native-dossier-name-bonds{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:8px;vertical-align:middle}
.native-dossier-name-bonds i{font-style:normal;padding:2px 5px;border:1px solid #39685b;background:#102b27;color:#bfe6d7;font-size:10px;font-weight:600}
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){
 html.native-landscape-ui .native-bench>[data-act="item"]{flex:0 0 62px;height:40px;min-height:40px;padding:1px;display:grid;grid-template-columns:28px 1fr;gap:2px}
}
/* 触屏没有鼠标悬停，这两段说明性文字只会挡住棋盘与朝向拖动：关掉文字，控件保留。 */
@media(hover:none){
 .native-bench-label #native-drop-hint{display:none}
 .native-facing .native-facing-tip{display:none}
}

.native-wave-bounty-note{margin:6px 0 0;color:#f0d18a;font-size:11px;line-height:1.5}

/* ── 编制台 · 两个页面（敌人编制／盟约禁用）──────────────────────────── */
.wave-ed-pages{display:flex;gap:4px;flex-wrap:wrap}
.wave-ed-pages button{padding:8px 12px}
.wave-ed-pages button.chosen{outline:0;border-color:var(--we-accent);color:var(--we-accent);background:var(--we-raised);font-weight:700}
.wave-ed-bonds{margin-top:24px}
.wave-ed-bond-rule{color:var(--we-muted);font-size:12px}
.wave-ed-bond-temp{border-left:3px solid var(--we-warning);padding-left:10px;color:var(--we-warning)}
.wave-ed-bonds-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
.wave-ed-bonds-tools input{flex:1 1 220px;max-width:360px}
.wave-ed-bonds-group{display:flex;gap:8px;align-items:baseline;margin:22px 0 10px;font-size:13px;letter-spacing:.1em;color:var(--we-ink)}
.wave-ed-bonds-group small{color:var(--we-muted);font-weight:400;letter-spacing:0}
.wave-ed-bonds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:12px}
.wave-ed-bond{display:flex;flex-direction:column;min-width:0;background:var(--we-panel);border:1px solid var(--we-line)}
.wave-ed-bond.core{border-left:3px solid var(--we-accent)}
.wave-ed-bond>header{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--we-line)}
.wave-ed-bond>header>div:first-child{display:flex;flex-direction:column;min-width:0}
.wave-ed-bond>header b{font-size:13px;font-weight:600}
.wave-ed-bond>header small{color:var(--we-muted);font-size:10px;letter-spacing:.1em}
.wave-ed-bond>header>span{margin-left:auto;color:var(--we-muted);font-size:11px;white-space:nowrap}
.wave-ed-bond-actions{display:flex;gap:4px;width:100%}
.wave-ed-bond-actions button{flex:1;min-height:30px;padding:4px 6px;font-size:11px}
.wave-ed-bond-members{display:flex;flex-direction:column;max-height:236px;overflow:auto;padding:4px}
.wave-ed-bond-member{display:flex;gap:8px;align-items:center;padding:5px 8px;border-radius:4px;cursor:pointer}
.wave-ed-bond-member:hover{background:var(--we-raised)}
.wave-ed-bond-member input{width:15px;height:15px;min-height:0;padding:0;accent-color:var(--we-accent)}
.wave-ed-bond-member span{display:flex;flex-direction:column;min-width:0}
.wave-ed-bond-member b{font-size:12px;font-weight:500}
.wave-ed-bond-member small{color:var(--we-muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wave-ed-bond-member.exempt{background:var(--we-raised)}
.wave-ed-bond-member.exempt b{color:var(--we-accent)}
/* 禁用方案页：每张盟约卡三个状态按钮（固定禁用／参与随机／不被禁）。 */
.wave-ed-rule{gap:0}
.wave-ed-rule>header>span.wave-ed-rule-mode{margin-left:auto;padding:2px 8px;border:1px solid var(--we-line);border-radius:999px;color:var(--we-muted);font-size:11px;letter-spacing:.06em}
.wave-ed-rule.is-fixed{border-left:3px solid var(--we-warning)}
.wave-ed-rule.is-fixed>header>span.wave-ed-rule-mode{border-color:var(--we-warning);color:var(--we-warning)}
.wave-ed-rule.is-never{border-left:3px solid var(--we-muted)}
.wave-ed-rule-modes{padding:8px 10px 10px}
.wave-ed-rule-modes button.chosen{outline:0;border-color:var(--we-accent);color:var(--we-accent);background:var(--we-raised);font-weight:700}
.wave-ed-rule.is-fixed .wave-ed-rule-modes button.chosen{border-color:var(--we-warning);color:var(--we-warning)}
/* 硬锁（绝技）：任何情况下都不被禁，三个状态按钮不可点。 */
.wave-ed-rule.is-locked{border-left:3px solid var(--we-accent)}
.wave-ed-rule.is-locked>header>span.wave-ed-rule-mode{border-color:var(--we-accent);color:var(--we-accent)}
.wave-ed-rule.is-locked .wave-ed-rule-modes button{opacity:.5;cursor:not-allowed}
.wave-ed-bond .wave-ed-empty{padding:16px 8px!important}
/* 作战前简报的「盟约缺席情况」：沿用大厅那份深色卡片语言。
   核心盟约全列出来，被禁的灰掉＋划掉；附加盟约只列被禁的，同样灰掉＋划掉。
   被禁干员太多，不铺在页面上，点按钮开弹窗看头像。 */
.native-ban-bonds{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:10px;margin:12px 0}
.native-ban-bond{display:flex;flex-direction:column;gap:2px;padding:10px 12px;color:#e8f4ef;background:#0d2023d9;border:1px solid #386764;box-shadow:0 14px 40px #0002}
.native-ban-bond.available{border-left:3px solid #79dcb7}
.native-ban-bond.banned{border-color:#4a5f5b;background:#0a1a1cb3;opacity:.62}
.native-ban-bond.banned b{text-decoration:line-through;text-decoration-color:#8fb3aa}
.native-ban-bond.banned small,.native-ban-bond.banned span{color:#7e9891}
.native-ban-bond b{font-size:14px}
.native-ban-bond small{color:#80b5ab;font-size:10px;letter-spacing:.1em}
.native-ban-bond span{color:#f0d18a;font-size:11px}
.native-ban-heading{display:flex;gap:8px;align-items:baseline;font-size:15px;margin:18px 0 8px}
.native-ban-heading small{color:#80b5ab;font-size:11px;font-weight:400;letter-spacing:0}
.native-ban-none{color:#80b5ab;font-size:12px;margin:4px 0}
.native-ban-open{margin-top:6px;padding:10px 16px;cursor:pointer}
/* 对局内的「禁用名单」入口：桌面在顶栏，手机在「战况 / 设置」面板里。
   盟约那列**不放**入口（电脑、手机都不放）——那列只列当前盟约。 */
.native-top .native-ban-entry{border-left:3px solid #c9836a}
html.native-landscape-ui #native-modal .native-ban-entry{display:block;width:100%;min-height:34px;margin:6px 0;padding:10px;border-left:3px solid #c9836a;text-align:center}
/* 被禁干员弹窗按被禁盟约分组：一组一个分区，同一名干员挂在多个被禁盟约下时会在多组里各出现一次。 */
.native-ban-group{margin:14px 0 0;padding-top:10px;border-top:1px solid #2c4a45}
.native-ban-group:first-of-type{border-top:0;padding-top:0}
.native-ban-group .native-ban-heading{margin-top:0}
.native-ban-group .native-ban-operators{max-height:none}
.native-ban-note{color:#a7c5bd;font-size:12px;line-height:1.7}
.native-ban-note+.native-ban-note{margin-top:-4px}
.native-ban-operators{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;margin:12px 0;max-height:52vh;overflow:auto}
.native-ban-operators>.native-ban-none{grid-column:1/-1}
.native-ban-operators figure{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0}
.native-ban-op-art{display:block;width:64px;height:64px;background:#0d2023;border:1px solid #386764;overflow:hidden}
.native-ban-operators img{width:100%;height:100%;object-fit:cover;filter:grayscale(.8) brightness(.85)}
.native-ban-operators figcaption{display:flex;flex-direction:column;align-items:center;font-size:11px;line-height:1.35;text-align:center}
.native-ban-operators figcaption b{font-size:12px;font-weight:600}
.native-ban-operators figcaption small{color:#80b5ab;font-size:10px}
.native-ban-operators figcaption em{color:#f0d18a;font-size:10px;font-style:normal}
.native-ban-foot{color:#80b5ab;font-size:11px;margin:8px 0}
@media(max-width:720px){
 .wave-ed-top{flex-wrap:wrap;gap:10px}
 .wave-ed-top .wave-ed-autosave{margin-left:0}
 .wave-ed-bonds-grid{grid-template-columns:1fr}
 .native-ban-bonds{grid-template-columns:repeat(2,minmax(0,1fr))}
 .native-ban-operators{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}
}


/* Hallmark · atmospheric terminal · horizontal roster, docked filter rail, archive command overlay. */
.native-prep{padding-bottom:calc(190px + env(safe-area-inset-bottom))}
.native-prep>*{max-width:1320px;margin-left:auto;margin-right:auto}
.native-prep-top{display:flex;align-items:center;gap:18px;padding:0 0 18px;border-bottom:1px solid var(--color-terminal-rule)}
.native-prep-top h1{margin:4px 0 0;color:var(--color-terminal-ink);font-size:26px;letter-spacing:.06em}
.native-prep-top .native-eyebrow{display:block;font-size:10px;letter-spacing:.24em;color:var(--color-terminal-accent)}
.native-prep-top button{padding:9px 13px;color:var(--color-terminal-ink);background:var(--color-terminal-page);border:1px solid var(--color-terminal-rule);font-size:12px}
.native-prep-count{margin-left:auto;color:var(--color-terminal-muted);font:600 11px var(--mono,'Arial Narrow',sans-serif);letter-spacing:.08em}
.native-prep-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:24px;padding:0 2px 16px;border-bottom:1px solid #23484a}
.native-prep-heading h2{margin:5px 0 4px;color:var(--color-terminal-ink);font-size:clamp(23px,3vw,34px);letter-spacing:.06em}
.native-prep-heading p{margin:0;color:var(--color-terminal-muted);font-size:12px;line-height:1.6}
.native-prep-live-count{display:flex;align-items:baseline;gap:7px;color:var(--color-terminal-muted);font:11px var(--mono,'Arial Narrow',sans-serif);white-space:nowrap}
.native-prep-live-count b{color:var(--color-terminal-accent);font-size:26px;font-variant-numeric:tabular-nums}
.native-prep-tabs{display:flex;gap:8px;margin:14px 0 12px;border-bottom:1px solid #23484a}
.native-prep-tabs button{display:flex;align-items:center;gap:9px;padding:10px 14px;color:#9cc5ba;background:transparent;border:1px solid transparent;border-bottom:2px solid transparent;font-size:13px}
.native-prep-tabs button>span{color:#56877c;font:600 10px var(--mono,monospace)}
.native-prep-tabs button small{color:#6f9c92;font:10px var(--mono,monospace)}
.native-prep-tabs button.chosen{color:var(--color-terminal-ink);background:#10272a;border-color:#2b5754;border-bottom-color:var(--color-terminal-accent)}
.native-prep-list{display:flex;align-items:stretch;gap:12px;min-height:250px;padding:5px 2px 16px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#39756a transparent}
.native-prep-card{position:relative;display:flex;flex:0 0 clamp(290px,29vw,370px);gap:14px;min-width:0;min-height:230px;padding:16px 15px;background:linear-gradient(145deg,#10282ade,var(--color-terminal-panel) 72%);border:1px solid #2c5352;border-radius:var(--radius-terminal);overflow:hidden}
.native-prep-card:before{content:"";position:absolute;left:0;top:0;width:36px;height:2px;background:var(--color-terminal-accent);box-shadow:0 0 14px #79dcb777}
.native-prep-card.is-custom{border-color:#77e3c4;box-shadow:inset 0 0 24px #77e3c40b,0 0 0 1px #77e3c433}
.native-prep-art{flex:0 0 auto;align-self:flex-start;padding:4px;border:1px solid #234b47;background:#08181b}
.native-prep-art img{width:62px;height:68px;object-fit:contain}
.native-prep-body{display:flex;flex:1;flex-direction:column;gap:11px;min-width:0}
.native-prep-title{display:flex;align-items:baseline;gap:8px;min-width:0}
.native-prep-title b{overflow:hidden;color:var(--color-terminal-ink);font-size:15px;text-overflow:ellipsis;white-space:nowrap}
.native-prep-title small{color:#7fb0a4;font:10px var(--mono,'Arial Narrow',sans-serif);letter-spacing:.08em;white-space:nowrap}
.native-prep-bonds{display:flex;flex-wrap:wrap;gap:4px;min-height:18px}
.native-prep-bond{padding:2px 6px;color:#a9d8ca;background:#122e2c;border:1px solid #2f5c56;border-radius:var(--radius-terminal);font-size:10px}
.native-prep-bond.core{color:var(--color-terminal-signal);background:#2a2517;border-color:#5c5230}
.native-prep-bond.none{color:#7c9a92;border-style:dashed}
.native-prep-skill{display:flex;flex-direction:column;gap:4px;margin-top:0;color:var(--color-terminal-muted);font-size:10px;letter-spacing:.05em}
.native-prep-current-skill{display:flex;flex:1 1 0;min-width:0;min-height:0;flex-direction:column;justify-content:center;gap:2px;padding:2px 5px;color:#cce8dd;background:#0b1c20;border-left:2px solid #4f9b88}
.native-prep-current-skill-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0}
.native-prep-current-skill-head b{overflow:hidden;color:#e3f7ee;font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.native-prep-current-skill-head small{flex:0 0 auto;color:#83b8a9;font-size:7px}
.native-prep-current-skill p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;color:#c5ddd4;font-size:9px;line-height:1.2}
.native-prep-current-skill-meta{overflow:hidden;color:#7fb0a4;font-size:7px;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}
.native-prep-skill-options{display:flex;gap:6px}
.native-prep-skill-options button{flex:1;min-width:0;min-height:30px;padding:4px 6px;color:#a6c9bf;background:#09191c;border:1px solid #315e5a;border-radius:var(--radius-terminal);font:700 12px var(--mono,monospace);transition:background .16s,border-color .16s,color .16s,box-shadow .16s}
.native-prep-skill-options button:hover{border-color:var(--color-terminal-accent);color:var(--color-terminal-ink)}
.native-prep-skill-options button.chosen{color:#09251d;background:var(--color-terminal-accent);border-color:var(--color-terminal-accent);box-shadow:0 0 12px #79dcb744}
.native-prep-no-skill{padding:9px;color:#7c9a92;background:#09191c;border:1px dashed #315e5a}
.native-prep-item{flex-basis:clamp(310px,32vw,400px);}
.native-prep-item .native-prep-body{gap:10px}
.native-prep-item p{display:flex;align-items:flex-start;gap:8px;margin:0;color:#d5e8df;font-size:11px;line-height:1.65;white-space:pre-line}
.native-prep-form{flex:0 0 auto;margin-top:1px;padding:2px 6px;color:var(--color-terminal-signal);background:#241f10;border:1px solid #4d4429;border-radius:var(--radius-terminal);font:9px var(--mono,monospace)}
.native-prep-empty{flex:1;margin:0;padding:24px;color:var(--color-terminal-muted);background:#0d2023d9;border:1px dashed #2c5352;font-size:12px}
.native-prep-filters{position:fixed;z-index:30;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(calc(100% - 32px),1320px);margin:0;padding:12px 14px;background:#071619ed;border:1px solid #35645d;box-shadow:0 12px 34px #0008,0 0 24px #43c6a20d;backdrop-filter:blur(12px);transform:translateX(-50%)}
.native-prep-filter-main{display:flex;align-items:center;gap:20px;min-width:0}
.native-prep-tier-row{display:flex;align-items:center;gap:5px;color:var(--color-terminal-muted);font-size:10px;letter-spacing:.05em;white-space:nowrap}
.native-prep-tier-row>span{margin-right:4px;color:#c7e6dc;font-weight:600}
.native-prep-tier-row button{width:34px;padding:6px 0;color:#cfe8df;background:#0f2427;border:1px solid #315e5a;border-radius:var(--radius-terminal);font:12px var(--mono,monospace)}
.native-prep-tier-row button.chosen{color:#102b20;background:var(--color-terminal-accent);border-color:var(--color-terminal-accent);font-weight:700}
.native-prep-tier-row .native-prep-tier-all{width:auto;padding:6px 9px;color:#8fb8ab;font-size:10px}
.native-prep-bond-row{display:flex;align-items:center;gap:8px;min-width:0}
.native-prep-field{display:flex;flex-direction:row;align-items:center;gap:6px;color:var(--color-terminal-muted);font-size:10px;white-space:nowrap}
.native-prep-field select{width:min(190px,18vw);min-width:120px;padding:7px 9px;color:#e5f7ef;background:#0a191d;border:1px solid #315e5a;border-radius:var(--radius-terminal);font-size:11px}
.native-prep-actions{display:flex;flex:0 0 auto;align-items:center;gap:10px}
.native-prep-actions>span{color:var(--color-terminal-muted);font:10px var(--mono,monospace);white-space:nowrap}
.native-prep-actions button{padding:8px 11px;color:#d9efe7;background:#10272a;border:1px solid #2b5754;border-radius:var(--radius-terminal);font-size:11px;white-space:nowrap}
.native-prep-actions button:hover{border-color:var(--color-terminal-accent);color:var(--color-terminal-ink)}
.native-prep-list:focus-visible,.native-prep button:focus-visible,.native-archive-modal button:focus-visible{outline:2px solid var(--color-terminal-accent);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.native-prep-skill-options button{transition:none}}
@media(max-width:900px){.native-prep-filter-main{align-items:flex-start;flex-direction:column;gap:8px}.native-prep-filters{align-items:stretch}.native-prep-actions{justify-content:space-between}}
@media(max-width:640px){
 .native-prep{padding-bottom:calc(218px + env(safe-area-inset-bottom))}
 .native-prep-top{gap:10px;padding-bottom:12px}
 .native-prep-top h1{font-size:21px}
 .native-prep-heading{align-items:flex-start;margin-top:18px}
 .native-prep-heading p{max-width:38ch;font-size:11px}
 .native-prep-live-count{gap:4px}
 .native-prep-live-count b{font-size:21px}
 .native-prep-list{min-height:255px;margin-right:-14px;padding-right:14px}
 .native-prep-card{flex-basis:min(84vw,350px);min-height:235px;padding:14px 12px}
 .native-prep-item{flex-basis:min(88vw,390px)}
 .native-prep-filters{bottom:calc(6px + env(safe-area-inset-bottom));gap:8px;width:calc(100% - 16px);padding:10px}
 .native-prep-filter-main{gap:8px}
 .native-prep-tier-row{gap:4px}
 .native-prep-tier-row button{width:30px;padding:6px 0}
 .native-prep-tier-row .native-prep-tier-all{width:auto;padding:6px 8px}
 .native-prep-bond-row{width:100%}
 .native-prep-field{flex:1;min-width:0;align-items:flex-start;flex-direction:column;gap:4px}
 .native-prep-field select{width:100%;min-width:0;font-size:10px}
 .native-prep-actions>span{font-size:9px}
 .native-prep-actions button{padding:7px 8px;font-size:10px}
}

/* Preparation roster: viewport-filling columns with a persistent bottom filter dock. */
.native-prep{box-sizing:border-box;width:100%;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding:18px clamp(18px,calc((100vw - 1392px)/2),64px) calc(92px + env(safe-area-inset-bottom))}
.native-prep>*{box-sizing:border-box;width:min(100%,1320px);margin-left:auto;margin-right:auto}
.native-prep-top{flex:0 0 auto;align-items:center;padding-bottom:10px}
.native-prep-heading{flex:0 0 auto;align-items:center;margin-top:12px;padding-bottom:8px}
.native-prep-heading p{font-size:11px}
.native-prep-tabs{flex:0 0 auto;margin:8px auto}
.native-prep-list{--prep-rows:3;display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--prep-rows),minmax(0,1fr));grid-auto-columns:clamp(300px,31vw,390px);align-content:stretch;flex:1 1 auto;min-height:0;min-width:0;margin:0 auto;padding:4px 3px 12px;gap:10px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#39756a transparent;touch-action:pan-x}
.native-prep-card{height:100%;min-height:0;padding:10px;gap:10px}
.native-prep-art img{width:52px;height:58px}
.native-prep-body{gap:2px}
.native-prep-title b{font-size:13px;line-height:1.2}
.native-prep-title small{font-size:8px}
.native-prep-bonds{min-height:12px;max-height:16px;overflow:hidden}
.native-prep-bond{padding:1px 4px;font-size:8px;line-height:1.1}
.native-prep-skill{gap:5px}
.native-prep-skill-options{gap:4px}
.native-prep-empty{grid-row:1/-1;grid-column:1/-1}
.native-prep>.native-prep-filters{width:min(calc(100vw - 36px),1320px);margin:0}
@media(max-width:900px){.native-prep>.native-prep-filters{gap:10px}.native-prep-filter-main{flex-direction:column;align-items:flex-start;gap:8px}}
@media(max-width:640px){
 .native-prep{padding:10px 14px calc(150px + env(safe-area-inset-bottom))}
 .native-prep-top{gap:9px;padding-bottom:8px}
 .native-prep-top h1{font-size:20px}
 .native-prep-heading{align-items:flex-start;gap:8px;margin-top:8px;padding-bottom:6px}
 .native-prep-heading h2{font-size:21px}
 .native-prep-heading p{max-width:32ch;font-size:10px;line-height:1.35}
 .native-prep-live-count{font-size:9px}
 .native-prep-live-count b{font-size:18px}
 .native-prep-tabs{gap:4px;margin:5px 0}
 .native-prep-tabs button{gap:6px;padding:7px 9px;font-size:11px}
 .native-prep-list{--prep-rows:3;grid-auto-columns:min(86vw,360px);margin-right:-14px;padding-right:14px;gap:7px}
 .native-prep-card{padding:7px;gap:7px}
 .native-prep-art{padding:2px}
 .native-prep-art img{width:44px;height:50px}
 .native-prep-body{gap:4px}
 .native-prep-title b{font-size:13px}
 .native-prep-bonds{min-height:14px;max-height:28px}
 .native-prep-bond{padding:1px 4px;font-size:9px}
 .native-prep-skill{gap:3px}
 .native-prep-skill-options button{min-height:29px;padding:4px 5px;font-size:10px}
 .native-prep>.native-prep-filters{bottom:calc(6px + env(safe-area-inset-bottom));width:calc(100vw - 28px);padding:8px}
}
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){
 html.native-landscape-ui .native-prep{padding:6px 14px calc(66px + env(safe-area-inset-bottom))}
 html.native-landscape-ui .native-prep-top{gap:8px;padding-bottom:4px}
 html.native-landscape-ui .native-prep-top button{padding:5px 8px}
 html.native-landscape-ui .native-prep-top h1{font-size:17px}
 html.native-landscape-ui .native-prep-top .native-eyebrow{font-size:8px}
 html.native-landscape-ui .native-prep-heading{margin-top:4px;padding-bottom:4px}
 html.native-landscape-ui .native-prep-heading h2{margin:2px 0;font-size:17px}
 html.native-landscape-ui .native-prep-heading p{display:none}
 html.native-landscape-ui .native-prep-live-count b{font-size:17px}
 html.native-landscape-ui .native-prep-tabs{margin:3px 0}
 html.native-landscape-ui .native-prep-tabs button{padding:4px 8px;font-size:10px}
 html.native-landscape-ui .native-prep-list{--prep-rows:1;grid-auto-columns:clamp(230px,42vw,330px);gap:6px;padding:2px 3px 8px}
 html.native-landscape-ui .native-prep-card{padding:5px;gap:5px}
 html.native-landscape-ui .native-prep-body{gap:2px}
 html.native-landscape-ui .native-prep-art img{width:38px;height:44px}
 html.native-landscape-ui .native-prep-title b{font-size:11px}
 html.native-landscape-ui .native-prep-bonds{min-height:12px;max-height:16px}
 html.native-landscape-ui .native-prep-current-skill-meta{display:none}
 html.native-landscape-ui .native-prep-skill-options button{min-height:25px;padding:2px 4px;font-size:9px}
 html.native-landscape-ui .native-prep>.native-prep-filters{bottom:calc(4px + env(safe-area-inset-bottom));width:calc(100vw - 24px);padding:4px 6px;gap:6px}
 html.native-landscape-ui .native-prep-filter-main{flex:1;flex-direction:row;align-items:center;gap:8px}
 html.native-landscape-ui .native-prep-tier-row{gap:3px;font-size:8px}
 html.native-landscape-ui .native-prep-tier-row button{width:25px;padding:4px 0;font-size:10px}
 html.native-landscape-ui .native-prep-tier-row .native-prep-tier-all{width:auto;padding:4px 6px}
 html.native-landscape-ui .native-prep-bond-row{width:auto;gap:5px}
 html.native-landscape-ui .native-prep-field{flex:0 1 auto;align-items:center;flex-direction:row;gap:4px;font-size:8px}
 html.native-landscape-ui .native-prep-field select{width:clamp(84px,14vw,132px);min-width:0;padding:4px;font-size:9px}
 html.native-landscape-ui .native-prep-actions{gap:4px}
 html.native-landscape-ui .native-prep-actions>span{font-size:8px}
 html.native-landscape-ui .native-prep-actions button{padding:4px 6px;font-size:9px}
}
/* S.E.E.S. frame FX stays inside the battlefield board, above the map and below the cost badge. */
.native-sees-fx-board{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;padding:0;border:0;pointer-events:none}

/* Simulation briefing: one overview, clear sections, and a persistent start action. */
.native-briefing-v2{box-sizing:border-box;width:100%;height:100vh;height:100dvh;min-height:0;max-height:100vh;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding:16px clamp(16px,3.5vw,52px) max(10px,env(safe-area-inset-bottom));color:var(--color-terminal-ink);background:radial-gradient(circle at 82% 5%,#17403d 0,#0b1a1d 48%,#061013 100%)}
.native-briefing-v2 .briefing-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;flex:0 0 auto;padding:0 0 10px;border-bottom:1px solid #2b5754}
.native-briefing-v2 .briefing-back{justify-self:start;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;color:#cfe8df;background:#10272a;border:1px solid #315e5a;font-size:11px}
.native-briefing-v2 .briefing-back>span{color:var(--color-terminal-accent);font-size:18px;line-height:1}
.native-briefing-v2 .briefing-topmark{display:flex;flex-direction:column;align-items:center;gap:3px;color:#80b5ab;font:9px var(--mono,'Arial Narrow',sans-serif);letter-spacing:.16em}
.native-briefing-v2 .briefing-topmark b{color:#c9e6db;font-size:9px;font-weight:500}
.native-briefing-v2 .briefing-mode{justify-self:end;display:flex;align-items:center;gap:8px;color:#a8c9bf;font-size:10px;white-space:nowrap}
.native-briefing-v2 .briefing-mode i{width:4px;height:4px;border-radius:50%;background:var(--color-terminal-accent)}
.native-briefing-v2 .briefing-content{display:flex;flex:1 1 auto;flex-direction:column;gap:12px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0 2px 10px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#39756a transparent}
.native-briefing-v2 .briefing-title{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);align-items:center;gap:24px;flex:0 0 auto;padding:12px 0 2px}
.native-briefing-v2 .briefing-title>.native-eyebrow,.native-briefing-v2 .briefing-title .native-eyebrow{color:var(--color-terminal-accent);font-size:9px;letter-spacing:.2em}
.native-briefing-v2 .briefing-title h1{margin:5px 0 4px;color:#f1fff8;font-size:clamp(34px,4vw,54px);line-height:1.05;letter-spacing:.08em}
.native-briefing-v2 .briefing-title p{margin:0;color:#91b6ad;font-size:12px;line-height:1.55}
.native-briefing-v2 .briefing-final-boss{padding:10px 13px;border:1px solid #805b3a;background:linear-gradient(135deg,#2b211a,#111f20);box-shadow:inset 3px 0 #d6a46f}
.native-briefing-v2 .briefing-final-boss>.native-eyebrow{display:block;margin-bottom:6px;color:#efb681;font:9px var(--mono,'Arial Narrow',sans-serif);letter-spacing:.14em}
.native-briefing-v2 .briefing-final-main{display:flex;align-items:center;gap:10px;min-width:0}
.native-briefing-v2 .briefing-final-main img{width:46px;height:46px;flex:0 0 46px;object-fit:contain}
.native-briefing-v2 .briefing-final-main>div{display:flex;min-width:0;flex-direction:column;gap:4px}
.native-briefing-v2 .briefing-final-main small{color:#d6a46f;font-size:9px}
.native-briefing-v2 .briefing-final-main b{overflow:hidden;color:#fff1e1;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.native-briefing-v2 .briefing-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,27%);align-items:stretch;gap:12px;flex:0 0 auto}
.native-briefing-v2 .briefing-training,.native-briefing-v2 .briefing-map-card,.native-briefing-v2 .briefing-strategy-section,.native-briefing-v2 .briefing-bond-section{min-width:0;padding:12px 14px;border:1px solid #2b5754;background:#0d2023d9}
.native-briefing-v2 .briefing-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.native-briefing-v2 .briefing-section-head>div{display:flex;align-items:baseline;gap:9px;min-width:0}
.native-briefing-v2 .briefing-section-head>div>span{color:#6fa89a;font:9px var(--mono,'Arial Narrow',sans-serif);letter-spacing:.13em;white-space:nowrap}
.native-briefing-v2 .briefing-section-head h2,.native-briefing-v2 .briefing-map-copy h2{margin:0;color:#eafaf3;font-size:16px;letter-spacing:.04em}
.native-briefing-v2 .briefing-section-head>small{color:#80b5ab;font:10px var(--mono,'Arial Narrow',sans-serif);white-space:nowrap}
.native-briefing-v2 .briefing-training-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}
.native-briefing-v2 .briefing-training-card{display:grid;grid-template-columns:25px minmax(0,1fr);gap:8px;min-width:0;min-height:90px;padding:10px;background:#10272a;border:1px solid #2b5754}
.native-briefing-v2 .briefing-training-index{color:#5a8e80;font:10px var(--mono,'Arial Narrow',sans-serif)}
.native-briefing-v2 .briefing-training-card h3{margin:0;color:#eafaf3;font-size:14px}
.native-briefing-v2 .briefing-training-card small{display:block;margin:3px 0 6px;color:#6fa89a;font:8px var(--mono,'Arial Narrow',sans-serif);letter-spacing:.08em;text-transform:uppercase}
.native-briefing-v2 .briefing-training-card p{margin:0;color:#a7c5bd;font-size:10px;line-height:1.45}
.native-briefing-v2 .briefing-empty{grid-column:1/-1;margin:0;padding:12px;color:#91b6ad;font-size:11px}
.native-briefing-v2 .briefing-map-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(88px,.8fr);align-items:center;gap:10px}
.native-briefing-v2 .briefing-map-copy{display:flex;min-width:0;flex-direction:column;gap:5px}
.native-briefing-v2 .briefing-map-copy>.native-eyebrow{color:#6fa89a;font:8px var(--mono,'Arial Narrow',sans-serif);letter-spacing:.14em}
.native-briefing-v2 .briefing-map-copy>b{color:#cfe8df;font-size:11px}
.native-briefing-v2 .briefing-map-copy>small{overflow:hidden;color:#80b5ab;font:8px var(--mono,'Arial Narrow',sans-serif);text-overflow:ellipsis;white-space:nowrap}
.native-briefing-v2 .briefing-map-preview{min-width:0;padding:5px;border:1px solid #315e5a;background:#081719}
.native-briefing-v2 .briefing-map-preview .native-map-thumb{max-width:none;gap:2px;padding:3px}
.native-briefing-v2 .briefing-map-preview .native-map-thumb>*{min-width:0}
.native-briefing-v2 .briefing-strategy-section{flex:0 0 auto}
.native-briefing-v2 .briefing-choose-strategy{padding:6px 9px;color:#bfe6d7;background:#10272a;border:1px solid #315e5a;font-size:10px;white-space:nowrap}
.native-briefing-v2 .briefing-selected-strategy{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;margin:0;padding:10px 0 0;border-top:1px solid #23484a}
.native-briefing-v2 .briefing-strategy-art{display:grid;place-items:center;width:72px;height:72px;background:#10272a;border:1px solid #315e5a}
.native-briefing-v2 .briefing-strategy-art img{width:64px;height:64px;object-fit:contain}
.native-briefing-v2 .briefing-strategy-copy{min-width:0}
.native-briefing-v2 .briefing-strategy-copy>.native-eyebrow{color:#6fa89a;font:8px var(--mono,'Arial Narrow',sans-serif);letter-spacing:.14em}
.native-briefing-v2 .briefing-strategy-copy h3{margin:3px 0;color:#eafaf3;font-size:16px}
.native-briefing-v2 .briefing-strategy-copy p{margin:3px 0 6px;color:#a7c5bd;font-size:10px;line-height:1.5;white-space:pre-line}
.native-briefing-v2 .briefing-strategy-copy>small{color:#80b5ab;font-size:9px}
.native-briefing-v2 .briefing-strategy-copy>small b{margin-left:4px;color:#f0d18a;font:600 12px var(--mono,'Arial Narrow',sans-serif)}
.native-briefing-v2 .briefing-bond-section{flex:0 0 auto}
.native-briefing-v2 .briefing-bond-section>.native-eyebrow{display:block;margin-bottom:4px;color:#6fa89a;font:8px var(--mono,'Arial Narrow',sans-serif);letter-spacing:.14em}
.native-briefing-v2 .briefing-bond-section>h2{margin:0 0 8px;color:#eafaf3;font-size:16px}
.native-briefing-v2 .briefing-bond-section .native-ban-heading{margin:10px 0 7px;color:#cfe8df;font-size:12px}
.native-briefing-v2 .briefing-bond-section .native-ban-heading small{color:#80b5ab;font-size:9px}
.native-briefing-v2 .briefing-bond-section .native-ban-bonds{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:6px;margin:6px 0}
.native-briefing-v2 .briefing-bond-section .native-ban-bond{gap:2px;padding:7px 9px;background:#10272a;box-shadow:none}
.native-briefing-v2 .briefing-bond-section .native-ban-bond b{font-size:11px}
.native-briefing-v2 .briefing-bond-section .native-ban-bond small,.native-briefing-v2 .briefing-bond-section .native-ban-bond span{font-size:8px}
.native-briefing-v2 .briefing-bond-section .native-ban-open{padding:8px 11px;color:#cfe8df;background:#10272a;border:1px solid #315e5a;font-size:10px}
.native-briefing-v2 .briefing-actions{flex:0 0 auto;padding-top:9px;border-top:1px solid #2b5754}
.native-briefing-v2 .briefing-actions .native-begin{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;margin:0;padding:10px 16px;border:0;background:linear-gradient(90deg,#54cbaa,#71dfbc)!important;color:#09261e!important;font-size:14px;letter-spacing:.06em}
.native-briefing-v2 .briefing-actions .native-begin span{font:700 16px var(--mono,'Arial Narrow',sans-serif)}
@media(max-width:1000px){
 .native-briefing-v2 .briefing-overview{grid-template-columns:minmax(0,1fr) 230px}
 .native-briefing-v2 .briefing-training-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
}
@media(max-width:820px){
 .native-briefing-v2{padding:12px 14px max(9px,env(safe-area-inset-bottom))}
 .native-briefing-v2 .briefing-topbar{grid-template-columns:minmax(0,1fr) auto;padding-bottom:8px}
 .native-briefing-v2 .briefing-topmark{display:none}
 .native-briefing-v2 .briefing-mode{font-size:9px}
 .native-briefing-v2 .briefing-title{grid-template-columns:minmax(0,1fr);gap:9px;padding:10px 0 0}
 .native-briefing-v2 .briefing-title h1{font-size:34px}
 .native-briefing-v2 .briefing-title p{font-size:10px}
 .native-briefing-v2 .briefing-final-boss{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px}
 .native-briefing-v2 .briefing-final-boss>.native-eyebrow{margin:0}
 .native-briefing-v2 .briefing-final-main img{width:38px;height:38px;flex-basis:38px}
 .native-briefing-v2 .briefing-final-main b{font-size:12px}
 .native-briefing-v2 .briefing-overview{grid-template-columns:minmax(0,1fr);gap:8px}
 .native-briefing-v2 .briefing-training,.native-briefing-v2 .briefing-map-card,.native-briefing-v2 .briefing-strategy-section,.native-briefing-v2 .briefing-bond-section{padding:9px 10px}
 .native-briefing-v2 .briefing-training-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .native-briefing-v2 .briefing-training-card{grid-template-columns:20px minmax(0,1fr);gap:6px;min-height:78px;padding:7px}
 .native-briefing-v2 .briefing-training-card h3{font-size:12px}
 .native-briefing-v2 .briefing-training-card p{font-size:9px;line-height:1.35}
 .native-briefing-v2 .briefing-map-card{grid-template-columns:minmax(0,1fr) minmax(120px,.8fr)}
 .native-briefing-v2 .briefing-section-head h2,.native-briefing-v2 .briefing-map-copy h2{font-size:14px}
 .native-briefing-v2 .briefing-section-head>div>span{font-size:7px}
 .native-briefing-v2 .briefing-selected-strategy{grid-template-columns:58px minmax(0,1fr);gap:9px;padding-top:8px}
 .native-briefing-v2 .briefing-strategy-art{width:58px;height:58px}
 .native-briefing-v2 .briefing-strategy-art img{width:52px;height:52px}
 .native-briefing-v2 .briefing-strategy-copy h3{font-size:14px}
 .native-briefing-v2 .briefing-strategy-copy p{font-size:9px;line-height:1.35}
 .native-briefing-v2 .briefing-bond-section .native-ban-bonds{grid-template-columns:repeat(3,minmax(0,1fr))}
 .native-briefing-v2 .briefing-bond-section .native-ban-bond{padding:6px}
 .native-briefing-v2 .briefing-actions .native-begin{min-height:42px;font-size:13px}
}
@media(max-width:520px){
 .native-briefing-v2{padding:9px 10px max(8px,env(safe-area-inset-bottom))}
 .native-briefing-v2 .briefing-topbar{gap:8px}
 .native-briefing-v2 .briefing-back{padding:6px 8px;font-size:10px}
 .native-briefing-v2 .briefing-mode{gap:5px;font-size:8px}
 .native-briefing-v2 .briefing-title h1{font-size:30px}
 .native-briefing-v2 .briefing-title p{font-size:9px}
 .native-briefing-v2 .briefing-training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .native-briefing-v2 .briefing-training-card{grid-template-columns:16px minmax(0,1fr);gap:5px;padding:6px}
 .native-briefing-v2 .briefing-training-card h3{font-size:11px}
 .native-briefing-v2 .briefing-training-card small{font-size:7px}
 .native-briefing-v2 .briefing-training-card p{font-size:8px}
 .native-briefing-v2 .briefing-map-card{grid-template-columns:minmax(0,1fr) minmax(100px,.8fr);gap:7px}
 .native-briefing-v2 .briefing-map-preview{padding:3px}
 .native-briefing-v2 .briefing-map-preview .native-map-thumb{gap:1px;padding:2px}
 .native-briefing-v2 .briefing-section-head>div{gap:6px}
 .native-briefing-v2 .briefing-section-head>div>span{letter-spacing:.06em}
 .native-briefing-v2 .briefing-choose-strategy{padding:5px 7px;font-size:9px}
 .native-briefing-v2 .briefing-bond-section .native-ban-bonds{grid-template-columns:repeat(2,minmax(0,1fr))}
 .native-briefing-v2 .briefing-bond-section .native-ban-bond b{font-size:10px}
 .native-briefing-v2 .briefing-bond-section .native-ban-open{width:100%}
}
@media(orientation:landscape) and (max-height:600px){
 .native-briefing-v2{padding:6px 14px max(6px,env(safe-area-inset-bottom))}
 .native-briefing-v2 .briefing-topbar{padding-bottom:5px}
 .native-briefing-v2 .briefing-title{grid-template-columns:minmax(0,1fr) minmax(210px,260px);gap:12px;padding-top:6px}
 .native-briefing-v2 .briefing-title h1{margin:2px 0;font-size:26px}
 .native-briefing-v2 .briefing-title p{font-size:9px}
 .native-briefing-v2 .briefing-final-boss{padding:6px 8px}
 .native-briefing-v2 .briefing-overview{grid-template-columns:minmax(0,1fr) minmax(180px,24%);gap:7px}
 .native-briefing-v2 .briefing-training,.native-briefing-v2 .briefing-map-card,.native-briefing-v2 .briefing-strategy-section,.native-briefing-v2 .briefing-bond-section{padding:7px 9px}
 .native-briefing-v2 .briefing-training-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 .native-briefing-v2 .briefing-training-card{min-height:60px;padding:5px}
 .native-briefing-v2 .briefing-training-card p{font-size:8px}
 .native-briefing-v2 .briefing-map-card{grid-template-columns:minmax(0,1fr) 86px;padding:6px}
 .native-briefing-v2 .briefing-map-preview{padding:3px}
 .native-briefing-v2 .briefing-strategy-section{padding-top:7px;padding-bottom:7px}
 .native-briefing-v2 .briefing-section-head{margin-bottom:5px}
 .native-briefing-v2 .briefing-section-head h2,.native-briefing-v2 .briefing-map-copy h2{font-size:12px}
 .native-briefing-v2 .briefing-selected-strategy{grid-template-columns:46px minmax(0,1fr);gap:7px;padding-top:6px}
 .native-briefing-v2 .briefing-strategy-art{width:46px;height:46px}
 .native-briefing-v2 .briefing-strategy-art img{width:42px;height:42px}
 .native-briefing-v2 .briefing-strategy-copy h3{font-size:12px}
 .native-briefing-v2 .briefing-strategy-copy p{margin:2px 0;font-size:8px}
 .native-briefing-v2 .briefing-bond-section .native-ban-heading{margin:6px 0 4px}
 .native-briefing-v2 .briefing-bond-section .native-ban-bonds{grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:4px}
 .native-briefing-v2 .briefing-bond-section .native-ban-bond{padding:4px 6px}
 .native-briefing-v2 .briefing-actions .native-begin{min-height:34px;padding:6px 10px}
}
html.native-landscape-ui .native-briefing-v2{display:flex;flex-direction:column;overflow:hidden}
html.native-need-rotate .native-briefing.native-briefing-v2{overflow:hidden}

.native-dossier .native-dossier-heading{display:flex;align-items:center;flex-wrap:wrap;gap:5px}
.native-dossier-heading-name{min-width:0}
.native-dossier-heading .native-dossier-name-bonds{margin-left:0}
.native-dossier-heading .native-dossier-sell{flex:0 0 auto;margin:0 0 0 auto;padding:4px 7px!important;border-color:#c77370!important;background:#3c1b1d!important;color:#ffe0dc!important;font-size:11px!important;letter-spacing:0;white-space:nowrap}
.native-quick-sell{display:none;position:fixed;z-index:70;min-width:58px;height:28px;padding:0 7px;transform:translate(-50%,-108%);border:1px solid #ef9185;background:#4a2022ed;color:#ffe4de;box-shadow:0 3px 12px #000b;font:700 12px 'Microsoft YaHei',sans-serif;white-space:nowrap;touch-action:manipulation}
@media (hover:none) and (pointer:coarse){.native-quick-sell{display:block}}

/* PC 战前准备卡片：技能说明与卡片标签需要在三行名册布局中保持可读。 */
@media (min-width:641px){
 html:not(.native-landscape-ui) .native-prep-title b{font-size:15px}
 html:not(.native-landscape-ui) .native-prep-title small{font-size:10px}
 html:not(.native-landscape-ui) .native-prep-bond{font-size:10px}
 html:not(.native-landscape-ui) .native-prep-current-skill-head b{font-size:12px}
 html:not(.native-landscape-ui) .native-prep-current-skill-head small{font-size:9px}
 html:not(.native-landscape-ui) .native-prep-current-skill p{font-size:12px;line-height:1.4}
 html:not(.native-landscape-ui) .native-prep-current-skill-meta{font-size:9px;line-height:1.25}
 html:not(.native-landscape-ui) .native-prep-item p{font-size:13px}
 html:not(.native-landscape-ui) .native-prep-form{font-size:10px}
 html:not(.native-landscape-ui) .native-prep-no-skill{font-size:13px}
 html:not(.native-landscape-ui) .native-prep-skill-options button{font-size:13px}
}

/* 商店里购买后能凑齐同阶三合一的干员 */
.native-shop-cards .native-shop-merge-ready{position:relative;border:2px solid #e9bd50!important;background:linear-gradient(145deg,#3b321b,#1d2c29)!important;box-shadow:inset 0 0 0 1px #e9bd5055,0 0 12px #e9bd5044}
.native-shop-cards .native-shop-merge-ready::after{content:'三合一';position:absolute;top:4px;right:4px;padding:2px 5px;border:1px solid #f5d77d;background:#3a2d10;color:#ffe89a;font-size:10px;font-weight:700;line-height:1.2;letter-spacing:.04em}
.native-shop-cards .native-shop-merge-ready:hover{border-color:#fff0a4!important;box-shadow:inset 0 0 0 1px #ffe89a88,0 0 16px #f6d66b77}
.native-shop-cards .native-shop-frozen.native-shop-merge-ready{animation:none}
.native-shop-cards .native-shop-merge-ready.chosen{outline:2px solid #ffe89a}

/* 固定十格手牌；超过上限的临时卡牌排在右侧 */
.native-hand-slot{position:relative;flex:0 0 74px;width:74px;height:94px;box-sizing:border-box;display:flex;padding:2px;border:1px solid #365750;background:#0d1c1b}
.native-hand-slot.is-empty{border-style:dashed;background:linear-gradient(145deg,#18302b88,#0b171880)}
.native-hand-slot.is-empty>span{align-self:center;width:100%;text-align:center;color:#567b70;font:600 12px/1 var(--mono,monospace);letter-spacing:.08em;pointer-events:none}
.native-hand-slot.is-overflow-slot{border-color:#74613b;background:#251f1488}
.native-hand-slot.is-overflow-slot.is-empty>span{color:#a18c5a}
.native-hand-overflow-divider{flex:0 0 28px;align-self:stretch;display:grid;place-items:center;border-left:1px solid #8a7140;color:#d7b862;font-size:10px;writing-mode:vertical-rl}
.native-hand-slot.drop-slot{outline:2px solid #79e8bd;outline-offset:1px;background:#214638!important;box-shadow:0 0 12px #79e8bd77}
.native-hand-slot.is-overflow-slot.drop-slot{outline-color:#f2cf70;background:#473719!important;box-shadow:0 0 12px #f2cf7077}
.native-bench .native-hand-slot>.native-hand-card{flex:1 1 auto!important;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;box-sizing:border-box;margin:0;padding:2px;overflow:hidden;}
.native-bench .native-hand-slot>.native-hand-card img{width:54px;height:55px;object-fit:contain}
.native-bench .native-hand-slot>.native-hand-card b{max-width:100%;font-size:10px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.native-bench .native-hand-slot>.native-hand-card small{margin:0;font-size:8px;line-height:1}
.native-bench .native-hand-slot>[data-act="item"]{position:relative;display:flex;flex:1 1 auto;width:100%;height:100%;min-width:0;min-height:0;box-sizing:border-box;margin:0;padding:2px;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab}
.native-hand-slot .native-item-icon{min-height:54px;height:54px;font-size:34px}
@media(max-width:600px){
 .native-hand-slot{flex-basis:62px;width:62px;height:40px;min-height:40px;padding:1px}
 .native-hand-overflow-divider{flex-basis:20px;font-size:8px}
 .native-bench .native-hand-slot>.native-hand-card{display:grid;grid-template-columns:28px minmax(0,1fr);gap:2px;justify-content:stretch;text-align:left}
 .native-bench .native-hand-slot>.native-hand-card img{grid-row:1/3;width:28px;height:36px}
 .native-bench .native-hand-slot>.native-hand-card b{font-size:9px;text-align:left}
 .native-bench .native-hand-slot>.native-hand-card small{display:none}
 .native-hand-slot .native-summon-icon{min-height:0;height:32px;font-size:22px}
 .native-hand-slot .native-item-icon{min-height:0;height:34px;font-size:24px}
 .native-hand-slot.is-empty>span{font-size:9px}
}
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){
 html.native-landscape-ui .native-hand-slot{flex-basis:62px;width:62px;height:40px;min-height:40px;padding:1px}
 html.native-landscape-ui .native-hand-overflow-divider{flex-basis:20px;font-size:8px}
}
.native-result-bond-layers{margin:14px 0;padding:12px;border:1px solid #315451;background:#102225}
.native-result-bond-layers h3{margin:0 0 8px;color:#cce7dd;font-size:14px}
.native-result-bond-layers>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:5px}
.native-result-bond-layers span{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:4px 6px;border:1px solid #294442;background:#0c1c1e;color:#8ca9a2;font-size:10px}
.native-result-bond-layers b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.native-result-bond-layers i{flex:0 0 auto;color:#86a69e;font-style:normal;font-variant-numeric:tabular-nums}
.native-result-bond-layers .has-layers{border-color:#6d633e;background:#292619;color:#f3dfaa}
.native-result-bond-layers .has-layers i{color:#f3d277;font-weight:700}
@media(max-width:600px){.native-result-bond-layers>div{grid-template-columns:repeat(2,minmax(0,1fr))}.native-result-bond-layers{padding:8px}}
