@font-face{font-family:Marcellus;src:url(/assets/fonts/Marcellus-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:block}.sortableListContent{min-width:0}.sortableListToolbar{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.sortableListToolbar__actions{align-items:center;gap:var(--space-1);display:flex}.sortableListToolbar__order{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.sortableListDefaultOrder{color:var(--text-secondary);font-family:var(--font-ui);font-size:var(--text-2xs);white-space:nowrap}.sortableListSortButton{border:var(--border-width-control) solid var(--border-subtle-dark);gap:var(--space-1);opacity:1;min-width:100%;padding-inline:var(--space-1);justify-content:center}.sortableListSortButton:hover,.sortableListSortButton:focus-visible{border-color:var(--color-copper-600);color:var(--text-primary)}.sortableListSortButton.isSorted{color:var(--color-copper-300);opacity:1}.sortableListSortState{flex:none}.sortableListSortState.isNeutral{opacity:.4}.sortableListSortState.isAscending{transform:rotate(180deg)}.dsModal__body:has(>.sortableListContent){min-height:0;display:flex;overflow:hidden}.sortableListContent{flex-direction:column;flex:1;min-height:0;display:flex}.sortableListContent>.dsTableScroll{scrollbar-gutter:stable;flex:1;min-height:0}.sortableListRow.selectable{cursor:pointer}.sortableListRow.selectable:hover{background:var(--modal-row-divider)}.sortableListRow.ownGroupRow,.sortableListRow.ownGroupRow:hover{background:var(--color-selected-bg)}.officerListModal .sortableListTable{min-width:1180px}.officerListModal .sortableListTable th,.officerListModal .sortableListTable td{padding-inline:var(--space-2)}.officerListModal .sortableListTable th,.officerListModal .sortableListTable td,.officerListModal .sortableListTable button{white-space:nowrap}.factionListIdentity{align-items:center;gap:var(--space-2);display:inline-flex}.factionListCrest{background:var(--surface-panel-inset);border:1px solid var(--border-subtle-dark);object-fit:contain;width:32px;height:32px}.factionListCrest--fallback{color:var(--text-primary);font-family:var(--font-display);justify-content:center;align-items:center;display:inline-flex}.factionIcon--initial.factionIcon--initial{color:#000;justify-content:center;align-items:center;font-weight:700;display:inline-flex;overflow:hidden}.provinceListOwner{align-items:center;gap:var(--space-2);display:inline-flex}.provinceListOwnerCrest{background:var(--surface-panel-inset);border:1px solid var(--border-subtle-dark);object-fit:contain;width:24px;height:24px}.provinceListOwnerCrest--fallback{color:var(--text-primary);font-family:var(--font-display);justify-content:center;align-items:center;display:inline-flex}.officerListScope{align-items:center;gap:var(--space-1);flex-wrap:nowrap;display:flex}.officerListScope .dsButton{white-space:nowrap;flex:none;width:auto;min-width:72px}.officerListIdentity{align-items:center;gap:var(--space-2);display:inline-flex}.officerListPortrait{background:var(--surface-panel-inset);border:1px solid var(--border-subtle-dark);object-fit:cover;width:40px;height:40px}.officerListPortrait--fallback{color:var(--text-primary);font-family:var(--font-display);justify-content:center;align-items:center;display:inline-flex}.officerListLinkButton{text-underline-offset:2px;min-width:0;text-decoration:underline}.officerListLoyalty{align-items:center;gap:var(--space-1);display:inline-flex}.expelConfirmList{gap:var(--space-2);padding-left:var(--space-5);margin:0;display:grid}:root{--diplomacy-panel-bottom:0px;--diplomacy-panel-max-height:280px;--font-weight-title:600;--font-weight-body:400;--font-weight-support:300;color:#172018;font-family:var(--font-ui);--modal-bg:var(--color-ink-950);--modal-border:var(--color-ink-600);--modal-text:var(--color-white);--modal-text-sub:#9a9a9a;--modal-cell-bg:var(--color-ink-900);--modal-cell-border:#2f2f2f;--modal-row-divider:var(--color-ink-850);--modal-btn-bg:var(--color-ink-800);--modal-btn-border:var(--color-ink-600);--modal-own-highlight:#2d3a4a;--novel-stage-bg:color-mix(in srgb, var(--color-ink-950) 82%, transparent);--novel-panel-bg:#0d1315e6;--novel-panel-raised:#1f282be0;--novel-panel-soft:#182023ad;--novel-inactive-scrim:color-mix(in srgb, var(--color-ink-950) 54%, transparent);--novel-border:var(--border-subtle-dark);--novel-accent:var(--color-copper-300);--novel-accent-strong:var(--color-copper-400);--novel-accent-soft:color-mix(in srgb, var(--color-copper-500) 18%, transparent);--novel-text:var(--color-text-on-dark);--novel-text-muted:var(--color-text-on-dark-muted);--novel-shadow:0 24px 64px #0000008f;--paper-bg:#c6bda8;--paper-ink:#1e1a13;--paper-ink-muted:#4a4136;--paper-ink-faint:#544a3d;--paper-rule:#8b8170;--paper-rule-strong:#3b3323;--paper-accent:#7f2b1b;--paper-accent-wash:#7f2b1b14;--desk-bg:#0d1114;--desk-mat-hi:#15191d;--desk-mat-lo:#121518;--desk-well:#0b0e10;--paper-under-1:#bcb29c;--paper-under-2:#b7ad97;--paper-under-3:#b1a790;--paper-side-1:#b3a993;--paper-side-2:#aca28c;--font-paper:"Baskervville", "Noto Serif JP", "Times New Roman", Times, serif;--color-white:#fff;--color-cream-text:#fff7df;--color-canvas-paper:#e8e1d1;--color-canvas-paper-light:#f7f3e8;--color-canvas-paper-deep:#d9cfbb;--color-canvas-line:#c9b99d;--map-prefecture-border:#c798496b;--map-territory-outline:#c7984980;--map-network-edge:#b2dff4;--map-network-edge-halo:#0b1723;--map-strategic-ground:#101421;--map-relation-self:#e2b577;--map-relation-ally:#38c4c6;--map-relation-hostile:#f3766b;--map-relation-neutral:#8d929c;--map-control-bar-height:62px;--color-ink-950:#111719;--color-ink-900:#182023;--color-ink-850:#1f282b;--color-ink-800:#252a2d;--color-ink-700:#344044;--color-ink-600:#465357;--color-text-on-dark:#f2ebdd;--color-text-on-dark-muted:#c8bdab;--color-text-on-light:#252a2d;--color-text-on-light-muted:#5d5a52;--color-text-disabled:#807b71;--color-copper-700:#6f5230;--color-copper-600:#8e6c39;--color-copper-500:#a8834a;--color-copper-400:#c79849;--color-copper-300:#e8c98b;--color-title-background:#020813;--color-title-background-glow:#091426;--color-title-bronze:#c79849;--color-title-text:#d8d8d3;--color-primary-700:#84391f;--color-primary-600:#a84f2c;--color-primary-500:#bf6235;--color-primary-300:#dc9268;--color-indigo-600:#344a62;--color-moss-600:#69785b;--color-danger-600:#9b4c4c;--color-warning-600:#a6772d;--color-info-600:#4d6f86;--color-success-600:#557553;--surface-map:var(--color-canvas-paper);--surface-map-card:#f7f3e8f5;--surface-panel:var(--color-ink-900);--surface-panel-raised:var(--color-ink-850);--surface-panel-inset:var(--color-ink-950);--surface-overlay:#0b0f11b8;--surface-disabled:#32383a;--border-default:var(--color-copper-600);--border-subtle-dark:#c7984961;--border-subtle-light:#6f523061;--border-selected:var(--color-copper-300);--border-focus:#f0c583;--text-primary:var(--color-text-on-dark);--text-secondary:var(--color-text-on-dark-muted);--text-map-primary:var(--color-text-on-light);--text-map-secondary:var(--color-text-on-light-muted);--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-0:0;--radius-1:2px;--radius-2:4px;--radius-3:6px;--radius-round:999px;--border-width-hairline:1px;--border-width-control:1px;--border-width-panel:2px;--border-width-selected:3px;--shadow-control:0 2px 0 #0d1214, 0 3px 6px #0000003d;--shadow-control-hover:0 3px 0 #0d1214, 0 5px 9px #00000047;--shadow-control-active:0 1px 0 #0d1214, 0 2px 4px #0000003d;--shadow-panel:0 4px 12px #00000047;--shadow-modal:0 16px 48px #0000007a;--highlight-control:inset 0 1px 0 #fff7e733;--inset-well:inset 0 1px 4px #0000006b;--motion-instant:80ms;--motion-fast:.16s;--motion-normal:.24s;--motion-slow:.4s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-enter:cubic-bezier(0, 0, 0, 1);--ease-exit:cubic-bezier(.3, 0, 1, 1);--font-ui:"Noto Sans JP", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;--font-display:"Noto Serif JP", "Yu Mincho", serif;--font-title:"Marcellus", serif;--font-data:"Noto Sans JP", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;--font-stamp:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--key-text-primary:#f0d3a0;--key-text-secondary:#cbbea8;--key-text-danger:#e3a79e;--text-2xs:12px;--text-xs:13px;--text-sm:14px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--z-map:0;--z-map-overlay:10;--z-map-control:20;--z-shell:30;--z-side-panel:40;--z-radial-menu:100;--z-popover:200;--z-ticker:300;--z-modal-backdrop:1000;--z-modal:1010;--z-battle-overlay:1100;--z-novel:1200;--z-toast:1300;--z-transition:1400;background:radial-gradient(circle at 12% 4%,#9a5a2f1f,#0000 28rem),linear-gradient(#eef2e8 0%,#e6eadf 100%)}.frameL3{border:16px solid #0000;border-image:url(/assets/ui/frame-plate@2x.png) 32 fill/16px}.frameL2{border:13px solid #0000;border-image:url(/assets/ui/frame-instrument@2x.png) 26 fill/13px}.frameL2--selected{border-image-source:url(/assets/ui/frame-instrument-sel@2x.png)}*{box-sizing:border-box;scrollbar-color:var(--color-copper-600) var(--surface-panel-inset);scrollbar-width:thin}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface-panel-inset);border-radius:var(--radius-1)}::-webkit-scrollbar-thumb{background:var(--color-copper-600);border:2px solid var(--surface-panel-inset);border-radius:var(--radius-1)}::-webkit-scrollbar-thumb:hover{background:var(--color-copper-400)}::-webkit-scrollbar-corner{background:var(--surface-panel-inset)}body{margin:0}html,body,#root{width:100%;min-height:100%}button{border:1px solid var(--border-subtle-dark);background:var(--color-ink-800);color:#f7f4e8;cursor:pointer;font:inherit;padding:.7rem .9rem}select{color:#172018;font:inherit;background:#fffdf3;border:1px solid #2f4730;padding:.62rem .7rem}button:hover{background:var(--color-ink-700);border-color:var(--color-copper-300);box-shadow:inset 0 0 0 1px var(--border-subtle-dark), var(--shadow-control-hover)}.shell{max-width:1280px;margin:0 auto;padding:24px}.topScreen{background:radial-gradient(circle at 50% 46%, var(--color-title-background-glow) 0, transparent 48%), var(--color-title-background);color:var(--text-primary);min-height:100%;padding:var(--space-8);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.topScreenAtlas{filter:grayscale();opacity:.1;pointer-events:none;background-image:url(/assets/maps/japan-prefectures.svg);background-position:50%;background-repeat:no-repeat;background-size:1480px;position:absolute;inset:0}.topMenuLayout{z-index:1;grid-template-rows:minmax(0,52%) minmax(0,48%);width:100%;height:100%;display:grid;position:relative}.topMenuHero{padding:var(--space-8) var(--space-8) 0;justify-content:center;align-items:center;display:flex}.topMenuHero .titleLockup{width:800px;position:relative}.topMenuHero .titleLockupSubline{bottom:var(--space-8);position:absolute;left:0;right:0}.topMenuActions{padding:0 var(--space-8) var(--space-8);flex-direction:column;justify-content:center;justify-self:center;align-items:center;width:520px;display:flex}.srOnly{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.titleLockup{gap:var(--space-2);display:grid}.titleLockupVisual{width:100%;display:block;overflow:visible}.titleLockupWord{fill:var(--color-title-text);font-family:var(--font-title);text-anchor:middle;visibility:hidden;font-weight:400}.titleLockup--fontReady .titleLockupWord{visibility:visible}.titleLockupWorldline{fill:none;stroke:var(--color-title-bronze);stroke-linecap:square;stroke-linejoin:miter;stroke-width:3px}.titleLockupSubline{color:var(--text-secondary);font-family:var(--font-ui);font-size:var(--text-sm);text-align:center;margin:0}.newGameFactionEyebrow,.newGameFactionInfoLabel{color:var(--color-copper-300);letter-spacing:.12em;margin:0;font-weight:600}.topMenu{gap:var(--space-1);width:100%;display:grid}.topMenuButton.dsButton{box-shadow:none;color:var(--text-secondary);font-family:var(--font-ui);align-items:center;gap:var(--space-4);text-align:center;height:44px;transition:color var(--motion-fast) var(--ease-standard), text-shadow var(--motion-fast) var(--ease-standard);background:0 0;border:0;border-image:;border-radius:0;justify-content:center;width:100%;padding:0;display:flex}.topMenuButton.dsButton:before,.topMenuButton.dsButton:after{background:var(--color-title-bronze);content:"";opacity:0;height:1px;transition:opacity var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);width:44px;transform:scaleX(0)}.topMenuButton.dsButton:before{transform-origin:100%}.topMenuButton.dsButton:after{transform-origin:0}.topMenuButton.dsButton strong{color:inherit;font-size:var(--text-lg);letter-spacing:.12em;font-weight:600;line-height:1}.topMenuButton.dsButton--primary{color:var(--color-title-text)}.topMenuButton.dsButton:hover:not(:disabled),.topMenuButton.dsButton:focus-visible{box-shadow:none;color:var(--color-title-bronze);text-shadow:0 0 12px color-mix(in srgb, var(--color-title-bronze) 30%, transparent);background:0 0;border:0;outline:0;transform:none}.topMenuButton.dsButton:hover:not(:disabled):before,.topMenuButton.dsButton:hover:not(:disabled):after,.topMenuButton.dsButton:focus-visible:before,.topMenuButton.dsButton:focus-visible:after{opacity:.72;transform:scaleX(1)}.topMenuButton.dsButton:active:not(:disabled){box-shadow:none;color:var(--color-title-bronze);background:0 0;border:0;transform:translateY(1px)}.topMenuButton.dsButton:disabled{box-shadow:none;opacity:.28;background:0 0;border:0}.topMenuStatus,.topMenuError{margin:var(--space-3) 0 0;text-align:center}.topMenuError{color:var(--color-copper-300)}.topMenuFeedback{font-size:var(--text-sm);margin:var(--space-5) 0 0;text-align:center}.topMenuFeedback a{color:var(--color-text-on-dark-muted);text-underline-offset:.2em;text-decoration:underline}.topMenuFeedback a:hover,.topMenuFeedback a:focus-visible{color:var(--color-title-bronze)}.playLayout{--play-header-height:54px;background:#101421;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.newGameFactionSelect{background:var(--surface-map);width:100%;height:100%;position:relative;overflow:hidden}.newGameFactionHeader{background:var(--surface-panel);border-bottom:var(--border-width-panel) solid var(--border-default);box-shadow:var(--shadow-panel);color:var(--text-primary);height:80px;padding:var(--space-3) var(--space-6);z-index:var(--z-shell);justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.newGameFactionHeader .dsHeading,.newGameFactionHeader p{margin:0}.newGameFactionSelectMap{position:absolute;inset:80px 0 0}.newGameFactionSelectMap .networkPanelMinimal{box-shadow:none;background:0 0;border:0;flex-direction:column;width:100%;height:100%;margin:0;padding:0;display:flex}.newGameFactionSelectMap .networkCanvas{flex:1;min-height:0}.newGameFactionSelectMap .provinceNetwork{outline:none;height:100%;min-height:0}.newGameFactionSelectMap .mapCanvasLayer{height:100%;min-height:0}.newGameFactionSelectMap .networkMapControls{background:var(--surface-panel);border:var(--border-width-control) solid var(--border-default);border-radius:var(--radius-2);box-shadow:var(--shadow-control);color:var(--text-primary);padding:var(--space-2) var(--space-3);right:408px;top:var(--space-6);z-index:var(--z-map-control);margin:0;display:flex;position:absolute}.newGameFactionSelectMap .networkMapControls span{color:var(--text-primary)}.newGameFactionSelectMap .networkMapControls label{color:var(--text-secondary)}.newGameFactionInfoBlock{max-height:864px;right:var(--space-6);width:360px;z-index:var(--z-side-panel);position:absolute;top:104px;overflow-y:auto}.newGameFactionInfoBlock.empty{min-height:176px}.newGameFactionLordPortrait{margin:var(--space-3) 0;justify-content:center;display:flex}.newGameFactionNamePlate{background:var(--surface-panel-inset);border:var(--border-width-control) solid var(--border-subtle-dark);border-radius:var(--radius-2);align-items:center;gap:var(--space-2);margin:0 auto var(--space-3);min-height:48px;padding:var(--space-2) var(--space-3);justify-content:center;display:flex}.newGameFactionNamePlate .dsHeading{margin:0}.newGameFactionNamePlate img,.newGameFactionNamePlate .factionIcon--initial{border-radius:var(--radius-1);object-fit:contain;height:32px;padding:var(--space-1);width:32px}.newGameFactionStats{gap:var(--space-1);margin:0;display:grid}.newGameFactionStats div{border-bottom:var(--border-width-hairline) solid var(--border-subtle-dark);min-height:40px;padding:var(--space-2) 0;justify-content:space-between;align-items:baseline;display:flex}.newGameFactionStats dt{color:var(--text-secondary);font-weight:500}.newGameFactionStats dd{font-family:var(--font-data);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.newGameFactionInlineBtn{min-width:48px}.newGameFactionDiplomacy{margin-top:var(--space-4)}.newGameFactionDiplomacy ul{gap:var(--space-2);margin:var(--space-2) 0 0;padding:0;list-style:none;display:grid}.newGameFactionDiplomacy p{color:var(--text-secondary);margin:var(--space-2) 0 0}.newGameFactionActions{bottom:var(--space-6);gap:var(--space-2);min-width:360px;right:var(--space-6);z-index:var(--z-side-panel);display:flex;position:absolute}.transportAllocationModal__content,.transportConfirmModal__content{gap:var(--space-3);flex-direction:column;display:flex}.transportAllocationModal__summary,.transportConfirmModal__route{align-items:center;gap:var(--space-2);padding:var(--space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.transportAllocationModal__ranges{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.transportAllocationModal__rangePanel{padding:var(--space-3)}.transportAllocationModal__numberInput{align-items:center;gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:auto minmax(84px,120px) auto;display:grid}.transportAllocationModal__numberInput>span,.transportAllocationModal__numberInput>small{color:var(--text-secondary);font-size:var(--text-2xs)}.transportAllocationModal__numberInput .dsInput{font-family:var(--font-data);font-variant-numeric:tabular-nums;height:32px;padding:0 var(--space-2);text-align:right}.transportAllocationModal__rangePanel .dsRange__label>span{align-items:baseline;gap:var(--space-2);display:flex}.transportAllocationModal__rangePanel .dsRange__label small{color:var(--text-secondary);font-size:var(--text-2xs);font-weight:400}.transportAllocationModal__footer,.transportConfirmModal__footer{align-items:center;gap:var(--space-3);justify-content:space-between;width:100%;display:flex}.transportAllocationModal__actions,.transportConfirmModal__actions{gap:var(--space-2);display:flex}.transportConfirmModal__table{min-width:360px}.transportConfirmModal__eta{gap:var(--space-2);padding:var(--space-3);display:grid}.transportConfirmModal__eta p{margin:0}.transportConfirmModal__apNote{color:var(--text-secondary)}.roninHireModal__content,.roninHireModal__step,.roninHireModal__confirm,.roninHireResultModal__content{gap:var(--space-3);flex-direction:column;min-height:0;display:flex}.roninHireModal__steps{align-items:center;gap:var(--space-2);padding:var(--space-3);flex-wrap:wrap;display:flex}.roninHireModal__steps .dsText{margin-left:auto}.roninHireModal__step>p{margin:0}.roninHireModal__listIntro{align-items:center;gap:var(--space-3);justify-content:space-between;display:flex}.roninHireModal__listIntro p{margin:0}.roninHireModal__table{min-width:820px}.roninHireModal__row{cursor:pointer}.roninHireModal__row:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.roninHireModal__row[aria-disabled=true]{cursor:not-allowed;opacity:.58}.roninHireModal__portrait{background:var(--surface-panel-inset);border:var(--border-width-hairline) solid var(--border-subtle-dark);object-fit:cover}.roninHireModal__officerSummary{padding:var(--space-3)}.roninHireModal__footer{align-items:center;gap:var(--space-2);justify-content:space-between;width:100%;display:flex}.roninHireResultModal__summary{padding:var(--space-3)}.roninHireResultModal__summary p{margin:0 0 var(--space-3)}.roninHireResultModal__facts{gap:var(--space-2);margin:0;display:grid}.roninHireResultModal__facts>div{border-top:var(--border-width-hairline) solid var(--border-subtle-dark);padding-top:var(--space-2);justify-content:space-between;align-items:center;display:flex}.roninHireResultModal__facts dt{color:var(--text-secondary)}.roninHireResultModal__facts dd{font-family:var(--font-data);font-variant-numeric:tabular-nums;margin:0}.incomeDelta{color:#d9c083;transition:color .18s,text-shadow .18s,transform .18s;display:inline-block}.incomeDeltaNegative,.negativeValue{color:#ff8a8a}.incomeDeltaHighlight{color:#7cc4ff;text-shadow:0 0 12px #60adffb8;transform:translateY(-1px)}.incomeDeltaHighlightDown{color:#ff8a8a;text-shadow:0 0 12px #ff6b6bb8;transform:translateY(-1px)}.playMapArea{height:calc(100% - var(--play-header-height));flex:auto;min-height:0;position:relative;overflow:hidden}.playLayout .newsTicker{bottom:0}.playMapArea .networkPanel{box-shadow:none;background:0 0;border:0;flex-direction:column;height:100%;margin:0;padding:0;display:flex}.playMapArea .networkPanel>.sectionHeader{display:none}.playMapArea .networkCanvas{flex:1;min-height:0;position:relative}.playMapArea .networkMapControls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5;background:linear-gradient(#24282fe6,#0e1014d6);border:1px solid #d6a9496b;border-radius:8px;margin:0;padding:.35rem .5rem;display:flex;position:absolute;top:.6rem;right:.6rem;box-shadow:0 12px 28px #00000047}.playMapArea .networkMapControls button:not(.dsSegment__item),.newGameFactionSelectMap .networkMapControls button:not(.dsSegment__item){color:#f8ead0;cursor:pointer;background:linear-gradient(#2d3035,#171a1f);border:1px solid #f0e6c842;border-radius:4px;padding:.35rem .55rem;font-weight:800}.playMapArea .networkMapControls button:not(.dsSegment__item):hover,.newGameFactionSelectMap .networkMapControls button:not(.dsSegment__item):hover{background:linear-gradient(#3d413f,#232920);border-color:#d6a949a6}.modalBackBtn{color:#f8ead0;cursor:pointer;white-space:nowrap;background:linear-gradient(#2d3035,#171a1f);border:1px solid #5a5e66;border-radius:4px;align-self:center;margin-right:.5rem;padding:.35rem .7rem;font-size:.85rem;font-weight:800}.modalBackBtn:hover{background:linear-gradient(#3a3e45,#23262b)}.playMapArea .networkMapControls span{color:#f8ead0}.playMapArea .mapControlCluster{z-index:6;background:linear-gradient(#1c1f26e0,#0e1014d1);border:1px solid #f0e6c852;border-radius:8px;flex-direction:column;align-items:flex-start;gap:6px;padding:.35rem;display:flex;position:absolute;bottom:72px;left:72px;box-shadow:0 12px 28px #00000047}.playMapArea .mapControlCluster--diplomacyOpen{left:296px}.minimap{cursor:pointer;border:1px solid #f0e6c840;border-radius:5px;display:block}@keyframes minimapBlink{0%,to{opacity:1}50%{opacity:.35}}.minimapDot--blink{animation:.8s ease-in-out infinite minimapBlink}.minimapDot--dim{opacity:.08}.playMapArea .provinceNetwork{outline:none;height:100%;min-height:0}.playMapArea .mapCanvasLayer{height:100%;min-height:0}.panelCloseButton{float:right;padding:.35rem .55rem}.radialMenu{pointer-events:none;z-index:var(--z-radial-menu);position:fixed}.radialMain,.radialSubmenu{pointer-events:auto;position:absolute;top:0;left:0}.radialMenuButton{color:var(--text-primary);cursor:pointer;align-items:center;gap:var(--space-1);pointer-events:auto;background:0 0;border:0;flex-direction:column;justify-content:center;width:72px;height:72px;padding:0;display:flex}.radialMenuButton:hover:not(.isDisabled) .radialIcon{border-color:var(--color-copper-300);box-shadow:var(--highlight-control), var(--shadow-control-hover)}.radialMenuButton:hover:not(.isDisabled),.radialSubButton:hover:not(.isDisabled){box-shadow:none;background:0 0;border-color:#0000}.radialMenuButton:active:not(.isDisabled) .radialIcon{box-shadow:var(--highlight-control), var(--shadow-control-active);transform:translateY(1px)}.radialMenuButton:focus-visible{outline:none}.radialMenuButton:focus-visible .radialIcon{outline:2px solid var(--border-focus);outline-offset:3px}.radialMenuButton.isDisabled{cursor:not-allowed;opacity:.42;background:0 0}.radialMenuButton.isDisabled:hover,.radialSubButton.isDisabled:hover{box-shadow:none;background:0 0;border-color:#0000}.factionRadialMenu .radialCenterLabel{pointer-events:none;white-space:nowrap;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.radialFactionEmblem{box-shadow:0 0 0 2px var(--surface-panel-inset), 0 0 0 3px var(--color-copper-600), var(--shadow-control);color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-lg);text-shadow:0 1px 2px #000000d9;border:2px solid #ffffffb8;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;line-height:1;display:inline-flex;overflow:hidden}.radialFactionEmblem img{object-fit:contain;width:100%;height:100%}.radialSubButton{color:var(--text-primary);cursor:pointer;align-items:center;gap:var(--space-1);pointer-events:auto;background:0 0;border:0;flex-direction:column;justify-content:center;width:68px;height:68px;padding:0;display:flex;position:absolute}.radialSubButton:hover:not(.isDisabled) .radialIcon{border-color:var(--color-copper-300);box-shadow:var(--highlight-control), var(--shadow-control-hover)}.radialSubButton:active:not(.isDisabled) .radialIcon{box-shadow:var(--highlight-control), var(--shadow-control-active);transform:translateY(1px)}.radialSubButton:focus-visible{outline:none}.radialSubButton:focus-visible .radialIcon{outline:2px solid var(--border-focus);outline-offset:3px}.radialSubButton.isDisabled{cursor:not-allowed;opacity:.42;background:0 0}.radialIcon{background:linear-gradient(180deg, var(--surface-panel-raised), var(--surface-panel-inset));border:var(--border-width-control) solid var(--color-copper-600);box-shadow:var(--highlight-control), var(--shadow-control);color:var(--color-copper-300);height:48px;transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-instant) var(--ease-standard);border-radius:50%;justify-content:center;align-items:center;width:48px;display:inline-flex}.radialLabel{font-size:var(--text-2xs);text-shadow:0 1px 2px var(--surface-panel-inset);white-space:nowrap;font-weight:600;line-height:12px}.prefectureFactionPicker{background:linear-gradient(180deg, var(--surface-panel-raised), var(--surface-panel));border:var(--border-width-panel) solid var(--color-copper-700);border-radius:var(--radius-2);box-shadow:var(--shadow-panel);color:var(--text-primary);min-width:220px;padding:var(--space-1);z-index:var(--z-popover);position:fixed}.prefMenuHeader{border-bottom:var(--border-width-hairline) solid var(--border-subtle-dark);color:var(--color-copper-300);font-family:var(--font-display);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);font-weight:700}.prefMenuItem{border-radius:var(--radius-2);color:var(--text-primary);cursor:pointer;font-size:var(--text-sm);align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-3);text-align:left;background:0 0;border:0;width:100%;display:flex}.prefMenuItem:hover{background:var(--surface-panel-raised);box-shadow:none;color:var(--color-copper-300);border-color:#0000}.prefMenuItem:active{background:var(--surface-panel-inset)}.prefMenuItem:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.prefMenuColorDot{border:var(--border-width-hairline) solid var(--text-primary);border-radius:50%;flex:none;width:14px;height:14px}.modalCard{background:var(--modal-bg);border:1px solid var(--modal-border);color:var(--modal-text);max-width:520px;max-height:864px;width:min(520px, calc(var(--stage-w) - 2rem));border-radius:8px;padding:1.25rem;overflow:auto;box-shadow:0 16px 36px #0000006b}.allocationModal{width:600px;max-width:600px}.allocationList{flex-direction:column;gap:.15rem;margin:1rem 0;display:flex}.allocRow{border-bottom:1px solid #9a723647;align-items:center;gap:.5rem;padding:.4rem 0;display:flex}.allocRow>span{white-space:nowrap}.allocRow input[type=range]{flex:1;min-width:80px}.modalActions{align-items:center;gap:.75rem;margin-top:1rem;display:flex}.modalCount{color:var(--modal-text-sub);font-size:.85em;font-weight:400}.factionOfficerList{gap:.45rem;margin:1rem 0;display:grid}.factionOfficerRow{border-bottom:1px solid #9a723647;grid-template-columns:1.2fr 1fr auto auto;align-items:center;gap:.4rem;padding:.35rem 0;display:grid}.provinceStatusModal{min-width:560px;max-width:760px}.provinceStatusModal>h3{color:#ead8a7;margin:.85rem 0 .45rem;font-size:.92rem}.modalFactionIcon{object-fit:cover;background:#2a2a3e;border:2px solid #c8a84b;border-radius:50%;padding:2px}.modalCloseBtn{background:var(--modal-btn-bg);border:1px solid var(--modal-btn-border);color:var(--modal-text);cursor:pointer;border-radius:4px;padding:6px 10px;font-size:.9rem;line-height:1}.modalCloseBtn:hover,.battleModalClose:hover,.invasionModalClose:hover{background:var(--color-ink-700);border-color:var(--color-copper-300);box-shadow:inset 0 0 0 1px var(--border-subtle-dark), var(--shadow-control-hover)}.factionDetailHeader>.modalCloseBtn{margin-left:auto}.provinceInfoHeader{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.provinceInfoHeader h2,.provinceInfoHeader p{margin:0}.provinceInfoHeader button{margin-left:auto}.provinceInfoGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:1rem;font-size:.9rem;display:grid}.provinceInfoGrid>div{background:var(--modal-cell-bg);border:1px solid var(--modal-cell-border);border-radius:4px;grid-template-columns:minmax(72px,auto) minmax(0,1fr);align-items:center;gap:.75rem;min-height:32px;padding:.3rem .5rem;display:grid}.provinceInfoGrid>div.provinceInfoPoolCell,.provinceInfoGrid>div.provinceInfoTypeCell,.provinceInfoGrid>div.provinceInfoFullCell{grid-column:1/-1}.provinceInfoTroopList{gap:4px;min-width:0;display:grid}.provinceInfoTroopRow{grid-template-columns:minmax(0,1fr) minmax(76px,auto) minmax(76px,auto);align-items:baseline;gap:8px;display:grid}.provinceInfoTroopRow>span{justify-content:flex-end;gap:4px;min-width:0;display:flex}.provinceInfoTroopRow>.provinceInfoTroopType{overflow-wrap:anywhere;justify-content:flex-start}.provinceInfoTroopRow small{color:var(--modal-text-sub);font:inherit}.provinceInfoTroopTotal{border-top:1px solid var(--modal-row-divider);grid-template-columns:minmax(0,1fr) auto;margin-top:2px;padding-top:4px}.provinceInfoTroopTotal strong{text-align:right;font-weight:800}.provinceInfoGrid .label{color:var(--modal-text-sub)}.provinceInfoGrid>div>span:last-child{overflow-wrap:anywhere;text-align:right;min-width:0;font-weight:800}.officerList,.adjacentList{margin:0 0 1rem;padding:0;list-style:none}.officerList li{border-bottom:1px solid var(--modal-row-divider);gap:.5rem;padding:.3rem .5rem;font-size:.85rem;display:flex}.provinceOfficerList{gap:8px;display:grid}.roninHireModalBody,.moveOfficerModal .sortableListModalBody,.officerActionModal .actionOfficerList{min-height:0;overflow-y:auto}.roninHireList{gap:8px;margin:0;display:grid}.roninHireList .officerList,.roninHireList .provinceOfficerList{margin:0;padding:0 0 12px}.roninHireRow{cursor:pointer;background:#ffffff09;border:1px solid #d6a9492e;border-radius:6px;grid-template-columns:40px minmax(90px,1fr) minmax(110px,1.1fr) auto;align-items:center;gap:8px;min-height:54px;padding:7px 9px;display:grid}.officerList .roninHireRow{border-bottom:1px solid #d6a9492e}.roninHireRow:hover{background:#f5d76e1a}.roninHireRow.isBlocked{cursor:not-allowed;filter:saturate(.6);opacity:.58}.roninHireRow .officerListPortrait{object-fit:cover;border-radius:4px}.roninName{color:var(--modal-text);overflow-wrap:anywhere;min-width:0;font-weight:700}.roninMeta{color:var(--modal-text-sub);min-width:0;font-size:.82rem;font-weight:800}.roninChance{color:#f0d18a;white-space:nowrap;font-size:.84rem;font-weight:700}.roninHireHint{color:var(--modal-text-sub);margin:0;font-size:.82rem}.roninHireBack{justify-self:start}.provinceOfficerCard{background:#ffffff09;border:1px solid #d6a9492e;border-radius:6px;padding:8px}.officerName{flex:1}.officerStats{color:#d8a850}.officerTroops{color:var(--modal-text)}.officerRank{color:var(--modal-text-sub)}.adjacentList button{color:var(--modal-text);cursor:pointer;text-align:left;background:0 0;border:0;padding:.25rem 0}.adjacentList button:hover{box-shadow:none;color:#c8a84b;border-color:#0000}.adjacentList li>span{color:var(--modal-text)}.appHeader{justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px;display:flex}.eyebrow{color:#66705f;letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.78rem}h1,h2{margin:0}h1{letter-spacing:-.045em;font-size:clamp(2rem,4vw,3.4rem);line-height:.98}h2{margin-bottom:12px;font-size:1.1rem}.subtitle{color:#4d5849;margin:10px 0 0;font-size:.95rem}.playModeControls{color:#4d5849;place-items:end;gap:8px;font-size:.82rem;display:grid}.playModeSelector{align-items:center;gap:8px;font-weight:700;display:inline-flex}.playModeSelector .dsSelect{width:280px;min-width:200px}.yourTurn{background:#fff8d6;border:1px solid #b9852f;place-items:center end;gap:10px;padding:8px;display:grid}.yourTurn strong{color:#7b3f1f}.playModeTurnEndButton--emphasized{border-color:#b9631d;animation:1.4s ease-in-out infinite turnEndAttention;box-shadow:0 0 0 3px #b9631d38}.watchModeNote{margin:0}.playActionButtons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.playerActionPanel{justify-items:end;gap:10px;min-width:280px;display:grid}.playModeHUD{color:#f0e6c8;background:#000000b3;border-bottom:1px solid #6b4e2a;gap:2rem;padding:.5rem 1rem;font-size:.9rem;display:flex}.hudItem{align-items:center;gap:.4rem;display:flex}.hudLabel{color:#a08060;font-size:.8rem}.hudValue{font-weight:700}.hudIncome{color:#6dbf6d;margin-left:.25rem;font-size:.8rem}.rightPanels{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.moveWarning{color:#9d2f2f;margin:0;font-weight:700}.moveOfficerModal{max-width:820px}.moveOfficerModal,.moveDestConfirmModal,.officerActionModal,.roninHireModal{max-height:760px;overflow:hidden}.officerActionModal{flex-direction:column;gap:.55rem;display:flex}.moveOfficerSubheader{color:var(--modal-text-sub);border-bottom:1px solid var(--modal-row-divider);padding:6px 14px;font-size:.78rem}.sortableListRow.isDim{opacity:.45;pointer-events:none}.moveOfficerFooter{border-top:1px solid var(--modal-border);z-index:3;background:linear-gradient(#161411f5,#100f0efa);justify-content:space-between;padding:10px 14px;display:flex;position:sticky;bottom:0}.moveOfficerConfirm{color:var(--color-white);cursor:pointer;white-space:nowrap;background:#5a8147;border:none;border-radius:5px;min-width:88px;padding:7px 16px}.moveOfficerConfirm:disabled{opacity:.5;cursor:not-allowed}.moveOfficerCancel{background:var(--modal-btn-bg);border:1px solid var(--modal-btn-border);color:var(--modal-text);cursor:pointer;white-space:nowrap;border-radius:5px;min-width:88px;padding:7px 16px}.warRequestPlannerPanel{color:var(--color-white);z-index:58;background:#141414f5;border:1px solid #ffffff29;border-radius:8px;flex-direction:column;gap:12px;width:420px;max-height:720px;padding:16px;display:flex;position:absolute;bottom:18px;right:18px;overflow:auto;box-shadow:0 18px 48px #0000007a}.warRequestPlannerHeader{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.warRequestPlannerHeader h2{color:var(--color-cream-text);margin:2px 0 0;font-size:1.2rem;line-height:1.1}.warRequestPlannerKicker{color:#f3d787;font-size:.78rem;font-weight:700}.warRequestPlannerClose{flex:none}.warRequestAllianceCard,.warRequestSection,.warRequestPreview{background:#ffffff0f;border:1px solid #ffffff24;border-radius:6px;padding:12px}.warRequestAllianceCard{gap:3px;display:grid}.warRequestAllianceCard strong{color:var(--color-cream-text);font-size:1rem}.warRequestAllianceCard span:last-child{color:#ffffffb8;font-size:.86rem}.warRequestMetaLabel{color:#ffffff94;font-size:.74rem;font-weight:700}.warRequestSection{gap:10px;display:grid}.warRequestSectionHead{justify-content:space-between;align-items:center;display:flex}.warRequestSectionHead span{color:#f3d787;font-weight:700}.warRequestSectionHead small{color:#ffffff94;font-weight:800}.warRequestOfficerGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:168px;padding-right:2px;display:grid;overflow-y:auto}.warRequestOfficerCard,.warRequestTargetChip,.warRequestMapPickButton,.warRequestSelectedTarget button{background:var(--color-ink-850);border:1px solid var(--color-ink-600);color:var(--color-white);cursor:pointer;font:inherit;border-radius:4px}.warRequestOfficerCard{text-align:left;gap:4px;min-width:0;padding:9px 10px;display:grid}.warRequestOfficerCard:hover,.warRequestTargetChip:hover,.warRequestMapPickButton:hover,.warRequestSelectedTarget button:hover{background:#3a3a3a;border-color:#777}.warRequestOfficerCard.selected,.warRequestTargetChip.selected,.warRequestMapPickButton.active{border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus) inset;background:#93c5fd24}.warRequestOfficerName{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.warRequestOfficerStat{color:#e8d8a8;font-size:.82rem;font-weight:800}.warRequestMapPickButton{text-align:center;padding:10px 12px;font-weight:700}.warRequestMapPickButton:disabled{cursor:not-allowed;opacity:.45}.warRequestSelectedTarget{border:1px solid var(--border-focus);background:#93c5fd1f;border-radius:4px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.warRequestSelectedTarget div{gap:2px;min-width:0;display:grid}.warRequestSelectedTarget strong{color:var(--color-cream-text)}.warRequestSelectedTarget span:last-child{color:#ffffffb8;font-size:.84rem}.warRequestSelectedTarget button{flex:none;padding:6px 10px;font-size:.82rem;font-weight:800}.warRequestTargetChips{flex-wrap:wrap;gap:6px;display:flex}.warRequestTargetChip{padding:6px 9px;font-size:.82rem;font-weight:800}.warRequestPreview,.warRequestEmpty{color:#f5ebd2}.warRequestPreview{flex-direction:column;gap:10px;display:flex}.warRequestPreviewHeader{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.warRequestPreviewHeader strong{color:var(--color-cream-text);font-size:1.05rem}.warRequestPreviewHeader span{color:#f5ebd2bd;font-size:.9rem}.warRequestStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.warRequestStats div{background:#ffffff0a;border-radius:5px;padding:8px}.warRequestStats dt{color:#f5ebd29e;margin:0 0 4px;font-size:.76rem;font-weight:800}.warRequestStats dd{color:var(--color-cream-text);margin:0;font-weight:800}.warRequestEmpty{color:#f5ebd2b8;background:#0000002e;border:1px solid #ffffff1a;border-radius:6px;padding:10px}.warRequestPlannerFooter{justify-content:flex-end;align-items:center;gap:10px;padding-top:2px;display:flex}.moveDestConfirmModal{flex-direction:column;gap:.6rem;max-width:420px;display:flex}.moveDestConfirmHeader{justify-content:space-between;align-items:center;display:flex}.moveDestConfirmHeader h2{margin:0;font-size:1rem}.moveDestConfirmBody{flex-direction:column;gap:.2rem;min-height:0;font-size:.9rem;display:flex;overflow-y:auto}.moveDestConfirmBody .moveEta{color:#d8a850}.moveDestOfficerWarn{color:#e86a6a}.moveDestConfirmFooter{border-top:1px solid var(--modal-border);z-index:3;background:linear-gradient(#161411f5,#100f0efa);justify-content:space-between;gap:.5rem;margin:0 -.2rem -.2rem;padding:10px .2rem 0;display:flex;position:sticky;bottom:0}.transportAllocationModal{max-width:480px}.transportConfirmModal{max-width:420px}.transportModalHeader{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.transportModalHeader h2{margin:0;font-size:1rem}.transportAllocList{flex-direction:column;gap:.3rem;margin:.4rem 0;display:flex}.transportAllocList .allocRow{grid-template-columns:minmax(60px,1fr) auto minmax(120px,1.4fr) auto;align-items:center;gap:.5rem;font-size:.85rem;display:grid}.transportAllocList .allocActive,.transportAllocList .allocValue{color:var(--modal-text-sub);font-variant-numeric:tabular-nums}.transportConfirmBody{flex-direction:column;gap:.2rem;font-size:.9rem;display:flex}.transportConfirmBody .moveEta{color:#d8a850}.transportModalFooter{justify-content:space-between;gap:.5rem;margin-top:.5rem;display:flex}.apNote{color:var(--modal-text-sub);font-size:.8rem}.officerCheckList{gap:.35rem;max-height:none;display:grid;overflow:visible}.officerCheckList label{grid-template-columns:auto 1fr auto auto;align-items:center;gap:.5rem;display:grid}.troopsOfficerList{margin:0;padding:0;list-style:none}.actionOfficerList{gap:6px;margin:0;padding:0;list-style:none;display:grid}.actionOfficerList li,.troopsOfficerList li{cursor:pointer;border:1px solid #d6a94929;border-radius:6px;align-items:center;gap:.6rem;padding:.5rem;display:flex}.actionOfficerList li:hover,.actionOfficerList li.selected,.troopsOfficerList li:hover{background:#f5d76e1a}.actionOfficerList li.selected{background:#d6a94924;box-shadow:inset 3px 0 #d6a949}.actionOfficerList img,.troopsOfficerList img,.officerTroopsDetail img{object-fit:cover;background:#2a2a3e}.actionOfficerList .name,.troopsOfficerList .name{flex:1;font-weight:700}.actionOfficerList .politics,.actionOfficerList .intelligence,.actionOfficerList .loyalty,.troopsOfficerList .cmd{color:#f0d18a;font-weight:800}.actionOfficerList .officerStats{color:#f0d18a;font-size:.86rem;font-weight:700}.troopsOfficerList .troops{color:#111827;font-weight:700}.chanceBadge{white-space:nowrap;border:1px solid #503c1e40;border-radius:4px;padding:.15rem .35rem;font-size:.78rem;font-weight:700}.diplomacyOfficerList li{grid-template-columns:42px minmax(0,1fr) auto auto;display:grid}.diplomacyOfficerList .name,.diplomacyOfficerList .politics{white-space:nowrap}.diplomacyOfficerList .name{text-overflow:ellipsis;min-width:0;overflow:hidden}.chanceHigh{color:#1f6b3d;background:#22784629}.chanceMid{color:#7a5510;background:#b4801429}.chanceLow{color:#8c2f2b;background:#a0323024}.actionOfficerList .wounded{color:#9b4b33;font-size:.8rem}.selectedOfficerSummary{margin:8px 0 0}.actionSelectedOfficerCard{color:var(--modal-text);background:#d6a9491c;border:1px solid #d6a94942;border-radius:6px;padding:10px}.emptyOfficerList{color:#9aa0b5;text-align:center;padding:16px 8px}.officerActionCost{color:#c8c8d8;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:6px;margin:0 auto 0 0;padding:8px 10px;font-size:.9em}.officerActionModalHeader,.recruitModalHeader{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.officerActionModalHeader h2,.recruitModalHeader h2{margin:0;font-size:1rem}.recruitModal{width:1080px;max-width:1080px;max-height:950px}.recruitModalKicker{color:#d9b96f;letter-spacing:0;margin:0 0 .16rem;font-size:.72rem;font-weight:700}.recruitModeToggle{background:#0a0c10b8;border:1px solid #d9b96f38;border-radius:6px;align-items:center;gap:3px;margin-top:.55rem;padding:3px;display:inline-flex}.recruitModeBtn{color:#cfc6b2;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;min-width:72px;padding:.34rem .72rem;font-size:.82rem;font-weight:700}.recruitModeBtn:hover{box-shadow:none;color:#fff4d5;background:#ffffff0f;border-color:#0000}.recruitModeBtn.active{color:#fff4d5;background:linear-gradient(#d9b96f47,#91692a38);border-color:#d9b96f8a;box-shadow:inset 0 1px #ffffff14}.recruitSummaryBar{background:#0c0e11a8;border:1px solid #d9b96f47;border-radius:6px;grid-template-columns:minmax(150px,1.15fr) minmax(260px,1.7fr) minmax(100px,.8fr) minmax(86px,.6fr);align-items:stretch;gap:.5rem;margin:.7rem 0 .45rem;padding:.6rem;display:grid}.recruitUpkeepNote{color:#ffe4a8;background:#ae73162e;border:1px solid #e8b55294;border-radius:6px;align-items:center;gap:.42rem;margin:0 0 .8rem;padding:.52rem .68rem;font-size:.82rem;font-weight:700;display:flex}.recruitUpkeepNote:before{color:#ffca5f;content:"⚠";font-size:.95rem;line-height:1}.recruitSummaryPrimary,.recruitSummaryItem{background:#ffffff0d;border:1px solid #ffffff14;border-radius:5px;gap:.18rem;min-width:0;padding:.45rem .55rem;display:grid}.recruitSummaryPrimary span,.recruitSummaryItem span{color:#b7ad94;font-size:.72rem;font-weight:800}.recruitSummaryPrimary strong,.recruitSummaryItem strong{color:#f5ebd2;overflow-wrap:anywhere;font-size:.9rem;line-height:1.2}.recruitSummaryPrimary strong{color:#fff3c9;font-size:1.05rem}.recruitCardsGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.recruitTroopCard{background:linear-gradient(#3a4040f0,#191b1efa);border:1px solid #dad0b438;border-radius:7px;flex-direction:column;gap:.55rem;min-width:0;min-height:318px;padding:.85rem;display:flex;box-shadow:inset 0 1px #ffffff14,0 10px 22px #00000047}.recruitTroopCard.isEmpty{filter:saturate(.55);opacity:.68}.recruitTroopCardTop{min-height:88px;display:grid}.recruitTroopCardTop h3{color:#fff7e6;overflow-wrap:anywhere;justify-content:space-between;align-items:flex-start;gap:.5rem;margin:0 0 .25rem;font-size:1.05rem;line-height:1.2;display:flex}.recruitTroopCardTop h3>span:first-child{min-width:0}.recruitTroopCardTop p{color:#d7d0bf;margin:0;font-size:.8rem;line-height:1.45}.recruitEmptyBadge{color:#ead7b0;white-space:nowrap;background:#00000061;border:1px solid #ffffff26;border-radius:4px;flex:none;padding:.18rem .34rem;font-size:.72rem;font-weight:700}.recruitTroopStats,.recruitTroopMeta{flex-wrap:wrap;gap:.35rem;display:flex}.recruitTroopStats span,.recruitTroopMeta span{color:#cfc6b2;background:#0000003d;border:1px solid #ffffff14;border-radius:4px;padding:.22rem .38rem;font-size:.76rem;font-weight:800}.recruitTroopStats strong{color:#fff0c4}.recruitTroopRangeHead{justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;display:flex}.recruitTroopRangeHead label,.recruitTroopRangeHead span{color:#eee4cc;font-size:.78rem;font-weight:700}.recruitTroopCard input[type=range]{accent-color:#d8b15d;width:100%}.recruitTroopCard input[type=range]:disabled{cursor:not-allowed}.recruitTroopActions{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.recruitTroopActions button{color:#f7ead0;cursor:pointer;background:#eee0ba1f;border:1px solid #eee0ba3d;border-radius:5px;padding:.38rem .5rem;font-weight:700}.recruitTroopActions button:disabled{cursor:not-allowed;opacity:.45}.recruitTroopSubtotal{border-top:1px solid #ffffff1a;grid-template-columns:auto 1fr;align-items:center;gap:.25rem .45rem;padding-top:.5rem;display:grid}.recruitTroopSubtotal span{color:#bfb6a2;font-size:.74rem;font-weight:800}.recruitTroopSubtotal strong{color:#fff4d5;justify-self:end;font-size:.86rem}.officerActionModalFooter,.recruitModalFooter{z-index:3;background:linear-gradient(#161411f5,#100f0efa);border-top:1px solid #d9b96f38;justify-content:space-between;gap:.5rem;margin-top:.5rem;padding-top:.85rem;display:flex;position:sticky;bottom:0}.recruitModalFooter{align-items:center;margin-top:1rem}.officerActionModalFooter{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;display:grid}.recruitFooterTotals{color:#d9cfb9;flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem;font-size:.86rem;font-weight:800;display:flex}.recruitFooterTotals strong{color:#fff0c5}.officerTroopsDetail{gap:.75rem;display:grid}.officerTroopsDetail .officerHeader{align-items:center;gap:1rem;margin-bottom:.25rem;display:flex}.officerTroopsDetail .name{font-weight:700}.troopActionBlock{background:#ffdc960f;border-radius:6px;gap:.45rem;margin-bottom:.6rem;padding:.8rem;display:grid}.troopActionBlock h4{margin:0}.troopActionBlock input[type=range]{width:100%}.networkNode.disasterTarget .provinceCircle{paint-order:stroke fill;stroke:#e06060f2;stroke-width:.55px;animation:.8s ease-in-out infinite disasterPulse}.networkNode.peekTarget .provinceCircle{paint-order:stroke fill;stroke:var(--color-copper-300);stroke-width:.55px;animation:.9s ease-in-out infinite invasionTargetStrokePulse}.prefectureFactionHighlight,.territoryFactionHighlight{fill:#ffee48f5;paint-order:stroke fill;stroke:#ffe45499;stroke-linejoin:round;animation:.85s ease-in-out infinite territoryFactionFlash}.prefectureFactionHighlight{stroke-width:.45px}.territoryFactionHighlight{stroke-width:.55px}.japanPrefectureMap--hitTarget .prefectureFactionHighlight,.japanPrefectureMap--hitTarget .territoryFactionHighlight{stroke:none;stroke-width:0}.gameShell .mapViewport .provinceNetwork.mapMode--strategic .japanPrefectureMap--hitTarget .prefectureFactionHighlight{fill-opacity:.4}.networkNode.warRequestTarget .provinceCircle,.networkNode.targetEnemy .provinceCircle{paint-order:stroke fill;stroke:#eb3c30;stroke-width:.55px;animation:.9s ease-in-out infinite invasionTargetStrokePulse}@media (prefers-reduced-motion:reduce){.networkNode.peekTarget .provinceCircle{stroke-opacity:1;animation:none}}@keyframes invasionTargetStrokePulse{0%,to{stroke-opacity:.35}50%{stroke-opacity:1}}@keyframes territoryFactionFlash{0%,to{opacity:.55}50%{opacity:1}}.diplomacyDetailHeader{align-items:center;gap:10px;margin-bottom:8px;display:flex}.diplomacyDetailIcon{background:var(--color-ink-600);object-fit:contain;border:1px solid #ffffff8c;border-radius:50%;width:34px;height:34px;padding:3px}.diplomacyPanel{bottom:calc(var(--diplomacy-panel-bottom,0px) + 72px + var(--space-2));gap:var(--space-2);max-height:calc(var(--stage-h) - var(--diplomacy-panel-bottom,0px) - 72px - 80px);min-width:0;padding:var(--space-3);left:auto;right:var(--space-4);z-index:40;grid-template-rows:auto minmax(0,1fr);width:760px;display:grid;position:absolute;top:auto;overflow:hidden}.diplomacyPanel--overview{height:344px}.diplomacyPanel--warRequest{max-height:calc(var(--stage-h) - var(--diplomacy-panel-bottom,0px) - 72px - 80px)}.diplomacyPanel>.dsSectionHeader{flex:none}.diplomacyPanelTarget{align-items:center;gap:var(--space-2);min-height:22px;display:flex}.diplomacyPanelEmpty{height:100%;min-height:0}.diplomacyPanelOverviewContent{gap:var(--space-2);grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.diplomacyPanelRelationSummary{color:var(--text-secondary);font-size:var(--text-xs);align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.diplomacyActionCards{gap:var(--space-2);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));min-height:0;display:grid}.diplomacyActionCard.dsButton{align-items:stretch;gap:var(--space-2);height:auto;min-height:0;padding:var(--space-2) var(--space-3);text-align:left;white-space:normal;flex-direction:column;display:flex}.diplomacyActionCardTitle{font-family:var(--font-display);font-size:var(--text-md);text-align:center;font-weight:600}.diplomacyActionCardBody{color:var(--text-secondary);font-size:var(--text-xs);flex:1;line-height:18px}.diplomacyPanelDetailView{gap:var(--space-2);grid-template-rows:auto auto;min-height:0;display:grid;overflow:visible}.diplomacyActionScroll{min-height:0;padding-right:0;overflow:visible}.diplomacyExecuteBtn{width:100%}.diplomacySidebar{color:#eee;z-index:39;background:#0c0f18f0;border-right:1px solid #f4d38038;flex-direction:column;width:280px;display:flex;position:absolute;top:56px;bottom:0;left:0}.diplomacySidebarHeader{padding:12px 16px}.diplomacySidebarHeader h2{color:#fff4d8;margin:0;font-size:1.15rem}.diplomacySidebarBody{flex:1;min-height:0;padding:0 12px;overflow-y:auto}.diplomacyFactionList{margin:0;padding:0;list-style:none}.diplomacyFactionRow{color:#e8dcc0;cursor:pointer;background:#10142199;border:1px solid #ffffff0f;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-bottom:6px;padding:8px 10px;display:flex}.diplomacyFactionRow.is-selected{border-color:#f4d380cc}.diplomacyFactionName{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.diplomacyRelationBadge{white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:4px;min-width:52px;padding:2px 8px;font-size:.78rem;display:inline-flex}.diplomacyRelationBadge strong{color:inherit;background:#00000038;border-radius:999px;padding:2px 5px;font-size:.72rem;font-weight:700;line-height:1}.diplomacyRelationBadge.rel-allied{color:#9ff0c0;background:#00aa5040}.diplomacyRelationBadge.rel-truce{color:khaki;background:#cccc0038}.diplomacyRelationBadge.rel-hostile{color:#ff9d9d;background:#cc333340}.diplomacyRelationBadge.rel-neutral{color:#ccc;background:#b4b4b42e}.diplomacySidebarDetail{border-top:1px solid #ffffff14;max-height:42%;padding:12px;overflow-y:auto}.diplomacyDetailName{color:#fff4d8;margin-bottom:8px;font-weight:800}.diplomacyDetailStats{grid-template-columns:1fr 1fr;gap:4px 12px;margin:8px 0;display:grid}.diplomacyDetailStats div{justify-content:space-between;display:flex}.diplomacyDetailStats dd{margin:0}.diplomacyDetailRelation{gap:8px;margin-top:10px;display:grid}.diplomacyTrust{gap:4px;display:grid}.diplomacyTrustBar{background:#ffffff1f;border-radius:3px;height:6px;margin-top:4px;overflow:hidden}.diplomacyTrustBarFill{background:#d8b25a;height:100%}.diplomacyPanelFactionName{font-size:1.1em;font-weight:700}.diplomacyPanelLord{opacity:.85;font-size:.9em}.diplomacyPanelRelation,.diplomacyPanelSelfLabel{margin-top:4px;font-size:.95em}.diplomacyActionBtn{background:var(--color-ink-850);border:1px solid var(--color-ink-600);color:var(--color-white);cursor:pointer;border-radius:4px;padding:8px 12px}.diplomacyActionBtn:disabled{cursor:not-allowed;opacity:.4}.diplomacyActionBtn.selected{border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus) inset;background:#4a5568}.diplomacyActionBtn.selected:disabled{cursor:not-allowed;opacity:.75}.diplomacyRecentEvents{min-height:32px}.diplomacyOfficerSelector{gap:var(--space-2);margin-top:var(--space-2);display:grid}.diplomacyPanel .diplomacyOfficerSelector{padding:var(--space-3);margin-top:0}.diplomacyOfficerSelectorHeader{color:var(--text-primary);font-family:var(--font-display);font-weight:600}.diplomacyOfficerRows{gap:.35rem;max-height:116px;display:grid;overflow-y:auto}.diplomacyOfficerRow{cursor:pointer;background:#00000038;border:1px solid #ffffff1f;border-radius:4px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.45rem;padding:.35rem .45rem;display:grid}.diplomacyOfficerRow.selected{border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus) inset}.diplomacyOfficerName{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:800;overflow:hidden}.diplomacyPickButton{margin-top:var(--space-2);align-self:flex-start}.diplomacyPanel .diplomacyPickButton{margin-top:0}.diplomacyOfficerSelected{margin-top:var(--space-1)}.diplomacyOfficerSelected>span:last-child{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.diplomacyOfficerSelectedPortrait{background:var(--surface-panel-inset);border:var(--border-width-hairline) solid var(--border-subtle-dark);border-radius:var(--radius-1);object-fit:cover;flex:none;width:44px;height:44px;display:block}.diplomacyOfficerSelectedLabel{color:var(--text-secondary);font-weight:600}.diplomacyOfficerPolitics{color:var(--color-copper-300);font-size:var(--text-xs);white-space:nowrap;font-weight:600}.poachPickerColumns{grid-template-columns:1fr 1fr 1fr;align-items:stretch;gap:.6rem;display:grid}.poachPickerColumn{min-width:0;height:100%;padding:var(--space-2);flex-direction:column;gap:.4rem;display:flex}.poachSummaryColumn{justify-content:center}.poachSummaryRow{white-space:nowrap;font-size:.9rem}.poachSummaryEmpty{color:var(--text-secondary);font-size:var(--text-xs)}.diplomacyWarRequestTargets{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:6px;min-width:0;display:grid;overflow:hidden}.diplomacyWarRequestHeader{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;justify-content:space-between;display:flex}.diplomacyWarRequestTrust{color:var(--text-secondary);font-size:var(--text-xs);font-weight:600}.diplomacyWarRequestTargets .diplomacyTargetButton{min-width:0;height:auto;padding:var(--space-2) var(--space-3);text-align:left;white-space:normal;flex-direction:column;align-items:flex-start;width:100%;display:flex;overflow:hidden}.diplomacyWarRequestTargets .diplomacyTargetButton span{overflow-wrap:anywhere;white-space:normal;display:block}.diplomacyWarRequestTargets .diplomacyTargetButton small{opacity:.78;overflow-wrap:anywhere;white-space:normal;margin-top:2px;font-size:.72rem;display:block}.diplomacyWarRequestSummary{gap:.32rem;min-width:0}.diplomacyWarRequestSummary .poachSummaryRow{white-space:normal;word-break:keep-all;overflow-wrap:anywhere;min-width:0;line-height:1.45}.diplomacyWarRequestSummary .diplomacyOfficerChance{white-space:nowrap;margin-left:4px;display:inline-flex}.diplomacyConfirmSummary{gap:var(--space-3);display:grid}.diplomacyConfirmSummary .confirmPreview{gap:var(--space-2);display:grid}.diplomacyConfirmSummary .confirmPreview ul{padding-left:var(--space-5);margin:0}.moveEta{color:#888;font-size:.9em}@keyframes disasterPulse{0%,to{opacity:1}50%{opacity:.35}}.playerActionPanel label{align-items:center;gap:8px;display:flex}.officerPicker,.targetingRulePicker{background:#fffdf39e;border:1px solid #b9852f61;gap:6px;width:100%;padding:8px;display:grid}.officerPicker>span,.targetingRulePicker>span{color:#7b3f1f;font-weight:700}.officerPicker label,.targetingRulePicker label{justify-content:flex-start}.diplomacyChoices{gap:8px;width:100%;display:grid}.diplomacyChoice{background:#fffdf39e;border:1px solid #b9852f61;gap:6px;padding:8px;display:grid}.diplomacyChoice span{color:#66705f}.controlPanel{justify-items:end;gap:8px;display:grid}.controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.hiddenFileInput{display:none}.saveStatus{color:#66705f;flex-wrap:wrap;justify-content:flex-end;gap:6px 12px;max-width:720px;font-size:.78rem;display:flex}.saveMessage{color:#27623a}.saveError{color:#9a352f;font-weight:700}.maxTurnsControl{color:#4d5849;align-items:center;gap:8px;display:inline-flex}.maxTurnsControl span{font-size:.82rem;font-weight:700}.panel{background:#fffdf3;border:1px solid #d8dccf;padding:18px;box-shadow:0 10px 26px #1720180f}.dashboard{grid-template-columns:repeat(8,minmax(120px,1fr));gap:12px;margin-bottom:20px;display:grid}.replayPanel{border-color:#c8d2bd;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex;position:relative}.replayPanel:has(.replayNote){background:linear-gradient(90deg,#9a5a2f26,#0000 46%),#fff8df;border-color:#c18a3f;box-shadow:0 12px 30px #9a5a2f24}.replayPanel h2{margin-bottom:4px}.replayPanel p{color:#66705f;margin:0}.replayNote{font-size:.82rem;font-weight:700;color:#7b3f1f!important;margin-top:4px!important}.replayButtons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.dashboard div{background:#f8f3e3;border-left:4px solid #9a5a2f;min-height:72px;padding:10px 12px}.label{color:#66705f;margin-bottom:4px;font-size:.78rem;display:block}.contentGrid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;margin-bottom:18px;display:grid}.lowerGrid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start}.sectionHeader{justify-content:space-between;align-items:start;gap:14px;margin-bottom:10px;display:flex}.sectionHeader p{color:#f4f8ff;margin:4px 0 0}.networkPanel,.trendPanel{margin-bottom:20px}.trendControls{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.trendControls button{color:#2f4730;background:#f6f3e7;border-color:#d8dccf;padding:.5rem .7rem;font-size:.82rem}.trendControls button:hover,.trendControls button.active{color:#fffdf3;background:#9a5a2f;border-color:#9a5a2f}.trendChart{background:radial-gradient(circle at 82% 16%,#2f6f6b1c,#0000 28%),linear-gradient(135deg,#fbf6e6,#eef3e3);border:1px solid #d8dccf;width:100%;height:260px;display:block}.trendAxis{stroke:#17201870;stroke-width:2px}.trendGridLine{stroke:#1720181a;stroke-width:1px}.trendLine{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.trendTick{fill:#66705f;font-size:.72rem}.trendLegend{flex-wrap:wrap;gap:8px 12px;margin-top:10px;display:flex}.networkLegend{flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;display:flex}.legendItem{color:#4d5849;white-space:nowrap;align-items:center;gap:6px;font-size:.82rem;display:inline-flex}.legendSwatch{border:2px solid #fffdf3;width:12px;height:12px;display:inline-block;box-shadow:0 0 0 1px #1720182e}.networkCanvas{position:relative;overflow:hidden}.networkMapControls{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.networkMapControls span{color:#5f6959;font-size:.84rem}.networkMapResetBtn{min-height:32px}.networkMapZoomReadout{white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff14;border-radius:4px;align-items:center;gap:.4rem;min-height:32px;padding:.25rem .5rem;display:inline-flex}.networkMapZoomReadout span{color:#d8c59a;font-size:.72rem;font-weight:700}.playMapArea .networkMapZoomReadout span,.newGameFactionSelectMap .networkMapZoomReadout span{color:#d8c59a}.networkMapZoomReadout strong{color:#fff6dc;font-variant-numeric:tabular-nums;font-size:.9rem}.provinceNetwork{outline-offset:-1px;transform-origin:0 0;background:radial-gradient(circle at 20% 10%,#9a5a2f21,#0000 26%),linear-gradient(135deg,#f8f0d7,#edf2df);outline:1px solid #d8dccf;width:100%;height:min(62vh,620px);min-height:360px;display:block}.provinceNetwork.panning{will-change:transform}.mapCanvasLayer{pointer-events:none;transform-origin:0 0;z-index:0;width:100%;height:min(62vh,620px);min-height:360px;display:block;position:absolute;inset:0}.mapCanvasLayer+.provinceNetwork{z-index:1;position:relative}.networkEdge{opacity:.7;stroke:var(--map-network-edge);stroke-linecap:round;stroke-width:3px;pointer-events:none}.networkEdgeHalo{opacity:.3;stroke:var(--map-network-edge-halo);stroke-linecap:round;pointer-events:none}.provinceCircle{opacity:1}.provinceCircle.movePulse{animation:.9s ease-in-out infinite moveStrokePulse}@keyframes moveStrokePulse{0%,to{stroke-opacity:1}50%{stroke-opacity:.2}}svg.panning>image{visibility:hidden}svg.panning .provinceCircle,svg.panning .networkNode:hover .provinceCircle{filter:none}svg.panning .movePulse,svg.panning .networkNode.tutorialBlinkTarget .provinceCircle,svg.panning .warRequestTarget .provinceCircle,svg.panning .targetEnemy .provinceCircle,svg.panning .disasterTarget .provinceCircle{animation:none}svg.zooming>image{visibility:hidden}svg.zooming .provinceCircle,svg.zooming .networkNode:hover .provinceCircle{filter:none}svg.zooming .movePulse,svg.zooming .networkNode.tutorialBlinkTarget .provinceCircle,svg.zooming .warRequestTarget .provinceCircle,svg.zooming .targetEnemy .provinceCircle,svg.zooming .disasterTarget .provinceCircle{animation:none}svg.panning .prefectureFactionHighlight,svg.panning .territoryFactionHighlight,svg.zooming .prefectureFactionHighlight,svg.zooming .territoryFactionHighlight{filter:none;animation-play-state:paused}.networkNode{cursor:pointer}.networkNode:hover .provinceCircle{opacity:1;paint-order:stroke fill;stroke:#eee0bae0;stroke-width:.32px}.selectedNetworkNode .provinceCircle{paint-order:stroke fill;stroke:#9a5a2feb;stroke-width:.44px}.selectedNetworkNode .provinceLabel,.selectedNetworkNode .provinceMeta{stroke:#172018db}.provinceLabel,.provinceMeta{fill:#fffdf3;paint-order:stroke;pointer-events:none;stroke:#17201899;stroke-linejoin:round;stroke-width:3px;font-weight:800}.networkTooltip{color:#fffdf3;pointer-events:none;z-index:2;background:#172018eb;border:1px solid #fffdf347;gap:4px;min-width:190px;padding:10px 12px;font-size:.82rem;display:grid;position:absolute;transform:translate(12px,-10px);box-shadow:0 10px 24px #1720183d}.networkTooltip strong{font-size:.98rem}.networkTooltipFaction{align-items:center;gap:6px;display:flex}.networkTooltipIcon{object-fit:contain;border-radius:50%;width:20px;height:20px;padding:2px}.table{gap:4px;display:grid}.row{grid-template-columns:1.4fr .9fr .7fr .8fr .8fr .8fr;align-items:center;gap:8px;padding:8px;display:grid}.row.header{color:#66705f;font-size:.8rem;font-weight:700}.row:not(.header){background:#f6f3e7}.status.active{color:#27623a}.status.eliminated{color:#9a352f}.provinceGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.province{cursor:pointer;background:#f6f3e7;border:1px solid #e1ddcc;padding:12px}.province:hover{border-color:#b99a49}.selectedProvince{background:#fff8d6;border-color:#b9852f;box-shadow:inset 0 0 0 2px #b9852f38}.provinceTitle{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.frontline{color:#fff;background:#9a5a2f;padding:2px 6px;font-size:.72rem}dl{gap:6px;margin:0;display:grid}dt{color:#66705f;font-size:.75rem}dd{margin:0}.detailPanel{min-height:100%}.detailPanel h2{margin-bottom:0}.detailList{gap:10px}.detailList div{background:#f6f3e7;border-left:3px solid #d3bc74;padding:8px 10px}.emptyDetail p{color:#66705f;margin:0}.timeline ol{gap:8px;max-height:430px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.timelineHeader{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.timelineHeader h2{margin-bottom:0}.provinceEventToggle{color:#4d5849;white-space:nowrap;align-items:center;gap:6px;font-size:.82rem;display:inline-flex}.provinceEventToggle input{accent-color:#9a5a2f}.provinceEventToggle:has(input:disabled){color:#98a091}.eventFilters{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.eventFilters button{color:#2f4730;background:#f6f3e7;border-color:#d8dccf;padding:.42rem .58rem;font-size:.78rem}.eventFilters button:hover,.eventFilters button.active{color:#fffdf3;background:#9a5a2f;border-color:#9a5a2f}.event{background:#f6f3e7;border-left:4px solid #87906f;padding:8px 10px}.event span{margin-bottom:3px;font-size:.78rem;font-weight:700;display:block}.event p{margin:0}.event.battle{border-left-color:#9a5a2f}.event.capture{border-left-color:#2f6f6b}.event.status{border-left-color:#9a352f}.eventNovelBranchScene>button{max-width:320px}.newsTicker{pointer-events:none;z-index:80;background:linear-gradient(#000000c7,#141420eb);border-top:1px solid #6b5a3a;height:60px;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.newsItem{color:#f0e6c8;transform:translate(var(--stage-w), -50%);white-space:nowrap;will-change:transform;align-items:center;padding:0;font-size:1.4rem;font-weight:700;display:inline-flex;position:absolute;top:50%;left:1rem}.newsTickerIcon{object-fit:contain;vertical-align:middle;box-sizing:content-box;border-radius:4px;width:24px;height:24px;margin-right:8px;padding:2px}.newsItem-enter{animation:.6s cubic-bezier(.22,.6,.36,1) forwards newsEnter}.newsItem-pause{transform:translateY(-50%)}.newsItem-exit{transition:transform .6s cubic-bezier(.4,0,.78,.4);transform:translate(-110%,-50%)}@keyframes newsEnter{0%{transform:translate(var(--stage-w), -50%)}to{transform:translateY(-50%)}}.newsItem-battle{color:#ffb87a}.newsItem-event{color:#f5d76e}.newsItem-warn{color:#e07a7a}.battleAnimation{pointer-events:auto;z-index:180;position:absolute;inset:0}.battleAnimationBackdrop{background:#0003;position:absolute;inset:0}.battleAnimationIcon{z-index:1;position:absolute}.battleAnimationProvinceIcon{box-sizing:border-box;border:4px solid #111;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.battleAnimationIconImage{object-fit:contain;width:82%;height:82%;display:block}.battleAnimationIconImage.factionIcon--initial{font-size:20px;line-height:1}.battleAnimationIconFallback{background:#11111147;border-radius:50%;width:42%;height:42%}.battleChoiceModal{max-width:420px}.battleChoiceModal__content{gap:var(--space-3);display:grid}.battleChoiceModal__description{font-family:var(--font-ui);font-size:var(--text-sm);gap:var(--space-2) var(--space-3);grid-template-columns:120px minmax(0,1fr);line-height:20px;display:grid}.battleChoiceModal__description strong{color:var(--color-copper-300)}.battleChoiceModal__description span{color:var(--text-secondary)}.officerListPortrait{color:#66705f;background:#fffdf3;border:1px solid #9a72363d;border-radius:4px;justify-content:center;align-items:center;width:64px;height:64px;font-size:.62rem;display:flex;overflow:hidden}.officerListPortrait img{object-fit:cover;width:100%;height:100%;display:block}.officerListPortrait.hasImage span{display:none}.officerListPortrait.hasImage.isBroken span{display:inline}.mutedText{color:#66705f;overflow-wrap:anywhere}.empty{color:#66705f}.error{color:#9a352f}.modalOverlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.systemMenuGrid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.systemMenuAction.dsButton{align-items:flex-start;gap:var(--space-1);text-align:left;flex-direction:column;justify-content:center;width:100%;height:72px;display:flex}.systemMenuGrid>.dsTooltipAnchor{display:flex}.systemMenuAction strong{font-family:var(--font-display);font-size:var(--text-md);line-height:24px}.systemMenuAction span{color:var(--text-secondary);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase}.endingResult{--ending-result-accent:var(--color-copper-400);gap:var(--space-4);display:grid}.endingResult[data-outcome=victory]{--ending-result-accent:var(--color-success-600)}.endingResult[data-outcome=defeat]{--ending-result-accent:var(--color-danger-600)}.endingResult__faction{border-left:var(--border-width-selected) solid var(--ending-result-accent);color:var(--text-primary);padding:var(--space-2) var(--space-4);margin:0}.endingResult__facts{padding:var(--space-3)}.endingResult__facts dl{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.endingResult__facts dl>div{min-width:0}.endingResult__facts dt{color:var(--text-secondary);font-size:var(--text-xs);margin-bottom:var(--space-1)}.endingResult__facts dd{color:var(--text-primary);font-family:var(--font-data);font-size:var(--text-md);font-variant-numeric:tabular-nums;margin:0}.systemMenuPane{gap:var(--space-4);display:grid}.configPane{gap:var(--space-5);display:grid}.configSection,.systemDeleteConfirm{gap:var(--space-3);display:grid}.systemMenuPaneLead{color:var(--text-secondary)}.systemAudioControlRow{align-items:center;gap:var(--space-2);grid-template-columns:88px minmax(160px,1fr) 48px;display:grid}.systemAudioControlLabel{color:var(--text-primary);font-size:var(--text-xs);font-weight:600}.systemNewsSpeedButtons{justify-self:start}.systemNewsCategoryToggles{gap:var(--space-2);flex-wrap:wrap;display:flex}.systemAudioControlRow span{color:var(--text-secondary);font-size:var(--text-xs);text-align:right}.saveSlotColumns{gap:var(--space-4);grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);display:grid}.saveSlotColumn{gap:var(--space-3);align-content:start;min-width:0;display:grid}.saveSlotList{gap:var(--space-2);flex-direction:column;display:flex}.saveSlotCreateBtn{width:100%}.saveSlotItem{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;min-width:0;min-height:72px;display:grid}.saveSlotItem.disabled{opacity:.64}.saveSlotInfo{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.saveSlotTitleRow{align-items:center;gap:var(--space-2);min-width:0;display:flex}.saveSlotTitleRow strong{color:var(--text-primary);font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.saveSlotMetaGrid{gap:var(--space-1) var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.saveSlotMetaGrid span{color:var(--text-secondary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:1.35;overflow:hidden}.saveSlotMetaGrid b{color:var(--text-secondary);font-size:var(--text-2xs);letter-spacing:.03em;display:block}.saveMemoField{max-width:640px}.saveSlotMemo{color:var(--ds-color-text-secondary);overflow-wrap:anywhere;gap:8px;margin:8px 0 0;font-size:12px;display:flex}.saveSlotMemo b{color:var(--ds-color-text-muted);flex:none;font-weight:600}.saveSlotMemo.isEmpty{color:var(--ds-color-text-muted)}.saveSlotActions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.battleModal{background:var(--modal-bg);color:var(--modal-text);border-radius:8px;flex-direction:column;width:720px;max-width:720px;max-height:918px;display:flex;overflow-y:auto;box-shadow:0 8px 32px #00000080}.battleModalHeader{border-bottom:1px solid var(--color-ink-800);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.battleModalHeader h2{color:var(--color-white);margin:0;font-size:1rem}.battleModalHeaderActions{align-items:center;gap:8px;display:flex}.battleModalPagination{opacity:.75;font-size:.85rem}.battleModalClose{background:var(--color-ink-800);color:var(--color-white);border:1px solid var(--color-ink-600);cursor:pointer;border-radius:4px;padding:4px 12px}.battleModalClose:hover{background:#444}.battleModalBody{grid-template-columns:1fr 1fr;gap:12px;padding:12px 16px;display:grid}.battleResultModal__layout{gap:var(--space-3);display:grid}.battleResultModal__layout .battleModalBody{gap:var(--space-3);padding:0}.battleResultModal__layout .capturePrisonerSection{gap:var(--space-3);display:grid}.battleResultModal__layout .capturePrisonerSection>h3{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-lg);margin:0;line-height:26px}.battleResultModal__layout .capturePrisonerChoices .dsChoice{background:var(--surface-panel);border:var(--border-width-hairline) solid var(--border-subtle-dark);border-radius:var(--radius-2);min-height:40px;padding:var(--space-2) var(--space-3)}.battleResultModal__layout .capturePrisonerChoices .dsChoice:has(input:checked){background:color-mix(in srgb, var(--color-copper-500) 14%, var(--surface-panel));border-color:var(--color-copper-400)}.battleResultModal__layout .capturePrisonerFallback .dsSelect{min-width:132px}.capturePrisonerFallback .dsSelect__listbox{bottom:calc(100% + var(--space-1));top:auto}.novelOverlay{-webkit-user-select:none;user-select:none;z-index:var(--z-novel);background:0 0;flex-direction:column;justify-content:center;align-items:center;padding:0}.novelContent{cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;max-width:none;height:100%;position:relative}.novelSceneBackground{box-shadow:none;background-color:#0000;background-position:50%;background-size:cover;border:0;border-radius:0;justify-content:center;align-items:center;height:100%;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.novelPanel{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(110deg, var(--novel-accent-soft), transparent 22%), #0d1315e6;border:var(--border-width-hairline) solid var(--novel-border);border-radius:var(--radius-2);bottom:var(--space-6);box-shadow:var(--novel-shadow), inset 0 1px 0 #fff7e70f;color:var(--novel-text);height:clamp(312px,44%,332px);left:var(--space-8);right:var(--space-8);z-index:3;grid-template-rows:minmax(0,1fr) auto;display:grid;position:absolute;overflow:hidden}body:has(.novelOverlay[data-novel-attention]) .novelPanel{visibility:hidden}.novelBacklog{-webkit-backdrop-filter:blur(20px)saturate(.78);backdrop-filter:blur(20px)saturate(.78);background:linear-gradient(145deg, var(--novel-accent-soft), transparent 32%), var(--novel-panel-bg);border:var(--border-width-hairline) solid var(--novel-border);border-radius:var(--radius-3);box-shadow:var(--novel-shadow), inset 0 1px 0 #fff7e70f;color:var(--novel-text);cursor:default;z-index:10;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.novelBacklogHeader{border-bottom:var(--border-width-hairline) solid var(--novel-border);max-width:900px;padding:var(--space-6) var(--space-5) var(--space-4);justify-content:space-between;align-items:center;width:min(92%,900px);margin:0 auto;display:flex}.novelBacklogTitle{border-left:var(--border-width-panel) solid var(--novel-accent-strong);color:var(--novel-accent);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-title);letter-spacing:.12em;padding-left:var(--space-3);line-height:1.35}.novelBacklogMeta{color:var(--novel-text-muted);font-size:var(--text-2xs);letter-spacing:.08em;margin:var(--space-1) 0 0 calc(var(--space-3) + var(--border-width-panel))}.novelBacklogClose{background:var(--novel-panel-soft);border:var(--border-width-control) solid var(--novel-border);border-radius:var(--radius-1);box-shadow:var(--highlight-control), var(--shadow-control);color:var(--novel-text-muted);cursor:pointer;font-family:var(--font-ui);min-height:34px;padding:var(--space-1) var(--space-4);transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-instant) var(--ease-standard)}.novelBacklogClose:hover{background:var(--novel-panel-raised);border-color:var(--novel-accent-strong);color:var(--novel-text)}.novelBacklogClose:active{box-shadow:var(--highlight-control), var(--shadow-control-active);transform:translateY(1px)}.novelBacklogClose:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.novelBacklogList{align-content:start;gap:var(--space-3);max-width:900px;padding:var(--space-5) var(--space-5) var(--space-8);flex:1;width:min(92%,900px);margin:0 auto;display:grid;overflow-y:auto}.novelBacklogRow{background:color-mix(in srgb, var(--novel-panel-soft) 70%, transparent);border-left:var(--border-width-panel) solid color-mix(in srgb, var(--novel-accent-strong) 54%, transparent);gap:var(--space-2);padding:var(--space-3) var(--space-4);display:grid}.novelBacklogSpeaker{color:var(--novel-accent);font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--font-weight-title);letter-spacing:.08em}.novelBacklogRow p{color:var(--novel-text);font-family:var(--font-display);font-size:var(--text-md);letter-spacing:.035em;white-space:pre-wrap;margin:0;line-height:1.85}.novelStanding{pointer-events:none;z-index:1;height:994px;max-height:none;position:absolute;bottom:0}.novelStanding img{object-fit:contain;max-width:900px;height:100%;max-height:none;display:block}.novelStanding--left{left:8%}.novelStanding--center{left:50%;transform:translate(-50%)}.novelStanding--right{right:8%}.novelEffectImage{pointer-events:none;z-index:2;max-height:42%;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%)}.novelEffectImage img{object-fit:contain;max-width:460px;max-height:100%;display:block}.novelBody{align-items:center;gap:var(--space-6);min-height:0;padding:var(--space-5) var(--space-8) var(--space-3);grid-template-columns:142px minmax(0,1fr);display:grid;position:relative}.novelBody--inactive:after{content:none}.novelBody--noPortrait .novelTextBlock{grid-column:2}.novelPortrait{background:linear-gradient(180deg, var(--novel-panel-raised), var(--surface-panel-inset));border:var(--border-width-hairline) solid var(--novel-border);border-radius:var(--radius-2);box-shadow:inset 0 0 0 1px #fff7e70a, var(--shadow-panel);color:var(--novel-text-muted);font-size:var(--text-2xs);text-align:center;justify-content:center;align-items:center;width:136px;height:170px;display:flex;overflow:hidden}.novelPortrait img{object-fit:cover;width:100%;height:100%;display:block}.novelTextBlock{min-width:0;min-height:0;padding:var(--space-2) 0 0;flex-direction:column;justify-content:flex-start;align-self:stretch;display:flex}.novelSpeaker{color:var(--novel-accent);font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--font-weight-title);align-items:center;gap:var(--space-3);letter-spacing:.14em;margin-bottom:var(--space-3);white-space:nowrap;min-height:24px;display:flex}.novelSpeaker:after{background:linear-gradient(90deg, var(--novel-accent-strong), transparent);content:"";height:var(--border-width-hairline);flex:1;max-width:360px}.novelSpeaker--empty{visibility:hidden}.novelText{color:var(--novel-text);font-family:var(--font-display);font-size:19px;font-weight:var(--font-weight-body);letter-spacing:.045em;min-height:0;padding:0 var(--space-3) var(--space-1) 0;white-space:pre-wrap;flex:1;margin:0;line-height:1.9;overflow-y:auto}.novelFooter{background:color-mix(in srgb, var(--surface-panel-inset) 50%, transparent);border-top:var(--border-width-hairline) solid var(--novel-border);align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-2) var(--space-3);justify-content:space-between;display:flex}.novelFooterControls{align-items:center;gap:var(--space-2);justify-content:flex-end;width:100%;display:flex}.novelUtilityButtons{gap:var(--space-1);display:flex}.novelAdvanceCue{border:1px solid color-mix(in srgb, var(--color-copper-300) 58%, transparent);color:var(--novel-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.08em;padding:var(--space-1) var(--space-3);border-radius:999px}.novelUtilityButton{border:var(--border-width-control) solid transparent;border-radius:var(--radius-1);color:var(--novel-text-muted);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:.06em;min-width:76px;min-height:32px;padding:var(--space-1) var(--space-3);transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-instant) var(--ease-standard);background:0 0}.novelUtilityButton:hover{background:var(--novel-panel-raised);border-color:var(--novel-border);box-shadow:none;color:var(--novel-text)}.novelUtilityButton[aria-pressed=true]{background:var(--novel-accent-soft);border-color:var(--novel-accent-strong);box-shadow:inset 0 -2px 0 var(--novel-accent);color:var(--novel-accent)}.novelUtilityButton:disabled{box-shadow:none;cursor:not-allowed;opacity:.36;background:0 0;border-color:#0000;transform:none}.novelUtilityButton:active{transform:translateY(1px)}.novelUtilityButton:focus-visible,.novelChoiceButton:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.novelChoices{gap:var(--space-3);width:min(580px,88%);display:grid}.novelChoiceStage{bottom:360px;left:var(--space-6);right:var(--space-6);top:var(--space-6);z-index:4;justify-content:center;align-items:center;display:flex;position:absolute}.novelChoiceButton{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(90deg, var(--novel-accent-soft), transparent 42%), var(--novel-panel-bg);border:var(--border-width-hairline) solid var(--novel-border);border-left:var(--border-width-selected) solid var(--novel-accent-strong);border-radius:var(--radius-2);box-shadow:var(--shadow-panel);color:var(--novel-text);cursor:pointer;font-family:var(--font-display);font-size:var(--text-md);letter-spacing:.045em;min-height:52px;padding:var(--space-3) var(--space-5);text-align:left;transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);line-height:1.6}.novelChoiceButton:hover{background:linear-gradient(90deg, color-mix(in srgb, var(--novel-accent-strong) 24%, transparent), transparent 58%), var(--novel-panel-raised);border-color:var(--novel-accent-strong);transform:translateX(var(--space-1))}.novelChoiceButton:active{transform:translateX(var(--space-1)) translateY(1px)}body:has(.novelOverlay) .dsModalBackdrop{z-index:calc(var(--z-novel) + 1)}body:has(.novelOverlay) .dsModalBackdrop:has(.recruitModal){z-index:calc(var(--z-novel) - 1)}body:has(.novelOverlay) .dsModalBackdrop:has(.captureDecisionModal){z-index:calc(var(--z-novel) - 1)}:is(body:has(.novelOverlay[data-novel-scene-id=t2-recruit-open]:is([data-novel-line-index="1"],[data-novel-line-index="2"])) .dsModalBackdrop .tutorialRecruitSummaryHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t2-recruit-open]:is([data-novel-line-index="3"],[data-novel-line-index="4"],[data-novel-line-index="5"],[data-novel-line-index="6"],[data-novel-line-index="7"],[data-novel-line-index="8"],[data-novel-line-index="9"])) .dsModalBackdrop .tutorialRecruitCardsHighlightTarget){border-radius:var(--radius-2);filter:brightness(1.08);outline-offset:-3px;border-radius:var(--radius-2);outline-offset:-3px;outline:3px solid #ffe091f0;box-shadow:inset 0 0 0 6px #d6a94924,inset 0 0 22px #ffe0912e}body:has(.novelOverlay[data-novel-scene-id=t2-recruit-open]) .dsModalBackdrop [data-tutorial-id=tutorial-recruit-max-civilian].tutorialBlinkTarget{box-shadow:none;filter:none;outline:none;animation:none}:is(body:has(.novelOverlay[data-novel-scene-id=t1-defense][data-novel-line-index="3"]:not([data-novel-attention])) .deploymentScreen .tutorialDefenseEnemyHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t1-defense][data-novel-line-index="4"]:not([data-novel-attention])) .deploymentScreen .tutorialDefenseBreakdownHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t1-defense][data-novel-line-index="5"]:not([data-novel-attention])) .deploymentScreen .tutorialDefenseFieldHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t1-defense][data-novel-line-index="6"]:not([data-novel-attention])) .deploymentScreen .tutorialDefenseArrivalHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t1-defense][data-novel-line-index="7"]:not([data-novel-attention])) .deploymentScreen [data-tutorial-id=tutorial-defense-confirm]){border-radius:var(--radius-2);filter:brightness(1.08);outline-offset:-3px;outline:3px solid #ffe091f0;box-shadow:inset 0 0 0 6px #d6a94924,inset 0 0 22px #ffe0912e}:is(body:has(.novelOverlay[data-novel-scene-id=t1-defense][data-novel-line-index="3"][data-novel-attention]) .deploymentScreen .tutorialDefenseEnemyHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t1-defense][data-novel-line-index="4"][data-novel-attention]) .deploymentScreen .tutorialDefenseBreakdownHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t1-defense][data-novel-line-index="5"][data-novel-attention]) .deploymentScreen .tutorialDefenseFieldHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t1-defense][data-novel-line-index="6"][data-novel-attention]) .deploymentScreen .tutorialDefenseArrivalHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t1-defense][data-novel-line-index="7"][data-novel-attention]) .deploymentScreen [data-tutorial-id=tutorial-defense-confirm]){border-radius:var(--radius-2);filter:brightness(1.08);outline-offset:-3px;outline:3px solid #ffe091f0;animation:.5s step-end 2 tutorialAttentionBlink;box-shadow:inset 0 0 0 6px #d6a94924,inset 0 0 22px #ffe0912e}:is(body:has(.novelOverlay[data-novel-scene-id=t1-defense]) .deploymentScreen [data-tutorial-id=tutorial-defense-confirm].tutorialBlinkTarget,body:has(.novelOverlay[data-novel-scene-id=t1-retry]) .deploymentScreen [data-tutorial-id=tutorial-defense-confirm].tutorialBlinkTarget){box-shadow:none;filter:none;outline:none;animation:none}.garrisonBattleInfo{padding:var(--space-3);border:var(--border-width-hairline) solid var(--border-subtle-dark);border-radius:var(--radius-2);background:var(--surface-panel-inset);grid-column:1/-1}.battleSide{padding:var(--space-2) var(--space-3);border:var(--border-width-hairline) solid var(--border-subtle-dark);border-radius:var(--radius-2);background:var(--surface-panel-inset)}.battleSide.winner{background:color-mix(in srgb, var(--color-success-600) 14%, var(--surface-panel-inset));border-color:var(--color-success-600)}.battleSide h3{font-size:var(--text-sm);color:var(--text-primary);margin:0 0 6px}.battleSide ul{margin:0;padding:0;list-style:none}.battleSide li{font-size:var(--text-xs);border-bottom:var(--border-width-hairline) solid var(--border-subtle-dark);padding:3px 0}.battleSide li:last-child{border-bottom:none}.capturePrisonerSection{margin:0}.capturePrisonerMaster{background:linear-gradient(90deg,#c8a84b29,#242424c2);border:1px solid #c8a84b47;border-left:3px solid #c8a84b;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 10px;padding:9px 11px;display:flex}.capturePrisonerMasterLabel{color:#f0d18a;white-space:nowrap;font-size:.82rem;font-weight:700}.capturePrisonerCard{flex-direction:column;gap:6px;display:flex}.capturePrisonerChoices{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.capturePrisonerSection .capturePrisonerOption,.capturePrisonerSection .capturePrisonerFallback{border:1px solid var(--modal-cell-border);color:var(--modal-text);background:#242424eb;align-items:center;gap:7px;min-height:32px;padding:5px 9px;font-size:.84rem;display:inline-flex}.capturePrisonerSection .capturePrisonerOption{cursor:pointer}.capturePrisonerSection .capturePrisonerOption:has(input[type=radio]:checked){color:var(--color-cream-text);background:#c8a84b24;border-color:#f0d18ab8}.capturePrisonerSection .capturePrisonerOption:has(input[type=radio]:disabled){color:var(--modal-text-sub);cursor:not-allowed;opacity:.58}:is(.capturePrisonerSection .capturePrisonerOption:hover:not(:has(input[type=radio]:disabled)),.capturePrisonerSection .capturePrisonerFallback:hover){background:#333333f5;border-color:#c8a84b6b}.capturePrisonerSection input[type=radio]{appearance:none;background:#111;border:1px solid #6f6547;border-radius:50%;flex:none;width:14px;height:14px;margin:0;box-shadow:inset 0 0 0 3px #111}.capturePrisonerSection input[type=radio]:checked{background:#f0d18a;border-color:#f0d18a}.capturePrisonerSection input[type=radio]:focus-visible,.capturePrisonerSection select:focus-visible{outline-offset:2px;outline:2px solid #f0d18a}.capturePrisonerSection input[type=radio]:disabled{background:#222;border-color:#454545;box-shadow:inset 0 0 0 3px #222}.capturePrisonerSection select{appearance:none;background:linear-gradient(45deg, transparent 50%, #f0d18a 50%) right 12px center / 6px 6px no-repeat, linear-gradient(135deg, #f0d18a 50%, transparent 50%) right 8px center / 6px 6px no-repeat, var(--modal-cell-bg);color:var(--modal-text);font:inherit;border:1px solid #c8a84b5c;min-height:28px;padding:4px 25px 4px 8px}.capturePrisonerSection select:hover{border-color:#f0d18ab8}.capturePrisonerSection .capturePrisonerFallback span{color:var(--modal-text-sub);white-space:nowrap}.capturePrisonerResult{color:#f0d18a;font-size:.9rem}.capturePrisonerResult.isSuccess{color:var(--color-info-400)}.capturePrisonerResult.isFailure{color:color-mix(in srgb, var(--color-danger-600) 65%, white)}.outcome{color:#e58a8a;margin-left:.5rem;font-weight:600}.battleModalFooter{border-top:1px solid var(--color-ink-800);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.battleModalWinner{font-size:var(--text-sm);margin:0 auto 0 0}.battleModalWinner strong{color:var(--color-copper-300)}.battleModalRounds{opacity:.7;font-size:.85rem}.battleModalPeek{color:#f1dfaa;cursor:pointer;background:#d6a94924;border:1px solid #d6a94975;border-radius:4px;margin-left:auto;padding:6px 14px;font-weight:600}.infoModal{background:var(--color-white);border-radius:8px;flex-direction:column;width:90%;max-width:900px;max-height:864px;padding:1.5rem;display:flex}.infoModalHeader{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;display:flex}.infoModalHeader button{cursor:pointer;color:#172018;background:0 0;border:none;padding:.2rem .4rem;font-size:1.25rem}.infoModalBody{flex:1;overflow-y:auto}.diplomacyModal{background:var(--modal-bg);color:var(--modal-text);border-radius:8px;width:90%;max-width:700px;max-height:864px;padding:1.5rem;overflow-y:auto}.diplomacyModalHeader{border-bottom:1px solid var(--modal-row-divider);justify-content:space-between;align-items:center;padding-bottom:.5rem;display:flex}.diplomacyModalBody{gap:.4rem;margin:1rem 0;display:grid}.diplomacyModalFooter{border-top:1px solid var(--modal-row-divider);justify-content:flex-end;align-items:center;padding-top:.5rem;display:flex}.diplomacyCurrentRelations{border-top:1px solid var(--modal-row-divider);max-height:13rem;margin-top:.75rem;padding-top:.5rem;overflow-y:auto}.diplomacyRelationsTitle{color:var(--modal-text-sub);margin-bottom:.25rem;font-size:.8rem}.diplomacyRelationRow{grid-template-columns:minmax(0,1fr) auto;gap:.75rem;padding:.15rem 0;font-size:.85rem;display:grid}.diplomacyRelationRow span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.diplomacyState-allied span:last-child{color:#4fc46f;font-weight:700}.diplomacyState-hostile span:last-child{color:#e86a6a;font-weight:700}.diplomacyState-truce span:last-child,.diplomacyState-neutral span:last-child{color:var(--modal-text-sub)}.emotionRelations{background:#fff6dc14;border:1px solid #c8a84b59;border-radius:6px;margin-bottom:1rem;padding:.75rem}.emotionRelations h3{margin:0 0 .6rem}.emotionRelationHeader,.emotionRelationRow{grid-template-columns:1.2fr .8fr 1fr 1fr;align-items:center;gap:.5rem;padding:.35rem 0;display:grid}.emotionRelationHeader{color:var(--modal-text-sub);border-bottom:1px solid #78562859;font-size:.78rem;font-weight:700}.emotionRelationRow{border-bottom:1px solid #7856282e;font-size:.86rem}.emotionPill{color:#1c1720;border-radius:999px;justify-content:center;width:fit-content;min-width:5.8rem;padding:.15rem .45rem;font-weight:700;display:inline-flex}.emotion-like{background:#bde5a4}.emotion-normal{background:#eee1c4}.emotion-alert{background:#f2c980}.emotion-hate{background:#e59a91}.notorietyMid{color:#8a5b00;font-weight:800}.notorietyHigh{color:#a33a25;font-weight:700}.woundedLabel{color:#c8a84b;margin-left:.4rem;font-size:.8rem}.aiTurnOverlay{z-index:200;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.aiTurnCard{text-align:center;color:#f0e6c8;background:#1a1a2e;border:1px solid #4a3f2a;border-radius:8px;min-width:380px;max-width:520px;padding:2rem 2.5rem}.aiThinking{color:#a08060;font-size:1.4rem;animation:1s ease-in-out infinite pulse}.turnTransition{z-index:1200;pointer-events:none;background:#0a0c18eb;justify-content:center;align-items:center;animation:1.2s ease-in-out forwards turnTransitionFade;display:flex;position:absolute;inset:0}.turnTransitionImage{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.turnTransitionText{color:#f5e8c8;letter-spacing:.1em;text-shadow:0 2px 8px #000c;font-size:2.4rem;font-weight:700;position:relative}@keyframes turnTransitionFade{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}.gameLogTable{table-layout:fixed}.gameLogTable th:first-child{width:120px}.gameLogTable th:nth-child(2){width:96px}.gameLogTable .gameLogText{overflow-wrap:anywhere;white-space:normal;line-height:20px}.gameLogFilters{gap:var(--space-2);padding:0 0 var(--space-3);flex-wrap:nowrap;display:flex}.gameLogBattleToggle{border:1px solid var(--border-subtle-light);color:inherit;cursor:pointer;background:0 0}.gameLogFilterButton{white-space:nowrap;flex:none}.gameLogFilterButton[aria-pressed=true]{background:color-mix(in srgb, var(--color-copper-300) 18%, var(--surface-panel-raised));border-color:var(--color-copper-300);color:var(--color-copper-300)}.gameLogFilterButton[aria-pressed=true]:hover:not(:disabled){background:color-mix(in srgb, var(--color-copper-300) 24%, var(--surface-panel-raised))}.gameLogBattleToggle:hover{box-shadow:none;background:0 0}.gameLogTable .dsBadge{white-space:nowrap}.gameLogBattleToggle{text-align:left;border:0;padding:0}.gameLogBattleDetail{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border-left:2px solid var(--color-copper-300);color:var(--text-secondary)}.gameLogBattleDetail p{margin:var(--space-1) 0}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.aiEventText{margin-bottom:.75rem;font-size:1.05rem;line-height:1.6}.aiEventResult{font-size:1.3rem;font-weight:700}.aiEventResult.captured{color:#e06060}.aiEventResult.repelled{color:#60a8e0}.playerEvent{color:#f5d76e}.disasterEvent{color:#e08060}.aiBattleChoices{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.aiChoiceNote{color:#7a6a50;font-size:.8rem}.aiChoiceNo{color:#f0e6c8;cursor:pointer;background:#3a3a2a;border:1px solid #6b5a3a;border-radius:4px;padding:.5rem 1.5rem}.disasterProvinceList{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:.75rem 0;padding:0;list-style:none;display:flex}.disasterProvince{background:#3a2020;border:1px solid #8b4040;border-radius:4px;padding:.2rem .6rem;font-size:.85rem}@media (width<=820px){.appHeader,.contentGrid,.sectionHeader,.replayPanel{display:block}.networkLegend{justify-content:flex-start;margin-top:10px}.controls{justify-content:flex-start;margin-top:14px}.replayButtons{justify-content:flex-start;margin-top:12px}.controlPanel,.saveStatus{justify-content:flex-start;justify-items:start}.dashboard{grid-template-columns:repeat(2,minmax(120px,1fr))}.row{grid-template-columns:1fr .8fr}.row span:nth-child(n+3){display:none}}.portraitFrame{background:#1a1a2e;border:1px solid #3a3a4e;border-radius:6px;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.portraitFrame img{object-fit:cover;width:100%;height:100%}.portraitFramePlaceholder{color:#6b6b80;font-size:12px}.factionDetailModal{min-width:620px;max-width:720px;max-height:1000px;padding:18px;overflow-y:auto}.factionDetailHeader{border-bottom:1px solid #d6a94938;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding-bottom:14px;display:flex}.factionDetailTitleGroup{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.factionDetailBackBtn{align-self:center}.factionDetailIcon{width:56px;height:56px}.factionDetailTitleText{flex:auto;min-width:0}.factionDetailHeader h2{color:#fff2c5;overflow-wrap:anywhere;margin:0;font-size:1.35rem;line-height:1.2}.factionDetailHeader p{color:var(--modal-text-sub);margin:4px 0 0;font-size:.86rem}.factionDetailBody{grid-template-columns:156px minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.factionDetailPortraitPanel{background:linear-gradient(#ffffff0e,#ffffff05);border:1px solid #d6a94933;border-radius:6px;place-items:center;gap:10px;padding:12px;display:grid}.factionDetailPortraitPanel span{color:#fff2c5;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.9rem;font-weight:700;overflow:hidden}.factionDetailGrid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.factionDetailGrid>div{background:var(--modal-cell-bg);border:1px solid var(--modal-cell-border);border-radius:4px;grid-template-columns:minmax(74px,auto) minmax(0,1fr);align-items:center;gap:.75rem;min-height:34px;padding:.35rem .55rem;display:grid}.factionDetailGrid .label{color:var(--modal-text-sub)}.factionDetailGrid>div>span:last-child{color:var(--color-white);overflow-wrap:anywhere;text-align:right;min-width:0;font-weight:800}.factionDetailModal>h3{color:#ead8a7;margin:1rem 0 .5rem;font-size:.94rem}.factionTroopBreakdown{margin-top:14px}.factionTroopBreakdown h3{color:#ead8a7;margin:0 0 .5rem;font-size:.94rem}.factionTroopBreakdownTable{border:1px solid #d6a94929;border-radius:6px;overflow:hidden}.factionTroopBreakdownHeader,.factionTroopBreakdownRow{grid-template-columns:minmax(92px,1fr) minmax(150px,1.2fr) minmax(92px,.8fr);gap:10px;padding:7px 10px;display:grid}.factionTroopBreakdownHeader{color:#d9c68d;background:#d6a9491f;font-size:.78rem;font-weight:800}.factionTroopBreakdownRow{color:#f4ead0;background:#ffffff09;border-top:1px solid #ffffff0e;font-size:.86rem}.factionTroopBreakdownRow span:nth-child(2),.factionTroopBreakdownRow span:nth-child(3),.factionTroopBreakdownHeader span:nth-child(2),.factionTroopBreakdownHeader span:nth-child(3){text-align:right}.factionTroopBreakdownEmpty{color:#9a9ab0;background:#ffffff09;padding:10px;font-size:.86rem}.factionUpkeepSummary{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;display:grid}.factionUpkeepSummary>div{background:var(--modal-cell-bg);border:1px solid var(--modal-cell-border);border-radius:4px;gap:4px;padding:7px 9px;display:grid}.factionUpkeepSummary span{color:var(--modal-text-sub);font-size:.74rem}.factionUpkeepSummary strong{color:#fff2c5;text-align:right;font-size:.95rem}.factionDiplomacyList{gap:8px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.factionDiplomacyList li{background:#ffffff09;border:1px solid #d6a94926;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.factionDiplomacyName{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.factionDiplomacyState{border-radius:999px;padding:3px 8px;font-size:.78rem;font-weight:800}.factionDiplomacyState.diplomacy-allied{color:#7fe6a7;background:#5ec98a24}.factionDiplomacyState.diplomacy-hostile{color:#ff8b7d;background:#e0604f24}.factionDiplomacyState.diplomacy-truce{color:#e9c969;background:#d9b44a24}.factionDiplomacyState.diplomacy-neutral{color:#c8c8d8;background:#9a9ab024}.factionDiplomacyEmpty{color:#9a9ab0;margin:0;font-size:13px}.factionTable{border-collapse:collapse;width:100%}.factionTable th{text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:2px solid #3a3a4e;padding:6px 10px}.factionTable th:hover{color:#d9b44a}.factionTable td{border-bottom:1px solid #2a2a3e;padding:6px 10px}.factionTableRow{cursor:pointer}.factionTableRow:hover{background:#25253a}.invasionAllocationModalCard{background:var(--modal-bg);color:var(--modal-text);border-radius:8px;flex-direction:column;width:1280px;max-height:918px;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000080}.invasionModalHeader{border-bottom:1px solid var(--modal-border);padding:12px 16px}.invasionModalTitleRow{justify-content:space-between;align-items:center;gap:12px;display:flex}.invasionModalTitleRow h2{flex:none;margin:0;font-size:1rem}.invasionModalHeaderActions{align-items:center;gap:8px;display:flex}.invasionModalFilter{color:var(--color-white);background:#222;border:1px solid #444;border-radius:4px;min-width:220px;padding:4px 8px}.invasionModalClose{background:var(--color-ink-800);border:1px solid var(--color-ink-600);color:var(--color-white);cursor:pointer;border-radius:4px;padding:4px 12px}.invasionModalSubheader{border-bottom:1px solid var(--color-ink-850);padding:8px 16px;font-size:.85rem}.invasionModalTarget,.invasionModalSummary{margin-top:4px}.invasionModalTarget:first-child{margin-top:0}.invasionAllocTargetRelief{color:#e0b75a;font-weight:700}.invasionModalSections{flex:auto;padding:0;overflow-y:auto}.invasionModalSection{border-bottom:1px solid var(--color-ink-850);padding:12px 16px}.invasionModalSectionHeader{align-items:baseline;gap:12px;font-weight:600;display:flex}.invasionModalSourceSelected{color:#c8a84b;font-size:.8rem;font-weight:400}.invasionModalSectionBreakdown{opacity:.7;margin:4px 0 8px;font-size:.78rem}.invasionModalOfficerHeader{color:#c8a84b;margin:0 0 4px;padding-left:2px;font-size:.78rem;font-weight:700}.invasionModalOfficerRows{flex-direction:column;gap:2px;display:flex}.invasionOfficerRow{grid-template-columns:26px 88px minmax(120px,1fr) 72px 82px 56px 56px 56px 110px minmax(180px,260px);align-items:center;gap:8px;padding:4px 0;font-size:.95rem;display:grid;position:relative}.invasionOfficerRow:hover{background:var(--color-ink-850)}.invasionOfficerSlider{width:100%}.invasionOfficerAlloc{align-items:center;gap:6px;display:flex}.invasionOfficerAlloc input{color:var(--color-white);background:#0000003d;border:1px solid #c8a84b5c;border-radius:4px;width:72px;min-width:0;padding:4px 6px}.invasionOfficerSkillRow{grid-column:3/-1;min-width:0}.skillChipList{flex-wrap:wrap;align-items:center;gap:5px;min-height:22px;display:flex}.skillChipList__label{color:#c8a84b;margin-right:2px;font-size:.72rem;font-weight:700}.skillChip{color:#f1dfaa;cursor:help;text-overflow:ellipsis;white-space:nowrap;background:#c8a84b29;border:1px solid #c8a84b6b;border-radius:999px;max-width:180px;padding:4px 8px;font-size:.72rem;line-height:1;overflow:hidden}.skillChip:hover{background:#c8a84b42;border-color:#eecf7cb8}.skillChipList--details{align-items:start;gap:6px;display:grid}.skillChipList--details .skillChipList__label{margin:0}.skillChipList--details .skillChip{cursor:default;justify-self:start}.skillChipDetails{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:5px;margin:0;padding:0;list-style:none;display:grid}.skillChipDetails li{background:#0000002e;border:1px solid #d6a94929;border-radius:5px;gap:2px;min-height:40px;padding:5px 7px;display:grid}.skillChipDetails strong{color:#ffe3a6;font-size:.76rem}.skillChipDetails span{color:#ffffffad;font-size:.72rem;line-height:1.35}.skillChipDetails__empty{background:#ffffff06!important;border-color:#ffffff1a!important}.skillChipDetails__empty strong,.skillChipDetails__empty span{color:#ffffff6b}.invasionOfficerPortrait{object-fit:cover;border-radius:50%;width:88px;height:88px}.invasionOfficerStat{opacity:.85;font-size:.9rem}.invasionModalFooter{border-top:1px solid var(--color-ink-800);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.invasionModalConfirm{color:var(--color-white);cursor:pointer;background:#4a6f3b;border:none;border-radius:4px;padding:6px 18px}.invasionModalConfirm:disabled{cursor:not-allowed;opacity:.4}.invasionModalCancel{background:var(--color-ink-800);border:1px solid var(--color-ink-600);color:var(--color-white);cursor:pointer;border-radius:4px;padding:6px 18px}.battleProgressBar{background:var(--color-ink-950);color:var(--color-white);border-radius:8px;flex-direction:column;gap:12px;width:640px;padding:16px;display:flex;box-shadow:0 8px 32px #00000080}.battleProgressSide{flex-direction:column;gap:4px;display:flex}.battleProgressLabel{font-size:.85rem;font-weight:600}.battleProgressBarTrack{background:var(--color-ink-850);border-radius:4px;height:14px;overflow:hidden}.battleProgressBarFillAttacker{background:linear-gradient(90deg,#c84a4a,#f06868);height:100%;transition:width .15s linear}.battleProgressBarFillDefender{background:linear-gradient(90deg,#4a6f8c,#6890b0);height:100%;transition:width .15s linear}.battleProgressMorale{opacity:.7;font-size:.75rem}.battleProgressLog{border:1px solid var(--color-ink-850);background:#0e0e0e;border-radius:4px;min-height:100px;max-height:140px;padding:8px;font-size:.78rem;overflow-y:auto}.battleProgressLog div{padding:2px 0}.battleProgressControls{justify-content:flex-end;gap:8px;display:flex}.battleProgressControls button{background:var(--color-ink-800);color:var(--color-white);border:1px solid var(--color-ink-600);cursor:pointer;border-radius:4px;padding:4px 14px}.battleProgressControls button:disabled{opacity:.4;cursor:not-allowed}.battleProgressConfirm{font-weight:600;background:#4a6f3b!important;border-color:#5f8a4d!important;padding:6px 18px!important}@keyframes battleSkillFlash{0%{filter:brightness()}30%{filter:brightness(2.1)}to{filter:brightness()}}@keyframes battleTerrainBonusPulse{0%,to{color:#fff3d0;transform:translateY(0)}45%{color:#fff;text-shadow:0 0 12px #f8e5a2f2,0 1px 2px #000000b8;transform:translateY(-1px)}}@keyframes battleDamageShake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes battleTargetBlink{0%,to{filter:brightness(1.08)saturate(1.05)}45%{filter:brightness(1.55)saturate(1.35)}}@keyframes battleAreaTargetPulse{0%{opacity:.72;transform:scale(.995)}to{opacity:1;transform:scale(1.01)}}@keyframes battleFloatingEffect{0%{opacity:0;transform:translate(-50%,10px)scale(.82)}18%{opacity:1;transform:translate(-50%,-8px)scale(1.1)}to{opacity:0;transform:translate(-50%,-46px)scale(1)}}@keyframes battleActionTextIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes battleRoutFade{0%{opacity:1}to{opacity:.42}}@keyframes battleRetreatFade{0%{filter:brightness()saturate();opacity:1;transform:translate(0)}28%{filter:brightness(.92)saturate(.72);opacity:.92}to{filter:brightness(.58)saturate(.3);opacity:0;transform:translate(-24px)}}@keyframes battleTurnOrderFlowUp{0%{transform:translateY(46px)}to{transform:translateY(0)}}@keyframes battleTurnOrderFlowLeft{0%{transform:translate(46px)}to{transform:translate(0)}}@keyframes battleCutinInOut{0%{opacity:0;transform:translateY(10px)scale(.97)}18%{opacity:1;transform:translateY(0)scale(1)}78%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-6px)scale(.99)}}.battlePlayerOverlay{justify-content:stretch;align-items:stretch;padding:0}.battlePlayer{background:radial-gradient(circle at 50% 18%, color-mix(in srgb, var(--color-canvas-paper-light) 4%, transparent), transparent 34%), var(--surface-panel-inset);border:var(--border-width-hairline) solid var(--border-subtle-dark);box-sizing:border-box;box-shadow:var(--shadow-panel);color:var(--text-primary);gap:var(--space-2);height:100%;max-height:none;padding:var(--space-3) var(--space-4) calc(52px + var(--space-4));border-radius:0;flex-direction:column;width:100%;display:flex;overflow-y:auto}.battlePlayer__header{flex:none;justify-content:flex-start;align-items:flex-start;gap:16px;min-height:44px;display:flex}.battlePlayer__header h2{font-family:var(--font-display);font-size:var(--text-2xl);margin:0;line-height:36px}.battlePlayer__subtitle{color:var(--text-secondary);font-size:var(--text-md);margin:var(--space-1) 0 0;font-weight:700}.battlePlayer__pushMeter{flex:none;align-items:center;gap:18px;min-width:0;padding-top:4px;display:flex}.battlePlayer__pushStack{flex-direction:column;flex:auto;gap:6px;min-width:180px;display:flex}.battlePlayer__factionMarker{flex:0 0 60px;align-items:center;min-width:0;display:flex}.battlePlayer__factionMarker--right{flex-direction:row-reverse}.battlePlayer__factionIcon{border:1px solid #f8e5a261;border-radius:4px;justify-content:center;align-items:center;width:60px;height:60px;display:flex;overflow:hidden}.battlePlayer__factionIcon img{object-fit:cover;width:100%;height:100%;display:block}.battlePlayer__factionIcon span{color:var(--color-cream-text);text-shadow:0 1px 2px #00000080;font-size:32px;font-weight:800;line-height:1}.battlePlayer__pushBar{background:#252525;border:1px solid #393939;border-radius:5px;height:30px;display:flex;position:relative;overflow:visible}.battlePlayer__pushSide{box-sizing:border-box;white-space:nowrap;align-items:center;min-width:0;font-size:.72rem;font-weight:700;transition:width .2s;display:flex;overflow:hidden}.battlePlayer__pushSide--attacker{justify-content:flex-start;padding-left:10px}.battlePlayer__pushSide--defender{justify-content:flex-end;padding-right:10px}.battlePlayer__pushSide--ally{background:linear-gradient(90deg,#2f6fa3,#5fa8d8)}.battlePlayer__pushSide--enemy{background:linear-gradient(90deg,#b84545,#d97055)}.battlePlayer__pushSide--empty{padding-left:0;padding-right:0}.battlePlayer__pushSide--pushing{position:relative}.battlePlayer__pushSide--pushing:after{content:"";pointer-events:none;background-image:repeating-linear-gradient(105deg,#0000 0 9px,#fff7df3d 9px 15px,#0000 15px 28px);background-position:0 0;background-size:28px 100%;animation:.68s linear infinite battlePushFlowAlly;position:absolute;inset:0}.battlePlayer__pushSide--enemy.battlePlayer__pushSide--pushing:after{animation-name:battlePushFlowEnemy}@keyframes battlePushFlowAlly{to{background-position:28px 0}}@keyframes battlePushFlowEnemy{to{background-position:-28px 0}}.battlePlayer__pushPercent{color:var(--color-cream-text);text-shadow:0 1px 2px #000000b8;z-index:3;font-size:.9rem;font-weight:800;position:absolute;top:50%;transform:translateY(-50%)}.battlePlayer__pushPercent--ally{left:10px}.battlePlayer__pushPercent--enemy{right:10px}.battlePlayer__pushNeedle{background:#f8e5a2;width:3px;transition:left .2s;position:absolute;top:0;bottom:0;transform:translate(-50%);box-shadow:0 0 8px #f8e5a2bf}.battlePlayer__terrainBonus{color:#fff3d0;text-shadow:0 1px 2px #000000b8;min-height:14px;font-size:.82rem;font-weight:800;line-height:1}.battlePlayer__terrainBonus--ally{text-align:left}.battlePlayer__terrainBonus--enemy{text-align:right}.battlePlayer__terrainBonus--active{animation:.9s ease-in-out 2 battleTerrainBonusPulse}.battlePlayer__judgementLine{color:#fff3d0;pointer-events:none;z-index:4;width:0;transition:left .55s;position:absolute;top:0;bottom:0;transform:translate(-50%)}.battlePlayer__judgementLine:before{content:"";background:#fff3d0f2;width:2px;position:absolute;top:-3px;bottom:0;left:0;box-shadow:0 0 6px #fff3d0b8}.battlePlayer__judgementLine span{color:#fff3d0;white-space:nowrap;background:#1c1812f5;border:1px solid #fff3d0b8;border-radius:4px;padding:4px 7px;font-size:.78rem;font-weight:800;line-height:1;position:absolute;top:-31px;left:0;transform:translate(-50%)}.battlePlayer__judgementLine:after{content:"🔻";font-size:16px;line-height:1;position:absolute;top:-17px;left:0;transform:translate(-50%)}.battlePlayer__judgementMarker{display:none}.battlePlayer__pushStats{justify-content:space-between;gap:12px;display:flex}.battlePlayer__pushStat{color:#f7f1e4b3;background:#0c0c0cc7;border:1px solid #f7f1e41f;border-radius:5px;flex-wrap:wrap;flex:0 auto;gap:10px;min-width:0;padding:4px 8px;font-size:.7rem;font-weight:700;display:flex}.battlePlayer__pushStat--enemy{text-align:right;justify-content:flex-end;margin-left:auto}.battlePlayer__pushStat--ally{border-color:#5fa8d85c}.battlePlayer__pushStat--enemy{border-color:#d970555c}.battlePlayer__pushStat--ally strong{color:#76bee8}.battlePlayer__pushStat--enemy strong{color:#ec8c70}.battlePlayer__textPanel{background:#0c0c0cf5;border:1px solid #303030;border-radius:6px;flex-direction:column;flex:220px;min-height:210px;display:flex;overflow:hidden}.battlePlayer__effect{background:linear-gradient(90deg,#fff5d609,#fff5d600);border:1px solid #303030;border-radius:6px;flex:none;align-items:flex-start;gap:14px;min-height:92px;padding:12px 16px;display:flex;overflow:hidden}.battlePlayer__effect--flash{border-color:#d6b66fcc;animation:.5s battleSkillFlash}.battlePlayer__effectText{color:#fff5d6;min-width:0;font-size:1.72rem;font-weight:800;line-height:1.35;animation:.18s ease-out battleActionTextIn}.battlePlayer__effectImage{object-fit:cover;border-radius:4px;width:128px;height:68px}.battlePlayer__actionPanel{flex-direction:column;flex:auto;gap:8px;min-width:0;display:flex}.battlePlayer__actionTitle{color:#fff5d6;margin:0;font-size:1.72rem;font-weight:700;line-height:1.15;animation:.18s ease-out battleActionTextIn}.battlePlayer__actionDetail{align-items:center;gap:14px;min-width:0;display:flex}.battlePlayer__actionUnit{border-radius:5px;align-items:center;gap:9px;min-width:0;padding:4px 8px 4px 4px;display:inline-flex}.battlePlayer__actionUnit--ally{background:#2f6fa347}.battlePlayer__actionUnit--enemy{background:#b8454547}.battlePlayer__actionPortrait{background:#222;border:1px solid #f0e6c82e;border-radius:4px;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;display:flex;overflow:hidden}.battlePlayer__actionPortrait img{object-fit:cover;width:100%;height:100%;display:block}.battlePlayer__actionUnitText{flex-direction:column;gap:2px;min-width:0;display:flex}.battlePlayer__actionUnitText strong{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.battlePlayer__actionArrow{color:#f8e5a2;flex:none;font-size:1rem;font-weight:700}.battlePlayer__actionTargets{flex:auto;gap:10px;min-width:0;display:flex;overflow:hidden}.battlePlayer__actionName,.battlePlayer__actionRange{color:#f7f1e4d9;white-space:nowrap;font-size:.95rem}.battlePlayer__actionRange{background:#ffffff14;border-radius:4px;padding:5px 8px}.battlePlayer__actionTarget{align-items:center;gap:8px;min-width:0;display:flex}.battlePlayer__actionResults{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.battlePlayer__actionResult{color:#f7f1e4b8;background:#ffffff12;border-radius:4px;padding:4px 12px;font-size:.98rem;font-weight:700}.battlePlayer__actionResult--damage{color:#ff4040}.battlePlayer__actionResult--heal{color:#48df78}.battlePlayer__actionResult--moraleDamage{color:#ffd84a}.battlePlayer__actionResult--moraleHeal{color:var(--color-white)}.battlePlayer__actionIdle{color:#f7f1e4b3;margin:0;font-size:1rem;font-weight:700}.battlePlayer__formation{flex:0 0 497px;align-items:stretch;gap:12px;height:497px;min-height:0;display:flex;position:relative;overflow:hidden}.battlePlayer__introOverlay{padding:var(--space-8);z-index:70;background:#000000db;justify-content:center;align-items:center;animation:.32s ease-out battleFinishIn;display:flex;position:absolute;inset:0}.battlePlayer__introCard{background:linear-gradient(180deg, color-mix(in srgb, var(--color-copper-700) 16%, transparent), transparent 42%), var(--surface-panel-inset);box-shadow:inset 0 0 0 2px var(--surface-panel-inset), 0 28px 90px #000000d1;flex-direction:column;align-items:center;gap:0;width:min(920px,76%);min-width:0;max-width:920px;padding:38px 60px 32px;display:flex}.battlePlayer__introCard.dsScoopFrame:before{border-color:var(--color-copper-400);box-shadow:inset 0 0 24px #b87e4814}.battlePlayer__introCard>.battlePlayer__introEyebrow{background:linear-gradient(180deg, var(--color-copper-500), var(--color-copper-700));border:1px solid var(--color-copper-300);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%);color:#fff7e7;letter-spacing:.36em;margin:0;padding:3px 24px 3px 28px;font-size:14px;font-weight:700;line-height:20px;position:absolute;top:-1px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000007a,0 0 12px #c798492e}.battlePlayer__introCard h2{color:#f0d78a;letter-spacing:.08em;text-align:center;text-shadow:0 0 24px #d4af3773;margin:0;font-size:48px;line-height:1.2}.battlePlayer__introMatchup{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:32px;width:100%;margin-top:27px;display:grid}.battlePlayer__introFaction{align-items:center;gap:var(--space-3);text-align:right;justify-content:flex-end;min-width:0;display:flex}.battlePlayer__introFaction:last-child{text-align:left;flex-direction:row-reverse}.battlePlayer__introFaction .battlePlayer__factionIcon{width:64px;height:64px}.battlePlayer__introFactionCopy{justify-items:end;gap:2px;min-width:0;display:grid}.battlePlayer__introFaction:last-child .battlePlayer__introFactionCopy{justify-items:start}.battlePlayer__introFactionCopy>span{color:#f7f1e49e;letter-spacing:.12em;font-size:12px;font-weight:800}.battlePlayer__introFactionCopy>strong{color:#f7f1e4;overflow-wrap:anywhere;font-size:24px;line-height:1.25}.battlePlayer__introVersus{border:1px solid var(--color-copper-600);color:#bda96d;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:16px;font-weight:700;display:flex}.battlePlayer__introActions{border-top:1px solid #c798493d;justify-content:center;align-items:center;width:100%;margin-top:27px;padding-top:22px;display:flex}.battlePlayer__introSkipButton.dsButton{bottom:var(--space-8);font-family:var(--font-display);font-size:var(--text-xl);min-width:180px;height:48px;right:var(--space-12);position:absolute}.battlePlayer__introStartButton.dsButton{font-family:var(--font-display);font-size:var(--text-lg);min-width:220px;min-height:52px;padding-inline:var(--space-10);font-weight:800}.battlePlayer__finishOverlay{z-index:80;cursor:pointer;background:radial-gradient(circle,#18120ab8,#000000eb 68%),#000000e0;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;animation:.32s ease-out battleFinishIn;display:flex;position:absolute;inset:0}.battlePlayer__finishTitle{letter-spacing:.12em;background:#00000094;border:1px solid #ffefb938;border-radius:8px;padding:.18em .42em .22em;font-size:120px;font-weight:700;line-height:1;box-shadow:0 24px 80px #00000094}.battlePlayer__finishOverlay--win .battlePlayer__finishTitle{color:#f0d78a;text-shadow:0 0 24px #d4af37b3}.battlePlayer__finishOverlay--lose .battlePlayer__finishTitle{color:#9fb4c8;text-shadow:0 0 24px #506e9699}.battlePlayer__finishSubtitle{color:#e8dcc0;background:#0000009e;border:1px solid #ffefb929;border-radius:6px;padding:8px 14px;font-size:18px}.battlePlayer__finishHint{color:#e8d294;background:#000000ad;border:1px solid #ffefb924;border-radius:999px;margin-top:.7rem;padding:6px 14px;font-size:13px}@keyframes battleFinishIn{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.battlePlayer__formation--cutin .battlePlayer__sideHeader,.battlePlayer__formation--cutin .battlePlayer__sideColumns{filter:brightness(.55);transition:filter .15s}.battleCutin{color:#f7f1e4;bottom:0;pointer-events:none;z-index:30;justify-content:center;align-items:center;animation:.9s ease-out forwards battleCutinInOut;display:flex;position:absolute;inset:0;overflow:hidden}.battleCutin--attacker,.battleCutin--defender{left:0;right:0}.battleCutin--skill{--cutin-angle:-10deg;--cutin-angle-inverse:10deg;box-shadow:none;isolation:isolate;background:0 0;flex-direction:column}.battleCutin--shape0,.battleCutin--shape1,.battleCutin--shape2{--cutin-angle:-10deg;--cutin-angle-inverse:10deg}.battleCutin--shape0.battleCutin--attacker,.battleCutin--shape0.battleCutin--defender,.battleCutin--shape1.battleCutin--attacker,.battleCutin--shape1.battleCutin--defender,.battleCutin--shape2.battleCutin--attacker,.battleCutin--shape2.battleCutin--defender{background:0 0}.battleCutin--skill .battleCutin__portrait{opacity:1;height:72%;transform:translate(-50%, -50%) rotate(var(--cutin-angle));z-index:0;background:repeating-linear-gradient(135deg,#0000000f 0 12px,#ffffff14 12px 24px),#ffffff9e;width:118%;position:absolute;top:50%;left:50%;overflow:hidden}.battleCutin--skill .battleCutin__portrait img{box-shadow:none;object-fit:cover;object-position:center;border:0;border-radius:0;width:100%;height:100%;display:block}.battleCutin__portraitImage{aspect-ratio:1;transform:translate(-50%, -50%) rotate(var(--cutin-angle-inverse));width:85%;position:absolute;top:50%;left:50%}.battleCutin--skill:after{content:none}.battleCutin__name{text-align:center;text-overflow:ellipsis;text-shadow:0 2px 8px #000000b8;white-space:nowrap;max-width:86%;font-size:1.35rem;font-weight:700;overflow:hidden}.battleCutin--skill .battleCutin__name{z-index:2;max-width:none;padding:0 18px;font-size:1.45rem;display:none;position:absolute;top:42%;left:0;right:0}.battleCutin__skillName{color:var(--color-white);text-align:center;text-shadow:0 1px 4px #0000008f;z-index:3;background:#d83a3a;justify-content:center;align-items:center;width:100%;height:32px;padding:0;font-size:1.1rem;font-weight:700;line-height:1;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 6px 16px #00000047}.battleCutin--reinforce{background:linear-gradient(135deg,#1f1a2a75,#100f145c),0 0;gap:0}.battleCutin.battleCutin--retreat{--battle-cutin-accent:#aeb8bd;gap:var(--space-2);background:repeating-linear-gradient(118deg,#0000 0 32px,#aeb8bd14 32px 35px),linear-gradient(90deg,#17191cfa,#30475af0 42% 58%,#17191cfa);border-top:1px solid #b88a578a;border-bottom:1px solid #aeb8bd94;flex-direction:column;animation-duration:1.2s}.battleCutin__retreatMark{opacity:.72;background:linear-gradient(90deg,#0000,#aeb8bd 24% 76%,#0000);width:78%;height:1px;position:absolute;transform:rotate(-4deg)}.battleCutin__retreatTitle{color:#f0eee7;font-family:var(--font-display);letter-spacing:.32em;text-shadow:0 4px 14px #000000b8;z-index:1;padding-left:.32em;font-size:5.5rem;font-weight:800;line-height:1}.battleCutin__rearguardNames{color:#d8dcdd;font-family:var(--font-display);font-size:var(--text-md);letter-spacing:.08em;padding:var(--space-1) var(--space-3);z-index:1;background:#17191cbd;border-left:3px solid #6b3034}.battleCutin--single .battleCutin__slot{width:100%;inset:0}.battleCutin--horizontal .battleCutin__slot{flex:1 1 0;width:auto;min-width:0;margin-left:-5%}.battleCutin--horizontal .battleCutin__slot:first-child{margin-left:0}.battleCutin--scatter{background:repeating-linear-gradient(45deg,#caa0243d 0 18px,#1c1a1057 18px 36px),0 0}.battleCutin__slot{background:#1614182e;border:1px solid #ffffff2e;flex-direction:column;justify-content:flex-end;align-self:stretch;align-items:center;gap:5px;min-height:0;padding:0;display:flex;position:relative;overflow:hidden;transform:skew(-6deg);box-shadow:0 10px 24px #0000005c}.battleCutin__slot img,img.battleCutin__portrait{box-shadow:none;object-fit:cover;opacity:1;z-index:0;border:0;width:100%;max-width:none;height:100%;display:block;position:absolute;inset:0;transform:skew(6deg)scale(1.16)}.battleCutin__slot .battleCutin__name{z-index:1;max-width:none;position:relative;transform:skew(6deg)}.battleCutin__troops{color:#ffd27f;text-align:center;text-shadow:0 1px 4px #0000009e;z-index:1;font-size:.94rem;font-weight:700;position:relative;transform:skew(6deg)}.battleCutin__banner{color:var(--color-white);letter-spacing:0;text-align:center;text-shadow:0 1px 4px #00000094;background:#d83a3a;height:24px;font-size:1rem;font-weight:700;line-height:24px;position:absolute;bottom:0;left:0;right:0}.battleCutin__reinforceTotal{color:#ffd27f;text-align:center;text-shadow:0 1px 4px #0000009e;z-index:4;background:#100f14c2;border:1px solid #ffd27f75;padding:4px 16px;font-size:1.08rem;font-weight:700;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.battleCutin--scatter .battleCutin__slot{flex:1 1 0;width:auto;min-width:0;min-height:0;position:relative}.battleCutin--scatter .battleCutin__slot--0{z-index:1;top:auto;left:auto;transform:skew(-6deg)}.battleCutin--scatter .battleCutin__slot--1{z-index:2;top:auto;left:auto;transform:skew(-6deg)}.battleCutin--scatter .battleCutin__slot--2{z-index:3;top:auto;left:auto;transform:skew(-6deg)}.battleCutin--scatter .battleCutin__slot--3{z-index:2;top:auto;left:auto;transform:skew(-6deg)}.battleCutin--scatter .battleCutin__slot--4{z-index:1;top:auto;left:auto;transform:skew(-6deg)}.battleCutin{--battle-cutin-accent:var(--color-copper-500);background:linear-gradient(115deg, transparent 0 6%, color-mix(in srgb, var(--battle-cutin-accent) 24%, transparent) 6% 8%, transparent 8% 92%, color-mix(in srgb, var(--battle-cutin-accent) 24%, transparent) 92% 94%, transparent 94%), color-mix(in srgb, var(--surface-panel-inset) 92%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--battle-cutin-accent) 72%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--battle-cutin-accent) 72%, transparent)}.battlePlayer__side--ally .battleCutin{--battle-cutin-accent:var(--color-info-600)}.battlePlayer__side--enemy .battleCutin{--battle-cutin-accent:var(--color-primary-600)}.battleCutin--skill:before,.battleCutin--reinforce:before{background:var(--surface-panel-inset);border-left:3px solid var(--battle-cutin-accent);color:var(--color-copper-300);content:"戦技発動";font-family:var(--font-display);font-size:var(--text-sm);left:var(--space-4);letter-spacing:.24em;min-width:120px;padding:var(--space-1) var(--space-2);text-shadow:0 2px 4px var(--surface-panel-inset);top:var(--space-3);z-index:5;font-weight:700;position:absolute}.battleCutin--reinforce:before{content:"援軍到着"}.battleCutin--skill .battleCutin__portrait{background:linear-gradient(90deg, color-mix(in srgb, var(--battle-cutin-accent) 38%, var(--surface-panel-inset)), transparent 24% 76%, color-mix(in srgb, var(--battle-cutin-accent) 38%, var(--surface-panel-inset))), var(--surface-panel);border-bottom:var(--border-width-panel) solid color-mix(in srgb, var(--battle-cutin-accent) 74%, var(--color-copper-500));border-top:var(--border-width-panel) solid color-mix(in srgb, var(--battle-cutin-accent) 74%, var(--color-copper-500));clip-path:polygon(6% 0,100% 0,94% 100%,0 100%);width:112%;height:70%;transform:translate(-50%,-50%)rotate(-3deg)}.battleCutin__portraitImage{aspect-ratio:auto;width:92%;height:100%;transform:translate(-50%,-50%)rotate(3deg)scale(1.06)}.battleCutin--skill .battleCutin__portrait img{filter:contrast(1.04)saturate(.88);object-position:center 24%}.battleCutin--skill .battleCutin__name{color:var(--color-text-on-dark-muted);font-family:var(--font-display);font-size:var(--text-sm);left:var(--space-4);letter-spacing:.08em;max-width:calc(100% - var(--space-8));text-align:left;top:auto;right:auto;bottom:calc(var(--space-3) + 34px);padding:0;display:block}.battleCutin__skillName{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--battle-cutin-accent) 88%, var(--surface-panel)) 18% 82%, transparent);box-shadow:none;color:var(--color-text-on-dark);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:.12em;height:38px;padding:0 var(--space-8);border:0}.battleCutin--reinforce{background:linear-gradient(115deg, transparent 0 5%, color-mix(in srgb, var(--battle-cutin-accent) 26%, transparent) 5% 8%, transparent 8% 92%, color-mix(in srgb, var(--battle-cutin-accent) 26%, transparent) 92% 95%, transparent 95%), color-mix(in srgb, var(--surface-panel-inset) 94%, transparent);gap:var(--space-1);padding:42px var(--space-4) 60px}.battleCutin--reinforce .battleCutin__slot,.battleCutin--scatter .battleCutin__slot,.battleCutin--scatter .battleCutin__slot--0,.battleCutin--scatter .battleCutin__slot--1,.battleCutin--scatter .battleCutin__slot--2,.battleCutin--scatter .battleCutin__slot--3,.battleCutin--scatter .battleCutin__slot--4{background:var(--surface-panel);border:var(--border-width-hairline) solid color-mix(in srgb, var(--battle-cutin-accent) 72%, var(--color-copper-600));box-shadow:var(--shadow-panel);flex:1 1 0;width:auto;min-width:0;margin:0;inset:auto;transform:skew(-4deg)}.battleCutin__slot img,img.battleCutin__portrait{filter:contrast(1.04)saturate(.88);transform:skew(4deg)scale(1.12)}.battleCutin__banner{background:color-mix(in srgb, var(--battle-cutin-accent) 82%, var(--surface-panel));border-top:var(--border-width-hairline) solid var(--color-copper-400);color:var(--color-text-on-dark);font-family:var(--font-display);font-size:var(--text-md);letter-spacing:.2em;height:32px;line-height:32px}.battleCutin__reinforceTotal{background:var(--surface-panel-inset);border-color:color-mix(in srgb, var(--battle-cutin-accent) 70%, var(--color-copper-500));color:var(--color-copper-300);font-family:var(--font-data);font-size:var(--text-md);font-variant-numeric:tabular-nums;bottom:40px}@media (prefers-reduced-motion:reduce){.battleCutin{animation:none}}.battlePlayer__side{background:#1c1c1ce0;border:1px solid #393939;border-radius:6px;flex-direction:column;flex:360px;gap:10px;min-width:0;padding:12px;display:flex;position:relative;overflow:hidden}.battlePlayer__side--attacker{border-color:#d9705573}.battlePlayer__side--defender{border-color:#5f8eaa73}.battlePlayer__sideHeader{align-items:center;gap:10px;min-width:0;display:flex}.battlePlayer__sideHeader strong{text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:1.36rem;overflow:hidden}.battlePlayer__sideHeader>span:last-child{font-size:1.34rem;font-weight:700}.battlePlayer__sideRole{color:#e8d7ad;background:#d6b66f29;border:1px solid #d6b66f57;border-radius:4px;padding:4px 8px;font-size:1.03rem;font-weight:800}.battlePlayer__sideColumns{flex:auto;align-items:stretch;gap:10px;min-width:0;min-height:0;display:flex}.battlePlayer__column{flex-direction:column;flex:1 1 0;gap:6px;min-width:0;min-height:0;display:flex}.battlePlayer__columnLabel{color:#f3e3ba;border-radius:4px;justify-content:center;align-items:center;min-height:34px;font-size:1rem;font-weight:800;display:flex}.battlePlayer__column--front .battlePlayer__columnLabel{background:#d6b66f38;border:1px solid #d6b66f66}.battlePlayer__column--back .battlePlayer__columnLabel{background:#787d872e;border:1px solid #9696a047}.battlePlayer__columnSlots{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex;position:relative;overflow:hidden}.battlePlayer__cell{filter:brightness()saturate();background:#141414;border:1px solid #0000;border-radius:6px;flex-direction:row;flex:1 1 0;gap:12px;min-width:0;min-height:0;padding:8px;transition:opacity .18s,filter .18s,transform .18s;display:flex;position:relative}.battlePlayer__cell--ally{background:linear-gradient(135deg,#4280d26b,#122d58db),#10243f}.battlePlayer__cell--enemy{background:linear-gradient(135deg,#c0464870,#4e1419e0),#3c1518}.battlePlayer__cell--empty{opacity:.55;background:repeating-linear-gradient(135deg,#181818,#181818 8px,#202020 8px 16px);border-style:dashed}.battlePlayer__cell--dimmed{filter:brightness(.42)saturate(.55);opacity:.44}.battlePlayer__cell--actor,.battlePlayer__cell--target{filter:brightness(1.18)saturate(1.18);opacity:1}.battlePlayer__cell--actor{transform:translateY(-1px);box-shadow:inset 0 0 26px #fff8c229,0 8px 18px #00000047}.battlePlayer__cell--target{animation:.18s ease-in-out 2 battleTargetBlink;box-shadow:inset 0 0 26px #ffffff1f,0 8px 18px #00000047}.battlePlayer__cell--hit{animation:.25s battleDamageShake}.battlePlayer__cell--target.battlePlayer__cell--hit{animation:.18s ease-in-out 2 battleTargetBlink,.25s .12s battleDamageShake}.battlePlayer__cell--routed{animation:.4s forwards battleRoutFade}.battlePlayer__cell--withdrawing{pointer-events:none;animation:1.1s cubic-bezier(.36,0,.66,-.08) forwards battleRetreatFade}.battlePlayer__cell--promoted.battlePlayer__cell--promoted-ally{animation:.32s ease-out battlePromoteFromAllyBack}.battlePlayer__cell--promoted.battlePlayer__cell--promoted-enemy{animation:.32s ease-out battlePromoteFromEnemyBack}.battlePlayer__cell--reinforced{animation:.3s ease-out battleReinforceArrive}.battlePlayer__cell--cutinTarget{filter:brightness(1.15)saturate(1.18);outline-offset:-2px;outline:2px solid #ffd27f}.battlePlayer__cell--targetPreview{filter:brightness(1.08)saturate(1.12);outline-offset:-2px;outline:1px solid #ffd27f94}.battlePlayer__cell--randomPreview{filter:brightness(1.06)saturate(1.08);box-shadow:inset 0 0 20px #ffd27f21}.battlePlayer__cell--areaTarget,.battlePlayer__cell--areaPreview{filter:brightness(1.12)saturate(1.16);border-left-color:#ffd27feb;border-right-color:#ffd27feb}.battlePlayer__cell--areaTarget{cursor:pointer;animation:.8s ease-in-out infinite alternate battleAreaTargetPulse;box-shadow:inset 0 0 24px #ffd27f24,0 0 20px #ffd27f38}.battlePlayer__cell--areaPreview{border-left-color:#ffd27f7a;border-right-color:#ffd27f7a;box-shadow:inset 0 0 20px #ffd27f14}.battlePlayer__cell--areaFirst{border-top-color:#ffd27feb;border-top-left-radius:8px;border-top-right-radius:8px}.battlePlayer__cell--areaLast{border-bottom-color:#ffd27feb;border-bottom-right-radius:8px;border-bottom-left-radius:8px}.battlePlayer__cell--areaPreview.battlePlayer__cell--areaFirst{border-top-color:#ffd27f7a}.battlePlayer__cell--areaPreview.battlePlayer__cell--areaLast{border-bottom-color:#ffd27f7a}.battlePlayer__floatingEffects{pointer-events:none;z-index:6;position:absolute;top:34px;left:50%;transform:translate(-50%)}.battlePlayer__floatingEffect{box-shadow:none;text-align:center;text-shadow:2px 0 #ffffffeb,-2px 0 #ffffffeb,0 2px #ffffffeb,0 -2px #ffffffeb,0 4px 9px #000000d1;white-space:nowrap;border:0;border-radius:0;min-width:68px;padding:0;font-size:2.05rem;font-weight:700;line-height:1;animation:.86s ease-out both battleFloatingEffect;display:block;position:absolute;top:0;left:50%;transform:translate(-50%)}.battlePlayer__floatingEffect:nth-child(2){animation-delay:.1s;top:34px}.battlePlayer__floatingEffect:nth-child(3){animation-delay:.18s;top:68px}.battlePlayer__floatingEffect--damage{color:#e83939;background:0 0}.battlePlayer__floatingEffect--heal{color:#35d86a;background:0 0}.battlePlayer__floatingEffect--moraleDamage{color:#ffd84a;background:0 0}.battlePlayer__floatingEffect--moraleHeal{color:var(--color-white);background:0 0}.battlePlayer__unitMain{flex:auto;align-items:center;gap:8px;min-width:0;min-height:0;display:flex}.battlePlayer__portraitSlot{background:var(--color-ink-900);color:#81786a;border:1px solid #f0e6c829;border-radius:5px;flex:0 0 92px;justify-content:center;align-items:center;width:92px;height:92px;font-size:.9rem;font-weight:700;display:flex;overflow:hidden}.battlePlayer__portraitSlot.hasImage{background:#111}.battlePlayer__portraitSlot img{object-fit:cover;width:100%;height:100%;display:block}.battlePlayer__portraitPlaceholder{opacity:.78}.battlePlayer__unitInfo{flex-direction:column;flex:auto;justify-content:flex-start;gap:4px;min-width:0;min-height:0;display:flex}.battlePlayer__unitTop{justify-content:flex-start;align-items:center;gap:5px;min-width:0;display:flex}.battlePlayer__unitName{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:1rem;font-weight:700;overflow:hidden}.battlePlayer__commander{color:#fff3d0;background:#7a5630;border-radius:4px;flex:none;padding:2px 6px;font-size:.82rem}.battlePlayer__reinforcementBadge{color:#cfe4ff;text-overflow:ellipsis;white-space:nowrap;background:#518cd238;border:1px solid #8abeff6b;border-radius:4px;flex:none;max-width:92px;padding:2px 6px;font-size:.78rem;font-weight:800;overflow:hidden}.battlePlayer__rearguardBadge{color:#fff0dc;background:#6b3034c7;border:1px solid #daa57f94;border-radius:4px;flex:none;padding:2px 7px;font-size:.78rem;font-weight:700}.battlePlayer__unitMeta{color:#c8c0ad;gap:7px;font-size:.84rem;line-height:1;display:flex}.battlePlayer__statModifierBadges{flex:none;gap:3px;display:inline-flex}.battlePlayer__statModifierBadge{border:1px solid;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex}.battlePlayer__statModifierBadge--buff{color:#a8e6ae;background:#4a84584d}.battlePlayer__statModifierBadge--debuff{color:#f0a3a3;background:#9641414d}.battlePlayer__meterBlock{flex-direction:column;gap:2px;min-width:0;display:flex}.battlePlayer__meterLabel{color:#c8c0ad;justify-content:space-between;align-items:center;min-width:0;font-size:.84rem;line-height:1;display:flex}.battlePlayer__meterLabel strong{color:#f7f1e4;font-size:.98rem}.battlePlayer__meterBlock--morale .battlePlayer__meterLabel strong{color:var(--color-white)}.battlePlayer__troopTrack,.battlePlayer__moraleTrack{background:#2b2b2b;border-radius:999px;height:7px;overflow:hidden}.battlePlayer__troopFill,.battlePlayer__moraleFill{height:100%;transition:width .2s}.battlePlayer__troopFill{background:linear-gradient(90deg,#b84545,#d97055)}.battlePlayer__moraleFill{background:linear-gradient(90deg,#d2b84a,#fff08a)}.battlePlayer__routedMark{color:var(--color-white);background:#501010d6;border:1px solid #d9705580;border-radius:4px;justify-content:center;place-items:center;font-size:.86rem;font-weight:700;display:flex;position:absolute;inset:8px}.battlePlayer__routedMark--routed{background:#4c401edb;border-color:#d6b66f8a}.battlePlayer__contactLine{color:#f8e5a2;letter-spacing:0;align-items:center;gap:10px;font-size:.9rem;font-weight:700;display:flex}.battlePlayer__contactLine:before,.battlePlayer__contactLine:after{content:"";background:linear-gradient(90deg,#0000,#f8e5a2b8,#0000);flex:auto;height:2px}.battlePlayer__roundColumn{border:1px solid var(--color-ink-800);background:#121212f0;border-radius:6px;flex-direction:column;flex:0 0 104px;justify-content:flex-start;gap:10px;min-width:0;height:100%;min-height:0;padding:12px 10px;display:flex}.battlePlayer__roundCounter{color:#f7f1e4d1;text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:3px;font-size:1rem;font-weight:800;line-height:1.1;display:flex}.battlePlayer__roundCounter strong{color:var(--color-cream-text);font-size:1.55rem}.battlePlayer__roundCounter span:last-child{flex:0 0 100%}.battlePlayer__roundTicks{flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:7px;min-height:0;display:flex}.battlePlayer__roundTicks span{background:var(--color-ink-600);opacity:.72;border-radius:999px;flex:1 1 0;width:56px;min-height:4px;max-height:7px}.battlePlayer__roundTicks span.isActive{background:linear-gradient(90deg, var(--color-white), #fff1a0);opacity:1;box-shadow:0 0 8px #fff1a05c}.battlePlayer__turnOrderColumn{background:#121212f5;border-bottom:1px solid #303030;flex-direction:column;flex:none;gap:6px;min-width:0;padding:10px 12px;display:flex}.battlePlayer__turnOrderHeader{color:#f8e5a2;text-align:left;font-size:1rem;font-weight:700}.battlePlayer__turnOrderList{scrollbar-width:none;-ms-overflow-style:none;flex:none;min-height:0;position:relative;overflow:auto hidden}.battlePlayer__turnOrderList::-webkit-scrollbar{display:none}.battlePlayer__turnOrderFlow{flex-direction:row;gap:9px;min-width:max-content;display:flex}.battlePlayer__turnOrderFlow--animate{animation:.24s battleTurnOrderFlowLeft}.battlePlayer__turnOrderItem{border:1px solid var(--color-ink-800);border-radius:5px;flex:0 0 58px;justify-content:center;align-items:center;width:58px;min-width:0;height:58px;padding:4px;display:flex;position:relative}.battlePlayer__turnOrderItem--ally{background:#2f6fa36b;border-color:#5fa8d885}.battlePlayer__turnOrderItem--enemy{background:#b845456b;border-color:#d970558a}.battlePlayer__turnOrderItem.isActive{border-color:#d6b66f;box-shadow:0 0 0 2px #d6b66f7a}.battlePlayer__turnOrderPortrait{background:var(--color-ink-900);color:#81786a;border:1px solid #f0e6c829;border-radius:4px;flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;font-size:.66rem;font-weight:700;display:flex;overflow:hidden}.battlePlayer__turnOrderPortrait.hasImage{background:#111}.battlePlayer__turnOrderPortrait img{object-fit:cover;width:100%;height:100%;display:block}.battlePlayer__turnOrderName{color:#f7f1e4;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:700;display:none;overflow:hidden}.battlePlayer__log{flex-direction:column;flex:1 1 0;align-content:flex-start;gap:2px;min-height:0;padding:4px 10px 5px;display:flex;overflow-y:auto}.battlePlayer__logLine{color:#a9a9a9;align-items:center;gap:7px;padding:2px 4px;font-size:.9rem;line-height:1.35;display:flex}.battlePlayer__logLine>span:last-child{min-width:0}.battlePlayer__logIcon{border:1px solid #f8e5a247;border-radius:3px;flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;display:flex;overflow:hidden}.battlePlayer__logIcon img{object-fit:cover;width:100%;height:100%;display:block}.battlePlayer__logIcon span{color:var(--color-cream-text);font-size:.64rem;font-weight:800}.battlePlayer__logIcon--empty{background:var(--color-ink-850);border-color:#3a3a3a}.battlePlayer__footnotes{color:#f7f1e494;flex-direction:column;flex:none;gap:2px;font-size:.7rem;line-height:1.18;display:flex}.battlePlayer__controls{background:var(--surface-panel-inset);border-top:var(--border-width-hairline) solid var(--border-subtle-dark);align-items:center;gap:var(--space-2);min-height:52px;padding:var(--space-2) var(--space-4);z-index:var(--z-modal);flex:none;justify-content:flex-end;display:flex;position:absolute;bottom:0;left:0;right:0}.battlePlayer__resultButton{min-width:120px}.battlePlayer--manual .battlePlayer__effect--manual{grid-template-columns:300px minmax(420px,1fr) 380px;gap:10px;height:230px;min-height:230px;max-height:230px;padding:10px;display:grid;overflow:hidden}.battlePlayer__manualActorPanel,.battlePlayer__manualCommandPanel,.battlePlayer__manualLogPanel{background:linear-gradient(#ffffff09,#0000 42%),#121212f0;border:1px solid #f8e5a229;border-radius:6px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.battlePlayer__manualActorPanel{background:linear-gradient(135deg,#2f6fa338,#121212f0 48%),#121212f0}.battlePlayer__manualLogPanel{background:linear-gradient(135deg,#3c3c3c38,#121212f0 42%),#121212f0;height:100%}.battlePlayer__manualPanelHeader{color:#f8e5a2;border-bottom:1px solid #f8e5a21f;flex:none;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px 8px;font-size:.88rem;font-weight:700;line-height:1;display:flex}.battlePlayer__manualPanelHeader em{color:var(--color-cream-text);font-size:.8rem;font-style:normal;font-weight:800}.battlePlayer__manualTargetPrompt{align-items:center;gap:6px;display:inline-flex}.battlePlayer__manualPanelHeader button{color:#f7f1e4;cursor:pointer;background:#333333eb;border:1px solid #d6b66f80;border-radius:4px;padding:4px 8px;font-size:.78rem;font-weight:800}.battlePlayer__manualPanelHeader button:hover,.battlePlayer__manualPanelHeader button:focus-visible{background:#4a3a1ff0}.battlePlayer__manualPanelHeader button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.battlePlayer__manualActorBody{align-items:center;gap:12px;min-height:0;padding:12px 14px 8px;display:flex}.battlePlayer__manualActorPortrait{background:var(--color-ink-900);color:#81786a;border:1px solid #f0e6c838;border-radius:5px;flex:0 0 70px;justify-content:center;align-items:center;width:70px;height:70px;font-size:1.1rem;font-weight:700;display:flex;overflow:hidden}.battlePlayer__manualActorPortrait.hasImage{background:#111}.battlePlayer__manualActorPortrait img{object-fit:cover;width:100%;height:100%;display:block}.battlePlayer__manualActorText{flex-direction:column;flex:auto;gap:5px;min-width:0;display:flex}.battlePlayer__manualActorText strong{color:var(--color-cream-text);text-overflow:ellipsis;white-space:nowrap;font-size:1.18rem;line-height:1.1;overflow:hidden}.battlePlayer__manualActorText span{color:#f7f1e4b8;font-size:.9rem}.battlePlayer__manualActorText em{color:#f8e5a2;background:#d6b66f2e;border:1px solid #d6b66f57;border-radius:4px;align-self:flex-start;padding:2px 7px;font-size:.78rem;font-style:normal;font-weight:700}.battlePlayer__manualPointBox{background:#0000003d;border:1px solid #f8e5a21f;border-radius:5px;flex-direction:column;gap:8px;margin:0 14px 12px;padding:8px 10px;display:flex}.battlePlayer__manualPointBox>div:first-child{justify-content:space-between;align-items:center;display:flex}.battlePlayer__manualPointBox span{color:#f7f1e4b8;font-size:.82rem;font-weight:700}.battlePlayer__manualPointBox strong{color:var(--color-cream-text);font-size:1.2rem}.battlePlayer__manualActionDots{gap:9px;display:flex}.battlePlayer__manualActionDots span{background:#171717;border:1px solid #f8e5a247;border-radius:999px;flex:0 0 16px;width:16px;height:16px}.battlePlayer__manualActionDots span.isRemaining{background:linear-gradient(#fff08a,#d6b66f);box-shadow:0 0 10px #ffe07452}.battlePlayer__manualCommandPanel{padding-bottom:10px}.battlePlayer__manualCommandPanel--effect{padding-bottom:0}.battlePlayer__manualCommandCards{flex-wrap:wrap;flex:auto;align-content:flex-start;gap:8px;min-height:0;padding:10px 12px;display:flex;overflow-y:auto}.battlePlayer__manualCommandCard{border:1px solid var(--color-ink-600);color:#f7f1e4;cursor:pointer;text-align:left;background:linear-gradient(#ffffff0d,#0000),#2d2d2df0;border-radius:6px;flex-direction:column;flex:0 0 148px;align-items:flex-start;gap:5px;min-width:148px;min-height:120px;padding:10px;display:flex}.battlePlayer__manualCommandCard--wait{background:linear-gradient(#ffe0742e,#0000),#544014f0;border-color:#e2b848b8}.battlePlayer__manualCommandCard--attack,.battlePlayer__manualCommandCard--attack.isPrimary{background:linear-gradient(#e94c3a38,#0000),#521e1af0;border-color:#e95c4ac2}.battlePlayer__manualCommandCard--troopHeal{background:linear-gradient(#52be7038,#0000),#184e2bf0;border-color:#5ec777b8}.battlePlayer__manualCommandCard--moraleHeal{background:linear-gradient(#ec94383d,#0000),#583213f0;border-color:#ec9b46c2}.battlePlayer__manualCommandCard--mixed{background:linear-gradient(#e94c3a38,#52be702e 54%,#ec943833),#302a22f0;border-color:#e2b848b8}.battlePlayer__manualCommandCard:hover,.battlePlayer__manualCommandCard:focus-visible{border-color:#d6b66f}.battlePlayer__manualCommandCard:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.battlePlayer__manualCommandCard.isPrimary{box-shadow:inset 0 0 0 1px #ffefb91f,0 0 0 1px #ffefb91a}.battlePlayer__manualCommandCard.isPending{border-color:#ffd27f;box-shadow:inset 0 0 0 1px #ffd27f52,0 0 16px #ffd27f2e}.battlePlayer__manualCommandIcon{color:var(--color-cream-text);font-size:1.25rem;line-height:1}.battlePlayer__manualCommandName{font-size:1rem;font-weight:700;line-height:1.1}.battlePlayer__manualCommandCost{color:#f8e5a2;background:#0000003d;border-radius:4px;padding:3px 7px;font-size:.78rem;font-weight:700}.battlePlayer__manualCommandDesc{color:#f7f1e4c2;font-size:.78rem;line-height:1.35}.battlePlayer__manualLogList{overscroll-behavior:contain;flex-direction:column;flex:1 1 0;gap:5px;min-height:0;padding:9px 10px 10px;display:flex;overflow-y:auto}.battlePlayer__manualLogItem{border-bottom:1px solid #f7f1e414;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:8px;padding-bottom:5px;display:grid}.battlePlayer__manualLogItem span{color:#f8e5a2;font-variant-numeric:tabular-nums;min-width:56px;font-size:.72rem;font-weight:700}.battlePlayer__manualLogItem p{color:#f7f1e4d6;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.82rem;line-height:1.25;overflow:hidden}.battlePlayer__manualLogEmpty{color:#f7f1e494;margin:0;font-size:.86rem}.battlePlayer--manual .battlePlayer__actionPanel{min-height:0;padding-right:42px;overflow:hidden}.battlePlayer--manual .battlePlayer__actionDetail{gap:10px}.battlePlayer--manual .battlePlayer__actionDetail--commands{flex-wrap:wrap;align-items:stretch;max-height:48px;overflow-y:auto}.battlePlayer--manual .battlePlayer__actionDetail--commands button{border:1px solid var(--color-ink-600);color:#f7f1e4;cursor:pointer;background:#2d2d2d;border-radius:4px;min-height:36px;padding:7px 12px;font-weight:800}.battlePlayer--manual .battlePlayer__actionDetail button.primary{background:#385d34;border-color:#5f8a4d}.battlePlayer--manual .battlePlayer__actionDetail--result{flex-wrap:nowrap;flex:auto;align-items:center;min-height:0;padding:10px 12px;overflow:hidden}.battlePlayer--manual .battlePlayer__actionDetail--summary{padding:var(--space-2) var(--space-6) 0}.battlePlayer--manual .battlePlayer__actionTitle{font-size:1.45rem}.battlePlayer--manual .battlePlayer__actionUnit{flex:0 220px}.battlePlayer--manual .battlePlayer__actionResult{padding:3px 8px;font-size:.88rem}.battlePlayer--manual .battlePlayer__turnOrderColumn--manual{border:1px solid #303030;border-radius:6px;padding:8px 10px}.battlePlayer--manual .battlePlayer__turnOrderFlow{gap:8px}.battlePlayer--manual .battlePlayer__turnOrderItem--manual{flex:0 0 146px;justify-content:flex-start;gap:8px;width:146px;height:54px}.battlePlayer--manual .battlePlayer__cell:not(:disabled){cursor:pointer}.battlePlayer--manual .battlePlayer__cell:disabled{color:inherit}.battlePlayer--manual .battlePlayer__cell--actor{filter:brightness(1.28)saturate(1.22);z-index:2;border-color:#ffe074;transform:translateY(-2px);box-shadow:inset 0 0 34px #ffe07447,0 0 0 2px #ffe074bd,0 0 22px #ffe07475}.battlePlayer--manual .battlePlayer__textPanel{flex:0 0 172px}.battlePlayer--manual .battlePlayer__logList{color:#f7f1e4b8;flex-direction:column;gap:3px;font-size:.86rem;display:flex;overflow-y:auto}.battlePlayer--manual .battlePlayer__logList p{margin:0}.battlePlayer--manual{background:radial-gradient(circle at 50% 18%, color-mix(in srgb, var(--color-canvas-paper-light) 3%, transparent), transparent 34%), linear-gradient(var(--surface-overlay), var(--surface-overlay)), var(--surface-panel-inset);font-family:var(--font-display);gap:var(--space-2);padding:var(--space-2) var(--space-3);position:relative;overflow:hidden}.battlePlayer--manual button{font-family:var(--font-display)}.battlePlayer--manual .battlePlayer__header--manual{--battle-title-width:285px;background:radial-gradient(circle at 72% 50%, color-mix(in srgb, var(--color-primary-700) 7%, transparent), transparent 30%), repeating-linear-gradient(112deg, color-mix(in srgb, var(--color-canvas-paper-light) 2%, transparent) 0 1px, transparent 1px 9px), var(--surface-panel-inset);border:0;border-bottom:var(--border-width-hairline) solid var(--color-copper-700);border-radius:var(--radius-0);min-height:84px;padding:0 var(--space-1) 2px;flex:none;grid-template-columns:minmax(0,1fr);align-items:center;gap:0;display:grid;position:relative}.battlePlayer--manual .battlePlayer__titleBlock{left:var(--space-3);min-width:0;width:var(--battle-title-width);position:absolute;top:50%;transform:translateY(-50%)}.battlePlayer--manual .battlePlayer__titleBlock h2{color:var(--color-copper-300);letter-spacing:.06em;text-overflow:clip;white-space:nowrap;font-size:40px;font-weight:700;line-height:1.08;overflow:visible}.battlePlayer--manual .battlePlayer__header--titleLong{--battle-title-width:340px}.battlePlayer--manual .battlePlayer__header--titleLong .battlePlayer__titleBlock h2{font-size:32px}.battlePlayer--manual .battlePlayer__header--titleXLong{--battle-title-width:380px}.battlePlayer--manual .battlePlayer__header--titleXLong .battlePlayer__titleBlock h2{font-size:27px}.battlePlayer--manual .battlePlayer__subtitle{color:var(--color-copper-300);font-size:var(--text-sm);font-family:var(--font-display);letter-spacing:.08em;margin-top:var(--space-1)}.battlePlayer--manual .battlePlayer__pushMeter{padding:0 0 0 calc(var(--battle-title-width) + 8px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;width:100%;display:grid;position:relative}.battlePlayer--manual .battlePlayer__headerFaction{align-items:center;gap:var(--space-2);grid-template-columns:58px max-content;justify-self:start;min-width:0;display:grid}.battlePlayer--manual .battlePlayer__headerFaction--enemy{margin-right:var(--space-12);text-align:right;grid-column:2;grid-template-columns:max-content 58px;justify-self:end}.battlePlayer--manual .battlePlayer__headerFaction--enemy .battlePlayer__factionMarker{grid-area:1/2}.battlePlayer--manual .battlePlayer__headerFaction--enemy .battlePlayer__headerFactionName{grid-column:1}.battlePlayer--manual .battlePlayer__factionMarker{flex-basis:58px;grid-row:1}.battlePlayer--manual .battlePlayer__factionIcon{background:var(--surface-panel-inset);border:var(--border-width-panel) solid var(--color-copper-600);border-radius:var(--radius-0);clip-path:polygon(18% 0,82% 0,100% 18%,100% 82%,82% 100%,18% 100%,0 82%,0 18%);width:58px;height:58px;padding:3px}.battlePlayer__headerFactionName{color:color-mix(in srgb, var(--text-primary) 90%, var(--color-copper-300));font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:.06em;font-weight:600;line-height:1.2}.battlePlayer--manual .battlePlayer__terrainBonus{color:color-mix(in srgb, var(--border-focus) 72%, var(--text-primary));font-family:var(--font-data);font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:.03em;min-height:0;text-shadow:none;white-space:nowrap;padding:0;font-weight:600}.battlePlayer--manual .battlePlayer__terrainBonus strong{color:color-mix(in srgb, var(--color-success-600) 58%, var(--border-focus));font-family:var(--font-data);font-weight:700}.battlePlayer--manual .battlePlayer__pushStack{align-self:center;gap:0;width:1000px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.battlePlayer--manual .battlePlayer__pushStack .battlePlayer__terrainBonus{top:calc(100% + var(--space-1));position:absolute}.battlePlayer--manual .battlePlayer__pushStack .battlePlayer__terrainBonus--ally{left:0}.battlePlayer--manual .battlePlayer__pushStack .battlePlayer__terrainBonus--enemy{right:0}.battlePlayer--manual .battlePlayer__pushBar{background:var(--surface-panel-inset);border-color:var(--color-copper-700);border-radius:var(--radius-0);box-shadow:var(--inset-well);height:26px;overflow:hidden}.battlePlayer--manual .battlePlayer__pushSide--ally{background:linear-gradient(180deg, color-mix(in srgb, var(--color-canvas-paper-light) 16%, transparent), transparent 55%), linear-gradient(90deg, color-mix(in srgb, var(--color-info-600) 78%, var(--surface-panel-inset)), var(--color-info-600));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-info-600) 80%, var(--color-canvas-paper-light));filter:saturate(2.2)brightness(.74)}.battlePlayer--manual .battlePlayer__pushSide--enemy{background:linear-gradient(180deg, color-mix(in srgb, var(--color-canvas-paper-light) 14%, transparent), transparent 55%), linear-gradient(90deg, var(--color-primary-700), color-mix(in srgb, var(--color-primary-600) 82%, var(--surface-panel-inset)));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-primary-600) 82%, var(--color-copper-300));filter:saturate(2)brightness(.74)}.battlePlayer--manual .battlePlayer__pushSide--routImpact{transition-duration:.16s;transition-timing-function:cubic-bezier(.2,1.32,.34,1)}.battlePlayer--manual .battlePlayer__pushBar--routImpact{animation:.48s ease-out battleRoutBarImpact}.battlePlayer__routImpactFlash{pointer-events:none;z-index:2;position:absolute;inset:0}.battlePlayer__routImpactFlash--ally{background:linear-gradient(90deg,#7ccdffeb,#5fa8d857 58%,#0000 82%);animation:.52s ease-out battleRoutFlashAlly}.battlePlayer__routImpactFlash--enemy{background:linear-gradient(90deg,#0000 18%,#d9705557 42%,#ff8f70eb);animation:.52s ease-out battleRoutFlashEnemy}.battlePlayer__routImpactFlash--ally.battlePlayer__routImpactFlash--enemy{background:linear-gradient(90deg,#7ccdffe6,#0000 44% 56%,#ff8f70e6)}@keyframes battleRoutBarImpact{0%{filter:brightness();transform:scaleX(1)}28%{filter:brightness(1.7);transform:scaleX(1.012)}62%{filter:brightness(1.12);transform:scaleX(.997)}to{filter:brightness();transform:scaleX(1)}}@keyframes battleRoutFlashAlly{0%{opacity:0;transform:translate(-18%)}22%{opacity:1}to{opacity:0;transform:translate(18%)}}@keyframes battleRoutFlashEnemy{0%{opacity:0;transform:translate(18%)}22%{opacity:1}to{opacity:0;transform:translate(-18%)}}@keyframes battleRoutFlashReduced{0%,to{opacity:0}35%{opacity:.72}}@media (prefers-reduced-motion:reduce){.battlePlayer__pushSide--pushing:after{animation:none}.battlePlayer--manual .battlePlayer__pushSide--routImpact{transition-duration:.12s;transition-timing-function:ease-out}.battlePlayer--manual .battlePlayer__pushBar--routImpact{animation:none}.battlePlayer__routImpactFlash--ally,.battlePlayer__routImpactFlash--enemy{animation:.3s ease-out battleRoutFlashReduced}}.battlePlayer__pushLabels{font-size:var(--text-2xs);font-variant-numeric:tabular-nums;justify-content:space-between;font-weight:700;display:none}.battlePlayer--manual .battlePlayer__judgementLine span{display:none}.battlePlayer--manual .battlePlayer__judgementLine:after{content:none}.battlePlayer--manual .battlePlayer__judgementMarker{pointer-events:none;text-align:center;z-index:4;width:20px;margin-left:1px;font-size:16px;line-height:1;transition:left .55s;display:block;position:absolute;top:-17px;transform:translate(-50%)}.battlePlayer--manual .battlePlayer__formation{gap:var(--space-5);height:572px;margin-left:var(--space-1);margin-right:var(--space-4);flex:0 0 572px;min-height:350px}.battlePlayer--manual .battlePlayer__side{background:radial-gradient(circle at 50% 18%, color-mix(in srgb, var(--color-copper-300) 4%, transparent), transparent 40%), repeating-linear-gradient(118deg, color-mix(in srgb, var(--color-canvas-paper-light) 1.5%, transparent) 0 1px, transparent 1px 10px), linear-gradient(var(--surface-overlay), var(--surface-overlay)), var(--surface-panel-inset);border-color:var(--color-copper-700);border-radius:var(--radius-1);gap:var(--space-1);padding:var(--space-4)}.battlePlayer--manual .battlePlayer__side--ally{border-color:color-mix(in srgb, var(--color-info-600) 72%, var(--color-copper-700))}.battlePlayer--manual .battlePlayer__side--enemy{border-color:color-mix(in srgb, var(--color-primary-600) 78%, var(--color-copper-700))}.battlePlayer--manual .battlePlayer__side:before,.battlePlayer--manual .battlePlayer__side:after{border-color:var(--color-copper-700);content:"";pointer-events:none;width:12px;height:12px;position:absolute}.battlePlayer--manual .battlePlayer__side:before{border-left:var(--border-width-panel) solid var(--color-copper-700);border-top:var(--border-width-panel) solid var(--color-copper-700);top:3px;left:3px}.battlePlayer--manual .battlePlayer__side:after{border-bottom:var(--border-width-panel) solid var(--color-copper-700);border-right:var(--border-width-panel) solid var(--color-copper-700);bottom:3px;right:3px}.battlePlayer--manual .battlePlayer__side.dsScoopFrame{border:0}.battlePlayer--manual .battlePlayer__side.dsScoopFrame:before{border:var(--border-width-hairline) solid var(--color-copper-600);border-radius:var(--space-2);bottom:var(--space-1);corner-shape:scoop;filter:none;height:auto;left:var(--space-1);right:var(--space-1);top:var(--space-1);width:auto}.battlePlayer--manual .battlePlayer__side--ally.dsScoopFrame:before{border-color:color-mix(in srgb, var(--color-info-600) 72%, var(--color-copper-700))}.battlePlayer--manual .battlePlayer__side--enemy.dsScoopFrame:before{border-color:color-mix(in srgb, var(--color-primary-600) 78%, var(--color-copper-700))}.battlePlayer--manual .battlePlayer__side.dsScoopFrame:after{content:none}.battlePlayer--manual .battlePlayer__sideHeader{gap:var(--space-3);min-height:36px;padding:var(--space-1) var(--space-2) var(--space-2);border-bottom:0}.battlePlayer--manual .battlePlayer__sideHeader strong,.battlePlayer--manual .battlePlayer__sideHeader>span:last-child,.battlePlayer--manual .battlePlayer__sideRole{line-height:28px}.battlePlayer--manual .battlePlayer__sideHeader strong{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-xl)}.battlePlayer--manual .battlePlayer__sideHeader>span:last-child{color:var(--color-copper-300);font-family:var(--font-data);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:20px}.battlePlayer--manual .battlePlayer__sideRole{border-radius:var(--radius-0);color:var(--color-copper-300);font-family:var(--font-display);font-size:var(--text-lg);padding:0 var(--space-2);white-space:nowrap;background:0 0;border:0}.battlePlayer--manual .battlePlayer__side--ally .battlePlayer__sideRole{color:color-mix(in srgb, var(--color-info-600) 64%, var(--text-primary))}.battlePlayer--manual .battlePlayer__side--enemy .battlePlayer__sideRole{color:var(--color-copper-300)}.battlePlayer--manual .battlePlayer__sideColumns,.battlePlayer--manual .battlePlayer__columnSlots,.battlePlayer--manual .battlePlayer__column{gap:var(--space-2)}.battlePlayer--manual .battlePlayer__columnLabel{background:linear-gradient(180deg, color-mix(in srgb, var(--color-copper-700) 12%, transparent), transparent), var(--surface-panel-inset);border:var(--border-width-hairline) solid var(--color-copper-700);border-radius:var(--radius-1);clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 50%,calc(100% - 7px) 100%,7px 100%,0 50%);color:var(--color-copper-300);font-family:var(--font-display);font-size:var(--text-md);min-height:28px}.battlePlayer--manual .battlePlayer__cell{border-radius:var(--radius-0);clip-path:none;border:0;padding:2px 10px 2px 2px}.battlePlayer--manual .battlePlayer__cell:before{border:var(--border-width-hairline) solid var(--color-info-600);clip-path:inherit;content:"";filter:saturate(2.4)brightness(1.15);pointer-events:none;position:absolute;inset:0}.battlePlayer--manual .battlePlayer__cell--enemy:before{border-color:var(--color-primary-600);filter:saturate(2.1)brightness(1.1)}.battlePlayer--manual .battlePlayer__cell.dsScoopFrame:before{border-radius:var(--space-2);corner-shape:scoop;z-index:2;inset:2px}.battlePlayer--manual .battlePlayer__cell.dsScoopFrame>.battlePlayer__floatingEffect{position:absolute}.battlePlayer--manual .battlePlayer__cell--ally.dsScoopFrame:before{border-color:color-mix(in srgb, var(--color-info-600) 88%, var(--color-canvas-paper-light))}.battlePlayer--manual .battlePlayer__cell--enemy.dsScoopFrame:before{border-color:color-mix(in srgb, var(--color-primary-600) 92%, var(--color-copper-300))}.battlePlayer--manual .battlePlayer__cell--ally{background:repeating-linear-gradient(118deg, color-mix(in srgb, var(--color-canvas-paper-light) 1.8%, transparent) 0 1px, transparent 1px 10px), linear-gradient(90deg, color-mix(in srgb, var(--color-info-600) 30%, var(--surface-panel-inset)), color-mix(in srgb, var(--color-info-600) 9%, var(--surface-panel-inset))), var(--surface-panel-inset);border-color:color-mix(in srgb, var(--color-info-600) 88%, var(--color-canvas-paper-light));box-shadow:inset 0 0 22px color-mix(in srgb, var(--color-info-600) 12%, transparent), inset 0 0 0 2px var(--surface-panel-inset)}.battlePlayer--manual .battlePlayer__cell--enemy{background:repeating-linear-gradient(118deg, color-mix(in srgb, var(--color-canvas-paper-light) 1.8%, transparent) 0 1px, transparent 1px 10px), linear-gradient(90deg, color-mix(in srgb, var(--color-primary-700) 34%, var(--surface-panel-inset)), color-mix(in srgb, var(--color-primary-700) 10%, var(--surface-panel-inset))), var(--surface-panel-inset);border-color:color-mix(in srgb, var(--color-primary-600) 94%, var(--color-copper-300));box-shadow:inset 0 0 22px color-mix(in srgb, var(--color-primary-600) 12%, transparent), inset 0 0 0 2px var(--surface-panel-inset)}.battlePlayer--manual .battlePlayer__cell--empty{background:repeating-linear-gradient(135deg, transparent 0 10px, color-mix(in srgb, var(--color-copper-700) 8%, transparent) 10px 20px), var(--surface-panel-inset)}.battlePlayer--manual .battlePlayer__unitMain{align-items:stretch;gap:var(--space-2)}.battlePlayer--manual .battlePlayer__portraitSlot{border-radius:var(--radius-0);clip-path:none;border:0;flex-basis:118px;width:118px;height:100%;position:relative}.battlePlayer--manual .battlePlayer__portraitSlot:after{background:linear-gradient(90deg, transparent 72%, color-mix(in srgb, var(--surface-panel-inset) 82%, transparent));content:"";pointer-events:none;position:absolute;inset:0}.battlePlayer--manual .battlePlayer__unitInfo{gap:var(--space-1);padding:var(--space-1) 0;text-align:left;justify-content:center}.battlePlayer--manual .battlePlayer__unitName{color:color-mix(in srgb, var(--color-copper-300) 58%, var(--text-primary));font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;line-height:1.2}.battlePlayer--manual .battlePlayer__unitMeta{color:color-mix(in srgb, var(--color-copper-300) 90%, var(--text-secondary));font-family:var(--font-data);font-size:var(--text-md);font-variant-numeric:tabular-nums;justify-content:space-between}.battlePlayer--manual .battlePlayer__commander{background:color-mix(in srgb, var(--color-copper-700) 52%, var(--surface-panel-inset));border:var(--border-width-hairline) solid var(--color-copper-600);border-radius:var(--radius-2);color:color-mix(in srgb, var(--border-focus) 74%, var(--text-primary));font-family:var(--font-display)}.battlePlayer__meterRow{align-items:center;gap:var(--space-1);grid-template-columns:32px minmax(0,1fr) minmax(48px,max-content);min-width:0;display:grid}.battlePlayer__meterRow strong{color:var(--text-primary);font-family:var(--font-data);font-size:var(--text-md);font-variant-numeric:tabular-nums;text-align:right;width:100%}.battlePlayer--manual .battlePlayer__meterRow strong{font-family:var(--font-data);font-size:var(--text-sm)}.battlePlayer__meterName{color:var(--color-copper-300);font-family:var(--font-display);font-size:var(--text-md)}.battlePlayer--manual .battlePlayer__troopTrack,.battlePlayer--manual .battlePlayer__moraleTrack{background:var(--surface-panel-inset);border:var(--border-width-hairline) solid var(--color-copper-700);border-radius:var(--radius-round);height:5px;position:relative;overflow:visible}.battlePlayer--manual .battlePlayer__troopFill{background:linear-gradient(90deg, var(--color-primary-700), var(--color-primary-300));border-radius:var(--radius-round)}.battlePlayer--manual .battlePlayer__cell--ally .battlePlayer__troopFill{background:linear-gradient(90deg, color-mix(in srgb, var(--color-info-600) 82%, var(--surface-panel-inset)), color-mix(in srgb, var(--color-info-600) 70%, var(--color-canvas-paper-light)));filter:saturate(2)brightness(1.08)}.battlePlayer--manual .battlePlayer__moraleFill{background:linear-gradient(90deg, var(--color-warning-600), var(--border-focus));border-radius:var(--radius-round)}.battlePlayer__meterThumb{background:var(--text-primary);border:var(--border-width-hairline) solid var(--surface-panel-inset);border-radius:var(--radius-round);width:9px;height:9px;position:absolute;top:50%;transform:translate(-50%,-50%)}.battlePlayer--manual .battlePlayer__roundColumn--manual{background:linear-gradient(180deg, color-mix(in srgb, var(--color-copper-700) 12%, transparent), transparent), var(--surface-panel-inset);border-color:var(--color-copper-700);border-radius:var(--radius-1);gap:var(--space-1);isolation:isolate;padding:var(--space-4) var(--space-1) var(--space-2);flex-basis:106px;position:relative;overflow:hidden}.battlePlayer--manual .battlePlayer__roundColumn--manual.dsScoopFrame{border:0}.battlePlayer--manual .battlePlayer__roundColumn--manual.dsScoopFrame:before{border-color:var(--color-copper-600)}.battlePlayer--manual .battlePlayer__roundColumn--manual.dsScoopFrame>.battlePlayer__roundWatermark{position:absolute;inset:0}.battlePlayer__roundWatermark{opacity:.3;pointer-events:none;position:absolute;inset:0}.battlePlayer__roundWatermark span{background:var(--color-copper-300);border-radius:var(--radius-round);transform-origin:50%;width:104px;height:6px;position:absolute;top:50%;left:50%}.battlePlayer__roundWatermark span:first-child{transform:translate(-50%,-50%)rotate(48deg)}.battlePlayer__roundWatermark span:last-child{transform:translate(-50%,-50%)rotate(-48deg)}.battlePlayer--manual .battlePlayer__roundCounter{color:var(--text-secondary);font-family:var(--font-data);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;flex-flow:column;flex:none;align-items:center;gap:1px;position:relative}.battlePlayer--manual .battlePlayer__roundCounter span:last-child{flex-basis:auto}.battlePlayer--manual .battlePlayer__roundCounter strong{color:var(--color-copper-300);font-family:var(--font-data);font-size:var(--text-2xl)}.battlePlayer--manual .battlePlayer__roundTicks{gap:var(--space-2);justify-content:center;position:relative}.battlePlayer--manual .battlePlayer__roundTicks span{background:var(--surface-disabled);border-radius:var(--radius-1);opacity:.88;flex:0 0 4px;width:52px;height:4px;min-height:4px;max-height:4px}.battlePlayer--manual .battlePlayer__roundTicks span.isActive{background:linear-gradient(90deg, var(--color-copper-300), var(--border-focus));box-shadow:none}.battlePlayer--manual .battlePlayer__effect--manual{align-items:stretch;gap:var(--space-3);height:264px;min-height:264px;max-height:none;margin-inline:var(--space-2);background:0 0;border:0;flex:0 0 264px;grid-template-rows:minmax(0,1fr);grid-template-columns:375px minmax(0,1fr) 606px;padding:0;display:grid}.battlePlayer--manual .battlePlayer__manualActorPanel,.battlePlayer--manual .battlePlayer__manualCommandPanel,.battlePlayer--manual .battlePlayer__turnOrderColumn--manual,.battlePlayer--manual .battlePlayer__manualLogPanel{background:repeating-linear-gradient(112deg, color-mix(in srgb, var(--color-canvas-paper-light) 1.5%, transparent) 0 1px, transparent 1px 10px), linear-gradient(180deg, color-mix(in srgb, var(--color-copper-700) 8%, transparent), transparent 44%), var(--surface-panel-inset);border:var(--border-width-hairline) solid var(--color-copper-700);border-radius:var(--radius-0);box-shadow:inset 0 0 0 2px var(--surface-panel-inset);height:100%}.battlePlayer--manual .battlePlayer__manualActorPanel{background:radial-gradient(circle at 18% 55%, color-mix(in srgb, var(--color-info-600) 24%, transparent), transparent 44%), repeating-linear-gradient(112deg, color-mix(in srgb, var(--color-canvas-paper-light) 1.5%, transparent) 0 1px, transparent 1px 10px), var(--surface-panel-inset);position:relative}.battlePlayer--manual .battlePlayer__manualActorPanel.dsScoopFrame,.battlePlayer--manual .battlePlayer__manualCommandPanel.dsScoopFrame,.battlePlayer--manual .battlePlayer__turnOrderColumn--manual.dsScoopFrame,.battlePlayer--manual .battlePlayer__manualCommandCard.dsScoopFrame,.battlePlayer--manual .battlePlayer__manualFooter.dsScoopFrame{border-radius:var(--radius-0);clip-path:none;border:0}.battlePlayer--manual .dsScoopFrame:before{border-color:var(--color-copper-600);inset:var(--space-1)}.battlePlayer--manual .battlePlayer__manualCommandCard.isPending.dsScoopFrame:before{border:var(--border-width-panel) solid var(--border-focus);box-shadow:0 0 12px color-mix(in srgb, var(--border-focus) 38%, transparent), inset 0 0 10px color-mix(in srgb, var(--border-focus) 18%, transparent)}.battlePlayer--manual .battlePlayer__manualActorPanel.dsScoopFrame>.battlePlayer__manualActorBody{position:static}.battlePlayer--manual .battlePlayer__manualPanelHeader,.battlePlayer--manual .battlePlayer__turnOrderHeader{color:var(--color-copper-300);font-family:var(--font-display);font-size:var(--text-xl);min-height:38px;padding:14px var(--space-6) 2px;border-bottom:0;line-height:1}.battlePlayer--manual .battlePlayer__manualActorBody{padding:var(--space-4) var(--space-4) var(--space-2) 180px;flex:none;align-items:flex-start;gap:0}.battlePlayer--manual .battlePlayer__manualActorPortrait{border:var(--border-width-hairline) solid color-mix(in srgb, var(--color-info-600) 66%, var(--color-copper-600));border-radius:var(--radius-0);bottom:var(--space-4);clip-path:polygon(6px 0,100% 0,100% 100%,6px 100%,0 calc(100% - 6px),0 6px);height:auto;left:var(--space-4);flex-basis:auto;width:138px;position:absolute;top:46px}.battlePlayer--manual .battlePlayer__manualActorText strong{color:color-mix(in srgb, var(--color-copper-300) 56%, var(--text-primary));font-family:var(--font-display);font-size:var(--text-xl);line-height:1.25}.battlePlayer--manual .battlePlayer__manualActorText span{color:var(--color-copper-300);font-family:var(--font-display);font-size:var(--text-md)}.battlePlayer--manual .battlePlayer__manualPointBox{border-radius:var(--radius-0);border:0;border-top:var(--border-width-hairline) solid var(--color-copper-700);gap:var(--space-2);margin:0 var(--space-4) var(--space-6) 180px;padding:var(--space-3) 0 0;background:0 0}.battlePlayer--manual .battlePlayer__manualActionDots{gap:var(--space-2)}.battlePlayer--manual .battlePlayer__manualActionDots span{flex-basis:16px;width:16px;height:16px}.battlePlayer--manual .battlePlayer__manualCommandPanel{padding-bottom:0}.battlePlayer--manual .battlePlayer__manualCommandCards{align-items:stretch;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4);flex:auto;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:auto hidden}.battlePlayer--manual .battlePlayer__manualCommandCard{background:linear-gradient(180deg, color-mix(in srgb, var(--color-copper-700) 12%, transparent), transparent 48%), var(--surface-panel-inset);border-color:var(--color-copper-700);border-radius:var(--radius-0);clip-path:none;align-items:center;gap:var(--space-2);min-width:0;height:100%;min-height:0;padding:var(--space-3) var(--space-2);text-align:center;flex-basis:auto;justify-content:flex-start;width:auto}.battlePlayer--manual .battlePlayer__manualCommandCard--wait,.battlePlayer--manual .battlePlayer__manualCommandCard--attack,.battlePlayer--manual .battlePlayer__manualCommandCard--attack.isPrimary,.battlePlayer--manual .battlePlayer__manualCommandCard--troopHeal,.battlePlayer--manual .battlePlayer__manualCommandCard--moraleHeal,.battlePlayer--manual .battlePlayer__manualCommandCard--mixed{background:linear-gradient(180deg, color-mix(in srgb, var(--color-copper-700) 13%, transparent), transparent 48%), var(--surface-panel-inset);border-color:var(--color-copper-700)}.battlePlayer--manual .battlePlayer__manualCommandCard--attack,.battlePlayer--manual .battlePlayer__manualCommandCard--attack.isPrimary{border-color:color-mix(in srgb, var(--color-primary-600) 62%, var(--color-copper-700))}.battlePlayer--manual .battlePlayer__manualCommandCard.isPending{background:linear-gradient(180deg, color-mix(in srgb, var(--border-focus) 22%, transparent), transparent 54%), color-mix(in srgb, var(--color-copper-700) 20%, var(--surface-panel-inset));box-shadow:0 0 16px color-mix(in srgb, var(--border-focus) 24%, transparent)}.battlePlayer--manual .battlePlayer__manualCommandIcon{color:color-mix(in srgb, var(--color-copper-300) 72%, var(--text-primary));justify-content:center;width:100%;display:flex}.battlePlayer--manual .battlePlayer__manualCommandIcon svg{width:42px;height:42px}.battlePlayer--manual .battlePlayer__manualCommandName{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.15}.battlePlayer--manual .battlePlayer__manualCommandCost{color:var(--color-copper-300);font-size:var(--text-sm)}.battlePlayer--manual .battlePlayer__manualCommandDesc{color:color-mix(in srgb, var(--color-copper-300) 56%, var(--text-secondary));font-family:var(--font-display);font-size:var(--text-sm);text-align:center;line-height:1.45}.battlePlayer--manual .battlePlayer__turnOrderColumn--manual{gap:0;padding:0}.battlePlayer--manual .battlePlayer__turnOrderList{padding:var(--space-2) var(--space-4);flex:auto;overflow:hidden}.battlePlayer--manual .battlePlayer__turnOrderFlow{gap:var(--space-2);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:minmax(0,1fr);min-width:0;height:100%;display:grid}.battlePlayer--manual .battlePlayer__turnOrderRow{grid-template-rows:72px 28px;gap:0;min-height:0;display:grid}.battlePlayer--manual .battlePlayer__turnOrderPortraits,.battlePlayer--manual .battlePlayer__turnOrderTrack{gap:var(--space-2);grid-template-columns:repeat(6,minmax(0,1fr));min-width:0;display:grid}.battlePlayer--manual .battlePlayer__turnOrderTrack{align-items:center;position:relative}.battlePlayer--manual .battlePlayer__turnOrderTrack:before{background:color-mix(in srgb, var(--color-copper-600) 64%, transparent);content:"";height:var(--border-width-hairline);position:absolute;top:50%;left:8.33333%;right:8.33333%}.battlePlayer--manual .battlePlayer__turnOrderItem--manual{border-radius:var(--radius-0);box-shadow:none;height:72px;padding:var(--space-1);background:0 0;border:0;flex-basis:auto;justify-content:center;justify-self:center;align-items:center;gap:0;width:72px;position:relative;overflow:hidden}.battlePlayer--manual .battlePlayer__turnOrderItem--manual.dsScoopFrame:before{border-radius:var(--space-2);corner-shape:scoop;inset:1px}.battlePlayer--manual .battlePlayer__turnOrderItem--ally.dsScoopFrame:before{border-color:color-mix(in srgb, var(--color-info-600) 82%, var(--color-canvas-paper-light))}.battlePlayer--manual .battlePlayer__turnOrderItem--enemy.dsScoopFrame:before{border-color:color-mix(in srgb, var(--color-primary-600) 88%, var(--color-copper-300))}.battlePlayer--manual .battlePlayer__turnOrderIndex{background:color-mix(in srgb, var(--color-copper-700) 72%, var(--surface-panel-inset));clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);color:var(--border-focus);font-family:var(--font-data);font-size:var(--text-md);font-variant-numeric:tabular-nums;text-align:center;justify-content:center;place-self:center;align-items:center;width:28px;height:28px;font-weight:700;line-height:28px;display:flex;position:relative}.battlePlayer--manual .battlePlayer__turnOrderIndex:before{content:none}.battlePlayer--manual .battlePlayer__turnOrderPortrait{aspect-ratio:1;border-radius:var(--radius-0);clip-path:none;border:0;flex-basis:62px;width:62px;height:62px;max-height:none}.battlePlayer--manual .battlePlayer__turnOrderItem--ally .battlePlayer__turnOrderPortrait{box-shadow:inset 0 0 12px color-mix(in srgb, var(--color-info-600) 24%, transparent)}.battlePlayer--manual .battlePlayer__turnOrderItem--enemy .battlePlayer__turnOrderPortrait{box-shadow:inset 0 0 12px color-mix(in srgb, var(--color-primary-600) 24%, transparent)}.battlePlayer--manual .battlePlayer__turnOrderItem--manual.isActive{box-shadow:none;transform:translateY(-2px)}.battlePlayer--manual .battlePlayer__turnOrderItem--manual.isActive .battlePlayer__turnOrderPortrait{box-shadow:0 0 14px color-mix(in srgb, var(--border-focus) 48%, transparent)}.battlePlayer--manual .battlePlayer__turnOrderItem--manual.isActive.dsScoopFrame:before{border-color:var(--border-focus);box-shadow:0 0 10px color-mix(in srgb, var(--border-focus) 38%, transparent)}.battlePlayer--manual .battlePlayer__turnOrderName{display:none}.battlePlayer--manual .battlePlayer__manualFooter{background:repeating-linear-gradient(112deg, color-mix(in srgb, var(--color-canvas-paper-light) 1.3%, transparent) 0 1px, transparent 1px 10px), var(--surface-panel-inset);border-radius:var(--radius-0);clip-path:none;margin-inline:var(--space-2);border:0;flex:0 0 112px;min-height:112px;padding-right:460px;display:block;position:relative;overflow:hidden}.battlePlayer--manual .battlePlayer__manualLogPanel{height:calc(100% - var(--space-3));grid-template-columns:128px minmax(0,1fr);min-height:0;margin-block:6px;display:grid}.battlePlayer--manual .battlePlayer__manualFooter .battlePlayer__manualLogPanel{box-shadow:none;background:0 0;border:0}.battlePlayer--manual .battlePlayer__manualLogPanel .battlePlayer__manualPanelHeader{font-size:var(--text-lg);padding:var(--space-3) var(--space-6);border-bottom:0;border-right:0;align-items:flex-start}.battlePlayer--manual .battlePlayer__manualLogList{overscroll-behavior:contain;height:92px;min-height:0;max-height:92px;padding:var(--space-1) var(--space-3);scrollbar-gutter:stable;grid-template-rows:repeat(3,28px);grid-auto-rows:28px;grid-auto-flow:row;align-self:center;gap:0;display:grid;overflow:hidden auto}.battlePlayer--manual .battlePlayer__manualLogItem{gap:var(--space-2);border:0;grid-template-columns:122px minmax(0,1fr);min-width:0;padding:0}.battlePlayer--manual .battlePlayer__manualLogItem>span{color:var(--color-copper-300);font-size:var(--text-md);min-width:0}.battlePlayer--manual .battlePlayer__manualLogItem p,.battlePlayer--manual .battlePlayer__manualLogEmpty{color:color-mix(in srgb, var(--color-copper-300) 52%, var(--text-primary));font-family:var(--font-display);font-size:var(--text-md);max-width:100%;line-height:1.35}.battlePlayer--manual .battlePlayer__manualLogName{font-family:var(--font-display);font-size:inherit;min-width:0;font-weight:800;display:inline}.battlePlayer--manual .battlePlayer__manualLogName--ally{color:color-mix(in srgb, var(--color-info-600) 72%, var(--color-canvas-paper-light))}.battlePlayer--manual .battlePlayer__manualLogName--enemy{color:color-mix(in srgb, var(--color-primary-500) 88%, var(--text-primary))}.battlePlayer--manual .battlePlayer__manualFooter>.dsButton{background:var(--surface-panel-inset);border-color:var(--color-copper-600);border-radius:var(--radius-0);bottom:var(--space-6);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);color:var(--color-copper-300);font-family:var(--font-display);font-size:var(--text-xl);min-width:180px;height:48px;right:var(--space-12);position:absolute}.battlePlayer--manual .battlePlayer__manualFooter>.battlePlayer__retreatButton{background:linear-gradient(180deg, color-mix(in srgb, var(--color-danger-600) 78%, white), color-mix(in srgb, var(--color-danger-600) 78%, black));border:1px solid color-mix(in srgb, var(--color-danger-600) 52%, white);bottom:var(--space-6);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);color:var(--color-white);font-family:var(--font-display);font-size:var(--text-xl);min-width:180px;height:48px;font-weight:700;position:absolute;right:250px}.battlePlayer--manual .battlePlayer__retreatButton:disabled{cursor:not-allowed;filter:grayscale(.45);opacity:.48}.battleRetreatDecision{gap:var(--space-4);display:grid}.battleRetreatDecision__meterPanel{gap:var(--space-2);display:grid}.battleRetreatDecision__meterHeader{justify-content:space-between;align-items:center;display:flex}.battleRetreatDecision__meterHeader strong{color:var(--color-copper-300);font-family:var(--font-data);font-variant-numeric:tabular-nums}.battleRetreatDecision__meter{background:var(--surface-disabled);border:1px solid var(--color-copper-700);height:14px;overflow:hidden}.battleRetreatDecision__meter>span{background:linear-gradient(90deg, color-mix(in srgb, var(--color-danger-600) 78%, black), var(--color-copper-300));height:100%;transition:width .12s ease-out;display:block}.battleRetreatDecision__candidates{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));max-height:320px;display:grid;overflow-y:auto}.battleRetreatDecision__candidates label{background:var(--surface-panel-inset);border:1px solid var(--color-copper-700);cursor:pointer;align-items:center;gap:var(--space-3);padding:var(--space-3);display:flex}.battleRetreatDecision__candidates label.isSelected{background:color-mix(in srgb, var(--color-danger-600) 17%, var(--surface-panel-inset));border-color:color-mix(in srgb, var(--color-danger-600) 65%, white)}.battleRetreatDecision__candidates label>span{gap:var(--space-1);display:grid}.battleRetreatDecision__candidates small,.battleRetreatDecision__hint{color:var(--text-secondary)}.battleRetreatDecision__hint{margin:0}@media (prefers-reduced-motion:reduce){.battleRetreatDecision__meter>span{transition:none}}@keyframes battlePromoteFromAllyBack{0%{transform:translate(calc(-100% - 10px))}to{transform:translate(0)}}@keyframes battlePromoteFromEnemyBack{0%{transform:translate(calc(100% + 10px))}to{transform:translate(0)}}@keyframes battleReinforceArrive{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.invasionOfficerCommanderRadio{justify-self:center;margin:0}.invasionOfficerRow.isCommanderRow{background:linear-gradient(90deg,#c8a84b2e,#0000)}.invasionOfficerRow.isCommanderRow:before{content:"";background:#c8a84b;width:3px;position:absolute;inset:0 auto 0 0}.invasionOfficerCommanderBadge{color:#c8a84b;white-space:nowrap;margin-left:4px;font-size:.78rem}.invasionConfirmDoctrineRow{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:.9rem;display:flex}.invasionConfirmDoctrineLabel{opacity:.7;margin-right:4px}.doctrineButton{background:var(--color-ink-850);color:#ccc;cursor:pointer;border:1px solid #444;border-radius:4px;padding:4px 12px;font-size:.9rem;transition:background .1s,color .1s,border-color .1s}.doctrineButton:hover{background:var(--color-ink-800);color:var(--color-white)}.doctrineButton.selected{color:var(--color-white);background:#4a6f3b;border-color:#5f8a4d;font-weight:600}.invasionConfirmForecast{color:#c8a84b;margin-top:6px;font-size:.95rem;font-weight:600}.invasionConfirmWarning{color:#f3d6c2;background:#782b2438;border:1px solid #e6765694;border-radius:6px;margin-top:8px;padding:8px 10px;font-size:.86rem}.invasionConfirmWarning strong{color:#ffbd95;margin-bottom:2px;display:block}.invasionConfirmWarning p{margin:0;line-height:1.45}.forecastBreakdown{border-collapse:collapse;width:100%;margin-top:4px;font-size:13px}.forecastBreakdownRow>td{border-bottom:1px solid #2c2c3a;padding:3px 6px}.forecastBreakdownName{color:#ddd;white-space:nowrap;width:90px}.forecastBreakdownBarCell{width:100%}.forecastBreakdownBar{vertical-align:middle;background:#2a2a36;border-radius:3px;width:100%;max-width:200px;height:6px;display:inline-block;position:relative}.forecastBreakdownBar>.fill{position:absolute;top:0;bottom:0}.forecastBreakdownBar>.fill.atk{background:#6cbef0;right:50%}.forecastBreakdownBar>.fill.def{background:#f08a8a;left:50%}.forecastBreakdownBar>.center{background:#888;width:1px;position:absolute;top:-2px;bottom:-2px;left:50%}.forecastBreakdownLabel{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;width:80px}.forecastBreakdownLabel.side-atk{color:#6cbef0}.forecastBreakdownLabel.side-def{color:#f08a8a}.forecastBreakdownLabel.side-none{color:#aaa}.invasionConfirmListTitleRow{border-top:1px solid var(--color-ink-850);justify-content:space-between;align-items:baseline;gap:16px;padding:8px 16px;display:flex}.invasionConfirmListTitleRow h3{margin:0;font-size:.95rem}.invasionConfirmModalCard{background:var(--modal-bg);color:var(--modal-text);border-radius:8px;flex-direction:column;width:1280px;max-height:918px;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000080}.invasionConfirmList{flex-direction:column;gap:4px;padding:12px 16px;display:flex;overflow-y:auto}.invasionConfirmRow{grid-template-columns:72px minmax(120px,1fr) 72px 82px 56px 56px 56px 110px minmax(120px,180px);align-items:center;gap:8px;padding:4px 0;font-size:.95rem;display:grid;position:relative}.invasionConfirmRow:hover{background:var(--color-ink-850)}.invasionConfirmRow.isCommanderRow{background:linear-gradient(90deg,#c8a84b2e,#0000)}.invasionConfirmRow.isCommanderRow:before{content:"";background:#c8a84b;width:3px;position:absolute;inset:0 auto 0 0}.invasionConfirmTroops{font-size:.9rem;font-weight:600}.invasionConfirmProvince{opacity:.85;text-align:right;font-size:.85rem}.invasionConfirmDefenderDoctrine{opacity:.85;margin-top:4px;font-size:.9rem}.invasionConfirmReinforcement{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:6px;margin-top:8px;padding:8px 10px}.invasionConfirmReinforcementHead{flex-wrap:wrap;align-items:baseline;gap:8px 12px;font-size:.9rem;font-weight:700;display:flex}.invasionConfirmReinforcementNote{color:#ffffff9e;font-size:.78rem;font-weight:500}.invasionConfirmReinforcementList{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.invasionConfirmReinforcementRow{border-top:1px solid #ffffff14;flex-wrap:wrap;align-items:center;gap:8px 12px;min-height:28px;padding-top:4px;display:flex}.invasionConfirmReinforcementRow.isBase{color:#f8ead0;border-top:0;padding-top:0;font-weight:700}.invasionConfirmReinforcementWhen{color:#ffffffbd;flex:0 0 72px;font-size:.82rem}.invasionConfirmReinforcementTroops{flex:0 0 116px;font-size:.88rem;font-weight:700}.invasionConfirmReinforcementMeta{color:#ffffffb8;flex:180px;font-size:.82rem}.warRequestPeekBackBtn{z-index:50;color:var(--color-white);cursor:pointer;background:#1b1b1b;border:2px solid #eb3c30;border-radius:6px;padding:10px 20px;font-size:15px;font-weight:700;position:absolute;top:88px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #00000080}.peekInteractionBlocker{pointer-events:auto;z-index:49;background:0 0;position:fixed;inset:0}.warRequestPeekBackBtn:hover{background:var(--color-ink-850)}.allyReinforcePeekBar{background:var(--surface-panel-raised);border:var(--border-width-control) solid color-mix(in srgb, var(--color-success-600) 72%, var(--color-copper-500));border-radius:var(--radius-2);box-shadow:var(--shadow-panel);color:var(--color-text-on-dark);padding:var(--space-2) var(--space-3);left:50%;top:calc(72px + var(--space-2));z-index:var(--z-popover);align-items:center;gap:.8rem;display:flex;position:absolute;transform:translate(-50%)}.allyReinforcePeekBackButton{background:var(--color-ink-800);border:1px solid var(--border-subtle-dark);color:#f8ead0;cursor:pointer;white-space:nowrap;border-radius:4px;padding:.35rem .65rem;font-size:.86rem;font-weight:700}.allyReinforcePeekBackButton:hover{background:var(--color-ink-700);border-color:var(--color-copper-300);box-shadow:inset 0 0 0 1px var(--border-subtle-dark), var(--shadow-control-hover)}.allyReinforcePeekHint,.allyReinforcePeekCount{white-space:nowrap;font-size:.82rem}.allyReinforcePeekCount{color:#b8e8c4}.allyReinforcePeekLegend{color:#cfc7b2;border-left:1px solid #ffffff29;flex-wrap:wrap;align-items:center;gap:.35rem .7rem;padding-left:.7rem;font-size:.74rem;display:flex}.allyReinforcePeekLegend span{white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.allyReinforceLegendSwatch{border-radius:50%;width:.65rem;height:.65rem;display:inline-block}.allyReinforceLegendSwatch.available{border:2px solid #4fce6f;animation:.9s ease-in-out infinite moveStrokePulse}.allyReinforceLegendSwatch.blocked{background:#e0b84f}.allyReinforceLegendSwatch.target{background:#c74646}.allyReinforceMapPanel.dsPanel{background:var(--surface-panel);border-color:var(--border-default);border-radius:var(--radius-2);box-shadow:var(--shadow-modal);color:var(--text-primary);width:600px;max-height:936px;z-index:var(--z-modal);flex-direction:column;padding:0;display:flex;position:absolute;top:108px;left:50%;overflow:hidden;transform:translate(-50%)}.allyReinforceMapPanel__header.dsSectionHeader{border-bottom:var(--border-width-hairline) solid var(--border-subtle-dark);padding:var(--space-3) var(--space-4)}.allyReinforceMapPanel__body{gap:var(--space-3);min-height:0;padding:var(--space-3) var(--space-4);scrollbar-color:var(--color-copper-600) var(--surface-panel-inset);flex:auto;display:grid;overflow-y:auto}.allyReinforceMapPanel__metrics{gap:var(--space-2);flex-wrap:wrap;display:flex}.allyReinforceOfficerList{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.allyReinforceOfficerRow{background:var(--surface-panel-inset);border:var(--border-width-hairline) solid var(--border-subtle-dark);border-radius:var(--radius-2);gap:var(--space-3);padding:var(--space-3);display:grid}.allyReinforceOfficerSelect.dsChoice{color:var(--text-primary);padding:0}.allyReinforceTroopControl.dsRange{gap:var(--space-2)}.allyReinforcePoolTotals{gap:var(--space-2);flex-wrap:wrap;display:flex}.allyReinforcePoolTotals>span{background:var(--surface-panel-raised);border:var(--border-width-hairline) solid var(--border-subtle-dark);border-radius:var(--radius-1);color:var(--text-secondary);font-family:var(--font-data);font-size:var(--text-xs);font-variant-numeric:tabular-nums;padding:var(--space-1) var(--space-2)}.allyReinforceMapPanel__costs{margin:0}.allyReinforceMapPanel__footer{border-top:var(--border-width-hairline) solid var(--border-subtle-dark);padding:var(--space-3) var(--space-4);flex:none;justify-content:flex-end;display:flex}.allyReinforceMapPanel__footer .dsButton{min-width:180px}.allyReinforceRequestModalCard{width:620px;max-width:620px;max-height:820px;overflow:hidden}.allyReinforceRequestBody{overflow-y:auto}.allyReinforceProvinceSelect{align-items:center;gap:.35rem;display:grid}.allyReinforceProvinceSelect span{color:#ffffffb8;font-size:.78rem;font-weight:700}.allyReinforceProvinceSelect select{color:#fff2c5;background:#242a31;border:1px solid #5a626c;border-radius:4px;width:100%;padding:.5rem .6rem}.allyReinforceProvinceStats{grid-template-columns:repeat(3,minmax(0,1fr))}.allyReinforceRequestRoster{flex-shrink:0;max-height:340px;overflow-y:auto}.allyReinforceCostBreakdown{gap:.25rem;display:grid}.allyReinforceCostBreakdown strong{color:#fff2c5}.allyReinforceCostBreakdown span{color:#fffc;font-size:.85rem}.allyReinforcePoolTotals{flex-wrap:wrap;gap:.35rem .75rem;display:flex}.allyReinforcePoolTotals span{color:#b8e8c4;background:#4fce6f14;border:1px solid #4fce6f40;border-radius:4px;padding:.25rem .4rem;font-size:.78rem;font-weight:700}.allyReinforceResultModalCard{width:620px;max-width:620px}.allyReinforceBattleOutcome{letter-spacing:.12em;font-size:1.35rem}.allyReinforceBattleOutcome.is-victory{color:#9be5a9}.allyReinforceBattleOutcome.is-defeat{color:#ef9b8f}.deploymentGrid{grid-template-columns:1fr;align-self:start;gap:0;min-width:0;display:grid;overflow:hidden}.deploymentGridRow{grid-template-rows:auto minmax(0,1fr);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;min-width:0;display:grid}.deploymentGridColumnHeader{color:#fff0cdf2;text-align:center;background:#d6a94914;border:1px solid #d6a94938;border-bottom:0;border-radius:0;padding:8px;font-size:.9rem;font-weight:700}.deploymentGridCell{background:linear-gradient(135deg,#ffffff06,#0000),#060c0c75;border:1px solid #d6a9492e;border-radius:0;grid-template-rows:minmax(0,1fr) 22px;gap:4px;min-width:0;height:173px;min-height:0;padding:6px;display:grid;position:relative;overflow:hidden}.deploymentGridEmpty{color:#ffe8b885;cursor:pointer;background:repeating-linear-gradient(135deg,#d6a94909,#d6a94909 8px,#0000 8px 16px),#0000003d;border:1px dashed #d6a9493d;border-radius:6px;grid-row:1/-1;justify-content:center;align-items:center;width:100%;min-height:0;padding:0;font-size:.82rem;font-weight:700;display:flex}.deploymentGridEmpty:hover{color:#ffffffb3;background:#d6a94914;border-color:#d6a94970}.deploymentGridUnit{appearance:none;color:#ffffffeb;cursor:grab;font:inherit;text-align:left;border-color:#d6a94961;border-radius:5px;width:100%;min-width:0;height:100%;min-height:0;padding:8px;overflow:hidden}.deploymentGridUnit:active{cursor:grabbing}.deploymentGridUnit .battlePlayer__unitMain{flex:auto;align-items:center;gap:10px}.deploymentGridUnit .battlePlayer__unitInfo{flex-direction:column;justify-content:center;align-items:stretch;gap:3px;display:flex}.deploymentGridUnit .battlePlayer__unitTop{min-width:0}.deploymentGridUnit .battlePlayer__commander{padding:1px 5px;font-size:.68rem}.deploymentGridUnit .battlePlayer__unitMeta{font-size:.7rem}.deploymentGridUnitArrival{color:#c7fff7;background:#66d2c91f;border:1px solid #66d2c947;border-radius:4px;width:fit-content;padding:2px 5px;font-size:.68rem;font-weight:800;line-height:1.1}.deploymentGridUnitFatigue{color:#ffe0b8;background:#f4a86024;border-color:#f4a86061}.deploymentGridUnit .battlePlayer__meterLabel strong{font-size:1rem}.deploymentGridUnit .battlePlayer__meterBlock--troops,.deploymentGridUnit .battlePlayer__meterBlock--morale{width:100%}.deploymentGridUnit .battlePlayer__meterBlock--morale .battlePlayer__meterLabel strong{font-size:.86rem}.deploymentGridUnit .battlePlayer__meterBlock--morale .battlePlayer__meterLabel{justify-content:space-between}.deploymentGridUnit .battlePlayer__meterBlock--morale .battlePlayer__moraleTrack{display:block}.deploymentGridUnit .battlePlayer__troopTrack,.deploymentGridUnit .battlePlayer__moraleTrack{background:linear-gradient(#ffffff14,#0000),#00000061;border:1px solid #ffffff24;height:7px;box-shadow:inset 0 1px 2px #00000075}.deploymentGridUnit .battlePlayer__troopFill{background:linear-gradient(90deg,#8f3131 0%,#d05b44 56%,#ffd166 100%);box-shadow:0 0 8px #ffd16638}.deploymentGridUnit .battlePlayer__moraleFill{background:linear-gradient(90deg,#5fa8d3 0%,#66d2c9 48%,#fff08a 100%);box-shadow:0 0 8px #66d2c933}.deploymentGridRemove{color:#ffd6d6db;cursor:pointer;letter-spacing:0;background:#ff6b6b14;border:1px solid #ff6b6b42;border-radius:4px;justify-content:center;align-items:center;width:100%;height:20px;padding:0 6px;font-size:.72rem;font-weight:800;display:flex}.deploymentGridRemove:hover{color:var(--color-white);background:#ff6b6b29;border-color:#ff6b6b75}.deploymentEnemyForecast{min-height:var(--deployment-top-panel-height);background:#090e0eb8;border:1px solid #d6a9493d;border-left:3px solid #d6a949a3;border-radius:6px;grid-template-rows:auto auto minmax(0,1fr);align-content:start;gap:10px;padding:12px;display:grid}.deploymentEnemyForecast--invasion{gap:7px;padding:9px 10px}.deploymentEnemyForecastHeader{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.deploymentEnemyForecastHeader h3{margin:0;font-size:.98rem}.deploymentEnemyForecastHeader p{color:#ffffff9e;margin:3px 0 0;font-size:.8rem}.deploymentEnemyForecast--invasion .deploymentEnemyForecastHeader{align-items:center}.deploymentEnemyForecast--invasion .deploymentEnemyForecastHeader p{margin-top:2px;font-size:.76rem}.deploymentEnemyForecastBadge{color:#ffd166;background:#d6a94926;border:1px solid #d6a9496b;border-radius:4px;flex:none;padding:5px 8px;font-size:.8rem;font-weight:800}.deploymentEnemyForecast--invasion .deploymentEnemyForecastBadge{padding:4px 7px;font-size:.76rem}.deploymentEnemyForecastStats{grid-template-columns:1.45fr repeat(3,minmax(0,1fr));gap:6px;display:grid}.deploymentEnemyForecast--invasion .deploymentEnemyForecastStats{gap:5px}.deploymentEnemyForecastStats span{color:#ffffffa8;background:#0000002e;border:1px solid #ffffff14;border-radius:5px;padding:7px 8px;font-size:.76rem}.deploymentEnemyForecast--invasion .deploymentEnemyForecastStats span{justify-content:space-between;align-items:baseline;min-height:30px;padding:3px 7px;font-size:.72rem;display:flex}.deploymentEnemyForecastStats strong{color:#fffffff0;margin-top:3px;font-size:.96rem;display:block}.deploymentEnemyForecast--invasion .deploymentEnemyForecastStats strong{margin:0 0 0 6px;font-size:.82rem;display:inline}.deploymentEnemyForecastRatio{box-shadow:inset 3px 0 #d6a949b3;color:#ffe8b8e6!important;background:linear-gradient(135deg,#ffffff0e,#0000 54%),#0000003d!important;border-color:#d6a94985!important}.deploymentEnemyForecastRatio strong{color:#ffe3a6;font-size:1.68rem;line-height:1.05}.deploymentEnemyForecast--invasion .deploymentEnemyForecastRatio strong{font-size:1rem}.deploymentEnemyForecastRatio.is-low{box-shadow:inset 3px 0 #66d2c9d1;color:#dafffaeb!important;border-color:#66d2c980!important}.deploymentEnemyForecastRatio.is-low strong{color:#66d2c9}.deploymentEnemyForecastRatio.is-even{box-shadow:inset 3px 0 #ffd166d6;color:#ffe8b8eb!important;border-color:#ffd1668f!important}.deploymentEnemyForecastRatio.is-even strong{color:#ffd166}.deploymentEnemyForecastRatio.is-high{box-shadow:inset 3px 0 #ff6b6bd1;color:#ffd6d6eb!important;border-color:#ff6b6b8a!important}.deploymentEnemyForecastRatio.is-high strong{color:#ff8f7e}.deploymentEnemyForecastReinforcement{gap:6px;display:grid}.deploymentEnemyForecast--invasion .deploymentEnemyForecastReinforcement{border-top:1px solid #d6a94947;gap:4px;padding-top:6px}.deploymentEnemyForecastReinforcementHead{color:#ffffffc7;justify-content:space-between;align-items:center;gap:8px;font-size:.8rem;font-weight:800;display:flex}.deploymentEnemyForecast--invasion .deploymentEnemyForecastReinforcementHead{color:#f0d18a;font-size:.76rem}.deploymentEnemyForecastReinforcementHead span{color:#ffffff75;font-size:.72rem;font-weight:600}.deploymentEnemyForecast--invasion .deploymentEnemyForecastReinforcementHead span{font-size:.68rem}.deploymentEnemyForecastReinforcementList{gap:4px;max-height:104px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.deploymentEnemyForecast--invasion .deploymentEnemyForecastReinforcementList{gap:3px;max-height:88px}.deploymentEnemyForecastReinforcementRow{color:#ffffffad;background:#00000029;border:1px solid #ffffff14;border-radius:5px;grid-template-columns:72px max-content minmax(0,1fr);align-items:center;gap:6px;padding:5px 8px;font-size:.78rem;display:grid}.deploymentEnemyForecast--invasion .deploymentEnemyForecastReinforcementRow{grid-template-columns:68px max-content minmax(0,1fr);padding:3px 7px;font-size:.74rem}.deploymentEnemyForecastReinforcementRow.isBase{border-color:#66d2c938}.deploymentEnemyForecastReinforcementRow.isEmpty{grid-template-columns:minmax(0,1fr)}.deploymentEnemyForecastReinforcementRow strong{color:#ffffffeb;white-space:nowrap}.deploymentEnemyForecastReinforcementRow em{color:#ffffff8a;text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.deploymentRoster{gap:10px;min-height:0;display:grid}.deploymentRosterHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.deploymentRosterHeader h3{margin:0;font-size:1rem}.deploymentRosterTools{justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.deploymentRosterSearch,.deploymentRosterProvinceFilter{align-items:center;gap:6px;display:flex}.deploymentRosterProvinceFilter>span,.deploymentRosterSearch span{color:#ffffff94;font-size:.72rem;font-weight:800}.deploymentRosterSearch input{color:#ffffffe6;font:inherit;background:#00000047;border:1px solid #d6a94938;border-radius:4px;width:160px;padding:5px 8px;font-size:.78rem}.deploymentRosterSearch input::placeholder{color:#ffffff5c}.deploymentRosterSearch input:focus-visible{outline-offset:1px;border-color:#66d2c99e;outline:2px solid #66d2c961}.deploymentRosterSort{flex-wrap:wrap;gap:4px;display:flex}.deploymentRosterSort button{color:#ffffffc7;background:#ffffff0f;border:1px solid #ffffff24;border-radius:5px;padding:4px 6px;font-size:.72rem}.deploymentRosterSort button.is-active{color:var(--color-white);background:#66d2c929;border-color:#66d2c980}.deploymentRosterSort button:focus-visible,.deploymentGridEmpty:focus-visible,.deploymentGridUnit:focus-visible,.deploymentGridRemove:focus-visible,.deploymentScreenSummary button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.deploymentRosterTable{border:1px solid #d6a94933;border-radius:4px;min-height:0;overflow:hidden auto}.deploymentRosterRow{color:#ffffffd6;cursor:grab;text-align:left;background:#ffffff08;border:0;border-bottom:1px solid #d6a9491f;border-radius:0;grid-template-columns:minmax(168px,1.55fr) minmax(58px,.52fr) minmax(86px,.7fr) minmax(96px,.8fr) 34px 34px;align-items:center;gap:6px;width:100%;padding:7px 8px;font-size:.84rem;display:grid}.deploymentRosterRow:hover{background:#ffffff12}.deploymentRosterRow:active{cursor:grabbing}.deploymentRosterRow.is-placed{cursor:default;opacity:.42}.deploymentRosterRow.is-disabled{cursor:not-allowed;opacity:.5}.deploymentRosterRow.is-disabled:hover{background:#ffd1660e}.deploymentRosterRow--head{color:#ffffffa3;cursor:default;z-index:3;background:#211c11;font-size:.76rem;font-weight:700;position:sticky;top:0;box-shadow:0 2px #d6a9492e}.deploymentRosterRow--head>span{z-index:1;background:#211c11;position:relative}.deploymentRosterGroupHeader{color:#c7fff7db;letter-spacing:0;background:#151d18;border-bottom:1px solid #66d2c92e;padding:6px 8px;font-size:.74rem;font-weight:700}.deploymentRosterName{color:var(--color-white);align-items:start;gap:2px;min-width:0;font-weight:700;display:grid}.deploymentRosterNameMain{align-items:center;gap:6px;min-width:0;display:flex}.deploymentRosterNameMeta{color:#ffffff80;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:600;overflow:hidden}.deploymentRosterTroopType{gap:2px;display:grid}.deploymentRosterRange{color:#ffffff80;font-size:.68rem;font-weight:700}.deploymentRosterPlacedBadge{color:#ffd166;background:#ffd16624;border:1px solid #ffd16657;border-radius:4px;flex:none;padding:1px 5px;font-size:.68rem;font-weight:800}.deploymentRosterShortBadge{color:#ff8a8a;background:#ff6b6b24;border:1px solid #ff6b6b5c;border-radius:4px;flex:none;padding:1px 5px;font-size:.68rem;font-weight:800}.deploymentRosterEmpty{color:#ffffff94;padding:14px 12px;font-size:.84rem}.deployedOfficerDetail{background:linear-gradient(135deg,#d6a94911,#0000 42%),#090e0ebd;border:1px solid #d6a94942;border-radius:6px;flex-direction:column;gap:8px;height:100%;min-height:0;max-height:100%;padding:10px 12px;display:flex;overflow:auto}.deployedOfficerDetail.is-empty{color:#ffffff94;align-items:flex-start;gap:4px;min-height:0}.deployedOfficerDetail h3,.deployedOfficerDetail p{margin:0}.deployedOfficerHeader{grid-template-columns:80px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-width:0;display:grid}.deployedOfficerSummaryRow{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-width:0;display:grid}.deployedOfficerIdentity{min-width:0}.deployedOfficerName{color:#fff2c5;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.9rem;line-height:1.25;overflow:hidden}.deployedOfficerMeta{color:#ffffffc7;text-overflow:ellipsis;white-space:nowrap;margin:.25rem 0 0;font-size:.78rem;line-height:1.35;overflow:hidden}.deployedOfficerPortrait{object-fit:cover;background:#ffffff14;border:1px solid #ffffff29;border-radius:6px;width:80px;height:80px}.deployedOfficerStats{flex:none;justify-content:flex-end;align-items:flex-start;gap:5px;min-width:0;margin:0;display:flex}.deployedOfficerStats div{background:#ffffff0a;border-radius:5px;flex-direction:column;min-width:38px;min-height:0;padding:3px 4px;display:flex}.deployedOfficerStats dt{color:#ffffff8f;font-size:.68rem;line-height:1}.deployedOfficerStats dd{color:var(--color-white);margin:2px 0 0;font-size:.9rem;font-weight:700;line-height:1}.deployedOfficerSlider{flex:0 50%;align-self:end;gap:3px;width:50%;min-width:0;max-width:50%;display:grid}.deployedOfficerSlider span{color:#fffc;font-size:.78rem}.deployedOfficerTroopInputRow{align-items:center;gap:5px;display:flex}.deployedOfficerTroopInputRow input{color:var(--color-white);background:#0000003d;border:1px solid #d6a9495c;border-radius:4px;width:76px;padding:3px 6px}.deployedOfficerSlider input{accent-color:#d6a949;max-width:100%}.deployedOfficerSlider input[type=range]{appearance:none;cursor:pointer;background:0 0;width:min(220px,100%);height:18px}.deployedOfficerSlider input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,#8f3131c7,#d05b44e0,#ffd166eb);border:1px solid #ffe8b838;border-radius:999px;height:8px;box-shadow:inset 0 1px 2px #0000006b}.deployedOfficerSlider input[type=range]::-webkit-slider-thumb{appearance:none;background:linear-gradient(#fff1bc,#d6a949);border:1px solid #432c0cb8;border-radius:50%;width:18px;height:18px;margin-top:-6px;box-shadow:0 1px 4px #0000006b}.deployedOfficerSlider input[type=range]::-moz-range-track{background:linear-gradient(90deg,#8f3131c7,#d05b44e0,#ffd166eb);border:1px solid #ffe8b838;border-radius:999px;height:8px}.deployedOfficerSlider input[type=range]::-moz-range-thumb{background:linear-gradient(#fff1bc,#d6a949);border:1px solid #432c0cb8;border-radius:50%;width:18px;height:18px}.deployedCommanderButton{color:#ffffffd1;background:#ffffff12;border:1px solid #ffffff24;border-radius:5px;flex:none;align-self:end;min-width:116px;margin-top:0;margin-left:auto;padding:5px 10px}.deployedCommanderButton.is-active{color:var(--color-white);background:#ffd16629;border-color:#ffd1668a}.deployedOfficerSkills{flex:none;align-self:start;width:100%;min-width:0;min-height:0;overflow:hidden}.deployedOfficerSkills .skillChipDetails{grid-template-columns:1fr}.deployedOfficerSkills .skillChipList--details{gap:4px}.deployedOfficerSkills .skillChipList__label{font-size:.72rem}.deployedOfficerSkills .skillChipDetails{gap:4px}.deployedOfficerSkills .skillChipDetails li{min-height:34px;padding:4px 6px}.deployedOfficerSkills .skillChipDetails strong{font-size:.72rem}.deployedOfficerSkills .skillChipDetails span{font-size:.68rem;line-height:1.25}.deployedOfficerControls{justify-content:space-between;align-items:end;gap:18px;min-width:0;display:flex}.deploymentScreen{--deployment-top-panel-height:340px;color:#ffffffe0;z-index:900;background:radial-gradient(circle at 50% 110%,#d6a94917,#0000 36%),linear-gradient(90deg,#10242080,#0000 32% 66%,#52391252),#0c1110;grid-template-rows:auto minmax(0,1fr) auto;padding:16px;display:grid;position:absolute;inset:0}.deploymentScreenHeader{border-bottom:1px solid #d6a9493d;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;display:flex}.deploymentScreenHeader h2,.deploymentScreenHeader p{margin:0}.deploymentScreenHeader h2{color:#fff6def5;letter-spacing:0;font-family:Georgia,Times New Roman,serif;font-size:1.55rem}.deploymentScreenHeader p{color:#ffffffa3;margin-top:3px;font-size:.86rem}.deploymentScreenSummary{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.deploymentScreenSummary span{background:#ffffff0b;border:1px solid #d6a9492e;border-radius:5px;padding:6px 9px;font-size:.82rem}.deploymentScreenSummary span.is-ready{color:#e8fffb;background:#10363094;border-color:#66d2c95c;font-weight:700}.deploymentScreenSummary span.is-issue{color:#ffe3a6;background:#49361275;border-color:#d6a9497a;font-weight:700}.deploymentScreenSummary button{color:var(--color-white);background:#ffffff14;border:1px solid #ffffff2e;border-radius:5px;padding:7px 12px}.deploymentDecisionStrip{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,.95fr) minmax(0,.95fr);gap:10px;padding-top:10px;display:grid}.deploymentDecisionStrip div{background:#090e0ead;border:1px solid #d6a94933;border-radius:5px;gap:3px;min-width:0;padding:9px 10px;display:grid;position:relative}.deploymentDecisionStrip div.is-ready{background:#10363094;border-color:#66d2c952}.deploymentDecisionStrip div.has-issue{background:#49361275;border-color:#d6a9496b}.deploymentDecisionStrip div.is-primary{box-shadow:inset 3px 0 #66d2c9ad}.deploymentDecisionStrip div.has-issue.is-primary{box-shadow:inset 3px 0 #ffd166b8}.deploymentDecisionStrip span{color:#ffffff94;font-size:.72rem;font-weight:800}.deploymentDecisionStrip strong{color:var(--color-white);font-size:1rem}.deploymentDecisionStrip em{color:#ffffff9e;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-style:normal;overflow:hidden}.deploymentScreenBody{grid-template-columns:minmax(560px,1fr) minmax(460px,.72fr);grid-template-rows:var(--deployment-top-panel-height) minmax(0, 1fr);gap:14px;min-height:0;padding-top:12px;display:grid;overflow:hidden}.deploymentScreenDetail{height:var(--deployment-top-panel-height);max-height:var(--deployment-top-panel-height);grid-area:1/2;min-height:0;display:grid;overflow:hidden}.deploymentScreenEnemy{grid-area:1/1;min-height:0;display:grid}.deploymentScreenRoster{grid-area:2/2;grid-template-rows:auto minmax(0,1fr);gap:10px;min-height:0;display:grid}.deploymentBattlefield{background:linear-gradient(#d6a9490a,#0000 48%),#090e0eb8;border:1px solid #d6a94947;border-radius:6px;grid-area:2/1;align-content:start;gap:11px;min-width:0;padding:14px;display:grid;overflow:auto}.deploymentBattlefieldHeader{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.deploymentBattlefieldHeader h3{color:#fff6def2;margin:0;font-size:1.06rem}.deploymentBattlefieldHeader p{color:#ffffff8a;margin:3px 0 0;font-size:.78rem}.deploymentBattlefieldHeader span{color:#ffffffad;flex:none;font-size:.84rem}.deploymentBattlefieldMessages{flex-wrap:wrap;align-items:stretch;gap:6px;min-height:38px;display:flex}.deploymentBattlefieldMessages>*{flex:240px;margin:0}.deploymentHint,.deploymentWarning{border-radius:5px;margin:0;padding:8px 10px;font-size:.84rem}.deploymentHint{color:#cbf6f2f0;background:#66d2c91a}.deploymentWarning{color:#ffd166;background:#ffd1661f}.deploymentConfirmButton,.deploymentConfirmButton.dsButton{justify-self:stretch;width:100%}.deploymentFooter{background:#090e0ed1;border:1px solid #d6a94938;border-radius:6px;grid-template-columns:minmax(180px,.6fr) minmax(260px,1fr) minmax(260px,.9fr);align-items:center;gap:14px;margin-top:12px;padding:14px 16px;display:grid}.deploymentFooter--defense{grid-template-columns:minmax(128px,.55fr) minmax(128px,.55fr) minmax(260px,1fr) minmax(170px,.7fr)}.deploymentSubmissionFeedback{grid-column:1/-1}.deploymentClearButton{color:#ffffffdb;background:#ffffff09;border:1px solid #fff3;border-radius:6px;padding:10px 14px;font-weight:800}.deploymentFooter--defense .deploymentClearButton,.deploymentFooter--defense .deploymentConfirmButton{width:100%;min-height:44px}.deploymentClearButton:disabled{cursor:not-allowed;opacity:.38}.deploymentRetreatButton{background:linear-gradient(180deg, color-mix(in srgb, var(--color-danger-600) 78%, white), color-mix(in srgb, var(--color-danger-600) 78%, black));border:1px solid color-mix(in srgb, var(--color-danger-600) 52%, white);color:var(--color-white);border-radius:6px;width:100%;min-height:44px;padding:10px 14px;font-weight:700}.deploymentRetreatButton:disabled{cursor:not-allowed;opacity:.38}.deploymentFooterMetrics{border:1px solid #d6a94933;border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.deploymentFooterMetrics span{color:#fff6dee6;text-align:center;padding:10px 12px;font-size:.92rem;font-weight:800}.deploymentFooterMetrics span+span{border-left:1px solid #d6a9492e}.gazette{background:var(--color-ink-950);grid-template-rows:44px 1fr;height:100%;min-height:0;display:grid;position:relative}.gazette__toprail{border-bottom:1px solid var(--border-subtle-dark);color:var(--color-copper-300);font-family:var(--font-stamp);font-size:var(--text-2xs);align-items:center;gap:var(--space-6);letter-spacing:.14em;padding:var(--space-2) var(--space-5);justify-content:space-between;display:flex;box-shadow:0 1px 12px #c798491f}.gazette__deck{grid-template-columns:400px 1fr;min-height:0;display:grid}.gazetteDesk{background:radial-gradient(ellipse 62% 55% at 54% 40%, #ffd69621, transparent), radial-gradient(ellipse 90% 85% at 50% 50%, transparent 55%, #0000006b), var(--desk-bg);place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.gazetteDesk__mat{background:linear-gradient(180deg, var(--desk-mat-hi), var(--desk-mat-lo));border:1px solid #c7984924;width:1150px;height:940px;position:absolute;box-shadow:inset 0 1px #fff7e70d,0 6px 30px #0006}.gazetteDesk__edge{background:linear-gradient(#c7984938,#00000080);width:100%;height:10px;position:absolute;bottom:0;left:0}.gazetteDesk__sidePile{background:var(--paper-side-1);width:280px;height:360px;position:absolute;box-shadow:0 10px 30px #00000073}.gazetteDesk__sidePile:after{background:var(--paper-side-2);content:"";width:100%;height:100%;position:absolute;top:7px;left:8px}.gazetteDesk__sidePileInk{background:linear-gradient(var(--paper-rule-strong) 0 0) 12% 10% / 60% 7px no-repeat, repeating-linear-gradient(180deg, #3b332380 0 2px, transparent 2px 9px);opacity:.22;z-index:1;position:absolute;inset:31px 22px 24px 30px}.gazetteDesk__sidePile--bl{bottom:-90px;left:-120px;transform:rotate(6deg)}.gazetteDesk__sidePile--tr{top:-70px;right:-150px;transform:rotate(-8deg)}.gazetteDesk__work{flex-direction:column;align-items:center;gap:48px;display:flex;position:relative}.gazettePile{width:960px;height:780px;position:relative}.gazettePile__under{width:100%;height:100%;position:absolute;box-shadow:0 14px 40px #00000073}.gazettePile__under--1{background:var(--paper-under-1);transform:translate(-18px,10px)rotate(-1.1deg)}.gazettePile__under--2{background:var(--paper-under-2);transform:translate(14px,20px)rotate(.8deg)}.gazettePile__under--3{background:var(--paper-under-3);transform:translate(-6px,28px)rotate(-.4deg)}.gazetteSheet{background:radial-gradient(ellipse 70% 60% at 50% 26%, #ffffff24, transparent), var(--paper-bg);color:var(--paper-ink);font-family:var(--font-display);flex-direction:column;width:100%;height:100%;padding:44px 52px 40px;display:flex;position:absolute;overflow:hidden;box-shadow:0 24px 64px #0000008c}.gazetteMasthead{border-bottom:3px double var(--paper-rule-strong);padding-bottom:var(--space-3);justify-content:space-between;align-items:baseline;display:flex}.gazetteMasthead__title{font-family:var(--font-paper);font-size:var(--text-2xl);letter-spacing:.3em;margin:0;font-weight:400}.gazetteMasthead__info{color:var(--paper-ink-faint);font-size:var(--text-xs);align-items:center;gap:var(--space-3);display:flex}.gazetteMasthead__sep{background:var(--paper-rule);width:1px;height:12px}.gazetteSheet__body{min-height:0;padding-top:var(--space-5);flex:1;display:flex}.gazetteIndex{background:var(--color-ink-900);border-right:1px solid var(--border-subtle-dark);flex-direction:column;padding:28px 0 20px;display:flex}.gazetteIndex__caption{color:var(--text-secondary);font-family:var(--font-stamp);font-size:var(--text-2xs);letter-spacing:.24em;padding:0 28px 14px}.gazetteReadout__caption{border-bottom:1px solid var(--paper-rule);color:var(--paper-ink-muted);font-size:var(--text-2xs);letter-spacing:.2em;padding-bottom:var(--space-1)}.gazetteIndex__list{gap:0;margin:0;padding:0;list-style:none;display:grid}.gazetteIndex__item{cursor:pointer;font-family:var(--font-ui);text-align:left;background:0 0;border:none;border-left:3px solid #0000;gap:4px;width:100%;padding:14px 28px 14px 25px;display:grid}.gazetteIndex__list>li+li .gazetteIndex__item{border-top:1px solid var(--border-subtle-dark)}.gazetteIndex__item:hover:not(:disabled){background:#c798490f}.gazetteIndex__item.is-selected{background:var(--surface-panel-raised);border-left-color:var(--color-copper-400)}.gazetteIndex__item:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.gazetteIndex__kicker{color:var(--color-copper-400);font-family:var(--font-stamp);font-size:var(--text-2xs);letter-spacing:.18em}.gazetteIndex__item--vacant .gazetteIndex__kicker{color:var(--text-secondary)}.gazetteIndex__headline{color:var(--text-primary);font-size:var(--text-md)}.gazetteIndex__desc{color:var(--text-secondary);font-size:var(--text-2xs)}.gazetteIndex__pager{color:var(--text-secondary);font-family:var(--font-stamp);font-size:var(--text-2xs);align-items:center;gap:var(--space-3);letter-spacing:.18em;margin-top:auto;padding:0 28px;display:flex}.gazetteIndex__pagerButton{color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:var(--text-2xs);background:0 0;border:none}.gazetteIndex__pagerButton:hover:not(:disabled){box-shadow:none;color:var(--text-primary);background:0 0}.gazetteIndex__pagerButton:disabled{color:var(--color-text-disabled);cursor:default}.gazetteArticle{column-gap:var(--space-8);flex:1;grid-template-rows:1fr;grid-template-columns:minmax(0,1fr) 200px;min-width:0;padding-bottom:48px;display:grid}.gazetteArticle__main{gap:var(--space-3);flex-direction:column;grid-area:1/1;min-width:0;display:flex}.gazetteArticle__kicker{color:var(--paper-accent);font-size:var(--text-xs);letter-spacing:.1em;margin:0}.gazetteArticle__kicker--vacant{color:var(--paper-ink-muted)}.gazetteArticle__headline{border-bottom:3px double var(--paper-rule-strong);font-size:var(--text-3xl);letter-spacing:.04em;padding-bottom:var(--space-2);margin:0;font-weight:400}.gazetteArticle__byline{color:var(--paper-ink-faint);font-size:var(--text-2xs);margin:0}.gazetteArticle__figure{max-width:560px;margin:0}.gazetteArticle__image{filter:sepia(.35)saturate(.65)brightness(.88)contrast(.95);width:100%;display:block}.gazetteArticle__figure--vacant{aspect-ratio:16/7;background:repeating-linear-gradient(45deg, transparent, transparent 10px, var(--paper-rule) 10px, var(--paper-rule) 11px);border:1px solid var(--paper-rule);opacity:.5}.gazetteArticle__caption{color:var(--paper-ink-faint);font-family:var(--font-ui);font-size:var(--text-2xs);margin-top:var(--space-1)}.gazetteArticle__lead{-webkit-line-clamp:5;font-size:var(--text-sm);-webkit-box-orient:vertical;max-width:640px;margin:0;line-height:1.9;display:-webkit-box;overflow:hidden}.gazetteGreeking--two-col{grid-template-columns:1fr 1fr;column-gap:36px;max-width:600px;display:grid}.gazetteGreeking__head{background:var(--paper-rule-strong);opacity:.35;width:38%;height:8px;margin-bottom:8px}.gazetteGreeking__body{background:repeating-linear-gradient(180deg, var(--paper-rule) 0 2px, transparent 2px 9px);opacity:.4;height:63px}.gazetteGreeking--side{margin-top:20px}.gazetteGreeking--side .gazetteGreeking__head{width:55%;height:7px}.gazetteGreeking--side .gazetteGreeking__body{height:96px}.gazetteArticle__highlights{grid-template-columns:1fr 1fr;gap:14px 36px;max-width:600px;margin-top:8px;display:grid}.gazetteArticle__hlTitle{border-bottom:1px solid var(--paper-rule);letter-spacing:.06em;margin:0 0 6px;padding-bottom:4px;font-size:17px;font-weight:400}.gazetteArticle__hlBody{color:var(--paper-ink-muted);font-family:var(--font-ui);font-size:var(--text-2xs);margin:0;line-height:1.8}.gazetteArticle__cont{color:var(--paper-ink-faint);font-family:var(--font-ui);font-size:var(--text-2xs);letter-spacing:.1em;text-align:right;margin:10px 0 0}.gazetteArticle__error{color:var(--paper-accent);font-family:var(--font-ui);font-size:var(--text-sm);margin:0}.gazetteArticle__side{grid-area:1/2}.gazetteReadout{gap:var(--space-2);margin:0;display:grid}.gazetteReadout__row{border-bottom:1px solid var(--paper-rule);padding-bottom:var(--space-1);justify-content:space-between;display:flex}.gazetteReadout__row dt{color:var(--paper-ink-muted);font-size:var(--text-xs)}.gazetteReadout__row dd{font-size:var(--text-md);font-variant-numeric:tabular-nums;margin:0}.gazetteReadout__value--text{font-size:var(--text-xs)}.gazetteReadout__note{border:1px solid var(--paper-rule);margin-top:20px;padding:12px 14px}.gazetteReadout__noteTitle{border-bottom:1px solid var(--paper-rule);letter-spacing:.06em;margin:0 0 6px;padding-bottom:4px;font-size:15px;font-weight:400}.gazetteReadout__noteBody{color:var(--paper-ink-muted);font-family:var(--font-ui);font-size:var(--text-2xs);margin:0;line-height:1.8}@keyframes gazetteDeal{0%{opacity:0;transform:translate(420px)rotate(1.4deg)}25%{opacity:1}70%{opacity:1;transform:translate(-10px)rotate(-.2deg)}to{opacity:1;transform:none}}.gazetteSheet--deal{animation:gazetteDeal .2s var(--ease-standard)}.gazetteSheet__registry{color:var(--paper-ink-faint);font-family:var(--font-stamp);font-size:var(--text-2xs);letter-spacing:.14em;align-items:center;gap:10px;margin-top:0;padding-top:0;display:flex;position:absolute;bottom:18px;left:52px}.gazetteSheet__registryBars{background:repeating-linear-gradient(90deg, var(--paper-rule-strong) 0 2px, transparent 2px 5px, var(--paper-rule-strong) 5px 6px, transparent 6px 10px);opacity:.75;width:72px;height:20px}.gazetteSheet__cutoff{background:repeating-linear-gradient(180deg, var(--paper-rule) 0 2px, transparent 2px 9px);opacity:.3;width:200px;height:44px;position:absolute;bottom:-14px;right:52px}.gazetteConsole{background:var(--color-ink-900);border:1px solid var(--border-subtle-dark);z-index:5;justify-content:flex-end;align-items:center;gap:14px;width:960px;padding:12px 16px;display:flex;position:relative;box-shadow:0 10px 30px #00000073,inset 0 1px #fff7e70f}.gazetteConsole__back{color:var(--text-secondary);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-xs);text-underline-offset:3px;background:0 0;border:none;margin-right:auto;text-decoration:underline}.gazetteConsole__back:hover:not(:disabled){color:var(--text-primary)}.gazetteConsole__reg{background:var(--desk-well);box-shadow:var(--inset-well);color:var(--color-copper-300);font-family:var(--font-stamp);font-size:var(--text-xs);letter-spacing:.12em;border:1px solid #c798494d;align-items:center;gap:2px;min-width:230px;padding:11px 14px;display:flex}.gazetteConsole__regLabel{color:var(--text-secondary);font-size:var(--text-2xs);letter-spacing:.2em;margin-right:10px}.gazetteConsole__caret{background:var(--color-copper-300);width:7px;height:14px;margin-left:2px;animation:1s step-end infinite gazetteCaretBlink;display:inline-block}@keyframes gazetteCaretBlink{50%{opacity:0}}.gazetteLoading{background:var(--surface-overlay);z-index:10;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gazetteLoadingBox{max-width:420px}@media (prefers-reduced-motion:reduce){.gazetteConsole__caret,.gazetteSheet--deal{animation:none}.gazette *,.gazette :before,.gazette :after{transition:none!important}}.saveLoadScreen{background:radial-gradient(circle at 50% 44%, #a8834a29, transparent 34%), linear-gradient(145deg, var(--color-ink-950), var(--color-ink-850) 54%, #171b1d);color:var(--text-primary);min-height:100%;z-index:var(--z-transition);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.saveLoadScreen__atlas{opacity:.8;background-image:linear-gradient(#c798490b 1px,#0000 1px),linear-gradient(90deg,#c798490b 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 72%);mask-image:radial-gradient(circle,#000,#0000 72%)}.saveLoadScreen__content{padding:var(--space-8);text-align:center;flex-direction:column;align-items:center;width:560px;display:flex;position:relative}.saveLoadScreen__eyebrow{color:var(--color-copper-300);font-size:var(--text-2xs);letter-spacing:.24em;font-weight:700}.saveLoadScreen__route{margin:var(--space-6) 0 var(--space-5);grid-template-columns:12px minmax(160px,280px) 12px;align-items:center;display:grid}.saveLoadScreen__routeOrigin,.saveLoadScreen__routeDestination{background:var(--color-ink-900);border:2px solid var(--color-copper-400);border-radius:var(--radius-round);z-index:1;width:12px;height:12px;position:relative}.saveLoadScreen__routeDestination{animation:saveLoadDestinationPulse 1.4s var(--ease-standard) infinite;background:var(--color-copper-400);border-color:var(--color-copper-300);box-shadow:0 0 18px #e8c98b7a}.saveLoadScreen__routeTrace{background:var(--border-subtle-dark);height:1px;position:relative;overflow:hidden}.saveLoadScreen__routeTrace:after{animation:saveLoadRouteTrace 1.1s var(--ease-standard) infinite;background:linear-gradient(90deg, transparent, var(--color-copper-300), var(--color-copper-400), transparent);content:"";width:38%;height:3px;position:absolute;top:-1px;left:-38%}.saveLoadScreen h1{font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:.06em;margin:0;font-weight:600}.saveLoadScreen p{color:var(--text-secondary);font-size:var(--text-sm);margin:var(--space-3) 0 0}@keyframes saveLoadRouteTrace{0%{transform:translate(0)}to{transform:translate(360%)}}@keyframes saveLoadDestinationPulse{0%,to{transform:scale(.86)}50%{transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.saveLoadScreen__routeDestination,.saveLoadScreen__routeTrace:after{animation:none}.saveLoadScreen__routeTrace:after{left:62%}}.gameShell{background:var(--color-ink-950);font-family:var(--font-ui);grid-template:"nav top top"72px"nav map side"minmax(0,1fr)"nav chronicle chronicle"72px/176px minmax(0,1fr) 0;width:100%;height:100%;display:grid;position:relative;overflow:hidden}.gameSideNav{color:var(--text-secondary);margin:var(--space-1) 0 var(--space-1) var(--space-1);min-height:0;z-index:var(--z-shell);flex-direction:column;grid-area:nav;display:flex;position:relative}.gameSideNavBrand{border-bottom:1px solid var(--color-copper-700);color:var(--text-primary);font-family:var(--font-display);height:132px;padding:var(--space-4) var(--space-2);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.worldlineMark{color:var(--color-title-bronze);width:152px;height:auto;display:block}.worldlineMarkTitleText{fill:var(--color-text-on-dark);font-family:var(--font-title);text-anchor:middle;visibility:hidden;font-weight:400}.worldlineMark--fontReady .worldlineMarkTitleText{visibility:visible}.worldlineMarkLine{fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:8px}.gameSideNavBrand span{color:var(--text-primary);font-size:var(--text-xl);white-space:nowrap;font-weight:600;line-height:30px}.gameSideNavBrand strong{color:var(--color-copper-400);font-size:var(--text-2xs);margin-top:var(--space-1);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:500;line-height:18px;overflow:hidden}.gameSideNavItem{color:var(--text-secondary);cursor:pointer;font-family:var(--font-display);font-size:var(--text-sm);align-items:center;gap:var(--space-2);height:48px;min-height:48px;padding:0 var(--space-4);text-align:left;background:0 0;border:0;flex:0 0 48px;grid-template-columns:24px minmax(0,1fr) auto;width:100%;font-weight:500;line-height:26px;transition:background-color .16s,color .16s,box-shadow .16s,transform 80ms;display:grid;position:relative}.gameSideNavItem:after{background:var(--color-copper-700);content:"";height:1px;position:absolute;bottom:0;left:0;right:0}.gameSideNavItem .gameIcon{grid-column:1}.gameSideNavLabel{white-space:nowrap;grid-column:2;min-width:0}.gameSideNavAlertDot{background:var(--color-copper-400);border-radius:50%;grid-column:3;justify-self:end;width:6px;height:6px}.gameSideNavItem:before{content:"";background:0 0;width:2px;position:absolute;inset:0 auto 0 0}.gameSideNavItem:hover:not(:disabled){background:var(--color-ink-800);color:var(--color-copper-300)}.gameSideNavItem.isActive,.gameSideNavItem.isActive:hover:not(:disabled){background:color-mix(in srgb, var(--color-copper-500) 10%, var(--surface-panel-inset));color:var(--text-primary)}.gameSideNavItem.isActive:before{background:var(--color-copper-400)}.gameSideNavItem:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.gameSideNavItem:focus-visible{outline:2px solid var(--border-focus);outline-offset:-3px}.gameSideNavItem:disabled{cursor:not-allowed;opacity:.45}.gameSideNavStatus{border-top:1px solid var(--border-subtle-dark);color:var(--text-secondary);font-size:var(--text-xs);padding:var(--space-3) 0 var(--space-2);gap:5px;margin:auto 0 0;line-height:1.45;display:grid}.gameSideNavStatusRate{align-items:center;gap:var(--space-1);grid-template-columns:minmax(0,1fr) max-content;display:grid}.gameSideNavStatusBar{background:var(--surface-panel-inset);border:1px solid var(--border-subtle-dark);box-sizing:border-box;height:var(--space-2);grid-column:1/-1;min-width:0;display:block;position:relative;overflow:hidden}.gameSideNavStatusBarFill{background:var(--color-copper-400);display:block;position:absolute;top:0;bottom:0;left:0}.gameSideNavStatusBar:after{background:linear-gradient(var(--border-subtle-dark), var(--border-subtle-dark)) 25% 0 / var(--border-width-hairline) 100% no-repeat, linear-gradient(var(--border-subtle-dark), var(--border-subtle-dark)) 50% 0 / var(--border-width-hairline) 100% no-repeat, linear-gradient(var(--border-subtle-dark), var(--border-subtle-dark)) 75% 0 / var(--border-width-hairline) 100% no-repeat;content:"";pointer-events:none;position:absolute;inset:0}.gameSideNavStatusValue{font-family:var(--font-data);font-variant-numeric:tabular-nums}.gameSideNavFoot{color:var(--text-secondary);font-family:var(--font-stamp);font-size:var(--text-2xs);letter-spacing:.14em;padding:var(--space-2) var(--space-4) var(--space-3);text-align:right}.gameTopBar{color:var(--text-primary);margin:var(--space-1) var(--space-1) 0 var(--space-1);min-width:0;z-index:var(--z-shell);grid-area:top;align-items:center;gap:0;padding:0;display:flex;position:relative}.gameTopBarItem{border-right:1px solid var(--border-subtle-dark);align-items:center;gap:var(--space-3);min-width:148px;padding:0 var(--space-4);grid-template-columns:28px minmax(0,1fr);display:grid}.gameTopBarItem>.gameIcon{color:var(--text-secondary)}.gameTopBarItemCopy{min-width:0;display:grid}.gameTopBarItem:first-child{padding-left:0}.gameTopBarFaction{border-right:1px solid var(--border-subtle-dark);align-items:center;gap:var(--space-2);min-width:0;padding:0 var(--space-4);flex:0 auto;display:flex}.gameTopBarFactionIcon{border:1px solid var(--color-copper-700);box-shadow:inset 0 0 0 1px var(--border-subtle-dark);object-fit:cover;border-radius:50%;flex:0 0 28px}.gameTopBarFactionIconFallback{color:#fff7e7;font-family:var(--font-display);font-size:var(--text-sm);justify-content:center;align-items:center;line-height:1;display:inline-flex}.gameTopBarFactionName{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:24px;overflow:hidden}.gameTopBarItemPrimary{align-items:baseline;gap:var(--space-2);white-space:nowrap;min-width:0;display:flex}.gameTopBarItemPrimary>span{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-md);line-height:24px}.gameTopBarItemPrimary>strong{color:var(--text-primary);font-family:var(--font-data);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:20px;font-weight:500;line-height:24px}.gameTopBarItemPrimary>strong.negativeValue{color:#ff8a8a}.gameTopBarItemDetail{color:var(--color-copper-400);font-family:var(--font-data);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;min-height:16px;line-height:16px}.gameTopBar .incomeDelta{color:inherit;font-family:inherit;font-size:var(--text-2xs);text-shadow:none;line-height:16px;display:block}.gameTopBarSpacer{flex:1}.dsButton{background:linear-gradient(180deg, var(--surface-panel-raised), var(--surface-panel-inset));border:1px solid var(--color-copper-700);border-radius:var(--radius-1);box-shadow:inset 0 0 0 1px var(--border-subtle-dark), var(--shadow-control);color:var(--text-primary);cursor:pointer;font-family:var(--font-ui);align-items:center;gap:var(--space-2);transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-instant) var(--ease-standard);justify-content:center;font-weight:500;display:inline-flex}.dsButton--primary,.dsButton--secondary,.dsButton--danger{clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px);letter-spacing:.14em}.dsButton--primary{box-shadow:none;color:var(--key-text-primary);text-shadow:0 -1px #0009;background:0 0;border:12px solid #0000;border-image:url(/assets/ui/key-primary@2x.png) 24 fill/12px;border-radius:0}.dsButton--secondary{box-shadow:none;color:var(--key-text-secondary);background:0 0;border:12px solid #0000;border-image:url(/assets/ui/key-secondary@2x.png) 24 fill/12px;border-radius:0}.dsButton--quiet{background:var(--surface-panel-raised);box-shadow:var(--highlight-control)}.dsButton--danger{box-shadow:none;color:var(--key-text-danger);background:0 0;border:12px solid #0000;border-image:url(/assets/ui/key-danger@2x.png) 24 fill/12px;border-radius:0}.dsButton--icon{box-shadow:none;background:0 0;border:0;padding:0}.dsButton--sm{font-size:var(--text-xs);height:32px;padding:0 var(--space-3);line-height:18px}.dsButton--md{font-size:var(--text-sm);height:40px;padding:0 var(--space-4);line-height:20px}.dsButton--lg{font-size:var(--text-md);height:48px;padding:0 var(--space-6);line-height:24px}.dsButton--turn{font-size:var(--text-lg);height:54px;padding:0 28px;line-height:26px}.dsButton--icon.dsButton--sm{width:32px;padding:0}.dsButton--icon.dsButton--md{width:40px;padding:0}.dsButton--primary:hover:not(:disabled),.dsButton--primary.isPreviewHover:not(:disabled),.dsButton--primary.gzHover{border-image-source:url(/assets/ui/key-primary-hover@2x.png)}.dsButton--secondary:hover:not(:disabled),.dsButton--secondary.isPreviewHover:not(:disabled),.dsButton--secondary.gzHover{border-image-source:url(/assets/ui/key-secondary-hover@2x.png)}.dsButton--quiet:hover:not(:disabled),.dsButton--quiet.isPreviewHover:not(:disabled){background:var(--color-ink-700)}.dsButton--danger:hover:not(:disabled),.dsButton--danger.isPreviewHover:not(:disabled),.dsButton--danger.gzHover{border-image-source:url(/assets/ui/key-danger-hover@2x.png)}.dsButton--primary:hover:not(:disabled),.dsButton--primary.isPreviewHover:not(:disabled),.dsButton--primary.gzHover,.dsButton--secondary:hover:not(:disabled),.dsButton--secondary.isPreviewHover:not(:disabled),.dsButton--secondary.gzHover,.dsButton--danger:hover:not(:disabled),.dsButton--danger.isPreviewHover:not(:disabled),.dsButton--danger.gzHover{box-shadow:none;background:0 0;border-color:#0000}.dsButton--primary:active:not(:disabled),.dsButton--primary.isPreviewActive:not(:disabled),.dsButton--primary.gzActive{border-image-source:url(/assets/ui/key-primary-active@2x.png)}.dsButton--secondary:active:not(:disabled),.dsButton--secondary.isPreviewActive:not(:disabled),.dsButton--secondary.gzActive{border-image-source:url(/assets/ui/key-secondary-active@2x.png)}.dsButton--danger:active:not(:disabled),.dsButton--danger.isPreviewActive:not(:disabled),.dsButton--danger.gzActive{border-image-source:url(/assets/ui/key-danger-active@2x.png)}.dsButton--quiet:active:not(:disabled),.dsButton--quiet.isPreviewActive:not(:disabled){background:var(--surface-panel-inset)}.dsButton--quiet:hover:not(:disabled),.dsButton--quiet.isPreviewHover:not(:disabled){background-color:var(--color-ink-700);border-color:var(--color-copper-300);box-shadow:inset 0 0 0 1px var(--border-subtle-dark), var(--shadow-control-hover)}.dsButton--quiet:active:not(:disabled),.dsButton--quiet.isPreviewActive:not(:disabled){box-shadow:inset 0 0 0 1px var(--border-subtle-dark), var(--shadow-control-active);transform:translateY(1px)}.dsButton--icon:hover:not(:disabled),.dsButton--icon.isPreviewHover:not(:disabled){background:color-mix(in srgb, var(--color-copper-500) 12%, transparent);box-shadow:none;border-color:#0000}.dsButton--icon:active:not(:disabled),.dsButton--icon.isPreviewActive:not(:disabled){background:color-mix(in srgb, var(--color-copper-500) 20%, transparent);box-shadow:none;border-color:#0000;transform:none}.dsButton:focus-visible,.dsButton.isPreviewFocus{clip-path:none;outline:2px solid var(--border-focus);outline-offset:2px}.dsButton:disabled{box-shadow:none;cursor:not-allowed;opacity:.34}.turnEndButton{font-family:var(--font-display);font-size:var(--text-xl);width:288px;font-weight:500;line-height:26px}.turnEndButton:focus-visible{outline-width:3px}.turnEndButton--emphasized:not(:disabled){border-image-source:url(/assets/ui/key-primary-hover@2x.png)}.gameAdvanceTenButton{margin-right:var(--space-2)}.gameShell .mapViewport{background:var(--map-strategic-ground);flex:none;grid-area:map;height:auto;min-height:0;position:relative;overflow:hidden}.gameMenuWorkspace.dsPanel{background:linear-gradient(180deg, #ffffff05, transparent 18%), var(--surface-panel);box-shadow:none;height:100%;min-height:0;z-index:var(--z-side-panel);border:0;border-radius:0;flex-direction:column;padding:0;display:flex;position:absolute;inset:0;overflow:hidden}.gameShell .mapViewport>.dsModal--embedded{width:min(880px,100%);height:auto;z-index:var(--z-side-panel);position:absolute;top:0;bottom:0;left:0}.gameMenuWorkspaceHeader.dsSectionHeader{background:var(--surface-panel-raised);border-bottom:var(--border-width-hairline) solid var(--color-copper-700);min-height:64px;padding:var(--space-3) var(--space-4);flex:none}.gameMenuWorkspaceHeader .dsSectionHeader__title{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-xl)}.gameMenuWorkspaceBody{min-height:0;padding:var(--space-4);flex:1;display:flex;overflow:hidden}.gameMenuWorkspaceBody>.sortableListContent,.gameMenuWorkspaceBody>.gameLogView{flex:1;min-height:0}.gameMenuWorkspaceBody .dsTableScroll,.gameLogView .dsTableScroll{scrollbar-gutter:stable;height:100%;min-height:0}.gameLogView{flex-direction:column;display:flex;overflow:hidden}.gameShell .mapViewport>.networkPanel{z-index:var(--z-map-overlay);position:relative}.gameShell .mapViewport .networkPanel,.gameShell .mapViewport .networkCanvas,.gameShell .mapViewport .provinceNetwork,.gameShell .mapViewport .mapCanvasLayer{height:100%;min-height:0}.gameShell .mapViewport .territoryTint>path{stroke:var(--map-territory-outline);stroke-width:1px;vector-effect:non-scaling-stroke}.gameShell .mapViewport .networkMapControls{-webkit-backdrop-filter:none;backdrop-filter:none;bottom:var(--space-2);box-shadow:none;left:var(--space-2);background:0 0;border:13px solid #0000;border-image:url(/assets/ui/frame-instrument@2x.png) 26 fill/13px;border-radius:0;padding:0;top:auto;right:auto}.gameShell .mapViewport .networkMapControls--diplomacyOpen{left:calc(280px + var(--space-2) * 2)}.gameShell .mapViewport .mapControlCluster{-webkit-backdrop-filter:none;backdrop-filter:none;bottom:calc(var(--space-2) + var(--map-control-bar-height) + var(--space-2));box-shadow:none;left:var(--space-2);background:0 0;border:13px solid #0000;border-image:url(/assets/ui/frame-instrument@2x.png) 26 fill/13px;border-radius:0;padding:0}.gameShell .mapViewport .minimap{box-shadow:none;background:0 0;border:13px solid #0000;border-image:url(/assets/ui/frame-instrument@2x.png) 26 fill/13px;border-radius:0;padding:0}.gameShell .mapViewport .networkMapControls span{color:var(--text-secondary);font-family:var(--font-data);font-variant-numeric:tabular-nums}.gameShell .mapViewport .networkMapZoomReadout{background:var(--surface-panel-inset);border-color:var(--border-subtle-dark)}.gameShell .mapViewport .networkMapZoomReadout strong{color:var(--color-copper-300)}.gameShell .mapViewport .networkMapControls button:not(.dsSegment__item){box-shadow:none;color:var(--color-copper-300);font-family:var(--font-ui);font-size:var(--text-sm);min-height:36px;padding:0 var(--space-2);background:0 0;border:9px solid #0000;border-image:url(/assets/ui/key-secondary@2x.png) 18 fill/9px;border-radius:0;font-weight:500;line-height:20px;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform 80ms}.gameShell .mapViewport .networkMapControls button:not(.dsSegment__item):hover:not(:disabled){box-shadow:none;background:0 0;border-image-source:url(/assets/ui/key-secondary-hover@2x.png)}.gameShell .mapViewport .networkMapControls button:not(.dsSegment__item):active:not(:disabled){box-shadow:none;background:0 0;border-image-source:url(/assets/ui/key-secondary-active@2x.png);transform:translateY(1px)}.gameShell .mapViewport .networkMapControls button:not(.dsSegment__item):focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.dsPanel{border:var(--border-width-panel) solid var(--color-copper-700);border-radius:var(--radius-2);box-shadow:inset 0 0 0 1px var(--border-subtle-dark), var(--shadow-panel);padding:var(--space-4)}.dsPanel>header{min-height:40px}.dsPanel>footer{min-height:56px}.dsPanel--dark{color:var(--text-primary);border:13px solid #0000;border-image:url(/assets/ui/frame-instrument@2x.png) 26 fill/13px;padding:3px}.dsPanel--dark-inset{background:var(--surface-panel-inset);color:var(--text-primary)}.dsPanel--paper{background:var(--surface-map-card);border-color:var(--border-subtle-light);color:var(--text-map-primary)}.dsPanel--modal{color:var(--text-primary);border:16px solid #0000;border-image:url(/assets/ui/frame-plate@2x.png) 32 fill/16px;padding:0}.gameContextPanel{height:auto;min-height:0;z-index:var(--z-side-panel);line-height:24px;position:relative;overflow-y:auto}.dsScoopFrame{isolation:isolate;border:0;position:relative}.dsScoopFrame:before{border:var(--border-width-hairline) solid var(--color-copper-500);border-radius:var(--space-2);content:"";corner-shape:scoop;inset:var(--space-1);pointer-events:none;z-index:0;position:absolute}.dsScoopFrame>*{z-index:1;position:relative}.dsScoopFrame>.battleCutin{z-index:30;position:absolute}.gameContextStack{gap:var(--space-2);min-height:0;z-index:var(--z-side-panel);flex-direction:column;display:flex}.gameContextStack--overlay{max-height:calc(var(--stage-h) - 72px - 144px - var(--space-6));right:var(--space-2);top:calc(72px + var(--space-2));width:448px;position:absolute}.gameContextStack--overlay .factionSummaryPanel{max-height:100%}.gameContextStack--overlay.hasSelectedProvince{height:calc(var(--stage-h) - 72px - 144px - var(--space-6));max-height:none}.gameContextStack--overlay.hasSelectedProvince .factionSummaryPanel{flex:none;max-height:60%}.gameContextStack--overlay.hasSelectedProvince .selectedProvincePanel{flex:auto;min-height:0}.objectivePanel{background:linear-gradient(180deg, var(--surface-panel-raised), var(--surface-panel));border-color:var(--color-copper-700);box-shadow:var(--shadow-panel), inset 3px 0 0 var(--color-copper-400);left:calc(176px + var(--space-3));min-width:280px;max-width:380px;padding:var(--space-3) var(--space-4);pointer-events:none;top:calc(72px + var(--space-3));z-index:var(--z-side-panel);position:absolute}.objectivePanel--diplomacy{left:calc(176px + 280px + var(--space-3))}.objectivePanelTitle{border-bottom:1px solid var(--border-subtle-dark);color:var(--color-copper-400);align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);display:flex}.objectivePanelTitle h2{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-md);margin:0;font-weight:500;line-height:24px}.objectivePanel ul{gap:var(--space-2);margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid}.objectivePanel li{color:var(--text-primary);font-size:var(--text-sm);padding-left:var(--space-4);line-height:20px;position:relative}.objectivePanel li:before{background:var(--color-copper-400);content:"";width:6px;height:6px;position:absolute;top:7px;left:0;transform:rotate(45deg)}.tutorialBlinkTarget:not(.networkNode){filter:brightness(1.06);outline-offset:-3px;outline:3px solid #ffe091e6;animation:1.1s ease-in-out infinite tutorialBlinkPulse;box-shadow:inset 0 0 0 6px #d6a94929,inset 0 0 22px #ffe09138}body:has(.novelOverlay[data-novel-scene-id=bg\.introStatus][data-novel-line-index="2"]:not([data-novel-attention])) .battlePlayer__judgementLine{z-index:8}body:has(.novelOverlay[data-novel-scene-id=bg\.introStatus][data-novel-line-index="2"]:not([data-novel-attention])) .battlePlayer__judgementLine:before{background:#ffe091;width:4px;box-shadow:0 0 0 3px #d6a94952,0 0 16px #ffe091eb}body:has(.novelOverlay[data-novel-scene-id=bg\.introStatus][data-novel-line-index="2"]:not([data-novel-attention])) .battlePlayer__judgementLine span{border-color:#ffe091;box-shadow:inset 0 0 12px #ffe09129,0 0 12px #ffe091b8}body:has(.novelOverlay[data-novel-scene-id=bg\.introStatus][data-novel-line-index="2"][data-novel-attention]) .battlePlayer__judgementLine{z-index:8;animation:.5s step-end 2 tutorialAttentionBlink}body:has(.novelOverlay[data-novel-scene-id=bg\.introStatus][data-novel-line-index="2"][data-novel-attention]) .battlePlayer__judgementLine:before{background:#ffe091;width:4px;box-shadow:0 0 0 3px #d6a94952,0 0 16px #ffe091eb}body:has(.novelOverlay[data-novel-scene-id=bg\.introStatus][data-novel-line-index="2"][data-novel-attention]) .battlePlayer__judgementLine span{border-color:#ffe091;box-shadow:inset 0 0 12px #ffe09129,0 0 12px #ffe091b8}:is(body:has(.novelOverlay[data-novel-scene-id=t3-deploy-intro]) .deploymentScreen [data-tutorial-id=cmd-ally-reinforce].tutorialBlinkTarget,body:has(.novelOverlay[data-novel-scene-id=t3-deploy-roster]) .deploymentScreen [data-tutorial-id=tutorial-deploy-own-first].tutorialBlinkTarget,body:has(.novelOverlay[data-novel-scene-id=t3-deploy-ally]) .deploymentScreen [data-tutorial-id=tutorial-deploy-ally-first].tutorialBlinkTarget,body:has(.novelOverlay[data-novel-scene-id=t3-deploy-forecast]) .deploymentScreen [data-tutorial-id=tutorial-invasion-confirm].tutorialBlinkTarget),:is(body:has(.novelOverlay[data-novel-scene-id=t5-deploy-roster]) .deploymentScreen [data-tutorial-id=officer-cit_gunma_militia_2].tutorialBlinkTarget,body:has(.novelOverlay[data-novel-scene-id=t5-deploy-detail]) .deploymentScreen [data-tutorial-id=tutorial-deploy-front-center].tutorialBlinkTarget,body:has(.novelOverlay[data-novel-scene-id=t5-deploy-pool]) .deploymentScreen [data-tutorial-id=tutorial-troop-range].tutorialBlinkTarget,body:has(.novelOverlay[data-novel-scene-id=t5-deploy-split]) .deploymentScreen [data-tutorial-id=tutorial-invasion-confirm].tutorialBlinkTarget){box-shadow:none;filter:none;outline:none;animation:none}:is(body:has(.novelOverlay[data-novel-scene-id=t5-deploy-roster][data-novel-line-index="1"]:not([data-novel-attention])) .deploymentScreen [data-tutorial-id=officer-cit_gunma_militia_2],body:has(.novelOverlay[data-novel-scene-id=t5-deploy-detail][data-novel-line-index="0"]:not([data-novel-attention])) .deploymentScreen .tutorialOfficerDetailHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t5-deploy-detail][data-novel-line-index="1"]:not([data-novel-attention])) .deploymentScreen [data-tutorial-id=tutorial-commander-toggle],body:has(.novelOverlay[data-novel-scene-id=t5-deploy-detail][data-novel-line-index="2"]:not([data-novel-attention])) .deploymentScreen [data-tutorial-id=tutorial-commander-toggle],body:has(.novelOverlay[data-novel-scene-id=t5-deploy-detail][data-novel-line-index="3"]:not([data-novel-attention])) .deploymentScreen [data-tutorial-id=tutorial-deploy-front-center],body:has(.novelOverlay[data-novel-scene-id=t5-deploy-pool][data-novel-line-index="0"]:not([data-novel-attention])) .deploymentScreen [data-tutorial-id=officer-cit_gunma_militia_9],body:has(.novelOverlay[data-novel-scene-id=t5-deploy-pool][data-novel-line-index="1"]:not([data-novel-attention])) .deploymentScreen .tutorialTroopRangeHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t5-deploy-split][data-novel-line-index="0"]:not([data-novel-attention])) .deploymentScreen [data-tutorial-id=officer-cit_gunma_militia_9]){border-radius:var(--radius-2);filter:brightness(1.06);outline-offset:-3px;outline:3px solid #ffe091e6;box-shadow:inset 0 0 0 6px #d6a94929,inset 0 0 22px #ffe09138}:is(body:has(.novelOverlay[data-novel-scene-id=t5-deploy-roster][data-novel-line-index="1"][data-novel-attention]) .deploymentScreen [data-tutorial-id=officer-cit_gunma_militia_2],body:has(.novelOverlay[data-novel-scene-id=t5-deploy-detail][data-novel-line-index="0"][data-novel-attention]) .deploymentScreen .tutorialOfficerDetailHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t5-deploy-detail][data-novel-line-index="1"][data-novel-attention]) .deploymentScreen [data-tutorial-id=tutorial-commander-toggle],body:has(.novelOverlay[data-novel-scene-id=t5-deploy-detail][data-novel-line-index="2"][data-novel-attention]) .deploymentScreen [data-tutorial-id=tutorial-commander-toggle],body:has(.novelOverlay[data-novel-scene-id=t5-deploy-detail][data-novel-line-index="3"][data-novel-attention]) .deploymentScreen [data-tutorial-id=tutorial-deploy-front-center],body:has(.novelOverlay[data-novel-scene-id=t5-deploy-pool][data-novel-line-index="0"][data-novel-attention]) .deploymentScreen [data-tutorial-id=officer-cit_gunma_militia_9],body:has(.novelOverlay[data-novel-scene-id=t5-deploy-pool][data-novel-line-index="1"][data-novel-attention]) .deploymentScreen .tutorialTroopRangeHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t5-deploy-split][data-novel-line-index="0"][data-novel-attention]) .deploymentScreen [data-tutorial-id=officer-cit_gunma_militia_9]){border-radius:var(--radius-2);filter:brightness(1.06);outline-offset:-3px;outline:3px solid #ffe091e6;animation:.5s step-end 2 tutorialAttentionBlink;box-shadow:inset 0 0 0 6px #d6a94929,inset 0 0 22px #ffe09138}:is(body:has(.novelOverlay[data-novel-scene-id=t3-deploy-intro][data-novel-line-index="0"]:not([data-novel-attention])) .deploymentScreen .tutorialInvasionEnemyHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t3-deploy-intro][data-novel-line-index="1"]:not([data-novel-attention])) .deploymentScreen .tutorialInvasionTimelineHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t3-deploy-intro][data-novel-line-index="2"]:not([data-novel-attention])) .deploymentScreen [data-tutorial-id=cmd-ally-reinforce],body:has(.novelOverlay[data-novel-scene-id=t3-deploy-roster]:not([data-novel-attention]):is([data-novel-line-index="0"],[data-novel-line-index="1"])) .deploymentScreen .tutorialInvasionRosterHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t3-deploy-roster][data-novel-line-index="2"]:not([data-novel-attention])) .deploymentScreen [data-tutorial-id=tutorial-deploy-own-first],body:has(.novelOverlay[data-novel-scene-id=t3-deploy-ally][data-novel-line-index="0"]:not([data-novel-attention])) .deploymentScreen [data-tutorial-id=tutorial-deploy-ally-first],body:has(.novelOverlay[data-novel-scene-id=t3-deploy-forecast][data-novel-line-index="0"]:not([data-novel-attention])) .deploymentScreen .tutorialInvasionForecastRowHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t3-deploy-forecast][data-novel-line-index="1"]:not([data-novel-attention])) .deploymentScreen [data-tutorial-id=tutorial-invasion-confirm]){border-radius:var(--radius-2);filter:brightness(1.06);outline-offset:-3px;outline:3px solid #ffe091e6;box-shadow:inset 0 0 0 6px #d6a94929,inset 0 0 22px #ffe09138}:is(body:has(.novelOverlay[data-novel-scene-id=t3-deploy-intro][data-novel-line-index="0"][data-novel-attention]) .deploymentScreen .tutorialInvasionEnemyHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t3-deploy-intro][data-novel-line-index="1"][data-novel-attention]) .deploymentScreen .tutorialInvasionTimelineHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t3-deploy-intro][data-novel-line-index="2"][data-novel-attention]) .deploymentScreen [data-tutorial-id=cmd-ally-reinforce],body:has(.novelOverlay[data-novel-scene-id=t3-deploy-roster][data-novel-attention]:is([data-novel-line-index="0"],[data-novel-line-index="1"])) .deploymentScreen .tutorialInvasionRosterHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t3-deploy-roster][data-novel-line-index="2"][data-novel-attention]) .deploymentScreen [data-tutorial-id=tutorial-deploy-own-first],body:has(.novelOverlay[data-novel-scene-id=t3-deploy-ally][data-novel-line-index="0"][data-novel-attention]) .deploymentScreen [data-tutorial-id=tutorial-deploy-ally-first],body:has(.novelOverlay[data-novel-scene-id=t3-deploy-forecast][data-novel-line-index="0"][data-novel-attention]) .deploymentScreen .tutorialInvasionForecastRowHighlightTarget,body:has(.novelOverlay[data-novel-scene-id=t3-deploy-forecast][data-novel-line-index="1"][data-novel-attention]) .deploymentScreen [data-tutorial-id=tutorial-invasion-confirm]){border-radius:var(--radius-2);filter:brightness(1.06);outline-offset:-3px;outline:3px solid #ffe091e6;animation:.5s step-end 2 tutorialAttentionBlink;box-shadow:inset 0 0 0 6px #d6a94929,inset 0 0 22px #ffe09138}.tutorialAllyOfficerHighlightTarget{border-radius:var(--radius-2);filter:brightness(1.06);outline-offset:-3px;outline:3px solid #ffe091e6;box-shadow:inset 0 0 0 6px #d6a94929,inset 0 0 22px #ffe09138}.tutorialInfoHighlight{filter:brightness(1.08);outline-offset:-3px;outline:3px solid #ffe091f0;box-shadow:inset 0 0 0 6px #d6a94924,inset 0 0 22px #ffe0912e}.tutorialSpotlight{border-radius:var(--radius-2);pointer-events:none;z-index:950;border:3px solid #ffe091f0;position:fixed;box-shadow:0 0 0 100vmax #05080cad,0 0 0 6px #d6a9494d,0 0 24px #ffe091c7}.networkNode.tutorialBlinkTarget{box-shadow:none;outline:none;animation:none}.networkNode.tutorialBlinkTarget .provinceCircle{stroke:#ffe091;stroke-width:7px;vector-effect:non-scaling-stroke;animation:.9s ease-in-out infinite moveStrokePulse}@keyframes tutorialBlinkPulse{0%,to{filter:brightness(1.04);outline-color:#ffe091d1}50%{filter:brightness(1.16);outline-color:#fff3bd}}@keyframes tutorialAttentionBlink{0%,49.99%{opacity:0}50%,to{opacity:1}}@media (prefers-reduced-motion:reduce){.tutorialBlinkTarget:not(.networkNode){filter:brightness(1.1);animation:none}:is(body:has(.novelOverlay[data-novel-attention]) .tutorialDefenseEnemyHighlightTarget,body:has(.novelOverlay[data-novel-attention]) .tutorialDefenseBreakdownHighlightTarget,body:has(.novelOverlay[data-novel-attention]) .tutorialDefenseFieldHighlightTarget,body:has(.novelOverlay[data-novel-attention]) .tutorialDefenseArrivalHighlightTarget,body:has(.novelOverlay[data-novel-attention]) .tutorialInvasionEnemyHighlightTarget,body:has(.novelOverlay[data-novel-attention]) .tutorialInvasionTimelineHighlightTarget,body:has(.novelOverlay[data-novel-attention]) .tutorialInvasionRosterHighlightTarget,body:has(.novelOverlay[data-novel-attention]) .tutorialInvasionForecastRowHighlightTarget,body:has(.novelOverlay[data-novel-attention]) .tutorialOfficerDetailHighlightTarget,body:has(.novelOverlay[data-novel-attention]) .tutorialTroopRangeHighlightTarget,body:has(.novelOverlay[data-novel-attention]) .battlePlayer__judgementLine,body:has(.novelOverlay[data-novel-attention]) [data-tutorial-id=tutorial-defense-confirm],body:has(.novelOverlay[data-novel-attention]) [data-tutorial-id=cmd-ally-reinforce],body:has(.novelOverlay[data-novel-attention]) [data-tutorial-id=tutorial-deploy-own-first],body:has(.novelOverlay[data-novel-attention]) [data-tutorial-id=tutorial-deploy-ally-first],body:has(.novelOverlay[data-novel-attention]) [data-tutorial-id=tutorial-deploy-front-center],body:has(.novelOverlay[data-novel-attention]) [data-tutorial-id=officer-cit_gunma_militia_2],body:has(.novelOverlay[data-novel-attention]) [data-tutorial-id=officer-cit_gunma_militia_9],body:has(.novelOverlay[data-novel-attention]) [data-tutorial-id=tutorial-invasion-confirm]){opacity:1;animation:none}.networkNode.tutorialBlinkTarget .provinceCircle{stroke-opacity:1;animation:none}}.factionSummaryPanel{box-shadow:var(--shadow-panel);padding:var(--space-4)}.gameContextPanelTitle{border-bottom:1px solid var(--border-subtle-dark);color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-md);justify-content:space-between;align-items:center;min-height:32px;font-weight:500;line-height:24px;display:flex}.gameContextCloseButton,.gameContextPanel .modalCloseBtn{color:var(--text-primary);align-items:center}.gameContextCloseButton:hover,.gameContextPanel .modalCloseBtn:hover{background:var(--color-ink-700);border-color:var(--border-selected);box-shadow:var(--highlight-control), var(--shadow-control-hover)}.gameContextCloseButton:active,.gameContextPanel .modalCloseBtn:active{background:var(--surface-panel-inset);box-shadow:var(--highlight-control), var(--shadow-control-active);transform:translateY(1px)}.gameContextCloseButton:focus-visible,.gameContextPanel .modalCloseBtn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.factionSummaryIdentity{border-bottom:1px solid var(--border-subtle-dark);align-items:center;gap:var(--space-4);padding:var(--space-2) 0;display:flex}.factionSummaryCrest{border:2px solid var(--color-copper-300);border-radius:var(--radius-round);box-shadow:inset 0 0 0 var(--space-1) var(--surface-panel);color:#fff7e7;flex:0 0 72px;place-items:center;width:72px;height:72px;display:grid}.factionSummaryCrest img,.factionSummaryCrestFallback{border-radius:var(--radius-round);color:#fff7e7;font-family:var(--font-display);font-size:var(--text-xl);object-fit:contain;border:0;flex:0 0 56px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.factionSummaryIdentityCopy{min-width:0}.factionSummaryIdentity h2{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-3xl);margin:0;font-weight:600;line-height:44px}.factionSummaryIdentity p{color:var(--text-secondary);font-size:var(--text-sm);align-items:baseline;gap:var(--space-2);margin:0;line-height:20px;display:flex}.factionSummaryIdentity p>span{color:var(--color-copper-400)}.factionSummaryIdentity p>strong{color:var(--text-primary);font-family:var(--font-display);font-weight:500}.factionSummaryData{border-bottom:1px solid var(--border-subtle-dark);padding:var(--space-1) 0}.factionSummaryDataRow{border-bottom:1px solid var(--border-subtle-dark);align-items:center;gap:var(--space-4);grid-template-columns:minmax(0,1fr) 128px;min-height:40px;display:grid}.factionSummaryDataRow:last-child{border-bottom:0}.factionSummaryDataLabel{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-md);align-items:center;gap:var(--space-2);min-width:0;line-height:24px;display:flex}.factionSummaryDataLabel .gameIcon{color:var(--color-copper-300);flex:0 0 18px}.factionSummaryDataValue{text-align:right;flex-direction:column;min-width:0;display:flex}.factionSummaryDataRow strong{color:var(--text-primary);font-family:var(--font-data);font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:600;line-height:22px}.factionSummaryDataRow small{color:var(--color-copper-400);font-family:var(--font-data);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;line-height:16px}.factionSummaryDiplomacy h3{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-lg);margin:var(--space-1) 0;font-weight:500;line-height:26px}.selectedProvincePanel h3{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-lg);margin:var(--space-4) 0 var(--space-2);font-weight:500;line-height:26px}.factionSummaryDiplomacy ul{border-top:1px solid var(--border-subtle-dark);margin:0;padding:0;list-style:none;display:grid}.factionSummaryDiplomacy li{border-bottom:1px solid var(--border-subtle-dark);font-size:var(--text-sm);min-height:32px;padding:var(--space-1) 0;justify-content:space-between;align-items:center;line-height:20px;display:flex}.factionSummaryDiplomacy p,.factionSummaryDiplomacy small{color:var(--text-secondary);font-size:var(--text-xs);line-height:18px}.factionSummaryDiplomacy p{margin:0}.factionSummaryDiplomacyMore{background:var(--surface-panel-raised);border:1px solid var(--border-default);border-radius:var(--radius-2);color:var(--text-primary);cursor:pointer;font-size:var(--text-sm);margin-top:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-3);width:100%;box-shadow:var(--highlight-control), var(--shadow-control);font-weight:500;line-height:20px;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform 80ms}.factionSummaryDiplomacyMore:hover:not(:disabled){background:var(--color-ink-700);border-color:var(--border-selected);box-shadow:var(--highlight-control), var(--shadow-control-hover)}.factionSummaryDiplomacyMore:active:not(:disabled){background:var(--surface-panel-inset);box-shadow:var(--highlight-control), var(--shadow-control-active);transform:translateY(1px)}.factionSummaryDiplomacyMore:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.selectedProvincePanel{box-shadow:var(--shadow-panel);padding:var(--space-4);flex-direction:column;display:flex;overflow:hidden}.selectedProvincePanelScrollBody{scrollbar-width:thin;min-height:0;overflow-y:auto}.selectedProvincePanelTitle{flex:none}.selectedProvincePanel .provinceInfoHeader{border-bottom:1px solid var(--border-subtle-dark);gap:var(--space-3);min-height:88px;padding:var(--space-2) 0;margin:0}.provinceInfoHeaderCommander{flex:0 0 72px;width:72px;height:72px;display:block}.provinceInfoHeaderCommander img{border:1px solid var(--color-copper-400);border-radius:var(--radius-1);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-copper-500) 14%, transparent);object-fit:cover;width:72px;height:72px;display:block}.selectedProvincePanel .provinceInfoHeader h2{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;line-height:36px}.selectedProvincePanel .provinceInfoHeader p{font-size:var(--text-2xs);line-height:16px}.selectedProvincePanel .provinceInfoHeader p,.selectedProvincePanel .label{color:var(--text-secondary)}.selectedProvincePanel .provinceInfoGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.selectedProvinceWarRequestStatus{margin:var(--space-2) 0 0}.selectedProvincePanel .provinceInfoGrid>div{border:0;border-bottom:1px solid var(--border-subtle-dark);border-right:1px solid var(--border-subtle-dark);gap:var(--space-2);min-width:0;min-height:32px;padding:var(--space-1) var(--space-2);background:0 0;border-radius:0;grid-template-columns:minmax(64px,auto) minmax(0,1fr)}.selectedProvincePanel .provinceInfoGrid>div.provinceInfoRightCell,.selectedProvincePanel .provinceInfoGrid>div.provinceInfoPoolCell,.selectedProvincePanel .provinceInfoGrid>div.provinceInfoFullCell{border-right:0}.selectedProvincePanel .provinceInfoGrid>div>span:last-child{color:var(--text-primary);font-family:var(--font-data);font-size:var(--text-xs);font-variant-numeric:tabular-nums;font-weight:500}.selectedProvincePanel .provinceInfoGrid>div.provinceInfoPoolCell{align-items:start}.selectedProvincePanel .provinceInfoTroopList{color:var(--text-primary);font-family:var(--font-data);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.selectedProvincePanel .provinceInfoTroopRow small{color:var(--text-secondary)}.selectedProvincePanel .provinceInfoTroopTotal{border-top-color:var(--border-subtle-dark)}.selectedProvincePanel .provinceInfoGrid .label{font-family:var(--font-display);font-size:var(--text-2xs);line-height:16px}.selectedProvincePanel h3{border-bottom:1px solid var(--border-subtle-dark);color:var(--text-primary);font-size:var(--text-md);margin:var(--space-2) 0 0;min-height:32px;padding:var(--space-1) 0;line-height:24px}.selectedProvincePanel .officerList,.selectedProvincePanel .adjacentList{margin:0;padding:0;list-style:none}.selectedProvincePanel .provinceOfficerCard{border:0;border-bottom:1px solid var(--border-subtle-dark);padding:var(--space-2) 0;background:0 0;border-radius:0;margin:0}.selectedProvincePanel .provinceOfficerList{gap:0}.selectedProvincePanel .deployedOfficerPortrait{border-color:var(--border-subtle-dark);border-radius:var(--radius-1);width:40px;height:40px}.selectedProvincePanel .deployedOfficerHeader{grid-template-columns:40px minmax(0,1fr)}.selectedProvincePanel .deployedOfficerStats div{border-left:1px solid var(--border-subtle-dark);background:0 0;border-radius:0}.selectedProvincePanel .adjacentList button{border:0;border-bottom:1px solid var(--border-subtle-dark);box-shadow:none;color:var(--text-primary);cursor:pointer;font-family:var(--font-display);font-size:var(--text-xs);min-height:32px;padding:var(--space-1) var(--space-2);text-align:left;background:0 0;border-radius:0;width:100%;line-height:18px;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform 80ms}.selectedProvincePanel .adjacentList button:hover:not(:disabled){background:var(--color-ink-700);border-color:var(--color-copper-400);box-shadow:none}.selectedProvincePanel .adjacentList button:active:not(:disabled){background:var(--surface-panel-inset);box-shadow:none;transform:translateY(1px)}.selectedProvincePanel .adjacentList button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.selectedProvincePanel .adjacentList li+li{margin-top:0}.selectedProvinceOfficerSection:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.selectedProvincePanelFooter{background:var(--surface-panel);border-top:1px solid var(--border-subtle-dark);margin-top:var(--space-2);padding:var(--space-2) 0 0;flex:none}.selectedProvinceOfficerButton{background:var(--surface-panel-raised);color:var(--text-primary);font-size:var(--text-sm);width:100%;height:40px;line-height:20px}.chronicleBar{color:var(--text-secondary);align-items:center;gap:var(--space-3);margin:0 var(--space-1) var(--space-1) var(--space-1);min-height:0;z-index:var(--z-ticker);grid-area:chronicle;grid-template-columns:112px minmax(0,1fr) auto;padding:0;display:grid;position:relative}.chronicleBar>h2{text-align:center;font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-primary);align-self:center;margin:0;font-weight:500;line-height:36px}.chronicleTicker{border:0;border-left:1px solid var(--border-subtle-dark);color:var(--text-primary);align-items:center;gap:var(--space-3);min-width:0;padding:0 var(--space-3);text-align:left;background:0 0;grid-template-columns:auto minmax(0,1fr);display:grid}.chronicleLogButton{background:var(--surface-panel-raised);border:1px solid var(--color-copper-700);border-radius:var(--radius-1);color:var(--color-copper-300);cursor:pointer;font-family:var(--font-display);font-size:var(--text-sm);align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);display:flex}.chronicleLogButton:hover{background:#ffffff0a}.chronicleLogButton:active{background:var(--surface-panel-inset)}.chronicleLogButton:focus-visible{box-shadow:inset 0 0 0 2px var(--border-focus);outline:0}.chronicleTurn{color:var(--color-copper-400);font-family:var(--font-data);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;line-height:16px}.chronicleTicker .newsItem{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:24px;overflow:hidden}.chronicleTicker .newsTicker{pointer-events:none;z-index:auto;background:0 0;border:0;height:36px;position:relative;bottom:auto;left:auto;right:auto;overflow:hidden}.chronicleTicker .newsItem{max-width:100%;left:0}.chronicleTicker .chronicleRestingNews{will-change:auto;transform:translateY(-50%)}.chronicleTicker .chronicleRestingNews--history{color:var(--text-secondary);opacity:.64}.chronicleTicker .newsTickerIcon{width:24px;height:24px}@media (prefers-reduced-motion:reduce){.gameShell *,.gameShell :before,.gameShell :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dsText,.dsHeading{color:inherit;margin:0}.dsText--ui{font-family:var(--font-ui)}.dsText--display,.dsHeading{font-family:var(--font-display)}.dsText--data{font-family:var(--font-data);font-variant-numeric:tabular-nums}.dsText--2xs{font-size:var(--text-2xs);line-height:16px}.dsText--xs{font-size:var(--text-xs);line-height:18px}.dsText--sm{font-size:var(--text-sm);line-height:20px}.dsText--md{font-size:var(--text-md);line-height:24px}.dsText--lg{font-size:var(--text-lg);line-height:26px}.dsText--xl{font-size:var(--text-xl);line-height:30px}.dsText--2xl{font-size:var(--text-2xl);line-height:36px}.dsText--3xl{font-size:var(--text-3xl);line-height:44px}.dsHeading{font-weight:600}.dsSectionHeader{border-bottom:var(--border-width-hairline) solid var(--border-subtle-dark);align-items:center;gap:var(--space-3);min-height:40px;padding-block:var(--space-3);display:flex}.dsPanel--paper .dsSectionHeader{border-bottom-color:var(--border-subtle-light)}.dsPanel--modal .dsSectionHeader{text-shadow:0 1px #000c,0 -1px #e6c08929;letter-spacing:.1em;border-bottom:1px solid #00000080;box-shadow:0 1px #e6c0891f}.dsPanel--dark .dsSectionHeader{border-bottom:3px double var(--color-copper-500);letter-spacing:.06em}.dsSectionHeader__icon{color:var(--color-copper-400);flex:0 0 20px;justify-content:center;align-items:center;display:inline-flex}.dsSectionHeader__text{flex-direction:column;flex:1;min-width:0;display:flex}.dsSectionHeader__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:26px}.dsSectionHeader__subtitle{color:var(--text-secondary);font-family:var(--font-ui);font-size:var(--text-2xs);line-height:16px}.dsPanel--paper .dsSectionHeader__subtitle{color:var(--text-map-secondary)}.dsSectionHeader__actions{align-items:center;gap:var(--space-2);flex:none;justify-content:flex-end;display:flex}.dsTabs{gap:var(--space-1);scrollbar-color:var(--color-copper-600) var(--surface-panel-inset);max-width:100%;display:flex;overflow-x:auto}.dsTabs__tab{border:0;border-bottom:var(--border-width-selected) solid transparent;color:var(--text-secondary);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);height:40px;padding:0 var(--space-4);transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0;flex:none;line-height:20px}.dsTabs__tab:hover:not(:disabled),.dsTabs__tab.isPreviewHover:not(:disabled){background:var(--surface-panel-raised);box-shadow:none;color:var(--text-primary)}.dsTabs__tab:hover:not(:disabled):not(.isActive):not(.isPreviewActive),.dsTabs__tab.isPreviewHover:not(:disabled):not(.isActive):not(.isPreviewActive){border-color:#0000}.dsTabs__tab:active:not(:disabled),.dsTabs__tab.isPreviewActive:not(:disabled),.dsTabs__tab.isActive{background:var(--surface-panel-raised);border-bottom-color:var(--color-copper-400);color:var(--text-primary)}.dsTabs__tab:focus-visible,.dsTabs__tab.isPreviewFocus{outline:2px solid var(--border-focus);outline-offset:-2px}.dsTabs__tab:disabled{color:var(--color-text-disabled);cursor:not-allowed;opacity:.48}.dsSegment{background:var(--surface-panel-inset);border:1px solid var(--color-copper-700);border-radius:var(--radius-1);box-shadow:inset 0 0 0 1px var(--border-subtle-dark);box-sizing:border-box;align-items:center;gap:2px;padding:3px;display:inline-flex}.dsSegment__item{border-radius:var(--radius-1);box-sizing:border-box;color:var(--text-secondary);cursor:pointer;font-family:var(--font-ui);padding:0 var(--space-3);transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0;border:1px solid #0000}.dsSegment--sm{height:32px}.dsSegment--md{height:40px}.dsSegment--sm .dsSegment__item{font-size:var(--text-xs);height:24px}.dsSegment--md .dsSegment__item{font-size:var(--text-sm);height:32px}.dsSegment__item:hover:not(:disabled){background:color-mix(in srgb, var(--color-copper-500) 8%, transparent);border-color:var(--border-subtle-dark);color:var(--text-primary)}.dsSegment__item.isSelected{background:color-mix(in srgb, var(--color-copper-500) 18%, transparent);border-color:var(--color-copper-600);box-shadow:inset 0 0 0 1px var(--border-subtle-dark);color:var(--color-copper-300)}.dsSegment__item.isSelected:hover:not(:disabled){background:color-mix(in srgb, var(--color-copper-500) 22%, transparent);border-color:var(--color-copper-500)}.dsSegment__item:active:not(:disabled){background:color-mix(in srgb, var(--color-copper-500) 26%, transparent);transform:none}.dsSegment__item:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.dsSegment__item:disabled{cursor:default;opacity:.34}.dsTableScroll{scrollbar-color:var(--color-copper-600) var(--surface-panel-inset);max-width:100%;overflow:auto}.dsTable{border-collapse:collapse;color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-xs);width:100%;min-width:100%}.dsTable th,.dsTable td{border-bottom:var(--border-width-hairline) solid var(--border-subtle-dark);height:40px;padding:var(--space-2) var(--space-3);text-align:left}.dsTable th{background:var(--surface-panel-raised);z-index:1;font-weight:600;position:sticky;top:0}.dsTable tbody tr:nth-child(2n){background:color-mix(in srgb, var(--surface-panel-raised) 3%, transparent)}.dsTable tbody tr:hover,.dsTable tbody tr.isPreviewHover{background:color-mix(in srgb, var(--color-copper-500) 8%, transparent)}.dsTable tbody tr.isSelected{background:color-mix(in srgb, var(--color-copper-500) 14%, transparent);box-shadow:inset var(--border-width-selected) 0 0 var(--color-copper-400)}.dsTable .isNumeric{font-family:var(--font-data);font-variant-numeric:tabular-nums;text-align:right}.dsTooltipAnchor{display:inline-flex}.dsTooltipAnchor:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.dsTooltip{background:var(--surface-panel-inset);border:var(--border-width-hairline) solid var(--color-copper-600);border-radius:var(--radius-2);box-shadow:var(--shadow-control);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-2xs);max-width:280px;padding:var(--space-2) var(--space-3);pointer-events:none;z-index:var(--z-popover);line-height:16px;position:fixed}@keyframes dsModalEnter{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.dsModalBackdrop{animation:dsModalEnter var(--motion-fast) var(--ease-enter);background:var(--surface-overlay);padding:var(--space-6);z-index:var(--z-modal-backdrop);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.dsModalBackdrop:has(~.dsModalBackdrop){visibility:hidden}@media (prefers-reduced-motion:reduce){.dsModalBackdrop{animation:none}}.dsModal{max-width:calc(var(--stage-w) - var(--space-12));z-index:var(--z-modal);flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.dsModal--sm{width:440px;max-height:864px}.dsModal--md{width:600px;max-height:907px}.dsModal--lg{width:880px;max-height:950px}.dsModal--xl{width:1180px;max-height:994px}.dsModal--screen{height:calc(var(--stage-h) - var(--space-8));max-height:calc(var(--stage-h) - var(--space-8));width:calc(var(--stage-w) - var(--space-8))}.dsModal--embedded{border-color:var(--color-copper-700);z-index:auto;border-radius:0;width:100%;max-width:none;height:100%;max-height:none}.dsModal>.dsSectionHeader{background:var(--surface-panel-raised);min-height:64px;padding:var(--space-3) var(--space-4);z-index:1;position:sticky;top:0}.dsModal>.dsSectionHeader .dsSectionHeader__title{font-size:var(--text-xl);line-height:30px}.dsModal__body{padding:var(--space-4);overflow:auto}.dsModal__footer{background:var(--surface-panel-raised);border-top:var(--border-width-hairline) solid var(--border-subtle-dark);align-items:center;gap:var(--space-2);min-height:64px;padding:var(--space-3) var(--space-4);justify-content:flex-end;display:flex;position:sticky;bottom:0}.dsStatus{background:var(--surface-panel-inset);border:var(--border-width-hairline) solid var(--border-subtle-dark);border-left-width:var(--border-width-selected);border-radius:var(--radius-2);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-sm);align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-3);display:flex}.dsStatus__marker{border-radius:var(--radius-round);background:currentColor;width:8px;height:8px}.dsStatus--success{border-left-color:var(--color-success-600);color:var(--color-success-600)}.dsStatus--warning{border-left-color:var(--color-warning-600);color:var(--color-warning-600)}.dsStatus--danger{border-left-color:var(--color-danger-600);color:var(--color-danger-600)}.dsStatus--info{border-left-color:var(--color-info-600);color:var(--color-info-600)}.dsStatus--disabled{border-left-color:var(--color-text-disabled);color:var(--color-text-disabled);opacity:.64}.dsStatus--selected{border-left-color:var(--color-copper-300);color:var(--color-copper-300)}.dsStatus>span:last-child{color:var(--text-primary)}.dsStatus--disabled>span:last-child{color:var(--color-text-disabled)}.dsBadge{border:var(--border-width-hairline) solid currentColor;border-radius:var(--radius-1);font-family:var(--font-ui);font-size:var(--text-2xs);height:22px;padding:0 var(--space-2);align-items:center;font-weight:500;line-height:16px;display:inline-flex}.dsBadge--danger{background:color-mix(in srgb, var(--color-danger-600) 20%, transparent);color:var(--color-danger-600)}.dsBadge--success{background:color-mix(in srgb, var(--color-success-600) 20%, transparent);color:var(--color-success-600)}.dsBadge--warning{background:color-mix(in srgb, var(--color-warning-600) 20%, transparent);color:var(--color-warning-600)}.dsBadge--neutral{background:color-mix(in srgb, var(--color-ink-600) 24%, transparent);color:var(--text-secondary)}.dsBadge--primary{background:color-mix(in srgb, var(--color-primary-500) 20%, transparent);color:var(--color-primary-300)}.dsBadge--info{background:color-mix(in srgb, var(--color-info-600) 20%, transparent);color:var(--color-copper-300)}.dsBadge--relation-self{background:color-mix(in srgb, var(--map-relation-self) 20%, transparent);color:var(--map-relation-self)}.dsBadge--relation-ally{background:color-mix(in srgb, var(--map-relation-ally) 20%, transparent);color:var(--map-relation-ally)}.dsBadge--relation-hostile{background:color-mix(in srgb, var(--map-relation-hostile) 20%, transparent);color:var(--map-relation-hostile)}.dsBadge--relation-neutral{background:color-mix(in srgb, var(--map-relation-neutral) 20%, transparent);color:var(--map-relation-neutral)}.dsStateMessage{background:var(--surface-panel-inset);border:var(--border-width-hairline) dashed var(--border-subtle-dark);border-radius:var(--radius-2);align-items:center;gap:var(--space-2);min-height:156px;padding:var(--space-4);text-align:center;flex-direction:column;justify-content:center;display:flex}.dsStateMessage__symbol{border:var(--border-width-panel) solid var(--color-copper-600);border-radius:var(--radius-round);width:20px;height:20px}.dsStateMessage__title{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-md);font-weight:600;line-height:24px}.dsStateMessage__description{color:var(--text-secondary);font-family:var(--font-ui);font-size:var(--text-sm);line-height:20px}.dsStateMessage--loading .dsStateMessage__symbol{animation:dsStateSpin var(--motion-slow) linear infinite;border-color:var(--border-subtle-dark);border-top-color:var(--color-copper-300)}.dsStateMessage--error{border-color:var(--color-danger-600)}.dsStateMessage--error .dsStateMessage__symbol{border-color:var(--color-danger-600);border-radius:var(--radius-1);transform:rotate(45deg)}.dsStateMessage--error .dsStateMessage__title{color:var(--color-primary-300)}.dsStateMessage--zero .dsStateMessage__symbol{border-color:var(--color-text-disabled)}@keyframes dsStateSpin{to{transform:rotate(360deg)}}.dsField{flex-direction:column;gap:6px;display:flex}.dsField__label{color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-xs);align-items:center;gap:var(--space-2);font-weight:500;line-height:18px;display:flex}.dsField__required{border:var(--border-width-hairline) solid var(--color-copper-600);border-radius:var(--radius-1);color:var(--color-copper-300);font-size:var(--text-2xs);padding:0 var(--space-1);line-height:16px}.dsField__help,.dsField__error{font-family:var(--font-ui);font-size:var(--text-2xs);line-height:16px}.dsField__help{color:var(--text-secondary)}.dsField__error{color:var(--color-primary-300)}.dsInput,.dsTextarea,.dsSelect__trigger{background:var(--surface-panel-inset);border:var(--border-width-control) solid var(--border-subtle-dark);border-radius:var(--radius-2);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-sm);transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);width:100%;line-height:20px}.dsInput,.dsSelect__trigger{height:40px;padding:0 var(--space-3)}.dsTextarea{min-height:96px;padding:var(--space-2) var(--space-3);resize:vertical}.dsInput--number{font-family:var(--font-data);font-variant-numeric:tabular-nums}.dsInput:hover:not(:disabled),.dsInput.isPreviewHover,.dsTextarea:hover:not(:disabled),.dsSelect__trigger:hover:not(:disabled){border-color:var(--color-copper-400)}.dsInput:active:not(:disabled),.dsInput.isPreviewActive,.dsTextarea:active:not(:disabled),.dsSelect__trigger:active:not(:disabled){background:var(--color-ink-900);border-color:var(--color-copper-300);box-shadow:var(--inset-well)}.dsInput:focus-visible,.dsInput.isPreviewFocus,.dsTextarea:focus-visible{border-color:var(--color-copper-400);box-shadow:inset 0 -3px 0 var(--color-copper-400);outline:2px solid var(--border-focus);outline-offset:2px}.dsSelect__trigger:focus-visible{border-color:var(--color-copper-300);outline:2px solid var(--border-focus);outline-offset:2px}.dsInput:disabled,.dsTextarea:disabled,.dsSelect__trigger:disabled{cursor:not-allowed;opacity:.5}.dsInput::placeholder,.dsTextarea::placeholder{color:var(--text-secondary);opacity:.75}.dsField.hasError .dsInput,.dsField.hasError .dsTextarea,.dsField.hasError .dsSelect__trigger{border-color:var(--color-danger-600)}.dsSelect{width:100%;position:relative}.dsSelect.isOpen{z-index:var(--z-popover)}.dsSelect__trigger{cursor:pointer;padding-right:var(--space-10);text-align:left;justify-content:space-between;align-items:center;display:flex;position:relative}.dsSelect--sm .dsSelect__trigger{height:32px}.dsSelect__triggerLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dsSelect__trigger .isPlaceholder{color:var(--text-secondary);opacity:.75}.dsSelect__arrow{border-bottom:var(--border-width-panel) solid currentColor;border-right:var(--border-width-panel) solid currentColor;height:8px;right:var(--space-3);transition:transform var(--motion-fast) var(--ease-standard);width:8px;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.dsSelect.isOpen .dsSelect__arrow{top:50%;transform:translateY(-50%)rotate(225deg)}.dsSelect__listbox{background:var(--surface-panel-inset);border:var(--border-width-control) solid var(--color-copper-600);border-radius:var(--radius-2);box-shadow:var(--shadow-panel);min-width:100%;max-width:320px;max-height:240px;padding:var(--space-1);left:0;right:auto;top:calc(100% + var(--space-1));width:max-content;z-index:var(--z-popover);flex-direction:column;display:flex;position:absolute;overflow-y:auto}.dsSelect--menuEnd .dsSelect__listbox{left:auto;right:0}.dsSelect__option{border:0;border-left:var(--border-width-selected) solid transparent;border-radius:var(--radius-1);color:var(--text-primary);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);min-height:40px;padding:var(--space-2) var(--space-3);text-align:left;white-space:nowrap;background:0 0;justify-content:space-between;align-items:center;width:100%;line-height:20px;display:flex}.dsSelect__option:hover:not(:disabled),.dsSelect__option.isActive{background:var(--surface-panel-raised);box-shadow:none;color:var(--color-copper-300)}.dsSelect__option:hover:not(:disabled):not(.isSelected),.dsSelect__option.isActive:not(.isSelected){border-color:#0000}.dsSelect__option.isSelected{background:color-mix(in srgb, var(--color-copper-500) 14%, transparent);border-left-color:var(--color-copper-400)}.dsSelect__option:disabled{color:var(--color-text-disabled);cursor:not-allowed;opacity:.5}.dsSelect__check{border-bottom:var(--border-width-panel) solid var(--color-copper-300);border-right:var(--border-width-panel) solid var(--color-copper-300);height:8px;margin-right:var(--space-1);width:4px;transform:rotate(45deg)}.dsChoice{color:var(--text-primary);cursor:pointer;font-family:var(--font-ui);align-items:flex-start;gap:var(--space-2);min-height:36px;display:inline-flex;position:relative}.dsChoice>input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.dsChoice__control{background:var(--surface-panel-inset);border:var(--border-width-control) solid var(--border-subtle-dark);border-radius:var(--radius-1);height:18px;transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);flex:0 0 18px;margin-top:1px;position:relative}.dsChoice--radio .dsChoice__control{border-radius:var(--radius-round)}.dsChoice>input:checked+.dsChoice__control{background:var(--color-copper-600);border-color:var(--color-copper-300)}.dsChoice--checkbox>input:checked+.dsChoice__control:after{border-bottom:var(--border-width-panel) solid var(--text-primary);border-right:var(--border-width-panel) solid var(--text-primary);content:"";width:4px;height:8px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.dsChoice--radio>input:checked+.dsChoice__control:after{background:var(--text-primary);border-radius:var(--radius-round);content:"";width:8px;height:8px;position:absolute;inset:4px}.dsChoice:hover .dsChoice__control{border-color:var(--color-copper-400)}.dsChoice>input:focus-visible+.dsChoice__control{border-color:var(--color-copper-300);outline:2px solid var(--border-focus);outline-offset:2px}.dsChoice.isDisabled{color:var(--color-text-disabled);cursor:not-allowed;opacity:.5}.dsChoice__text{flex-direction:column;display:flex}.dsChoice__label{font-size:var(--text-sm);line-height:20px}.dsChoice__description{color:var(--text-secondary);font-size:var(--text-2xs);line-height:16px}.dsToggle{color:var(--text-primary);cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-1);background:0 0;border:0;display:inline-flex}.dsToggle__track{background:var(--surface-panel-inset);border:var(--border-width-control) solid var(--border-subtle-dark);border-radius:var(--radius-round);box-shadow:var(--inset-well);height:24px;transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);width:44px;padding:2px}.dsToggle__thumb{background:var(--color-text-disabled);border-radius:var(--radius-round);height:18px;transition:background-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);width:18px;display:block}.dsToggle.isChecked .dsToggle__track{background:var(--color-copper-700);border-color:var(--color-copper-400)}.dsToggle.isChecked .dsToggle__thumb{background:var(--text-primary);transform:translate(20px)}.dsToggle:hover:not(:disabled){box-shadow:none;background:0 0;border-color:#0000}.dsToggle:hover:not(:disabled) .dsToggle__track{border-color:var(--color-copper-300)}.dsToggle:active:not(:disabled) .dsToggle__thumb{background:var(--color-copper-300)}.dsToggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.dsToggle:disabled{color:var(--color-text-disabled);cursor:not-allowed;opacity:.5}.dsRange{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.dsRange__header{justify-content:space-between;align-items:baseline;display:flex}.dsRange__label{color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:500;line-height:18px}.dsRange__output{color:var(--color-copper-300);font-family:var(--font-data);font-size:var(--text-sm);font-variant-numeric:tabular-nums;line-height:20px}.dsRange>input{appearance:none;cursor:pointer;background:0 0;width:100%;height:18px;margin:0}.dsRange>input::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--color-copper-500) 0 var(--ds-range-progress), var(--surface-panel-inset) var(--ds-range-progress) 100%);border:var(--border-width-hairline) solid var(--border-subtle-dark);border-radius:var(--radius-round);box-shadow:var(--inset-well);height:6px}.dsRange>input::-webkit-slider-thumb{appearance:none;background:var(--color-copper-400);border:var(--border-width-panel) solid var(--text-primary);border-radius:var(--radius-round);box-shadow:var(--shadow-control);width:18px;height:18px;margin-top:-7px}.dsRange>input::-moz-range-track{background:linear-gradient(to right, var(--color-copper-500) 0 var(--ds-range-progress), var(--surface-panel-inset) var(--ds-range-progress) 100%);border:var(--border-width-hairline) solid var(--border-subtle-dark);border-radius:var(--radius-round);box-shadow:var(--inset-well);height:6px}.dsRange>input::-moz-range-thumb{background:var(--color-copper-400);border:var(--border-width-panel) solid var(--text-primary);border-radius:var(--radius-round);box-shadow:var(--shadow-control);width:18px;height:18px}.dsRange>input:hover:not(:disabled)::-webkit-slider-thumb{background:var(--color-copper-300)}.dsRange>input:hover:not(:disabled)::-moz-range-thumb{background:var(--color-copper-300)}.dsRange>input:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.dsRange>input:disabled{cursor:not-allowed;opacity:.5}.componentGallery{background:linear-gradient(color-mix(in srgb, var(--color-ink-950) 94%, transparent), color-mix(in srgb, var(--color-ink-900) 96%, transparent)), repeating-linear-gradient(90deg, transparent 0, transparent 31px, var(--border-subtle-dark) 32px);color:var(--text-primary);font-family:var(--font-ui);min-height:100vh;padding:var(--space-8);width:100%;position:relative}.componentGallery__portal{pointer-events:none;z-index:var(--z-modal-backdrop);position:fixed;inset:0}.componentGallery__portal>.dsModalBackdrop{pointer-events:auto}.componentGallery__hero{border-bottom:var(--border-width-panel) solid var(--color-copper-600);margin:0 auto var(--space-6);max-width:1600px;padding:0 0 var(--space-5);justify-content:space-between;align-items:flex-end;display:flex}.componentGallery__eyebrow{color:var(--color-copper-400);margin-bottom:var(--space-1);display:block}.componentGallery__intro{color:var(--text-secondary);margin-top:var(--space-2)}.componentGallery__backLink{color:var(--color-copper-300);font-size:var(--text-sm);min-height:40px;padding:var(--space-2) var(--space-3)}.componentGallery__backLink:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.componentGallery__qaToolbar{background:var(--surface-panel-inset);border:var(--border-width-hairline) solid var(--border-subtle-dark);color:var(--text-secondary);font-family:var(--font-stamp);font-size:var(--text-xs);align-items:center;gap:var(--space-3);margin:0 auto var(--space-4);max-width:1600px;padding:var(--space-2) var(--space-3);display:flex}.componentGallery__qaToolbar input[type=range]{flex:1;min-width:160px}.componentGallery__qaToolbar output{color:var(--color-copper-300);min-width:5ch}.componentGallery__grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));max-width:1600px;margin:0 auto;display:grid}.componentGallery__section{min-width:0}.componentGallery__section--wide{grid-column:1/-1}.componentGallery__controlsGrid{gap:var(--space-4);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.componentGallery__sectionBody{gap:var(--space-4);padding-top:var(--space-4);flex-direction:column;display:flex}.componentGallery__stateGrid{gap:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.componentGallery__stateSample{align-items:stretch;gap:var(--space-2);flex-direction:column;display:flex}.componentGallery__stateLabel{color:var(--color-copper-400)}.componentGallery__buttonMatrixScroll{padding:var(--space-1);overflow-x:auto}.componentGallery__buttonMatrix{border-collapse:collapse;width:100%;min-width:920px}.componentGallery__buttonMatrix th,.componentGallery__buttonMatrix td{border-bottom:var(--border-width-hairline) solid var(--border-subtle-dark);padding:var(--space-3);text-align:center}.componentGallery__buttonMatrix th{color:var(--color-copper-400);font-family:var(--font-stamp);font-size:var(--text-xs);font-weight:500}.componentGallery__buttonMatrix td .dsButton{min-width:112px}.componentGallery__row,.componentGallery__filterRow{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.componentGallery__panelGrid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.componentGallery__panelSample{box-shadow:none;gap:var(--space-2);flex-direction:column;min-height:140px;display:flex}.componentGallery__typeSpecimen{gap:var(--space-2);flex-direction:column;display:flex}.componentGallery__iconGrid{gap:var(--space-2);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.componentGallery__iconGroup{gap:var(--space-3);flex-direction:column;display:flex}.componentGallery__iconGroup+.componentGallery__iconGroup{border-top:var(--border-width-hairline) solid var(--border-subtle-dark);margin-top:var(--space-4);padding-top:var(--space-4)}.componentGallery__iconGroupHeader{align-items:baseline;gap:var(--space-3);display:flex}.componentGallery__iconSample{border:var(--border-width-hairline) solid var(--border-subtle-dark);color:var(--color-copper-300);align-items:center;gap:var(--space-1);min-height:72px;padding:var(--space-2);flex-direction:column;justify-content:center;display:flex}.componentGallery__tooltipRow{min-height:72px}.componentGallery__modalField{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}.componentGallery__modalSizeControls{margin-bottom:var(--space-2);width:max-content}.componentGallery__modalField label{font-size:var(--text-xs);font-weight:500}.componentGallery__modalField input{background:var(--surface-panel-inset);border:var(--border-width-control) solid var(--border-subtle-dark);border-radius:var(--radius-2);color:var(--text-primary);font:inherit;height:40px;padding:0 var(--space-3)}.componentGallery__modalField input:hover{border-color:var(--color-copper-400)}.componentGallery__modalField input:focus-visible{border-color:var(--color-copper-300);outline:2px solid var(--border-focus);outline-offset:2px}.componentGallery__statusGrid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.componentGallery__formGrid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.componentGallery__selectEndSample{align-items:flex-end}.componentGallery__formWide{grid-column:1/-1}.componentGallery__choiceGroup{gap:var(--space-2);flex-direction:column;display:flex}.componentGallery__choiceFieldset{border:var(--border-width-hairline) solid var(--border-subtle-dark);border-radius:var(--radius-2);gap:var(--space-2);min-width:0;padding:var(--space-3);flex-direction:column;margin:0;display:flex}.componentGallery__choiceFieldset legend{color:var(--text-secondary);font-family:var(--font-ui);font-size:var(--text-xs);padding:0 var(--space-1)}.componentGallery__emptyGrid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.componentGallery__scrollDemo{background:var(--surface-panel-inset);border:var(--border-width-hairline) solid var(--border-subtle-dark);border-radius:var(--radius-2);max-height:156px;overflow:auto}.componentGallery__scrollDemo:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.componentGallery__scrollContent{flex-direction:column;min-width:720px;display:flex}.componentGallery__scrollContent span{border-bottom:var(--border-width-hairline) solid var(--border-subtle-dark);font-family:var(--font-ui);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);line-height:20px}.componentGallery__stateGrid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.componentGallery__focusPatternGrid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.componentGallery__tokenList{border:var(--border-width-hairline) solid var(--border-subtle-dark);border-radius:var(--radius-2);flex-direction:column;display:flex}.componentGallery__tokenRow{border-bottom:var(--border-width-hairline) solid var(--border-subtle-dark);align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-3);grid-template-columns:minmax(180px,1fr) 80px auto minmax(112px,auto);display:grid}.componentGallery__tokenRow:last-child{border-bottom:0}.componentGallery__tokenRow>span:first-child{flex-direction:column;display:flex}.componentGallery__tokenRow strong{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500}.componentGallery__tokenRow code{color:var(--text-secondary);font-family:var(--font-stamp);font-size:var(--text-2xs);line-height:16px}.componentGallery__copyResult{color:var(--color-copper-300);font-family:var(--font-ui);font-size:var(--text-2xs);line-height:16px}.dsModal .officerActionModal{gap:var(--space-3);flex-direction:column;max-height:none;display:flex;overflow:visible}.officerActionModal__context{align-items:center;gap:var(--space-3);padding:var(--space-3);justify-content:space-between;display:flex}.officerActionModal__context p{margin:0}.officerActionModal .dsTableScroll{max-height:312px;overflow:auto}.officerActionModal__row{cursor:pointer}.officerActionModal__row:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.officerActionModal__portrait{background:var(--surface-panel-inset);border:var(--border-width-hairline) solid var(--border-subtle-dark);object-fit:cover}.officerActionModal__rank{color:var(--text-secondary);font-size:var(--text-2xs);margin-top:2px;display:block}.officerActionModal__selected{padding:var(--space-3)}.officerActionModal__footer{align-items:center;gap:var(--space-3);justify-content:space-between;width:100%;display:flex}.officerActionModal__cost{color:var(--text-secondary);font-variant-numeric:tabular-nums}.officerActionModal__actions{gap:var(--space-2);display:flex}.dsModal__body:has(>.recruitModal){flex:auto;min-height:0;display:flex;overflow:hidden}.dsModal .recruitModal{gap:var(--space-3);flex-direction:column;flex:auto;width:auto;max-width:none;min-height:0;max-height:none;display:flex}.recruitModal__tabs{flex:none}.recruitModal .recruitSummaryBar{background:var(--surface-panel-inset);border-color:var(--border-subtle-dark);border-radius:var(--radius-2);gap:var(--space-2);padding:var(--space-3);margin:0}.recruitModal .recruitSummaryPrimary,.recruitModal .recruitSummaryItem{background:var(--surface-panel-raised);border-color:var(--border-subtle-dark);border-radius:var(--radius-2);gap:var(--space-1);padding:var(--space-2) var(--space-3)}.recruitModal .recruitSummaryPrimary span,.recruitModal .recruitSummaryItem span,.recruitModal .recruitTroopCardTop p,.recruitModal .recruitTroopSubtotal span{color:var(--text-secondary)}.recruitModal .recruitSummaryPrimary strong,.recruitModal .recruitSummaryItem strong,.recruitModal .recruitTroopCardTop h3,.recruitModal .recruitTroopSubtotal strong{color:var(--text-primary)}.recruitModal .recruitCardsGrid{align-content:start;gap:var(--space-3);flex:auto;min-height:0;overflow:visible}.recruitModal .recruitTroopCard{background:var(--surface-panel-inset);border-color:var(--border-subtle-dark);border-radius:var(--radius-2);box-shadow:none;gap:var(--space-3);min-height:304px;padding:var(--space-3)}.recruitModal .recruitTroopCardTop{min-height:64px}.moveOfficerModal__content{gap:var(--space-3);flex-direction:column;min-height:0;display:flex}.moveOfficerModal__summary{align-items:center;gap:var(--space-3);padding:var(--space-3);flex:none;justify-content:space-between;display:flex}.moveOfficerModal__summary p{margin:0}.moveOfficerModal__table{min-width:760px}.moveOfficerModal__row{cursor:pointer}.moveOfficerModal__identity{align-items:center;gap:var(--space-2);white-space:nowrap;display:flex}.moveOfficerModal__portrait,.diplomacyOfficerPicker__portrait,.allyReinforceRequestModal__portrait{background:var(--surface-panel-inset);border:var(--border-width-hairline) solid var(--border-subtle-dark);border-radius:var(--radius-1);object-fit:cover;flex:none;width:48px;height:48px;display:block}.moveOfficerModal__row:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.moveOfficerModal__sortButton{gap:var(--space-1);opacity:.52;min-width:100%;padding-inline:var(--space-1);justify-content:flex-end}.moveOfficerModal__sortButton:hover,.moveOfficerModal__sortButton:focus-visible{opacity:1}.moveOfficerModal__sortButton.isSorted{color:var(--color-copper-300);opacity:1}.moveOfficerModal__footer,.moveDestConfirmModal__footer{align-items:center;gap:var(--space-3);justify-content:space-between;width:100%;display:flex}.moveOfficerModal__actions,.moveDestConfirmModal__actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.moveDestConfirmModal__content,.moveDestConfirmModal__body{gap:var(--space-3);flex-direction:column;min-height:0;display:flex}.moveDestConfirmModal__province,.moveDestConfirmModal__officerPanel,.moveDestConfirmModal__adjacent,.moveDestConfirmModal__route{padding:var(--space-3)}.moveDestConfirmModal__province .provinceInfoHeader{margin-bottom:var(--space-3)}.moveDestConfirmModal__officers{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.moveDestConfirmModal__officerPanel h3,.moveDestConfirmModal__adjacent h3{margin-top:0}.moveDestConfirmModal__officerPanel .provinceOfficerList{scrollbar-color:var(--color-copper-600) var(--surface-panel-inset);max-height:240px;overflow:auto}.moveDestConfirmModal__route{gap:var(--space-2);display:grid}.moveDestConfirmModal__route p{margin:0}.recruitModal .recruitTroopStats span,.recruitModal .recruitTroopMeta span{background:var(--surface-panel-raised);border-color:var(--border-subtle-dark);border-radius:var(--radius-1);color:var(--text-secondary)}.recruitModal .recruitTroopStats strong{color:var(--text-primary)}.recruitModal .recruitTroopCard .dsRange{margin-top:auto}.recruitModal .recruitTroopCard .dsRange>input{accent-color:auto}.recruitModal .recruitTroopActions{gap:var(--space-2)}.recruitModal .recruitTroopActions .dsButton{border:var(--border-width-hairline) solid var(--border-default);border-radius:var(--radius-2);color:var(--text-primary);padding:0 var(--space-3);background:0 0;font-weight:500}.recruitModal .recruitTroopSubtotal{border-top-color:var(--border-subtle-dark);gap:var(--space-1) var(--space-2);padding-top:var(--space-2)}.recruitModal__footer{align-items:center;gap:var(--space-3);justify-content:space-between;width:100%;display:flex}.recruitModal__footerActions{gap:var(--space-2);display:flex}.recruitModal__footer .recruitFooterTotals{color:var(--text-secondary);font-family:var(--font-data);font-size:var(--text-sm);font-variant-numeric:tabular-nums;justify-content:flex-start}.recruitModal__footer .recruitFooterTotals strong{color:var(--text-primary)}@media (width<=1366px){.componentGallery{padding:var(--space-4)}.componentGallery__grid,.componentGallery__controlsGrid{gap:var(--space-3)}.componentGallery__section{padding:var(--space-3)}.componentGallery__tokenRow{grid-template-columns:minmax(160px,1fr) 64px auto}.componentGallery__copyResult{grid-column:1/-1;min-height:16px}}@media (prefers-reduced-motion:reduce){.componentGallery *,.componentGallery :before,.componentGallery :after,.dsModalBackdrop *,.dsModalBackdrop :before,.dsModalBackdrop :after,.dsTooltip{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.deploymentScreen{background:var(--color-ink-950);color:var(--text-primary);font-family:var(--font-ui);padding:var(--space-4)}.deploymentScreenHeader{border-bottom-color:var(--border-subtle-dark);padding-bottom:var(--space-3)}.deploymentScreenHeader h2{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-2xl)}.deploymentScreenHeader p{color:var(--text-secondary)}.deploymentScreenSummary{gap:var(--space-2)}.deploymentScreenSummary>span,.deploymentScreenSummary .dsBadge{background:var(--surface-panel-inset);border-color:var(--border-subtle-dark);border-radius:var(--radius-1);color:var(--text-primary);font-size:var(--text-xs);min-height:32px;padding:var(--space-1) var(--space-2)}.deploymentScreenSummary>span.is-ready,.deploymentScreenSummary .dsBadge.is-ready{background:var(--color-success-900);border-color:var(--color-success-600);color:var(--color-success-300)}.deploymentScreenSummary>span.is-issue,.deploymentScreenSummary .dsBadge.is-issue{background:var(--color-warning-900);border-color:var(--color-warning-600);color:var(--color-warning-300)}.deploymentScreenBody{gap:var(--space-3);padding-top:var(--space-3)}.deploymentBattlefield,.deploymentEnemyForecast,.deployedOfficerDetail,.deploymentRoster,.deploymentRosterSection{background:var(--surface-panel-inset);border-color:var(--border-subtle-dark);border-radius:var(--radius-2);box-shadow:none}.deploymentBattlefield{gap:var(--space-3);padding:var(--space-3)}.deploymentRosterRow--head,.deploymentRosterRow--head>span,.deploymentRosterGroupHeader{background:var(--surface-panel-raised);border-color:var(--border-subtle-dark)}.deploymentGridCell{background:color-mix(in srgb, var(--surface-panel-raised) 68%, transparent);border-color:var(--border-subtle-dark);padding:var(--space-2)}.deploymentRosterGroupHeader{color:var(--color-copper-300)}.deploymentGridEmpty.dsButton{background:var(--surface-panel-inset);border:var(--border-width-hairline) dashed var(--border-default);color:var(--text-secondary);height:auto;min-height:0}.deploymentGridUnit.is-selected{border-color:var(--color-copper-300);box-shadow:inset 0 0 0 var(--border-width-selected) color-mix(in srgb, var(--color-copper-500) 24%, transparent)}.deploymentGridRemove.dsButton{font-size:var(--text-2xs);height:22px;min-height:22px;padding:0 var(--space-2);width:100%}.deploymentEnemyForecastReinforcementHead{align-items:start;gap:var(--space-1);grid-template-columns:1fr;justify-items:start;display:grid}.deploymentEnemyForecastReinforcementHead>strong{color:var(--color-copper-300)}.deploymentEnemyForecastReinforcementHead>span{white-space:normal}.deploymentRoster{gap:var(--space-2);padding:var(--space-3);overflow:hidden}.deploymentRosterSearch .dsInput{background:var(--surface-panel-raised);border-color:var(--border-subtle-dark);color:var(--text-primary);height:32px;padding:0 var(--space-2)}.deploymentRosterSort .dsButton{opacity:.52;min-height:28px;padding:0 var(--space-1)}.deploymentRosterSort .dsButton:hover,.deploymentRosterSort .dsButton:focus-visible,.deploymentRosterSort .dsButton.is-active{opacity:1}.deploymentRosterSort .dsButton.is-active{border-color:var(--color-copper-400);color:var(--color-copper-300);background:0 0}.deploymentRosterTable{border-color:var(--border-subtle-dark);scrollbar-color:var(--color-copper-600) var(--surface-panel-inset);overflow-x:auto}.deploymentRosterRow{border-bottom-color:var(--border-subtle-dark);color:var(--text-primary);background:0 0;min-width:620px}.deploymentRosterRow--head{background:var(--surface-panel-raised)}.deploymentRosterRow--head>span{background:0 0}.deploymentRosterRow:not(.deploymentRosterRow--head):hover{background:color-mix(in srgb, var(--color-copper-500) 8%, transparent)}.deploymentRosterRow.is-selected{background:var(--color-selected-bg);box-shadow:inset var(--border-width-selected) 0 0 var(--color-copper-400)}.deploymentRosterName{color:var(--text-primary)}.deploymentRosterNameMeta,.deploymentRosterRange{color:var(--text-secondary)}.deploymentRosterPlacedBadge,.deploymentRosterShortBadge,.deploymentRosterFatigueBadge,.deploymentRosterDistanceBadge{font-size:var(--text-2xs);padding:0 var(--space-1)}.deploymentRosterDistanceBadge{flex:none}.deploymentRosterSection{align-items:center;gap:var(--space-2);padding:var(--space-3);flex-wrap:wrap;display:flex}.deploymentRosterSection>h3{flex:0 0 100%;margin:0}.deploymentRosterSection .deploymentHint,.deploymentRosterSection .deploymentWarning{flex:1 1 0;min-width:0;margin:0}.deploymentRosterSection .dsButton{justify-self:start}.deploymentRosterEmpty{margin:var(--space-2)}.deployedOfficerDetail{gap:var(--space-2);padding:var(--space-3)}.deployedOfficerDetail.is-empty{align-items:stretch}.deployedOfficerDetail.is-empty .dsStateMessage{width:100%}.deployedOfficerName{color:var(--text-primary);font-family:var(--font-display)}.deployedOfficerMeta{color:var(--text-secondary)}.deployedOfficerPortrait,.deployedOfficerStats div{background:var(--surface-panel-raised);border-color:var(--border-subtle-dark)}.deployedOfficerStats dt{color:var(--text-secondary)}.deployedOfficerStats dd{color:var(--text-primary);font-family:var(--font-data);font-variant-numeric:tabular-nums}.deployedOfficerTroopInputRow .dsInput{height:32px;padding:0 var(--space-2);width:88px}.deployedOfficerSlider .dsRange>input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--color-copper-500) 0 var(--ds-range-progress), var(--surface-panel-inset) var(--ds-range-progress) 100%);border-color:var(--border-subtle-dark);height:6px}.deployedOfficerSlider .dsRange>input[type=range]::-webkit-slider-thumb{background:var(--color-copper-400);border-color:var(--text-primary);width:18px;height:18px;margin-top:-7px}.deployedOfficerSlider .dsRange>input[type=range]::-moz-range-track{background:linear-gradient(to right, var(--color-copper-500) 0 var(--ds-range-progress), var(--surface-panel-inset) var(--ds-range-progress) 100%);border-color:var(--border-subtle-dark);height:6px}.deployedOfficerSlider .dsRange>input[type=range]::-moz-range-thumb{background:var(--color-copper-400);border-color:var(--text-primary);width:18px;height:18px}.deployedCommanderButton.dsButton{align-self:end;min-width:116px;margin-left:auto}.deploymentRosterSection{padding:var(--space-3)}.deploymentFooter{background:var(--surface-panel-raised);border-color:var(--border-subtle-dark);gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3)}.deploymentFooter .deploymentClearButton.dsButton,.deploymentFooter .deploymentConfirmButton.dsButton{width:100%;min-height:44px}.deploymentFooterMetrics{border-color:var(--border-subtle-dark)}.deploymentFooterMetrics span{color:var(--text-primary);font-family:var(--font-data);font-variant-numeric:tabular-nums}.diplomacySidebar.dsPanel{background:var(--surface-panel);border:0;border-right:var(--border-width-hairline) solid var(--border-subtle-dark);box-shadow:var(--shadow-panel);color:var(--text-primary);bottom:var(--space-2);border-radius:0;padding:0;top:72px;left:176px}.diplomacySidebarHeader.dsSectionHeader{border-bottom:var(--border-width-hairline) solid var(--border-subtle-dark);padding:var(--space-3) var(--space-4)}.diplomacyLegend{gap:var(--space-1);padding:var(--space-2) var(--space-3);display:grid}.diplomacyLegendRow{align-items:center;gap:var(--space-2);display:flex}.diplomacyLegendSwatch{border:var(--border-width-hairline) solid var(--color-copper-600);flex:none;width:22px;height:14px}.diplomacyLegendSwatch--stripe{background-image:repeating-linear-gradient(0deg, var(--map-strategic-ground) 0 2px, transparent 2px 5px)}.diplomacyLegendSwatch--hatch{background-image:repeating-linear-gradient(45deg, var(--map-relation-hostile) 0 2px, transparent 2px 6px)}.diplomacyLegendLabel{color:var(--text-secondary);font-size:12px}.diplomacySidebarDetail.dsPanel{margin:var(--space-3);max-height:42%;padding:var(--space-3);scrollbar-color:var(--color-copper-600) var(--surface-panel-inset);overflow-y:auto}.diplomacyDetailHeader{gap:var(--space-2);margin-bottom:var(--space-2)}.diplomacyDetailIcon{background:var(--surface-panel-raised);border-color:var(--border-default)}.diplomacyDetailName{color:var(--text-primary);font-family:var(--font-display);margin-bottom:0}.diplomacyDetailStats{gap:var(--space-1) var(--space-3);margin:var(--space-2) 0}.diplomacyDetailStats dt{color:var(--text-secondary)}.diplomacyDetailRelation{gap:var(--space-2);margin-top:var(--space-2)}.diplomacyDetailAlliance,.diplomacyTrustLabel,.diplomacyTrustValue{color:var(--text-secondary);font-size:var(--text-xs)}.diplomacyTrustBar{background:var(--surface-panel-raised);border-radius:var(--radius-1)}.diplomacyTrustBarFill{background:var(--color-copper-500)}.diplomacySidebarBody{padding:0 var(--space-3);scrollbar-color:var(--color-copper-600) var(--surface-panel)}.diplomacyFactionRow.dsButton{border-radius:var(--radius-1);align-items:center;gap:var(--space-2);height:auto;margin-bottom:var(--space-1);min-height:40px;padding:var(--space-2);justify-content:space-between;width:100%}.diplomacyFactionRow.dsButton--quiet{background:var(--surface-panel-inset);border-color:var(--border-subtle-dark)}.diplomacyFactionRow.dsButton--quiet:hover{background:var(--surface-panel-raised)}.decisionModal__stack{gap:var(--space-3);display:grid}.goalCModalFixture{background:var(--surface-map);color:var(--text-map-primary);min-height:100vh;padding:var(--space-4)}.goalCModalFixture>h1{font-family:var(--font-display);font-size:var(--text-lg);margin:0}.decisionModal__summary,.decisionModal__message{color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-sm);line-height:20px}.decisionModal__message{margin:0}.decisionModal__route{font-family:var(--font-display);font-size:var(--text-lg);align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);text-align:center;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);line-height:26px;display:grid}.decisionModal__route>span{color:var(--color-copper-400)}.decisionModal__stats{gap:0;margin:0;display:grid}.decisionModal__stats>div{border-bottom:var(--border-width-hairline) solid var(--border-subtle-dark);align-items:center;gap:var(--space-3);min-height:40px;padding:var(--space-2) 0;grid-template-columns:minmax(112px,.4fr) minmax(0,1fr);display:grid}.decisionModal__stats>div:last-child{border-bottom:0}.decisionModal__stats dt{color:var(--text-secondary);font-size:var(--text-xs);line-height:18px}.decisionModal__stats dd{color:var(--text-primary);font-family:var(--font-data);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:right;margin:0;line-height:20px}.allyReinforceRequestModal__layout{gap:var(--space-3);display:grid}.allyReinforceRequestModal__requestSummary{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);grid-template-columns:minmax(0,1fr) minmax(180px,.7fr);display:grid}.allyReinforceRequestModal__requester{align-items:center;gap:var(--space-3);min-width:0;display:flex}.allyReinforceRequestModal__crest,.allyReinforceRequestModal__crestFallback{border:var(--border-width-thin) solid var(--border-default-dark);border-radius:var(--radius-1);object-fit:contain;flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.allyReinforceRequestModal__requester>div,.allyReinforceRequestModal__target{gap:var(--space-1);display:grid}.allyReinforceRequestModal__requester span,.allyReinforceRequestModal__target span{color:var(--text-secondary);font-size:var(--text-xs)}.allyReinforceRequestModal__requester strong,.allyReinforceRequestModal__target strong{color:var(--text-primary);font-size:var(--text-lg)}.allyReinforceRequestModal__provinceSummary .decisionModal__stats{grid-template-columns:repeat(3,minmax(0,1fr))}.allyReinforceRequestModal__provinceSummary .decisionModal__stats>div{border-bottom:0;border-right:var(--border-width-hairline) solid var(--border-subtle-dark);gap:var(--space-1);padding:var(--space-2) var(--space-3);flex-direction:column;display:flex}.allyReinforceRequestModal__provinceSummary .decisionModal__stats>div:last-child{border-right:0}.allyReinforceRequestModal__provinceSummary .decisionModal__stats dd{font-size:var(--text-lg)}.allyReinforceRequestModal__roster{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.allyReinforceRequestModal__officer{gap:var(--space-3);display:grid}.allyReinforceRequestModal__officerHeader{align-items:flex-start;gap:var(--space-2);justify-content:space-between;display:flex}.allyReinforceRequestModal__officerIdentity{align-items:flex-start;gap:var(--space-2);flex:auto;min-width:0;display:flex}.allyReinforceRequestModal__totals{font-family:var(--font-ui);font-size:var(--text-sm);gap:var(--space-2);line-height:20px;display:grid}.allyReinforceRequestModal__poolTotals{gap:var(--space-2);flex-wrap:wrap;display:flex}.allyReinforceRequestModal__poolTotals>span{border:var(--border-width-hairline) solid var(--border-subtle-dark);border-radius:var(--radius-1);color:var(--text-secondary);font-family:var(--font-data);font-variant-numeric:tabular-nums;padding:var(--space-1) var(--space-2)}.factionDetailModal__layout,.provinceStatusModal__layout{gap:var(--space-3);display:grid}.factionDetailModal__overview{align-items:center;gap:var(--space-4);grid-template-columns:200px minmax(0,1fr);display:grid}.factionDetailModal__identity{border-right:var(--border-width-hairline) solid var(--border-subtle-dark);align-items:center;gap:var(--space-2);padding-right:var(--space-4);text-align:center;justify-items:center;display:grid}.factionDetailModal__identity>div:last-child{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.factionDetailModal__identity strong{color:var(--text-primary);font-family:var(--font-display);font-size:var(--text-md);line-height:24px}.factionDetailModal__summaryGrid{margin:0}.factionDetailModal__summaryGrid>div{background:var(--surface-panel);border-color:var(--border-subtle-dark);min-height:52px}.factionDetailModal__summaryGrid .label{color:var(--text-secondary)}.factionDetailModal__section{gap:var(--space-3);display:grid}.factionDetailModal__section>.dsSectionHeader{padding-top:0}.factionDetailModal__upkeep{border-top:var(--border-width-hairline) solid var(--border-subtle-dark);padding-top:var(--space-3);margin-top:0}.factionDetailModal__section .factionDiplomacyList{margin:0}.factionDetailModal__section .factionDiplomacyList li{background:var(--surface-panel);border-color:var(--border-subtle-dark)}.provinceStatusModal__badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.provinceStatusModal__section{gap:var(--space-2);display:grid}.provinceStatusModal__section>h3,.provinceStatusModal__section .provinceInfoGrid+h3{margin-top:0}.provinceStatusModal__section .provinceInfoGrid{margin:0}.diplomacyFactionRow .dsBadge{flex:none}.diplomacyFactionRow .dsBadge strong{border-left:var(--border-width-hairline) solid currentColor;margin-left:var(--space-1);padding-left:var(--space-1)}.diplomacyFactionName{font-family:var(--font-ui)}.diplomacyPanelDetailView{gap:var(--space-2)}.diplomacyActionCard.dsButton{border-radius:var(--radius-1)}.demoLocked{opacity:.55}.demoLocked:after{content:"🔒";margin-left:4px}.deploymentGridCell{grid-template-rows:minmax(0,1fr) 33px;height:191px;max-height:191px}.deploymentGridUnit{padding:0}.deploymentGridUnit .battlePlayer__unitMain{align-items:stretch;gap:10px}.deploymentGridUnit .battlePlayer__portraitSlot{flex:0 0 132px;width:132px;height:132px}.deploymentGridUnit .battlePlayer__unitInfo{justify-content:center;gap:6px;padding:8px 8px 8px 0}.deploymentGridUnit .battlePlayer__unitName{font-size:15px}.deploymentGridUnit .battlePlayer__unitMeta{justify-content:space-between;font-size:14px}.deploymentGridUnit .battlePlayer__meterLabel{font-size:14px}.deploymentGridUnit .battlePlayer__unitMeta{flex-wrap:wrap;align-items:center;gap:6px}.deploymentGridUnit .battlePlayer__commander,.deploymentGridUnit .deploymentGridUnitArrival{border-style:solid;border-width:1px;border-radius:4px;flex:none;width:fit-content;padding:2px 5px;font-size:.68rem;font-weight:800;line-height:1.1;position:static}.deploymentGridUnit .deploymentGridUnitArrival{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.deploymentGridUnit .battlePlayer__meterBlock--morale .battlePlayer__meterLabel>span{align-items:center;gap:6px;min-width:0;display:inline-flex}.deploymentGridRemove.dsButton{height:33px;min-height:33px}:root{--app-zoom:1;--stage-w:1920px;--stage-h:1080px}.appZoomViewport{background:#000;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;overflow:hidden}.appZoomStage{height:var(--stage-h);-webkit-user-select:none;user-select:none;width:var(--stage-w);zoom:var(--app-zoom,1);position:relative;overflow:hidden}.appZoomStage input,.appZoomStage textarea{-webkit-user-select:text;user-select:text}.appZoomTooSmall{color:#d8d8d3;background:#020813;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.appZoomTooSmall__body{box-sizing:border-box;text-align:center;max-width:34rem;padding:2rem 1.5rem;line-height:1.7}.appZoomTooSmall__lead{color:#c79849;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.appZoomTooSmall__body p{margin:0 0 .9rem}.appZoomTooSmall__note{color:#9a9a93;font-size:.9rem}.renderStatsHud{border:var(--border-width-hairline) solid var(--border-subtle-dark);box-shadow:var(--shadow-panel);color:var(--text-primary);font-family:var(--font-stamp);font-size:var(--text-2xs);max-height:calc(100vh - 24px);padding:var(--space-2);pointer-events:none;z-index:10000;background:#080d10f0;width:300px;line-height:1.4;position:fixed;bottom:12px;right:12px;overflow:auto}.renderStatsHud pre{font:inherit;white-space:pre-wrap;margin:0}.renderStatsHud__status{border-top:var(--border-width-hairline) solid var(--border-subtle-dark);color:var(--text-secondary);margin-top:var(--space-2);max-height:148px;padding-top:var(--space-2);white-space:pre-wrap;overflow:auto}.renderStatsHud__buttons{gap:var(--space-1);margin-bottom:var(--space-2);pointer-events:auto;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.renderStatsHud__buttons button{background:var(--surface-panel-raised);border:var(--border-width-control) solid var(--border-default);border-radius:var(--radius-1);color:var(--text-primary);cursor:pointer;font:inherit;min-height:28px;padding:var(--space-1)}.renderStatsHud__buttons button:hover,.renderStatsHud__buttons button:focus-visible{border-color:var(--border-focus);outline:none}
