.sortableListModal{background:var(--modal-bg);color:var(--modal-text);border-radius:8px;flex-direction:column;width:min(90vw,1100px);max-height:85vh;display:flex;box-shadow:0 8px 32px #00000080}.sortableListModalHeader{border-bottom:1px solid var(--modal-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.sortableListModalHeaderActions{align-items:center;gap:8px;display:flex}.sortableListModalHeaderActions button{background:var(--modal-btn-bg);color:var(--modal-text);border:1px solid var(--modal-btn-border);cursor:pointer;border-radius:4px;padding:4px 12px}.sortableListModalHeaderActions button:disabled{opacity:.5;cursor:not-allowed}.sortableListModalHeaderActions .modalCloseBtn{width:32px;height:32px;padding:0}.sortableListModalBody{flex:1;overflow-y:auto}.sortableListTable{border-collapse:collapse;width:100%}.sortableListTable th,.sortableListTable td{text-align:left;border-bottom:1px solid var(--modal-row-divider);padding:8px 12px}.sortableListTable th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sortableListHeaderLabel{vertical-align:middle;display:inline-block}.sortableListSortMark{text-align:center;vertical-align:middle;min-width:1em;margin-left:.35rem;display:inline-block}.sortableListTable th.sortable:hover{background:var(--modal-row-divider)}.sortableListRow.selectable{cursor:pointer}.sortableListRow.selectable:hover{background:var(--modal-row-divider)}.sortableListRow.ownGroupRow{background:var(--modal-own-highlight)}.sortableListRow.ownGroupRow:hover{background:#354554}:root{--diplomacy-panel-bottom:0px;--diplomacy-panel-max-height:280px;--font-weight-title:600;--font-weight-body:400;--font-weight-support:300;color:#172018;--modal-bg:#1a1a1a;--modal-border:#333;--modal-text:#fff;--modal-text-sub:#9a9a9a;--modal-cell-bg:#242424;--modal-cell-border:#2f2f2f;--modal-row-divider:#2a2a2a;--modal-btn-bg:#333;--modal-btn-border:#555;--modal-own-highlight:#2d3a4a;background:radial-gradient(circle at 12% 4%,#9a5a2f1f,#0000 28rem),linear-gradient(#eef2e8 0%,#e6eadf 100%);font-family:Inter,Noto Sans JP,sans-serif}*{box-sizing:border-box;scrollbar-color:#d6a9499e #070c0cbd;scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:linear-gradient(#ffffff09,#00000029),#070c0cbd;border-radius:999px}::-webkit-scrollbar-thumb{background:linear-gradient(#ffe8b8b8,#9d7225e0);border:2px solid #070c0cd1;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(#fff2cde6,#d6a949fa)}::-webkit-scrollbar-corner{background:#070c0cbd}body{margin:0}html,body,#root{width:100%;min-height:100%}button{color:#f7f4e8;cursor:pointer;font:inherit;background:#243b27;border:1px solid #2f4730;padding:.7rem .9rem}select{color:#172018;font:inherit;background:#fffdf3;border:1px solid #2f4730;padding:.62rem .7rem}button:hover{background:#35553a}.shell{max-width:1280px;margin:0 auto;padding:24px}:is(.shell--event-editor,.shell:has(.event-editor)){width:100%;max-width:none}.shell--editor-workbench{--editor-theme-bg:#f4efe6;--editor-theme-panel:#efe7dc;--editor-theme-panel-2:#f8f3eb;--editor-theme-canvas:#fbf7ef;--editor-theme-card:#f1e9df;--editor-theme-card-route:#f8f2e9;--editor-theme-border:#d7c5ae;--editor-theme-border-strong:#bda58a;--editor-theme-text:#28231d;--editor-theme-text-strong:#14110e;--editor-theme-muted:#6f6256;--editor-theme-focus:#9b5f22;--editor-theme-danger:#b43f35;--editor-theme-danger-soft:#b43f3526;--editor-theme-selected-glow:#9b5f222e;--editor-theme-hover:#eadfce;--editor-theme-control:#f8f3eb;--editor-theme-control-hover:#efe4d4;--editor-theme-edge:#7a6958;--editor-theme-edge-true:#3f8f89;--editor-theme-edge-false:#b35b45;--editor-theme-edge-choice:#7b63a3;--editor-theme-edge-wait:#a77b18;--editor-theme-edge-label-bg:#f8f3ebf0;--editor-theme-port-hover:#d9a23a;--editor-theme-port-hover-glow:#d9a23a38;--editor-theme-port-connect-target:#4fa7a0;--editor-theme-port-connect-glow:#4fa7a03d;--editor-theme-port-border:#2b241d;background:radial-gradient(circle at 16% 0%, #9b5f221f, transparent 32%), linear-gradient(180deg, var(--editor-theme-bg) 0%, #eee5d8 70%);color:var(--editor-theme-text);width:100%;max-width:none;min-height:100vh;padding:14px 16px}.topScreen{color:#f3e7cc;background:linear-gradient(#101421d1,#090c12f0),radial-gradient(circle at 24% 18%,#b58a4838,#0000 34%),#101421;justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex}.topMenuPanel{background:#0e1013d6;border:1px solid #bc8f4a7a;gap:1rem;width:min(92vw,560px);max-width:560px;padding:2rem;display:grid;box-shadow:0 24px 60px #00000073}.topMenuPanel h1{margin:0;font-size:2.2rem}.topMenu{gap:.75rem;margin-top:.5rem;display:grid}.topMenuButton{color:#fff7df;text-align:left;background:#1b2c1eeb;border-color:#f4d3806b;justify-content:space-between;align-items:center;min-height:64px;padding:.9rem 1rem;display:flex}.topMenuButton strong{letter-spacing:0;font-size:1.2rem}.topMenuButton span{color:#d9cba9;font-size:.9rem}.topMenuButton:disabled{color:#fff7df7a;cursor:not-allowed;background:#30302dc7}.topMenuButton:disabled span{color:#d9cba975}.topMenuStatus,.topMenuError{margin:0}.topMenuError{color:#ffb3a6}.playLayout{background:#101421;flex-direction:column;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.newGameFactionSelect{background:#101421;width:100vw;height:100vh;position:relative;overflow:hidden}.newGameFactionSelectMap{position:absolute;inset: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,.newGameFactionSelectMap .mapCanvasLayer{border:0;height:100%;min-height:0}.newGameFactionSelectMap .networkMapControls{color:#f0e6c8;z-index:5;background:#0c0e12c7;border:1px solid #f0e6c842;border-radius:4px;margin:0;padding:.38rem .5rem;display:flex;position:absolute;top:.8rem;right:.8rem}.newGameFactionSelectMap .networkMapControls span,.newGameFactionSelectMap .networkMapControls label{color:#f0e6c8}.newGameFactionInfoBlock{color:#f2e4c7;z-index:5;background:linear-gradient(#22252bf0,#111318eb);border:1px solid #c9a86a61;width:300px;max-width:min(320px,100vw - 4rem);padding:1rem;position:absolute;top:5rem;left:2rem;box-shadow:0 16px 34px #00000059}.newGameFactionInfoBlock.empty{padding:1.2rem}.newGameFactionInfoBlock h2,.newGameFactionInfoBlock h3,.newGameFactionInfoBlock p{margin:0}.newGameFactionInfoBlock.empty h2{color:#f8ead0;margin-bottom:.45rem;font-size:1.35rem}.newGameFactionLordPortrait{justify-content:center;margin-bottom:.65rem;display:flex}.newGameFactionNamePlate{color:#f6e4b4;background:linear-gradient(#3c3429,#17191f);border:1px solid #c9a86a5c;border-radius:4px;justify-content:center;align-items:center;gap:.45rem;min-height:34px;margin:0 auto .75rem;padding:.35rem .65rem;font-size:1.12rem;font-weight:900;display:flex}.newGameFactionNamePlate img{object-fit:contain;width:24px;height:24px}.newGameFactionStats{gap:.35rem;margin:0;display:grid}.newGameFactionStats div{border-bottom:1px solid #c9a86a33;justify-content:space-between;align-items:baseline;padding:.2rem 0;display:flex}.newGameFactionStats dt{color:#c9a86a;font-weight:800}.newGameFactionStats dd{margin:0;font-weight:900}.newGameFactionInlineBtn{color:#f8ead0;cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:900;text-decoration:underline}.newGameFactionDiplomacy{margin-top:.8rem}.newGameFactionDiplomacy h3{color:#c9a86a;margin-bottom:.35rem;font-size:.95rem}.newGameFactionDiplomacy ul{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.newGameFactionDiplomacy li,.newGameFactionDiplomacy p{font-weight:800}.newGameFactionActions{z-index:6;gap:.8rem;display:flex;position:absolute;bottom:1.8rem;left:50%;transform:translate(-50%)}.newGameFactionActions button{color:#f8ead0;cursor:pointer;background:linear-gradient(#2d3035,#171a1f);border:1px solid #c9a86a94;border-radius:6px;min-width:112px;padding:.65rem 1.2rem;font-size:1rem;font-weight:900;box-shadow:0 8px 18px #0000004d}.newGameFactionActions button:disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.55}@media (width<=760px){.newGameFactionInfoBlock{width:280px;max-width:calc(100vw - 2rem);top:1rem;left:1rem}.newGameFactionActions{width:calc(100vw - 2rem);bottom:1rem}.newGameFactionActions button{flex:1;min-width:0}}.playHeader{color:#f3e7cc;background:linear-gradient(#24272d,#15171b);flex-shrink:0;align-items:center;gap:0;min-height:54px;padding:0 .55rem;display:flex;box-shadow:0 2px 8px #00000073}.playHeaderIdentity{border-right:1px solid #8d6a3b66;align-self:stretch;align-items:center;gap:.5rem;min-width:0;padding:.45rem .85rem .45rem .3rem;display:flex}.playHeaderIdentityIcon{color:#fff6d8;object-fit:cover;background:#2c251c;border:1px solid #6b4b25ad;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;font-weight:900;display:flex}.playHeaderIdentityIconFallback{box-shadow:inset 0 0 0 1px #f4d38042}.playHeaderIdentityName{color:#f3e7cc;text-overflow:ellipsis;white-space:nowrap;max-width:9rem;font-weight:900;overflow:hidden}.playHeaderItem{border-left:1px solid #0006;border-right:1px solid #8d6a3b47;align-self:stretch;align-items:center;gap:.6rem;min-width:126px;padding:.45rem 1.15rem;display:flex}.playHeaderItem:first-child{border-left:0}.playHeaderItem .label{color:#c9a86a;white-space:nowrap;margin:0;font-size:.82rem;font-weight:800}.playHeaderItem .value{color:#f3e7cc;white-space:nowrap;font-size:1.1rem;font-weight:900}.playActionStars{letter-spacing:0}.playHeaderActions{align-items:center;gap:.35rem;margin-left:auto;padding-left:.55rem;display:flex}.playHeaderBtn,.endTurnBtn,.secondaryBtn{color:#f8ead0;cursor:pointer;white-space:nowrap;background:linear-gradient(#2d3035,#171a1f);border:1px solid #5a5e66;border-radius:4px;align-self:center;min-height:34px;padding:.45rem .8rem;font-size:.9rem;font-weight:900;box-shadow:inset 0 0 0 1px #f4d38029}.playHeaderBtn.active{background:linear-gradient(#456083,#27394f);border-color:#93c5fd;box-shadow:inset 0 0 0 1px #93c5fd,0 0 8px #93c5fd73}.endTurnBtn{border:2px solid #8d6a3b;min-width:124px}.secondaryBtn{min-width:92px}.playHeaderBtn:hover:not(:disabled),.endTurnBtn:hover:not(:disabled),.secondaryBtn:hover:not(:disabled){background:linear-gradient(#3a3e45,#23262b)}.playHeaderBtn:disabled,.endTurnBtn:disabled,.secondaryBtn:disabled{cursor:not-allowed;filter:grayscale(.3);opacity:.58}@media (width<=1200px){.playHeaderIdentityName{display:none}}.playMapArea{flex:1;min-height:0;position:relative;overflow:hidden}.playLayout .newsTicker{bottom:0}.playLayout.inputBlocked .playHeader{pointer-events:none}.playLayout.inputBlocked .playHeader *{pointer-events:none!important}.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}.playMapArea .networkMapControls{z-index:5;background:#121419b8;border:1px solid #f0e6c852;margin:0;padding:.35rem;display:flex;position:absolute;top:.6rem;right:.6rem}.playMapArea .networkMapControls button{color:#f8ead0;background:linear-gradient(#2d3035,#171a1f);border:1px solid #5a5e66;border-radius:4px;padding:.35rem .55rem}.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:#f0e6c8}.playMapArea .provinceNetwork,.playMapArea .mapCanvasLayer{border:0;height:100%;min-height:0}.panelCloseButton{float:right;padding:.35rem .55rem}.radialMenu{pointer-events:none;z-index:100;position:fixed}.radialMain,.radialSubmenu{pointer-events:auto;position:absolute;top:0;left:0}.radialMenuButton{color:#f0e6c8;cursor:pointer;pointer-events:auto;background:linear-gradient(135deg,#2a2a3e,#1a1a2e);border:2px solid #c8a84b;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:64px;height:64px;padding:0;transition:box-shadow .12s,border-color .12s,transform .12s;display:flex;box-shadow:0 4px 12px #00000080}.radialMenuButton:hover{border-color:#f5d76e;transform:scale(1.08);box-shadow:0 0 16px #f5d76e,0 4px 12px #00000080}.radialMenuButton:disabled{cursor:not-allowed;opacity:.4}.radialMenuButton:disabled:hover{border-color:#c8a84b;transform:none;box-shadow:0 4px 12px #00000080}.factionRadialMenu .radialCenterLabel{color:#fff;pointer-events:none;white-space:nowrap;background:#000000b8;border:1px solid #c8a84ba6;border-radius:4px;padding:4px 12px;font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.radialSubButton{color:#f0e6c8;cursor:pointer;pointer-events:auto;background:linear-gradient(135deg,#3a3a5e,#2a2a4e);border:2px solid #8b6a4a;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:50px;height:50px;padding:0;font-size:.7rem;transition:box-shadow .12s,border-color .12s,filter .12s;display:flex;position:absolute;box-shadow:0 4px 12px #00000080}.radialSubButton:hover{filter:brightness(1.08);border-color:#f5d76e;box-shadow:0 0 12px #f5d76e,0 4px 12px #00000080}.radialIcon{font-size:1.4rem;line-height:1}.radialLabel{margin-top:2px;font-size:.7rem;font-weight:800}.prefectureFactionPicker{color:#f0e6c8;z-index:150;background:linear-gradient(#2a2a3e,#1a1a2e);border:1px solid #c8a84b;border-radius:6px;min-width:160px;padding:.3rem 0;position:fixed;box-shadow:0 4px 16px #0009}.prefMenuHeader{color:#c8a84b;border-bottom:1px solid #4a3f2a;padding:.4rem .8rem;font-size:.9rem;font-weight:800}.prefMenuItem{color:#f0e6c8;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.5rem;width:100%;padding:.5rem .8rem;font-size:.9rem;display:flex}.prefMenuItem:hover{background:#f5d76e26}.prefMenuColorDot{border:1px solid #fff;border-radius:50%;flex:none;width:14px;height:14px}.modalCard{background:var(--modal-bg);border:1px solid var(--modal-border);color:var(--modal-text);border-radius:8px;width:min(520px,100vw - 2rem);max-width:520px;max-height:80vh;padding:1.25rem;overflow:auto;box-shadow:0 16px 36px #0000006b}.allocationModal{width:min(600px,100vw - 2rem);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:#5a8147;border-color:#5a8147}.factionDetailHeader>.modalCloseBtn{margin-left:auto}.gameLogModalHeaderActions{align-items:center;gap:8px;display:flex}.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{grid-column:1/-1}.provinceInfoGrid>div.provinceInfoTypeCell{grid-column:auto}.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}.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{color:#c8a84b}.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}.scenarioSelector{color:#4d5849;place-items:center end;gap:6px;font-size:.82rem;font-weight:700;display:grid}.scenarioSelectorControls{gap:8px;display:inline-flex}.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}.yourTurn{background:#fff8d6;border:1px solid #b9852f;place-items:center end;gap:10px;padding:8px;display:grid}.yourTurn strong{color:#7b3f1f}.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}.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);justify-content:space-between;padding:10px 14px;display:flex}.moveOfficerConfirm{color:#fff;cursor:pointer;background:#5a8147;border:none;border-radius:5px;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;border-radius:5px;padding:7px 16px}.warRequestModalCard{gap:14px;max-width:min(760px,100vw - 24px)}.warRequestFormGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.warRequestField{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;flex-direction:column;gap:6px;padding:10px;display:flex}.warRequestField span{color:#f5ebd2c7;font-size:.82rem;font-weight:800}.warRequestField select{color:#f5ebd2;font:inherit;background:#161616;border:1px solid #444;border-radius:5px;min-height:36px;padding:6px 8px}.warRequestPreview,.warRequestEmpty{color:#f5ebd2;background:#0000002e;border:1px solid #ffffff1a;border-radius:6px;padding:12px}.warRequestPreview{flex-direction:column;gap:10px;display:flex}.warRequestPreviewHeader{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.warRequestPreviewHeader strong{color:#fff7df;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:#fff7df;margin:0;font-weight:800}.warRequestEmpty{color:#f5ebd2b8}@media (width<=720px){.warRequestFormGrid,.warRequestStats{grid-template-columns:1fr}}.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;font-size:.9rem;display:flex}.moveDestConfirmBody .moveEta{color:#d8a850}.moveDestOfficerWarn{color:#e86a6a}.moveDestConfirmFooter{justify-content:space-between;gap:.5rem;display:flex}.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:900}.chanceBadge{white-space:nowrap;border:1px solid #503c1e40;border-radius:4px;padding:.15rem .35rem;font-size:.78rem;font-weight:900}.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:8px 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:min(1080px,100vw - 2rem);max-width:1080px;max-height:88vh}.recruitModalKicker{color:#d9b96f;letter-spacing:0;margin:0 0 .16rem;font-size:.72rem;font-weight:900}.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:#d8ceb8;margin:0 0 .8rem;font-size:.78rem;font-weight:700}.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:900}.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:900}.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:900}.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{justify-content:space-between;gap:.5rem;margin-top:.5rem;display:flex}.recruitModalFooter{border-top:1px solid #d9b96f38;align-items:center;margin-top:1rem;padding-top:.85rem}.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%}@media (width<=980px){.recruitSummaryBar,.recruitCardsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.recruitModal{width:min(520px,100vw - 1rem)}.recruitSummaryBar,.recruitCardsGrid{grid-template-columns:1fr}.recruitModalFooter{flex-direction:column;align-items:stretch}}.networkNode.disasterTarget .provinceCircle{animation:.8s ease-in-out infinite disasterPulse}.provinceHighlightRing{fill:none;pointer-events:none}.provinceHighlightRing.sourceOwn{stroke:#06f;stroke-width:3px}.provinceHighlightRing.moveDestination{stroke:#0a3;stroke-width:3px}.prefectureFactionHighlight,.territoryFactionHighlight{filter:drop-shadow(0 0 10px #ffe454e6);paint-order:stroke fill;stroke:#fff9c7fa;stroke-linejoin:round;vector-effect:non-scaling-stroke;animation:.85s ease-in-out infinite territoryFactionFlash}.prefectureFactionHighlight{stroke-width:1px}.territoryFactionHighlight{stroke-width:1.1px}.networkNode.warRequestTarget .provinceCircle,.networkNode.targetEnemy .provinceCircle{filter:drop-shadow(0 0 8px #eb3c30cc);stroke:#eb3c30;animation:.9s ease-in-out infinite invasionTargetStrokePulse}.diplomacyLine{fill:none;pointer-events:none;stroke-width:1.5px;vector-effect:non-scaling-stroke}.diplomacyLine.allied{stroke:#0a3}.diplomacyLine.truce{stroke:#cc0}.diplomacyLine.hostile{stroke:#c33}.diplomacyLine.neutral{stroke:#888;opacity:.6}@keyframes invasionTargetStrokePulse{0%,to{stroke-opacity:.35}50%{stroke-opacity:1}}@keyframes territoryFactionFlash{0%,to{fill:#ffcd307a;stroke:#fff9c7eb;filter:drop-shadow(0 0 7px #ffda3ec7)}50%{fill:#ffee48f5;stroke:#ffffe0;filter:drop-shadow(0 0 15px #ffe850)}}.diplomacyLegend{left:16px;bottom:calc(var(--diplomacy-panel-max-height,280px) + 12px);color:#111;z-index:41;pointer-events:none;background:#ffffffd9;border-radius:6px;gap:16px;padding:8px 12px;font-size:.85em;display:flex;position:fixed;box-shadow:0 2px 8px #0000004d}.diplomacyLegendItem{align-items:center;gap:6px;display:flex}.diplomacyLegendLine{border-radius:2px;width:24px;height:3px;display:inline-block}.diplomacyLegendLine.allied{background:#0a3}.diplomacyLegendLine.truce{background:#cc0}.diplomacyLegendLine.hostile{background:#c33}.diplomacyLegendLine.neutral{background:#888}.diplomacyPanel{bottom:var(--diplomacy-panel-bottom,0px);color:#fff;max-height:var(--diplomacy-panel-max-height,360px);z-index:40;background:#141414f2;border-top:1px solid #444;gap:24px;min-width:0;padding:16px 72px 16px 24px;display:flex;position:fixed;left:0;right:0;overflow-y:auto;box-shadow:0 -4px 16px #0006}.diplomacyPanelClose{position:absolute;top:14px;right:16px}.diplomacyPanelCol{flex-direction:column;flex:1;gap:6px;display:flex}.diplomacyPanelColLeft{flex:1.2}.diplomacyPanelColCenter{flex:1.5}.diplomacyPanelColRight{flex:.8;align-items:stretch}.diplomacyPanelFactionName{font-size:1.1em;font-weight:700}.diplomacyPanelLord{opacity:.85;font-size:.9em}.diplomacyPanelRelation,.diplomacyPanelSelfLabel{margin-top:4px;font-size:.95em}.diplomacyActionBtn{color:#fff;cursor:pointer;background:#2a2a2a;border:1px solid #555;border-radius:4px;padding:8px 12px}.diplomacyActionBtn:disabled{cursor:not-allowed;opacity:.4}.diplomacyActionBtn.selected{background:#4a5568;border-color:#93c5fd;box-shadow:inset 0 0 0 1px #93c5fd}.diplomacyActionBtn.selected:disabled{cursor:not-allowed;opacity:.75}.diplomacyRecentEvents{min-height:32px}.diplomacyOfficerSelector{background:#ffffff0f;border:1px solid #ffffff29;border-radius:6px;gap:.45rem;margin-top:.5rem;padding:.65rem;display:grid}.diplomacyOfficerSelectorHeader{color:#f3d787;font-weight:800}.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:#93c5fd;box-shadow:inset 0 0 0 1px #93c5fd}.diplomacyOfficerName{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:800;overflow:hidden}.diplomacyOfficerPickButton{color:#fff;cursor:pointer;background:#2a2a2a;border:1px solid #555;border-radius:4px;align-self:flex-start;margin-top:8px;padding:8px 14px;font-size:.95rem;font-weight:700}.diplomacyOfficerPickButton:hover{background:#3a3a3a;border-color:#777}.diplomacyOfficerSelected{background:#93c5fd1f;border:1px solid #93c5fd;border-radius:4px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;padding:8px 12px;font-size:.92rem;display:flex}.diplomacyOfficerSelectedLabel{color:#aac;font-weight:700}.diplomacyOfficerPolitics{color:#e8d8a8;white-space:nowrap;font-size:.88rem;font-weight:700}.diplomacyActionNotice{color:#ffffffc7;font-size:.86rem}.diplomacyActionNotice.warning{color:#fca5a5;font-weight:800}.poachPickerColumns{grid-template-columns:1fr 1fr 1fr;align-items:stretch;gap:.6rem;display:grid}.poachPickerColumn{flex-direction:column;gap:.4rem;min-width:0;display:flex}.poachSummaryColumn{background:#0003;border:1px solid #ffffff1f;border-radius:4px;justify-content:center;padding:.5rem .6rem}.poachSummaryRow{white-space:nowrap;font-size:.9rem}.poachSummaryEmpty{color:#888;text-align:center;font-size:.85rem;font-style:italic}.moveEta{color:#888;font-size:.9em}@keyframes disasterPulse{0%,to{opacity:1;filter:drop-shadow(0 0 #e0606000)}50%{opacity:.35;filter:drop-shadow(0 0 10px #e06060e6)}}.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}.provinceNetwork{transform-origin:0 0;will-change:transform;background:radial-gradient(circle at 20% 10%,#9a5a2f21,#0000 26%),linear-gradient(135deg,#f8f0d7,#edf2df);border:1px solid #d8dccf;width:100%;height:min(62vh,620px);min-height:360px;display:block}.mapCanvasLayer{pointer-events:none;transform-origin:0 0;will-change:transform;z-index:0;border:1px solid #d8dccf;width:100%;height:min(62vh,620px);min-height:360px;display:block;position:absolute;inset:0}.mapCanvasLayer+.provinceNetwork{z-index:1;position:relative}.networkEdge{opacity:.25;stroke:#fff;stroke-linecap:round;stroke-width:3px;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 .warRequestTarget .provinceCircle,svg.panning .targetEnemy .provinceCircle,svg.panning .disasterTarget .provinceCircle{animation:none}svg.panning .provinceEditorEdge,svg.panning .provinceEditorNode.selected .provinceCircle,svg.panning .provinceEditorNode.selected .provinceEditorIncompleteStar,svg.panning .provinceEditorNode:hover circle{filter:none}.networkNode{cursor:pointer}.networkNode:hover .provinceCircle{filter:drop-shadow(0 8px 8px #222b2252);opacity:1}.selectedNetworkNode .provinceCircle{filter:drop-shadow(0 0 .7rem #9a5a2f94)}.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;width:20px;height:20px}.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}.editorPanel{margin-top:20px}:is(.shell--event-editor .editorPanel,.shell:has(.event-editor) .editorPanel){width:100%}.editorScenarioSelector{background:#ffdc960f;border-bottom:1px solid #4a3f2a;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.75rem 1rem;display:flex}.editorScenarioSelector select{padding:.3rem .6rem;font-size:.95rem}.dirtyBadge{color:#f5d76e;margin-left:.5rem;font-size:.85rem}.scenarioActions{gap:.4rem;margin-left:auto;display:flex}.scenarioActions button{padding:.3rem .7rem;font-size:.85rem}.scenarioActions button:disabled{cursor:not-allowed;opacity:.4}.editor-ui-tabs{flex-wrap:wrap;display:flex}.editor-ui-tab{cursor:pointer;font-family:inherit}.editor-ui-tabs--md,.editor-ui-tabs--sm{gap:.25rem}.editorTabs{border-bottom:1px solid #4a3f2a;margin-bottom:1rem}.editorTabs .editor-ui-tab{color:#a08060;background:0 0;border:1px solid #0000;border-bottom:none;padding:.5rem 1rem}.editorTabs .editor-ui-tab.is-active{color:#f0e6c8;background:#2a2a3e;border-color:#4a3f2a}.shell--editor-workbench .editorPanel{background:var(--editor-theme-panel);border:1px solid var(--editor-theme-border);color:var(--editor-theme-text);border-radius:6px;grid-template-rows:auto auto minmax(0,1fr);gap:0;width:100%;min-height:calc(100vh - 28px);margin-top:0;display:grid;overflow:hidden;box-shadow:0 24px 80px #5e412629}.shell--editor-workbench .editorScenarioSelector{background:var(--editor-theme-panel);border-bottom:1px solid var(--editor-theme-border);flex-wrap:wrap;align-items:center;gap:10px;min-height:52px;margin:0;padding:10px 14px;display:flex}.shell--editor-workbench .editorScenarioSelector label{color:var(--editor-theme-muted);font-size:.82rem;font-weight:var(--font-weight-title);white-space:nowrap}.shell--editor-workbench .editorScenarioSelector select{background:var(--editor-theme-control);border:1px solid var(--editor-theme-border-strong);color:var(--editor-theme-text);border-radius:4px;min-width:min(380px,42vw);padding:7px 10px;font-size:.9rem}.shell--editor-workbench .dirtyBadge{color:var(--editor-theme-focus);font-size:.82rem;font-weight:var(--font-weight-support);margin-left:0}.shell--editor-workbench .scenarioActions{flex-wrap:wrap;gap:7px;margin-left:auto;display:flex}.shell--editor-workbench .scenarioActions button{background:var(--editor-theme-control);border:1px solid var(--editor-theme-border);color:var(--editor-theme-text);font-size:.84rem;font-weight:var(--font-weight-title);border-radius:4px;padding:7px 10px}.shell--editor-workbench .scenarioActions button:hover{background:var(--editor-theme-control-hover);border-color:var(--editor-theme-focus)}.shell--editor-workbench .scenarioActions button:disabled{cursor:not-allowed;opacity:.42}.shell--editor-workbench .editor-ui-tabs--workbench.editorTabs{background:var(--editor-theme-panel);border-bottom:1px solid var(--editor-theme-border);align-items:end;gap:4px;min-height:48px;margin:0;padding:9px 14px 0;overflow:visible}.shell--editor-workbench .editor-ui-tabs--workbench .editor-ui-tab{background:var(--editor-theme-control);border:1px solid var(--editor-theme-border);color:var(--editor-theme-muted);font-size:.88rem;font-weight:var(--font-weight-title);border-bottom-right-radius:0;border-bottom-left-radius:0;min-height:38px;margin-bottom:-1px;padding:8px 13px}.shell--editor-workbench .editor-ui-tabs--workbench .editor-ui-tab:hover{background:var(--editor-theme-control-hover);border-color:var(--editor-theme-focus);color:var(--editor-theme-text)}.shell--editor-workbench .editor-ui-tabs--workbench .editor-ui-tab.is-active{border-color:var(--editor-theme-focus);box-shadow:inset 0 3px 0 var(--editor-theme-focus);color:var(--editor-theme-text-strong);background:#fff8ed;border-bottom-color:#fff8ed}.shell--editor-workbench .editor-ui-tab:focus-visible{border-color:var(--editor-theme-focus);outline:none}.shell--editor-workbench .editorWorkbenchBody{background:var(--editor-theme-bg);padding:14px}.shell--editor-workbench,.shell--editor-workbench *{scrollbar-color:#bfa98f #efe7dc;scrollbar-width:thin}.shell--editor-workbench::-webkit-scrollbar{width:10px;height:10px}.shell--editor-workbench ::-webkit-scrollbar{width:10px;height:10px}.shell--editor-workbench::-webkit-scrollbar-track{background:#efe7dc}.shell--editor-workbench ::-webkit-scrollbar-track{background:#efe7dc}.shell--editor-workbench::-webkit-scrollbar-thumb{background:#bfa98f;border:2px solid #efe7dc;border-radius:999px}.shell--editor-workbench ::-webkit-scrollbar-thumb{background:#bfa98f;border:2px solid #efe7dc;border-radius:999px}.shell--editor-workbench::-webkit-scrollbar-thumb:hover{background:#9f876d}.shell--editor-workbench ::-webkit-scrollbar-thumb:hover{background:#9f876d}.shell--editor-workbench::-webkit-scrollbar-corner{background:#efe7dc}.shell--editor-workbench ::-webkit-scrollbar-corner{background:#efe7dc}.shell--editor-workbench .event-editor{background:var(--editor-theme-bg);border:0;margin:0}.shell--editor-workbench .event-editor__mode-tabs{background:var(--editor-theme-panel);border:1px solid var(--editor-theme-border);border-radius:5px 5px 0 0;margin:0;padding:8px}.shell--editor-workbench .event-editor__mode-tabs button{background:var(--editor-theme-control);border:1px solid var(--editor-theme-border);color:var(--editor-theme-text);font-weight:var(--font-weight-title);border-radius:4px}.shell--editor-workbench .event-editor__mode-tabs button:hover{background:var(--editor-theme-control-hover);border-color:var(--editor-theme-focus)}.shell--editor-workbench .event-editor__mode-tabs button.active{border-color:var(--editor-theme-focus);color:var(--editor-theme-text-strong);background:#fff8ed}.shell--editor-workbench .event-editor__mode-tabs .editor-ui-segmented{align-items:center;gap:4px;display:inline-flex}.shell--editor-workbench .event-editor__mode-tabs .editor-ui-segmented button{background:var(--editor-theme-control);border:1px solid var(--editor-theme-border);color:var(--editor-theme-text);cursor:pointer;font-weight:var(--font-weight-title);border-radius:4px;min-height:30px;padding:0 12px}.shell--editor-workbench .event-editor__mode-tabs .editor-ui-segmented button:hover,.shell--editor-workbench .event-editor__mode-tabs .editor-ui-segmented button.is-active{border-color:var(--editor-theme-focus)}.shell--editor-workbench .event-editor__mode-tabs .editor-ui-segmented button.is-active{color:var(--editor-theme-text-strong);background:#fff8ed;box-shadow:inset 0 0 0 1px #9b5f2238}.shell--editor-workbench .eventFlowEditorPanel{border-top-left-radius:0;border-top-right-radius:0;flex-direction:column;height:calc(100vh - 170px);min-height:520px;margin-top:0;display:flex;overflow:hidden}.shell--editor-workbench .eventFlowEditorPanel>header{border-bottom:1px solid var(--editor-theme-border);margin-bottom:12px;padding-bottom:12px}.shell--editor-workbench .sectionHeader p{color:var(--editor-theme-muted)}.shell--editor-workbench .event-flow-canvas__toolbar{flex:auto}.shell--editor-workbench .event-flow-canvas__toolbar strong{white-space:nowrap}.shell--editor-workbench .event-flow-canvas__header span{overflow-wrap:normal}.factionEditor{gap:14px;display:grid}.officerEditor,.provinceEditor,.scenarioEditor,.mapAssetEditor{gap:18px;margin-top:18px;display:grid}.mapAssetTypeChoices{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.mapAssetTypeChoices label{align-items:center;gap:6px;display:inline-flex}.mapAreaList{gap:6px;display:grid}.mapAreaRow{grid-template-columns:minmax(140px,1fr) minmax(180px,1.4fr) minmax(140px,1fr);gap:8px;display:grid}.mapAreaHeader{color:#a08060;font-size:.85rem;font-weight:700}.mapAreaRow input{min-width:0;padding:.35rem .5rem}.editorSubsection{gap:10px;display:grid}.officerEditorToolbar{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.officerSearchInput{flex:1;max-width:320px;padding:.4rem .6rem}.officerCount{color:#a08060;font-size:.85rem}.officerNewEditor{background:#fffdf7;border:1px solid #b5824047;border-radius:6px;gap:8px;padding:10px;display:grid}.officerNewEditor>strong{color:var(--editor-theme-text-strong);font-size:.92rem}.officerPager{justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.ruleEditor{padding:1rem}.shell--editor-workbench .ruleEditor{border:1px solid var(--editor-theme-border);box-shadow:none;color:var(--editor-theme-text);background:#fff8ed;border-radius:6px;gap:12px;margin:0;display:grid}.shell--editor-workbench .ruleEditor h2{color:var(--editor-theme-text-strong);margin:0;font-size:1rem}.ruleSubTabs{margin-bottom:1rem}.shell--editor-workbench .ruleSubTabs{margin-bottom:0}.ruleSubTabs .editor-ui-tab{color:#a08060;background:0 0;border:1px solid #4a3f2a;padding:.35rem .75rem;font-size:.85rem}.ruleSubTabs .editor-ui-tab.is-active{color:#f0e6c8;background:#2a2a3e}.ruleSection{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;display:grid}.ruleGroup{grid-template-columns:1fr}.shell--editor-workbench .ruleEditor .editor-ui-section{display:grid}.shell--editor-workbench .ruleEditor .editor-ui-section--subtle{border:1px solid var(--editor-theme-border);background:#ffffff75;border-radius:5px;padding:10px}.shell--editor-workbench .ruleEditor .ruleGroup{background:#f4ebdebd}.shell--editor-workbench .ruleEditor .editor-ui-section__header{justify-content:space-between;align-items:center;display:flex}.shell--editor-workbench .ruleEditor .editor-ui-section__title{color:var(--editor-theme-text-strong);font-size:.86rem;font-weight:var(--font-weight-title)}.shell--editor-workbench .ruleEditor .editor-ui-stack{display:grid}.shell--editor-workbench .ruleEditor .editor-ui-stack--xs{gap:8px}.ruleField{min-width:0}.shell--editor-workbench .ruleEditor .editor-ui-field{color:var(--editor-theme-muted);font-size:.82rem;font-weight:var(--font-weight-title);gap:4px;min-width:0;display:grid}.shell--editor-workbench .ruleEditor .editor-ui-field__control{display:contents}.shell--editor-workbench .ruleEditor .editor-ui-input,.shell--editor-workbench .ruleEditor .editor-ui-select{background:var(--editor-theme-control);border:1px solid var(--editor-theme-border-strong);color:var(--editor-theme-text);font:inherit;border-radius:4px;min-width:0;min-height:32px;padding:6px 8px}.shell--editor-workbench .ruleEditor .editor-ui-input--full,.shell--editor-workbench .ruleEditor .editor-ui-select--full{width:100%}.shell--editor-workbench .ruleEditor .editor-ui-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--editor-theme-muted) 50%), linear-gradient(135deg, var(--editor-theme-muted) 50%, transparent 50%);background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:30px}.shell--editor-workbench .ruleEditor .editor-ui-input:hover,.shell--editor-workbench .ruleEditor .editor-ui-select:hover{background:var(--editor-theme-control-hover);border-color:var(--editor-theme-focus)}.shell--editor-workbench .ruleEditor .editor-ui-input:focus-visible,.shell--editor-workbench .ruleEditor .editor-ui-select:focus-visible{border-color:var(--editor-theme-focus);outline:none}.shell--editor-workbench .editorDataPanel{border:1px solid var(--editor-theme-border);box-shadow:none;color:var(--editor-theme-text);background:#fff8ed;border-radius:6px;margin:0}.shell--editor-workbench .editorDataPanel .sectionHeader h2,.shell--editor-workbench .editorDataPanel .editor-ui-section__title{color:var(--editor-theme-text-strong);font-size:1rem;font-weight:var(--font-weight-title);margin:0}.shell--editor-workbench .editorDataPanel .sectionHeader p{color:var(--editor-theme-muted)}.shell--editor-workbench .editorDataPanel .editor-ui-section{gap:10px;display:grid}.shell--editor-workbench .editorDataPanel .editor-ui-section--subtle{border:1px solid var(--editor-theme-border);background:#ffffff75;border-radius:5px;padding:10px}.shell--editor-workbench .editorDataPanel .editor-ui-section__header{justify-content:space-between;align-items:center;display:flex}.shell--editor-workbench .editorDataPanel .editor-ui-button,.shell--editor-workbench .editorDataPanel .editor-ui-input,.shell--editor-workbench .editorDataPanel .editor-ui-select,.shell--editor-workbench .editorDataPanel .editor-ui-textarea{background:var(--editor-theme-control);border:1px solid var(--editor-theme-border-strong);color:var(--editor-theme-text);font:inherit;border-radius:4px}.shell--editor-workbench .editorDataPanel .editor-ui-input,.shell--editor-workbench .editorDataPanel .editor-ui-select,.shell--editor-workbench .editorDataPanel .editor-ui-textarea{min-width:0;min-height:32px;padding:6px 8px}.shell--editor-workbench .editorDataPanel .editor-ui-textarea{resize:vertical;min-height:76px}.shell--editor-workbench .editorDataPanel .editor-ui-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--editor-theme-muted) 50%), linear-gradient(135deg, var(--editor-theme-muted) 50%, transparent 50%);background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:30px}.shell--editor-workbench .editorDataPanel .editor-ui-button{cursor:pointer;font-weight:var(--font-weight-title);justify-content:center;align-items:center;gap:6px;min-height:32px;padding:0 10px;line-height:1;display:inline-flex}.shell--editor-workbench .editorDataPanel .editor-ui-button--sm{min-height:28px}.shell--editor-workbench .editorDataPanel .editor-ui-button--primary{border-color:var(--editor-theme-focus);color:var(--editor-theme-text-strong);background:#fff8ed}.shell--editor-workbench .editorDataPanel .editor-ui-button--danger{border-color:var(--editor-theme-danger);color:var(--editor-theme-danger)}.shell--editor-workbench .editorDataPanel .editor-ui-button:hover,.shell--editor-workbench .editorDataPanel .editor-ui-input:hover,.shell--editor-workbench .editorDataPanel .editor-ui-select:hover,.shell--editor-workbench .editorDataPanel .editor-ui-textarea:hover{background:var(--editor-theme-control-hover);border-color:var(--editor-theme-focus)}.shell--editor-workbench .editorDataPanel .editor-ui-button:focus-visible,.shell--editor-workbench .editorDataPanel .editor-ui-input:focus-visible,.shell--editor-workbench .editorDataPanel .editor-ui-select:focus-visible,.shell--editor-workbench .editorDataPanel .editor-ui-textarea:focus-visible{border-color:var(--editor-theme-focus);outline:none}.shell--editor-workbench .factionEditor .editorRow{grid-template-columns:minmax(120px,.75fr) minmax(140px,.85fr) minmax(150px,.85fr) minmax(120px,.75fr) minmax(85px,.45fr) minmax(95px,.48fr) minmax(85px,.45fr) minmax(72px,.35fr) minmax(150px,.9fr) minmax(120px,.55fr)}.shell--editor-workbench .rankEditor .officerEditorRow{grid-template-columns:minmax(120px,.8fr) minmax(150px,.9fr) minmax(90px,.5fr) minmax(100px,.55fr) minmax(100px,.55fr) minmax(90px,.5fr) minmax(180px,1fr) minmax(80px,.4fr)}.shell--editor-workbench .troopTypeEditor .officerEditorRow{grid-template-columns:minmax(120px,.75fr) minmax(140px,.85fr) minmax(70px,.38fr) minmax(70px,.38fr) minmax(80px,.42fr) minmax(80px,.42fr) minmax(70px,.35fr) minmax(82px,.4fr) minmax(82px,.4fr) minmax(180px,1fr)}.shell--editor-workbench .rankEditor .officerEditorRow label,.shell--editor-workbench .mapAssetEditor .mapAssetTypeChoices label{color:var(--editor-theme-muted);font-size:.82rem;font-weight:var(--font-weight-title);align-items:center;gap:6px;display:inline-flex}.shell--editor-workbench .editorDataPanel .editorHeader{color:var(--editor-theme-muted)}.shell--editor-workbench .editorDataPanel .editorRow,.shell--editor-workbench .editorDataPanel .skillEditorRow,.shell--editor-workbench .editorDataPanel .officerEditorRow,.shell--editor-workbench .editorDataPanel .provinceEditorRow{border:1px solid var(--editor-theme-border);background:#ffffff7a;border-radius:5px}.shell--editor-workbench .editorDataPanel .editorHeader{background:0 0;border-color:#0000}.shell--editor-workbench .troopTypeEditor .scenarioTable{gap:6px;display:grid}.shell--editor-workbench .troopTypeEditor .scenarioRow{border:1px solid var(--editor-theme-border);background:#ffffff80;border-radius:5px}.shell--editor-workbench .troopTypeEditor input[type=range]{accent-color:var(--editor-theme-focus);min-width:120px}.shell--editor-workbench .provinceEditor{gap:12px;margin:0}.shell--editor-workbench .provinceEditorWorkbench{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;gap:12px;display:grid}.shell--editor-workbench .provinceEditorMapPane,.shell--editor-workbench .provinceEditorSidePane{min-width:0}.shell--editor-workbench .provinceEditorSidePane{position:sticky;top:12px}.shell--editor-workbench .provinceEditor .mapControls{flex-wrap:wrap;margin:0}.shell--editor-workbench .provinceEditor .zoomLevel{color:var(--editor-theme-muted)}.shell--editor-workbench .provinceEditor .provinceTerrainDefinitionPage{gap:12px;display:grid}.shell--editor-workbench .provinceEditor .provinceTerrainDefinitionHeader{border:1px solid var(--editor-theme-border);background:#ffffff75;border-radius:5px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.shell--editor-workbench .provinceEditor .provinceTerrainDefinitionHeader h3{color:var(--editor-theme-text-strong);margin:0;font-size:1rem}.shell--editor-workbench .provinceEditor .provinceTerrainDefinitionHeader p{color:var(--editor-theme-muted);margin:3px 0 0;font-size:.82rem}.shell--editor-workbench .provinceEditor .provinceTerrainDefinitionList{gap:8px;display:grid}.shell--editor-workbench .provinceEditor .provinceTerrainDefinitionRow{border:1px solid var(--editor-theme-border);background:#ffffff75;border-radius:5px;grid-template-columns:minmax(120px,.8fr) minmax(160px,1.2fr) minmax(100px,.7fr) 64px auto;align-items:end;gap:8px;padding:10px;display:grid}.shell--editor-workbench .provinceEditor .provinceTerrainDefinitionRow .editor-ui-field{min-width:0}.shell--editor-workbench .provinceEditor .provinceTerrainDefinitionRow .editor-ui-input{width:100%}.shell--editor-workbench .provinceEditor .provinceTerrainDefinitionMeta{color:var(--editor-theme-muted);font-size:.82rem;font-weight:var(--font-weight-title);text-align:right;white-space:nowrap;padding-bottom:8px}.shell--editor-workbench .provinceEditor .provinceEditorCanvas .mapCanvasLayer{border-color:var(--editor-theme-border-strong);border-radius:5px;max-width:none;height:min(68vh,720px);min-height:360px}.shell--editor-workbench .provinceEditor .provinceEditorCanvas{height:min(68vh,720px);min-height:360px;overflow:hidden}.shell--editor-workbench .provinceEditor .provinceAdjacencyMap svg{border-color:var(--editor-theme-border-strong);transform-origin:0 0;border-radius:5px;width:100%;max-width:none;height:100%;position:absolute;top:0;left:0}.shell--editor-workbench .provinceEditor .adjacencyStatus{color:var(--editor-theme-text);z-index:2;background:#fff8ede6;border-color:#9a5a2f47;border-radius:5px;max-width:min(560px,100% - 20px);padding:8px 10px;position:absolute;top:10px;left:10px}.shell--editor-workbench .provinceEditor .provinceQuickEditor{border-color:var(--editor-theme-border);color:var(--editor-theme-text);background:#ffffff75;margin-top:0}.shell--editor-workbench .provinceEditor .provinceQuickEditor--empty{gap:8px}.shell--editor-workbench .provinceEditor .provinceQuickEditor--empty h3{color:var(--editor-theme-text-strong);margin:0;font-size:1rem}.shell--editor-workbench .provinceEditor .provinceQuickEditor--empty p{color:var(--editor-theme-muted);margin:0}.shell--editor-workbench .provinceEditor .provinceQuickHeader h3{color:var(--editor-theme-text-strong);font-size:1rem}.shell--editor-workbench .provinceEditor .provinceQuickGrid .editor-ui-field,.shell--editor-workbench .provinceEditor .provinceQuickDisaster .editor-ui-field{color:var(--editor-theme-muted);font-size:.82rem;font-weight:var(--font-weight-title);gap:4px;min-width:0;display:grid}.shell--editor-workbench .provinceEditor .provinceQuickGrid .editor-ui-field__control,.shell--editor-workbench .provinceEditor .provinceQuickDisaster .editor-ui-field__control{min-width:0;display:grid}.shell--editor-workbench .provinceEditor .provinceQuickGrid .editor-ui-input,.shell--editor-workbench .provinceEditor .provinceQuickGrid .editor-ui-select,.shell--editor-workbench .provinceEditor .provinceQuickDisaster .editor-ui-input,.shell--editor-workbench .provinceEditor .provinceQuickDisaster .editor-ui-select{width:100%}.shell--editor-workbench .provinceEditor .provinceQuickDisaster summary{color:var(--editor-theme-text-strong);font-weight:var(--font-weight-title)}.shell--editor-workbench .provinceEditor .inlineCheck{color:var(--editor-theme-muted);font-size:.82rem;font-weight:var(--font-weight-title);margin-top:8px}.shell--editor-workbench .provinceEditor .provinceEditorEdge{filter:drop-shadow(0 0 2px #ffffffb3)drop-shadow(0 1px 1px #0006);pointer-events:none;stroke:#ffffff8c}.shell--editor-workbench .provinceEditor .provinceEditorEdge.frontlineEdge{stroke:#fff6}.shell--editor-workbench .provinceEditor .provinceEditorNode.selected .provinceCircle,.shell--editor-workbench .provinceEditor .provinceEditorNode.selected .provinceEditorIncompleteStar{filter:drop-shadow(0 0 8px #f8e78ab8)}.shell--editor-workbench .provinceEditor .provinceEditorIncompleteStar{paint-order:stroke;stroke:#3a2204b8}@media (width<=1100px){.shell--editor-workbench .provinceEditorWorkbench{grid-template-columns:1fr}.shell--editor-workbench .provinceEditorSidePane{position:static}.shell--editor-workbench .provinceEditor .provinceTerrainDefinitionHeader,.shell--editor-workbench .provinceEditor .provinceTerrainDefinitionRow{grid-template-columns:1fr;align-items:stretch;display:grid}}.shell--editor-workbench .mapAssetEditor .mapAreaRow{border:1px solid var(--editor-theme-border);background:#ffffff7a;border-radius:5px;padding:8px}.shell--editor-workbench .mapAssetEditor .mapAreaHeader{color:var(--editor-theme-muted);background:0 0;border-color:#0000}.shell--editor-workbench .scenarioEditor .scenarioSection{border:1px solid var(--editor-theme-border);background:#ffffff75;border-radius:5px;gap:10px;padding:10px;display:grid}.shell--editor-workbench .scenarioEditor .scenarioSection>h2,.shell--editor-workbench .scenarioEditor .scenarioSection .sectionHeader h2{color:var(--editor-theme-text-strong);margin:0;font-size:1rem}.shell--editor-workbench .scenarioEditor .scenarioFormGrid label,.shell--editor-workbench .scenarioEditor .scenarioCheckboxGrid label,.shell--editor-workbench .scenarioEditor .scenarioRowField{color:var(--editor-theme-muted);font-size:.82rem;font-weight:var(--font-weight-title)}.shell--editor-workbench .scenarioEditor .scenarioRowField{gap:4px;min-width:0;display:grid}.shell--editor-workbench .scenarioEditor .scenarioRowField span{overflow-wrap:anywhere}.shell--editor-workbench .scenarioEditor .scenarioRow{border:1px solid var(--editor-theme-border);background:#ffffff80;border-radius:5px;align-items:end}.shell--editor-workbench .scenarioEditor .scenarioRowDeleteButton{place-self:end start;width:auto;min-width:64px}.shell--editor-workbench .scenarioEditor .scenarioRow--diplomacy{grid-template-columns:minmax(520px,2fr) minmax(300px,1fr) auto;align-items:stretch}.shell--editor-workbench .scenarioEditor .scenarioDiplomacyGroup{grid-template-rows:auto 1fr;align-content:start;gap:6px;min-width:0;display:grid}.shell--editor-workbench .scenarioEditor .scenarioDiplomacyGroup h3{color:var(--editor-theme-text-strong);margin:0;font-size:.84rem}.shell--editor-workbench .scenarioEditor .scenarioDiplomacyFields{gap:8px;min-width:0;display:grid}.shell--editor-workbench .scenarioEditor .scenarioDiplomacyFields--relation{grid-template-columns:repeat(4,minmax(120px,1fr))}.shell--editor-workbench .scenarioEditor .scenarioDiplomacyFields--emotion{grid-template-columns:repeat(2,minmax(112px,1fr));align-self:start}.shell--editor-workbench .scenarioEditor .scenarioDiplomacyDeleteButton{place-self:end}.shell--editor-workbench .scenarioEditor .scenarioHint{color:var(--editor-theme-muted);margin:0}.editorActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:inline-flex}.editorTable{gap:6px;display:grid}.eventList{gap:8px;display:grid}.eventEditor{gap:18px;display:grid}.eventEditorLayout{grid-template-columns:1fr;align-items:start;gap:18px;display:grid}.eventSidebar{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.eventRow{border:1px solid #d8dccf;flex:0 0 min(360px,82vw);align-items:center;gap:10px;padding:8px;display:flex}.eventRow.selected{background:#9a5a2f1a}.eventSelectButton{text-align:left;flex:1;gap:2px;display:grid}.eventSelectButton span{color:#7a6a50;font-size:.78rem}.eventEditorMain{gap:16px;display:grid}.eventBasicGrid,.eventFlagGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.eventEditForm{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px;display:grid}.eventEditForm label{gap:4px;display:grid}.eventRulePanels{gap:14px;display:grid}.sectionHeader.compact{align-items:center;margin-bottom:8px}.sectionHeader.compact h3{margin:0}.eventRuleRow{border:1px solid #e1d5b3;grid-template-columns:repeat(auto-fit,minmax(130px,1fr)) auto;align-items:center;gap:8px;margin-bottom:8px;padding:8px;display:grid}.eventRuleRow.novelEffectRow{grid-template-columns:1fr auto;align-items:stretch}.eventRuleRow.novelEffectRow>select,.eventRuleRow.novelEffectRow>.eventNovelEditor{grid-column:1/-1}.eventRuleRow.novelEffectRow>select{max-width:240px}.eventRuleRow input,.eventRuleRow select,.eventBasicGrid input,.eventBasicGrid select,.eventFlagGrid input{min-width:0;padding:.35rem .5rem}.eventPreview{background:#ffdc9614;border:1px solid #e1d5b3;padding:12px}.eventPreview h3{margin-top:0}.eventNovelEditor{gap:8px;min-width:min(620px,100%);display:grid}.eventNovelLines{gap:8px;display:grid}.eventNovelLine{border:1px solid #d2c4a4;border-radius:6px;gap:6px;padding:8px;display:grid}.eventNovelLine textarea{resize:vertical;min-height:72px}.eventNovelLine label{color:#4d5849;gap:.25rem;font-size:.78rem;font-weight:700;display:grid}.eventNovelSpeakerPicker,.eventNovelPortraitPicker{gap:6px;display:grid}.eventNovelSpeakerChoices,.eventNovelPortraitChoices{flex-wrap:wrap;gap:6px;display:flex}.eventNovelSpeakerCurrent{color:#172018;justify-content:space-between;align-items:center;gap:8px;display:flex}.eventNovelSpeakerCurrent button{color:#172018;background:#fffdf3;border:1px solid #9a723652;border-radius:4px;padding:.3rem .5rem}.eventNovelSpeakerChoices button{color:#172018;background:#fffdf3;border:1px solid #9a723647;border-radius:4px;align-items:center;gap:.45rem;padding:.35rem .55rem;display:inline-flex}.eventNovelSpeakerChoices button.selected,.eventNovelPortraitChoices button.selected{background:#eef4e8;border-color:#2f4730;box-shadow:0 0 0 2px #2f473029}.eventNovelSpeakerThumb{color:#66705f;background:#f6f3e7;border:1px solid #9a72363d;border-radius:3px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:.55rem;display:inline-flex;overflow:hidden}.eventNovelSpeakerThumb img{object-fit:cover;width:100%;height:100%;display:block}.eventNovelSpeakerThumb.hasImage span{display:none}.eventNovelSpeakerThumb.hasImage.isBroken span{display:inline}.eventNovelPickerLabel{color:#4d5849;font-size:.78rem;font-weight:700}.eventNovelPortraitChoices button{color:#172018;background:#fffdf3;border:1px solid #9a723647;border-radius:6px;grid-template-rows:70px auto;align-items:center;gap:5px;min-width:92px;min-height:98px;padding:6px;display:grid;position:relative}.eventNovelPortraitChoices img{object-fit:cover;width:80px;height:70px;display:block}.eventNovelPortraitChoices span{overflow-wrap:anywhere;max-width:86px;font-size:.72rem}.eventNovelPortraitChoices strong{color:#f7f4e8;z-index:2;background:#243b27;border-radius:3px;padding:.1rem .25rem;font-size:.64rem;font-weight:700;position:absolute;top:5px;left:5px}.eventNovelPortraitChoices em{color:#66705f;justify-content:center;align-items:center;width:80px;height:70px;font-size:.68rem;font-style:normal;display:none}.eventNovelPortraitChoices button.isBroken em{display:flex}.eventNovelLogicPreview{border-bottom:1px solid #9a72363d;gap:12px;padding-bottom:10px;display:grid}.eventNovelLogicTree{grid-template-columns:minmax(160px,.5fr) minmax(320px,1fr);align-items:start;gap:12px;display:grid}.eventNovelLogicChoices{gap:8px;display:grid}.eventNovelLogicBranch{grid-template-columns:minmax(130px,.7fr) 24px minmax(130px,.7fr);align-items:center;gap:8px;display:grid}.eventNovelLogicCard,.eventNovelLogicChoice,.eventNovelLogicEmpty{color:#172018;text-align:left;background:#fffdf3;border:1px solid #9a723647;border-radius:6px;gap:3px;min-height:58px;padding:8px;display:grid}.eventNovelLogicCard,.eventNovelLogicChoice{cursor:pointer}.eventNovelLogicCard:hover,.eventNovelLogicChoice:hover{box-shadow:0 0 0 2px #9a723624}.eventNovelLogicCard strong,.eventNovelLogicChoice strong{font-size:.88rem}.eventNovelLogicCard span,.eventNovelLogicChoice span,.eventNovelLogicCard em,.eventNovelLogicChoice em{color:#66705f;overflow-wrap:anywhere;font-size:.72rem;font-style:normal}.eventNovelLogicCard.root{background:#eef4e8;border-color:#2f473059}.eventNovelLogicCard.selected,.eventNovelLogicChoice.selected{box-shadow:0 0 0 3px #2f473038}.eventNovelLogicCard.linked,.eventNovelLogicChoice.linked{border-color:#2f4730;box-shadow:0 0 0 2px #2f47301f}.eventNovelLogicCard.missing,.eventNovelLogicChoice.missing{background:#f7ece8;border-color:#8c2f2261}.eventNovelLogicCard.empty,.eventNovelLogicChoice.empty,.eventNovelLogicEmpty{background:#f5edda;border-color:#9a72363d}.eventNovelLogicArrow{color:#7a6438;text-align:center;font-weight:700}.eventNovelNodeEditor{background:#fffdf3d6;border:1px solid #9a723652;border-radius:6px;grid-template-columns:repeat(2,minmax(180px,1fr));gap:8px;padding:12px;display:grid}.eventNovelNodeEditor .eventNovelPickerLabel,.eventNovelNodeEditor .mutedText{grid-column:1/-1}.eventNovelNodeEditorSection{grid-column:1/-1;gap:8px;display:grid}.eventNovelChoices{border-top:1px solid #9a72363d;gap:6px;padding-top:8px;display:grid}.eventNovelChoiceRow{grid-template-columns:minmax(110px,.32fr) minmax(150px,.62fr) minmax(160px,.62fr) minmax(130px,.5fr) 86px auto;align-items:center;gap:6px;display:grid}.eventNovelLinkStatus,.eventNovelIncoming{border-radius:4px;padding:.25rem .4rem;font-size:.72rem;font-weight:700}.eventNovelLinkStatus.linked,.eventNovelIncoming.hasIncoming{color:#243b27;background:#e6f0df}.eventNovelLinkStatus.missing{color:#8c2f22;background:#f3dfd9}.eventNovelLinkStatus.empty,.eventNovelIncoming{color:#7a6438;background:#f5edda}.eventNovelBranchScenes{border-top:1px solid #9a72363d;gap:8px;padding-top:10px;display:grid}.eventNovelBranchScene{background:#fffdf394;border:1px solid #9a723638;border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.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;white-space:nowrap;will-change:transform;padding:0;font-size:1.4rem;font-weight:700;position:absolute;top:50%;left:1rem;transform:translate(100vw,-50%)}.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(100vw,-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:fixed;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}.battleAnimationIconFallback{background:#11111147;border-radius:50%;width:42%;height:42%}.battleChoiceModal{max-width:420px}.editorRow{background:#f6f3e7;grid-template-columns:minmax(120px,.9fr) minmax(160px,1fr) minmax(140px,.8fr) minmax(100px,.5fr) minmax(160px,.8fr);align-items:center;gap:8px;padding:8px;display:grid}.skillEditorRow,.officerEditorRow,.provinceEditorRow{background:#f6f3e7;align-items:center;gap:8px;padding:8px;display:grid}.skillEditorRow{grid-template-columns:minmax(120px,.8fr) minmax(140px,.9fr) minmax(110px,.7fr) minmax(110px,.7fr) minmax(220px,1.25fr) minmax(180px,.9fr) minmax(150px,.7fr)}.skillEditorRow--editing{grid-template-columns:1fr;align-items:stretch}.officerEditorRow{grid-template-columns:58px minmax(140px,.9fr) minmax(130px,.75fr) minmax(70px,.4fr) minmax(70px,.4fr) minmax(70px,.4fr) minmax(110px,.55fr) minmax(90px,.45fr) minmax(80px,.4fr) minmax(70px,.35fr) minmax(70px,.35fr) minmax(96px,.42fr)}.provinceEditorRow{grid-template-columns:minmax(120px,.8fr) minmax(130px,.85fr) minmax(70px,.35fr) minmax(70px,.35fr) minmax(90px,.45fr) minmax(90px,.45fr) minmax(90px,.45fr) minmax(70px,.35fr) minmax(250px,1.4fr)}.editorHeader{color:#66705f;background:0 0;font-size:.8rem;font-weight:700}.editorRow input,.skillEditorRow input,.officerEditorRow input,.provinceEditorRow input{font:inherit;border:1px solid #2f4730;padding:.56rem .65rem}.effectEditor{gap:6px;display:grid}.skillEditForm{gap:10px;min-width:0;display:grid}.skillEditFields{grid-template-columns:minmax(140px,.8fr) minmax(160px,1fr) minmax(96px,.45fr) minmax(220px,1.1fr) minmax(220px,1.2fr);align-items:end;gap:8px;display:grid}.skillEditFields .editor-ui-field{gap:4px;display:grid}.skillEditFields .editor-ui-field__control{min-width:0;display:block}.skillEditStaticValue{align-items:center;min-height:34px;display:inline-flex}.effectEditorTitle{color:#66705f;font-size:.78rem;font-weight:700}.effectEditor>.editor-ui-button{justify-self:start}.effectRow{grid-template-columns:minmax(180px,1.1fr) minmax(120px,.7fr) minmax(88px,.4fr) minmax(220px,1.1fr) auto;align-items:center;gap:6px;min-width:0;display:grid}.effectModeSelect:disabled{color:#66705f}.effectMagnitudeField{gap:3px;min-width:0;display:grid}.effectMagnitudeControl{grid-template-columns:minmax(80px,1fr) auto;align-items:center;gap:6px;min-width:0;display:grid}.effectMagnitudeLabel{color:#4d5f48;white-space:nowrap;font-size:.78rem;font-weight:700}.effectMagnitudeHint{color:#66705f;font-size:.72rem;line-height:1.25}.skillCheckboxes{gap:4px;max-height:150px;display:grid;overflow:auto}.skillCheckboxes label{align-items:center;gap:6px;display:inline-flex}.officerListPortrait{color:#66705f;background:#fffdf3;border:1px solid #9a72363d;border-radius:4px;justify-content:center;align-items:center;width:44px;height:44px;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}.officerAffinityEditor{border-top:1px solid #d6c8a4;grid-column:1/-1;gap:.65rem;margin-top:.35rem;padding-top:.75rem;display:grid}.officerAffinityEditor h3{margin:0}.officerPortraitEditor{border-top:1px solid #d6c8a4;grid-column:1/-1;gap:.65rem;margin-top:.35rem;padding-top:.75rem;display:grid}.officerPortraitEditor h3{margin:0}.officerPortraitRows{gap:.45rem;display:grid}.officerPortraitRow{grid-template-columns:92px minmax(90px,.5fr) minmax(120px,.65fr) minmax(220px,1.4fr) auto;align-items:end;gap:.5rem;display:grid}.officerPortraitPreview{color:#172018;background:#fffdf3;border:1px solid #9a723652;border-radius:4px;place-items:center;width:92px;height:88px;padding:4px;display:grid;position:relative;overflow:hidden}.officerPortraitPreview.selected{border-color:#2f4730;box-shadow:0 0 0 2px #2f473029}.officerPortraitPreview img{object-fit:cover;z-index:1;width:64px;height:56px;display:block}.officerPortraitPreviewFallback{color:#66705f;grid-area:1/1;font-size:.72rem}.officerPortraitPreview.hasImage .officerPortraitPreviewFallback{display:none}.officerPortraitPreview.hasImage.isBroken .officerPortraitPreviewFallback{display:block}.officerPortraitPreview strong{color:#f7f4e8;z-index:2;background:#243b27;border-radius:3px;padding:.1rem .25rem;font-size:.68rem;font-weight:700;position:absolute;bottom:4px;right:4px}.officerStandingEditor{border-top:1px solid #d6c8a4;grid-column:1/-1;gap:.65rem;margin-top:.35rem;padding-top:.75rem;display:grid}.officerStandingPreview{color:#66705f;background:#fffdf3;border:1px solid #9a723652;border-radius:5px;place-items:center;min-height:180px;display:grid;position:relative;overflow:hidden}.officerStandingPreview img{object-fit:contain;z-index:1;max-width:100%;max-height:220px;display:block}.officerStandingPreview.hasImage span{display:none}.officerStandingPreview.hasImage.isBroken span{display:inline}.affinityGroup{gap:.4rem;display:grid}.affinityGroupHeader{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.affinityChips{flex-wrap:wrap;gap:.4rem;display:flex}.affinityChip{background:#9a72361f;border:1px solid #9a723647;align-items:center;gap:.35rem;padding:.25rem .45rem;display:inline-flex}.affinityChip button{padding:.1rem .3rem}.affinitySearchBox{background:#fffdf3d9;border:1px solid #9a723640;gap:.5rem;padding:.65rem;display:grid}.affinitySearchResults{gap:.35rem;max-height:220px;display:grid;overflow:auto}.affinitySearchResults button{text-align:left}.provinceEditForm{gap:8px;display:grid}.provinceEditForm label,.provinceDetailsForm label{color:#4d5849;gap:4px;font-size:.78rem;font-weight:700;display:grid}.inlineCheck{align-items:center;gap:6px!important;display:inline-flex!important}.inlineCheckGroup{flex-wrap:wrap;gap:8px 12px;display:flex}.provinceDetailsForm{background:#fffdf3b8;border:1px solid #b9852f57;gap:8px;padding:8px;display:grid}.disasterForm{grid-template-columns:repeat(4,minmax(80px,1fr));gap:6px;display:grid}.provinceAdjacencyMap{gap:10px;display:grid;position:relative;overflow:hidden}.provinceEditorCanvas{min-width:0;position:relative}.mapControls{align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.zoomLevel{color:#a08060;font-size:.85rem}.provinceAdjacencyMap svg{background:#0a0a1e;border:1px solid #4a3f2a;width:100%;max-width:1400px;height:auto;display:block}.provinceEditorEdge{stroke:#a08060b3;stroke-linecap:round;stroke-width:3px}.provinceEditorNode{cursor:grab;-webkit-user-select:none;user-select:none}.provinceEditorHitArea{pointer-events:all}.provinceEditorNode:active{cursor:grabbing}.provinceEditorNode.selected .provinceCircle,.provinceEditorNode.selected .provinceEditorIncompleteStar{filter:drop-shadow(0 0 8px #9a5a2f94)}.provinceEditorTooltip{color:#fffdf3;pointer-events:none;z-index:3;background:#172018eb;border:1px solid #fffdf347;gap:4px;width:180px;padding:9px 11px;font-size:.82rem;display:grid;position:absolute;transform:translate(12px,-10px);box-shadow:0 10px 24px #1720183d}.provinceEditorTooltip strong,.provinceEditorTooltip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.provinceEditorTooltip strong{font-size:.96rem}.japanPrefectureMap path{transition:fill .2s}.provinceEditorNode:hover circle{filter:drop-shadow(0 0 6px #f5d76eb3)}.adjacencyStatus{color:#f0e6c8;background:#151527;border:1px solid #4a3f2a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px;font-weight:700;display:flex}.scenarioSection{gap:10px;display:grid}.scenarioFormGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.scenarioFormGrid label,.scenarioCheckboxGrid label{color:#4d5849;gap:5px;font-size:.8rem;font-weight:700;display:grid}.scenarioTextarea{grid-column:1/-1}.scenarioTextarea textarea{resize:vertical;min-height:90px}.scenarioFormGrid input,.scenarioFormGrid select,.scenarioFormGrid textarea,.scenarioRow input,.scenarioRow select{font:inherit;border:1px solid #2f4730;padding:.56rem .65rem}.colorInputPair{align-items:center;gap:.5rem;display:flex}.colorInputPair input[type=color]{width:3.25rem;min-height:2.25rem;padding:.15rem}.scenarioCheckboxGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.scenarioCheckboxGrid label{background:#f6f3e7;align-items:center;gap:8px;padding:8px;display:inline-flex}.scenarioTable{gap:6px;display:grid}.scenarioRow{background:#f6f3e7;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;align-items:center;gap:8px;padding:8px;display:grid}.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:fixed;inset:0}.systemMenuModal{width:min(94vw,760px);max-height:86vh;overflow:auto}.systemMenuHeader{border-bottom:1px solid var(--modal-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.systemMenuHeader h2{margin:0;font-size:1rem}.systemMenuGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px;display:grid}.systemMenuGrid button,.systemMenuPane button{min-height:40px}.systemMenuPane{padding:16px}.systemAudioControls{border-top:1px solid var(--modal-border);gap:10px;padding:0 16px 16px;display:grid}.systemAudioControlRow{grid-template-columns:44px minmax(160px,1fr) 48px;align-items:center;gap:10px;display:grid}.systemAudioControlRow label,.systemAudioMute{color:var(--modal-text);font-size:.86rem;font-weight:700}.systemAudioControlRow input[type=range]{width:100%;min-width:0}.systemAudioControlRow span{color:var(--modal-text-sub);text-align:right;font-size:.82rem}.systemAudioMute{justify-self:start;align-items:center;gap:8px;display:inline-flex}.saveSlotColumns{grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr);gap:12px;display:grid}.saveSlotColumn{min-width:0}.saveSlotColumn h3{color:var(--modal-text);margin:0 0 8px;font-size:.9rem}.saveSlotEmpty{border:1px dashed var(--modal-cell-border);color:var(--modal-text-sub);margin:0;padding:10px;font-size:.84rem}.saveSlotList{flex-direction:column;gap:8px;display:flex}.saveSlotCreateBtn{width:100%;margin-bottom:8px}.saveSlotItem{border:1px solid var(--modal-cell-border);background:var(--modal-cell-bg);justify-content:space-between;gap:12px;padding:10px;display:flex}.saveSlotItem.disabled{opacity:.65}.saveSlotItem div:first-child{flex-direction:column;gap:3px;display:flex}.saveSlotItem span{color:var(--modal-text-sub);font-size:.8rem}.saveSlotActions{flex-shrink:0;align-items:center;gap:6px;display:flex}.systemMenuStatus{padding:0 16px 16px}@media (width<=700px){.saveSlotColumns{grid-template-columns:1fr}}.battleModal{background:var(--modal-bg);color:var(--modal-text);border-radius:8px;flex-direction:column;width:min(96vw,720px);max-width:720px;max-height:85vh;display:flex;overflow-y:auto;box-shadow:0 8px 32px #00000080}.battleModalHeader{border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.battleModalHeader h2{color:#fff;margin:0;font-size:1rem}.battleModalHeaderActions{align-items:center;gap:8px;display:flex}.battleModalPagination{opacity:.75;font-size:.85rem}.battleModalClose{color:#fff;cursor:pointer;background:#333;border:1px solid #555;border-radius:4px;padding:4px 12px}.battleModalClose:hover{background:#444}.battleModalBody{grid-template-columns:1fr 1fr;gap:12px;padding:12px 16px;display:grid}.novelOverlay{flex-direction:column;justify-content:center;align-items:center;padding:20px}.novelContent{cursor:pointer;width:min(96vw,1180px);max-width:1180px}.novelSceneBackground{border:1px solid var(--modal-border);background-color:#121214bd;background-position:50%;background-size:cover;border-radius:8px;justify-content:center;align-items:center;height:min(80vh,760px);min-height:560px;padding:32px;display:flex;position:relative;box-shadow:0 12px 36px #0006}.novelPanel{border:1px solid var(--modal-border);color:var(--modal-text);background:#121214c7;border-radius:6px;grid-template-rows:minmax(0,1fr) auto;height:300px;display:grid;position:absolute;bottom:24px;left:24px;right:24px;box-shadow:0 12px 36px #0000008c}.novelStanding{pointer-events:none;z-index:1;max-height:78%;position:absolute;bottom:0}.novelStanding img{object-fit:contain;max-width:min(36vw,360px);max-height:100%;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:min(48vw,460px);max-height:100%;display:block}.novelBody{grid-template-columns:132px minmax(0,1fr) 132px;gap:18px;min-height:0;padding:24px 24px 14px;display:grid}.novelPortrait{color:var(--modal-text-sub);text-align:center;background:linear-gradient(#2b2b2d,#171719);border:1px solid #f0d58a3d;border-radius:8px;justify-content:center;align-self:end;align-items:center;width:120px;height:150px;font-size:.78rem;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a,0 10px 24px #00000047}.novelPortraitSpacer,.novelSubPortraitSpacer{width:120px;height:150px}.novelPortrait img{object-fit:cover;width:100%;height:100%;display:block}.novelTextBlock{flex-direction:column;justify-content:center;align-self:stretch;min-width:0;padding-top:18px;display:flex}.novelSpeaker{color:#f5d76e;font-size:1rem;font-weight:var(--font-weight-title);background:#121214e6;border:1px solid #f0d58a47;border-radius:4px;width:fit-content;min-width:220px;min-height:1.2rem;margin-bottom:10px;padding:8px 14px;position:absolute;top:-18px;left:174px}.novelSpeaker.isEmpty{display:none}.novelText{color:#f7f0da;font-family:Noto Serif JP,serif;font-size:1.1rem;font-weight:var(--font-weight-body);white-space:pre-wrap;min-height:9.6rem;margin:0;line-height:1.75}.novelFooter{border-top:1px solid var(--modal-row-divider);justify-content:space-between;align-items:center;gap:12px;padding:8px 14px 10px;display:flex}.novelFooterControls{justify-content:flex-end;align-items:center;gap:10px;width:100%;display:flex}.novelUtilityButtons{gap:6px;display:flex}.novelUtilityButtons button{color:#f7f0dab8;cursor:pointer;background:#28282cb8;border:1px solid #f0d58a3d;border-radius:3px;min-width:76px;padding:6px 10px}.novelUtilityButtons button:hover{color:#f7f0da;background:#3c3c40d1}.novelChoices{gap:10px;width:min(520px,86%);display:grid}.novelChoiceStage{justify-content:center;align-items:center;display:flex;position:absolute;inset:24px 24px 286px}.novelChoiceButton{color:#f7f0da;cursor:pointer;text-align:left;background:#121214e0;border:1px solid #f0d58a6b;border-radius:6px;padding:12px 18px;font-size:1rem;box-shadow:0 8px 22px #0000005c}.novelChoiceButton:hover{background:#243b27f0}.garrisonBattleInfo{background:#222;border:1px solid #333;border-radius:4px;grid-column:1/-1;padding:12px}.battleSide{background:#1f1f1f;border:1px solid #333;border-radius:4px;padding:10px 12px}.battleSide.winner{background:linear-gradient(#c8a84b2e,#c8a84b0f);border-color:#c8a84b}.battleSide h3{color:#fff;margin:0 0 6px;font-size:.95rem}.battleSide ul{margin:0;padding:0;list-style:none}.battleSide li{border-bottom:1px solid #2a2a2a;padding:3px 0;font-size:.88rem}.battleSide li:last-child{border-bottom:none}.capturePrisonerSection{margin:0 16px 12px}.capturePrisonerCard{flex-direction:column;gap:6px;display:flex}.capturePrisonerChoices{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.capturePrisonerResult{color:#f0d18a;font-size:.9rem}.outcome{color:#e58a8a;margin-left:.5rem;font-weight:600}.battleModalFooter{border-top:1px solid #333;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.battleModalWinner{margin:0;font-size:.95rem}.battleModalWinner strong{color:#c8a84b}.battleModalRounds{opacity:.7;font-size:.85rem}.battleModalNext{color:#fff;cursor:pointer;background:#4a6f3b;border:1px solid #5f8a4d;border-radius:4px;padding:6px 18px;font-weight:600}.battleModalNext:hover{background:#5a8147}.infoModal{background:#fff;border-radius:8px;flex-direction:column;width:90%;max-width:900px;max-height:80vh;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:80vh;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:900}.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 turnTransitionFade;display:flex;position:fixed;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}}.gameLogModal{background:var(--modal-bg);color:var(--modal-text);border-radius:8px;flex-direction:column;width:90%;max-width:720px;max-height:80vh;padding:1.5rem;display:flex}.gameLogModalHeader{border-bottom:1px solid var(--modal-row-divider);justify-content:space-between;align-items:center;padding-bottom:.5rem;display:flex}.gameLogModalBody{flex:1;margin:.75rem 0;overflow-y:auto}.gameLogList{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.gameLogItem{border-left:3px solid var(--modal-cell-border);background:var(--modal-cell-bg);grid-template-columns:6rem 3rem 1fr;align-items:baseline;gap:.5rem;padding:.35rem .5rem;font-size:.9rem;display:grid}.gameLogItem-disaster{border-left-color:#e08a3c}.gameLogItem-battle{border-left-color:#c0392b}.gameLogItem-faction{border-left-color:#6c4ab6}.gameLogItem-diplomacy{border-left-color:#2d8a5a}.gameLogTurn{color:var(--modal-text-sub);font-size:.82rem}.gameLogCategory{color:var(--modal-text-sub);font-size:.82rem;font-weight:700}.gameLogModalFooter{border-top:1px solid var(--modal-row-divider);justify-content:flex-end;padding-top:.5rem;display:flex}@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))}.provinceNetwork,.mapCanvasLayer{height:430px}.row{grid-template-columns:1fr .8fr}.row span:nth-child(n+3){display:none}.editorRow,.skillEditorRow,.officerEditorRow,.provinceEditorRow,.skillEditFields,.effectRow,.disasterForm,.scenarioRow,.shell--editor-workbench .scenarioEditor .scenarioRow--diplomacy,.shell--editor-workbench .scenarioEditor .scenarioDiplomacyFields--relation,.shell--editor-workbench .scenarioEditor .scenarioDiplomacyFields--emotion{grid-template-columns:1fr}.shell--editor-workbench .scenarioEditor .scenarioDiplomacyDeleteButton{justify-self:start}.battleModalBody{grid-template-columns:1fr}}.provinceQuickEditor{background:#ffdc960f;border:1px solid #4a3f2a;border-radius:6px;margin-top:.75rem;padding:.75rem 1rem}.provinceQuickHeader{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.provinceQuickHeader h3{color:#f0e6c8;margin:0;font-size:1.05rem}.provinceQuickHeader>div{gap:.4rem;display:flex}.provinceQuickGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem 1rem;display:grid}.provinceQuickGrid label{color:#a08060;flex-direction:column;gap:.2rem;font-size:.85rem;display:flex}.provinceQuickGrid input,.provinceQuickGrid select{padding:.3rem .5rem}.provinceQuickDisaster{margin-top:.75rem}.provinceQuickDisaster summary{cursor:pointer;color:#c8a84b;font-size:.9rem}.provinceQuickDisaster .disasterForm{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;margin-top:.5rem;display:grid}.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;padding:18px}.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:#fff;overflow-wrap:anywhere;text-align:right;min-width:0;font-weight:800}.factionDetailModal>h3{color:#ead8a7;margin:1rem 0 .5rem;font-size:.94rem}.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}@media (width<=680px){.factionDetailModal{width:min(94vw,720px);min-width:0}.factionDetailTitleGroup{grid-template-columns:auto minmax(0,1fr)}.factionDetailIcon{display:none}.factionDetailBody,.factionDetailGrid{grid-template-columns:1fr}}.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:min(96vw,1280px);max-height:85vh;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:#fff;background:#222;border:1px solid #444;border-radius:4px;min-width:220px;padding:4px 8px}.invasionModalClose{color:#fff;cursor:pointer;background:#333;border:1px solid #555;border-radius:4px;padding:4px 12px}.invasionModalSubheader{border-bottom:1px solid #2a2a2a;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 #2a2a2a;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 72px 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:#2a2a2a}.invasionOfficerSlider{width:100%}.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:72px;height:72px}.invasionOfficerStat{opacity:.85;font-size:.9rem}.invasionModalFooter{border-top:1px solid #333;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.invasionModalConfirm{color:#fff;cursor:pointer;background:#4a6f3b;border:none;border-radius:4px;padding:6px 18px}.invasionModalConfirm:disabled{cursor:not-allowed;opacity:.4}.invasionModalCancel{color:#fff;cursor:pointer;background:#333;border:1px solid #555;border-radius:4px;padding:6px 18px}.battleProgressBar{color:#fff;background:#1a1a1a;border-radius:8px;flex-direction:column;gap:12px;width:min(640px,92vw);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:#2a2a2a;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{background:#0e0e0e;border:1px solid #2a2a2a;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{color:#fff;cursor:pointer;background:#333;border:1px solid #555;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 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 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{box-sizing:border-box;color:#f7f1e4;background:radial-gradient(circle at 50% 18%,#ffffff0a,#0000 34%),#111;border:1px solid #f0e6c82e;border-radius:0;flex-direction:column;gap:10px;width:100vw;height:100dvh;max-height:none;padding:14px 16px 16px;display:flex;overflow-y:auto;box-shadow:0 18px 48px #0000008c}.battlePlayer__header{flex:none;justify-content:flex-start;align-items:flex-start;gap:16px;min-height:44px;display:flex}.battlePlayer__header h2{margin:0;font-size:2rem;line-height:1.15}.battlePlayer__subtitle{color:#f7f1e4b8;margin:4px 0 0;font-size:1.05rem;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:#fff7df;text-shadow:0 1px 2px #00000080;font-weight:800}.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__pushPercent{color:#fff7df;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 span:after{background:inherit;content:"";border-bottom:1px solid #fff3d0b8;border-right:1px solid #fff3d0b8;width:8px;height:8px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.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:900;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__actionUnitText span{color:#f7f1e4b3;white-space:nowrap;font-size:.88rem;font-weight:700}.battlePlayer__actionArrow{color:#f8e5a2;flex:none;font-size:1rem;font-weight:900}.battlePlayer__actionTargets{flex:auto;gap:10px;min-width:0;display:flex;overflow:hidden}.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:900}.battlePlayer__actionResult--damage{color:#ff4040}.battlePlayer__actionResult--heal{color:#48df78}.battlePlayer__actionResult--moraleDamage{color:#ffd84a}.battlePlayer__actionResult--moraleHeal{color:#fff}.battlePlayer__actionIdle{color:#f7f1e4b3;margin:0;font-size:1rem;font-weight:700}.battlePlayer__formation{flex:0 0 clamp(350px,46dvh,520px);align-items:stretch;gap:12px;height:clamp(350px,46dvh,520px);min-height:0;display:flex;position:relative;overflow:hidden}.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:900;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:#fff;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:900;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--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:900;position:relative;transform:skew(6deg)}.battleCutin__banner{color:#fff;letter-spacing:0;text-align:center;text-shadow:0 1px 4px #00000094;background:#d83a3a;height:24px;font-size:1rem;font-weight:900;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:900;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)}.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:900}.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;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--promoted-ally{animation:.32s ease-out battlePromoteFromAllyBack}.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__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:900;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:#fff;background:0 0}.battlePlayer__unitMain{flex:auto;align-items:center;gap:8px;min-width:0;min-height:0;display:flex}.battlePlayer__portraitSlot{color:#81786a;background:#242424;border:1px solid #f0e6c829;border-radius:5px;flex:0 0 clamp(74px,9.5dvh,92px);justify-content:center;align-items:center;width:clamp(74px,9.5dvh,92px);height:clamp(74px,9.5dvh,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:space-between;align-items:center;gap:5px;min-width:0;display:flex}.battlePlayer__unitName{text-overflow:ellipsis;white-space:nowrap;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__unitMeta{color:#c8c0ad;gap:7px;font-size:.84rem;line-height:1;display:flex}.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:#fff}.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:#fff;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{background:#121212f0;border:1px solid #333;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:#fff7df;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{opacity:.72;background:#555;border-radius:999px;flex:1 1 0;width:56px;min-height:4px;max-height:7px}.battlePlayer__roundTicks span.isActive{opacity:1;background:linear-gradient(90deg,#fff,#fff1a0);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:900}.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 #333;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{color:#81786a;background:#242424;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:#fff7df;font-size:.64rem;font-weight:800}.battlePlayer__logIcon--empty{background:#2a2a2a;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{flex:none;justify-content:flex-end;gap:8px;display:flex}.battlePlayer__controls button{color:#fff;cursor:pointer;background:#333;border:1px solid #555;border-radius:4px;padding:5px 14px;font-size:.9rem}.battlePlayer__controls button:disabled{cursor:not-allowed;opacity:.45}.battlePlayer__resultButton{font-weight:700;background:#4a6f3b!important;border-color:#5f8a4d!important}@media (width<=720px){.battlePlayer{padding:12px}.battlePlayer__header{flex-direction:column;align-items:flex-start}.battlePlayer__slots{gap:6px}.battlePlayer__cell{gap:9px;padding:8px}.battlePlayer__unitMain{gap:6px}.battlePlayer__portraitSlot{flex-basis:84px;width:84px;height:84px}.battlePlayer__unitMeta{gap:2px}}@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{color:#ccc;cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:4px;padding:4px 12px;font-size:.9rem;transition:background .1s,color .1s,border-color .1s}.doctrineButton:hover{color:#fff;background:#333}.doctrineButton.selected{color:#fff;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 #2a2a2a;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:min(96vw,1280px);max-height:85vh;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:#2a2a2a}.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:#fff;cursor:pointer;background:#1b1b1b;border:2px solid #eb3c30;border-radius:6px;padding:10px 20px;font-size:15px;font-weight:700;position:fixed;top:64px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #00000080}.warRequestPeekBackBtn:hover{background:#2a2a2a}.officerStipendBtn{color:#f8ead0;cursor:pointer;background:linear-gradient(#2d3035,#171a1f);border:1px solid #5a5e66;border-radius:4px;padding:.2rem .5rem;font-size:.8rem;font-weight:800}.officerStipendBtn:hover{background:linear-gradient(#3a3e45,#23262b)}.event-editor{flex-direction:column;gap:10px;display:flex}.event-editor__mode-tabs{background:#fffdf2;border:1px solid #d8cfaa;border-radius:6px;align-self:flex-start;gap:4px;padding:4px;display:inline-flex}.event-editor__mode-tabs button{color:#2c2a20;background:0 0;border:1px solid #0000;padding:6px 12px}.event-editor__mode-tabs button.active{color:#14301b;background:#e8eedb;border-color:#24452b}.eventFlowEditorPanel{--event-flow-bg:var(--editor-theme-canvas);--event-flow-panel:var(--editor-theme-card);--event-flow-panel-2:var(--editor-theme-panel-2);--event-flow-border:var(--editor-theme-border);--event-flow-border-strong:var(--editor-theme-border-strong);--event-flow-text:var(--editor-theme-text);--event-flow-text-strong:var(--editor-theme-text-strong);--event-flow-muted:var(--editor-theme-muted);--event-flow-grid:#7658371f;--event-flow-hover-overlay:#9b5f2214;--event-flow-selected-glow:var(--editor-theme-selected-glow);--event-flow-focus-ring:var(--editor-theme-focus);--event-flow-terminal:var(--editor-theme-danger);--event-flow-terminal-soft:var(--editor-theme-danger-soft);--event-flow-type-start:#6c8fbf;--event-flow-type-condition:#2d73a8;--event-flow-type-choice:#8b6fb3;--event-flow-type-wait:#b88a20;--event-flow-type-end:#7f766b;--event-flow-type-novel:#4f8d5f;--event-flow-type-result:#b86f32;--editor-ui-bg:var(--event-flow-bg);--editor-ui-panel:var(--event-flow-panel);--editor-ui-control:var(--editor-theme-control);--editor-ui-control-hover:var(--editor-theme-control-hover);--editor-ui-border:var(--event-flow-border);--editor-ui-border-strong:var(--event-flow-border-strong);--editor-ui-text:var(--event-flow-text);--editor-ui-text-strong:var(--event-flow-text-strong);--editor-ui-muted:var(--event-flow-muted);--editor-ui-focus:var(--event-flow-focus-ring);--editor-ui-danger:var(--event-flow-terminal);background:var(--event-flow-bg);border-color:var(--event-flow-border);color:var(--event-flow-text)}.eventFlowEditorPanel .editor-ui-button,.eventFlowEditorPanel .editor-ui-input,.eventFlowEditorPanel .editor-ui-select,.eventFlowEditorPanel .editor-ui-textarea{background:var(--editor-ui-control);border:1px solid var(--editor-ui-border-strong);color:var(--editor-ui-text);font:inherit;border-radius:4px}.eventFlowEditorPanel .editor-ui-input,.eventFlowEditorPanel .editor-ui-select,.eventFlowEditorPanel .editor-ui-textarea{min-width:0;padding:6px 8px}.eventFlowEditorPanel .editor-ui-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--editor-ui-muted) 50%), linear-gradient(135deg, var(--editor-ui-muted) 50%, transparent 50%);background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:30px}.eventFlowEditorPanel .editor-ui-input,.eventFlowEditorPanel .editor-ui-select--md{min-height:32px}.eventFlowEditorPanel .editor-ui-select--sm,.eventFlowEditorPanel .editor-ui-button--sm{min-height:28px}.eventFlowEditorPanel .editor-ui-input--full,.eventFlowEditorPanel .editor-ui-select--full,.eventFlowEditorPanel .editor-ui-textarea--full{width:100%}.eventFlowEditorPanel .editor-ui-textarea{resize:vertical;min-height:76px}.eventFlowEditorPanel .editor-ui-button{cursor:pointer;font-weight:var(--font-weight-title);justify-content:center;align-items:center;gap:6px;min-height:32px;padding:0 10px;line-height:1;display:inline-flex}.eventFlowEditorPanel .editor-ui-button--primary{border-color:var(--editor-ui-focus);color:var(--editor-ui-text-strong);background:#fff8ed}.eventFlowEditorPanel .editor-ui-button--subtle{background:0 0}.eventFlowEditorPanel .editor-ui-button--danger{border-color:var(--editor-ui-danger);color:var(--editor-ui-danger)}.eventFlowEditorPanel .editor-ui-button--icon{width:28px;height:28px;min-height:28px;padding:0}.eventFlowEditorPanel .editor-ui-button:hover,.eventFlowEditorPanel .editor-ui-input:hover,.eventFlowEditorPanel .editor-ui-select:hover,.eventFlowEditorPanel .editor-ui-textarea:hover{background:var(--editor-ui-control-hover);border-color:var(--editor-ui-focus)}.eventFlowEditorPanel .editor-ui-button:disabled{cursor:not-allowed;opacity:.42}.eventFlowEditorPanel .editor-ui-button:focus-visible,.eventFlowEditorPanel .editor-ui-input:focus-visible,.eventFlowEditorPanel .editor-ui-select:focus-visible,.eventFlowEditorPanel .editor-ui-textarea:focus-visible,.eventFlowEditorPanel .editor-ui-segmented button:focus-visible{border-color:var(--editor-ui-focus);outline:none}.eventFlowEditorPanel .editor-ui-field{color:var(--editor-ui-muted);font-size:.82rem;font-weight:var(--font-weight-title);gap:4px;display:grid}.eventFlowEditorPanel .editor-ui-field--inline{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.eventFlowEditorPanel .editor-ui-field__control{display:contents}.eventFlowEditorPanel .editor-ui-field__help{color:var(--editor-ui-muted);font-size:.76rem;font-weight:var(--font-weight-support)}.eventFlowEditorPanel .editor-ui-field__error{color:var(--editor-ui-danger);font-size:.76rem}.eventFlowEditorPanel .editor-ui-toolbar,.eventFlowEditorPanel .editor-ui-control-group{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.eventFlowEditorPanel .editor-ui-section{gap:8px;display:grid}.eventFlowEditorPanel .editor-ui-section--accent{border-left:4px solid var(--event-flow-border-strong);padding-left:10px}.eventFlowEditorPanel .editor-ui-section--subtle{gap:7px}.eventFlowEditorPanel .editor-ui-section__header,.eventFlowEditorPanel .editor-ui-inline-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.eventFlowEditorPanel .editor-ui-section__header{justify-content:space-between}.eventFlowEditorPanel .editor-ui-section__title,.eventFlowEditorPanel .editor-ui-inspector-group__title{color:var(--editor-ui-text-strong);font-weight:var(--font-weight-title)}.eventFlowEditorPanel .editor-ui-section__actions{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.eventFlowEditorPanel .editor-ui-stack{display:grid}.eventFlowEditorPanel .editor-ui-stack--xs{gap:4px}.eventFlowEditorPanel .editor-ui-stack--sm{gap:8px}.eventFlowEditorPanel .editor-ui-stack--md{gap:12px}.eventFlowEditorPanel .editor-ui-stack--lg{gap:16px}.eventFlowEditorPanel .editor-ui-inline-row--start{align-items:flex-start}.eventFlowEditorPanel .editor-ui-inline-row--center{align-items:center}.eventFlowEditorPanel .editor-ui-inline-row--end{align-items:flex-end}.eventFlowEditorPanel .editor-ui-inline-row--nowrap{flex-wrap:nowrap}.eventFlowEditorPanel .editor-ui-empty-state{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.eventFlowEditorPanel .editor-ui-empty-state__title{color:var(--editor-ui-text-strong);width:100%}.eventFlowEditorPanel .editor-ui-empty-state__description{color:var(--editor-ui-muted);width:100%;margin:0}.eventFlowEditorPanel .editor-ui-empty-state__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.eventFlowEditorPanel .editor-ui-inspector-group{background:var(--event-flow-panel-2);border:1px solid var(--event-flow-border-strong);border-left:5px solid var(--event-flow-muted);border-radius:5px;gap:4px;padding:9px;display:grid}.eventFlowEditorPanel .editor-ui-inspector-group--start{border-left-color:var(--event-flow-type-start)}.eventFlowEditorPanel .editor-ui-inspector-group--condition{border-left-color:var(--event-flow-type-condition)}.eventFlowEditorPanel .editor-ui-inspector-group--choice{border-left-color:var(--event-flow-type-choice)}.eventFlowEditorPanel .editor-ui-inspector-group--wait{border-left-color:var(--event-flow-type-wait)}.eventFlowEditorPanel .editor-ui-inspector-group--end{border-left-color:var(--event-flow-type-end)}.eventFlowEditorPanel .editor-ui-inspector-group--novel{border-left-color:var(--event-flow-type-novel)}.eventFlowEditorPanel .editor-ui-inspector-group--result{border-left-color:var(--event-flow-type-result)}.eventFlowEditorPanel .editor-ui-segmented{align-items:center;gap:4px;display:inline-flex}.eventFlowEditorPanel .editor-ui-segmented button{background:var(--editor-ui-control);border:1px solid var(--editor-ui-border-strong);color:var(--editor-ui-text);cursor:pointer;font-weight:var(--font-weight-title);border-radius:4px;min-height:30px;padding:0 12px}.eventFlowEditorPanel .editor-ui-segmented button.is-active{border-color:var(--editor-ui-focus);color:var(--editor-ui-text-strong);background:#fff8ed;box-shadow:inset 0 0 0 1px #9b5f2238}.event-flow-event-controls{gap:8px;margin-bottom:12px;display:grid}.event-flow-event-select,.event-flow-event-create{align-items:end;gap:8px;display:flex}.event-flow-event-select label,.event-flow-event-create label,.event-flow-inspector label{color:var(--event-flow-text);gap:4px;font-size:.9rem;display:grid}.event-flow-editor{flex:auto;grid-template-columns:minmax(280px,1fr) minmax(320px,420px);align-items:start;gap:16px;min-height:0;display:grid}:is(.shell--event-editor .event-flow-editor,.shell:has(.event-editor) .event-flow-editor){grid-template-columns:minmax(0,1fr) minmax(320px,420px)}:is(.shell--event-editor .event-flow-workspace,.shell:has(.event-editor) .event-flow-workspace){grid-template-columns:minmax(220px,260px) minmax(0,1fr)}.event-flow-workspace{gap:12px;height:100%;min-height:0;display:grid}.event-flow-novel-block{border:1px solid var(--event-flow-border);background:#fffdf30a;border-radius:6px;gap:8px;padding:10px;display:grid}.event-flow-novel-block__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.event-flow-palette,.event-flow-inspector,.event-flow-empty,.event-flow-selected-connection-toolbar{background:var(--event-flow-panel);border:1px solid var(--event-flow-border);color:var(--event-flow-text);border-radius:6px;padding:12px}.event-flow-inspector{max-height:100%;position:sticky;top:12px;overflow-y:auto}.event-flow-palette h3,.event-flow-palette h4,.event-flow-inspector h3,.event-flow-inspector h4{color:var(--event-flow-text-strong);margin:0 0 8px}.event-flow-event-select select,.event-flow-event-create input,.event-flow-inspector input,.event-flow-inspector select,.event-flow-inspector textarea{background:var(--event-flow-bg);border:1px solid var(--event-flow-border-strong);color:var(--event-flow-text)}.event-flow-event-select button,.event-flow-event-create button,.event-flow-inspector button,.event-flow-selected-connection-toolbar button{background:var(--event-flow-panel-2);border:1px solid var(--event-flow-border-strong);color:var(--event-flow-text);cursor:pointer;font:inherit;border-radius:4px;flex:none;padding:5px 9px;font-weight:700}.event-flow-inspector button:hover,.event-flow-selected-connection-toolbar button:hover{background:var(--editor-theme-control-hover);border-color:var(--event-flow-focus-ring)}.event-flow-event-select select:focus-visible,.event-flow-inspector input:focus-visible,.event-flow-inspector select:focus-visible,.event-flow-inspector textarea:focus-visible,.event-flow-palette button:focus-visible,.event-flow-inspector button:focus-visible,.event-flow-selected-connection-toolbar button:focus-visible,.event-flow-canvas__zoom-controls button:focus-visible,.event-flow-card__route:focus-visible{outline:2px solid var(--event-flow-focus-ring);outline-offset:2px}.event-flow-palette-group{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.event-flow-palette-group h4{width:100%}.event-flow-palette-button{background:var(--event-flow-panel-2);border:1px solid var(--event-flow-border-strong);border-left:4px solid var(--event-flow-muted);color:var(--event-flow-text);cursor:pointer;font:inherit;border-radius:4px;align-items:center;gap:6px;min-height:32px;padding:6px 9px;font-size:.9rem;font-weight:700;display:inline-flex}.event-flow-palette-button:hover{background:var(--editor-theme-control-hover);border-bottom-color:var(--event-flow-focus-ring);border-right-color:var(--event-flow-focus-ring);border-top-color:var(--event-flow-focus-ring)}.eventFlowEditorPanel .event-flow-palette-button.editor-ui-button{justify-content:flex-start;align-items:center;min-height:36px;padding:.45rem .55rem}.event-flow-palette-button--condition{border-left-color:var(--event-flow-type-condition)}.event-flow-palette-button--choice{border-left-color:var(--event-flow-type-choice)}.event-flow-palette-button--wait{border-left-color:var(--event-flow-type-wait)}.event-flow-palette-button--end{border-left-color:var(--event-flow-type-end)}.event-flow-palette-button--novel{border-left-color:var(--event-flow-type-novel)}.event-flow-palette-button--result{border-left-color:var(--event-flow-type-result)}.event-flow-card-list-header{justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;display:flex}.event-flow-card-list-header span{color:var(--event-flow-muted);font-size:.86rem}.event-flow-canvas-stack{flex-direction:column;flex:auto;gap:8px;min-width:0;min-height:0;display:flex}.event-flow-selected-connection-toolbar{border-left:4px solid var(--event-flow-focus-ring);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:8px 10px;display:flex}.event-flow-selected-connection-toolbar div{flex-direction:column;gap:2px;min-width:0;display:flex}.event-flow-selected-connection-toolbar .editor-ui-stack{gap:3px}.event-flow-selected-connection-toolbar span{color:var(--event-flow-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-flow-canvas{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.event-flow-canvas.is-connector-dragging .event-flow-edge-hitarea{pointer-events:none}.event-flow-canvas__header{justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;display:flex}.event-flow-canvas__toolbar{align-items:center;gap:12px;min-width:0;display:flex}.event-flow-canvas__header span{color:var(--event-flow-muted);font-size:.86rem}.event-flow-canvas__zoom-controls{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:6px;display:flex}.event-flow-canvas__zoom-controls button{background:var(--event-flow-panel-2);border:1px solid var(--event-flow-border-strong);color:var(--event-flow-text);cursor:pointer;font:inherit;border-radius:4px;min-width:32px;min-height:28px;padding:4px 8px;font-size:.82rem;font-weight:700}.event-flow-canvas__zoom-controls button:hover{background:var(--editor-theme-control-hover);border-color:var(--event-flow-focus-ring)}.event-flow-canvas__zoom-controls button:disabled{border-color:var(--event-flow-border);color:var(--event-flow-muted);cursor:default;background:#e7dccd}.event-flow-canvas__zoom-controls span{color:var(--event-flow-muted);text-align:center;min-width:44px;font-size:.82rem;font-weight:700}.event-flow-canvas__surface{background:linear-gradient(var(--event-flow-grid) 1px, transparent 1px), linear-gradient(90deg, var(--event-flow-grid) 1px, transparent 1px), var(--event-flow-bg);border:1px solid var(--event-flow-border);cursor:grab;background-size:32px 32px;border-radius:6px;flex:auto;min-height:0;position:relative;overflow:auto}.event-flow-canvas__surface:focus-visible{outline:2px solid var(--event-flow-focus-ring);outline-offset:2px}.event-flow-canvas__viewport{position:relative}.event-flow-canvas.is-panning .event-flow-canvas__surface{cursor:grabbing}.event-flow-canvas.is-panning .event-flow-canvas__content{pointer-events:none;-webkit-user-select:none;user-select:none}.event-flow-canvas__content{position:relative;overflow:visible}.event-flow-canvas__lane-label{border:1px solid var(--event-flow-border);color:var(--event-flow-muted);background:#f8f3ebeb;border-radius:999px;padding:4px 10px;font-size:.82rem;font-weight:700;position:absolute}.event-flow-canvas__node{cursor:grab;z-index:1;width:280px;position:absolute}.event-flow-canvas__node.is-dragging,.event-flow-canvas__node.is-dragging .event-flow-card{cursor:grabbing}.event-flow-canvas__node.is-dragging{filter:drop-shadow(0 10px 18px #00000059);z-index:4}.event-flow-canvas__node.is-dragging .event-flow-card{border-color:var(--event-flow-focus-ring);box-shadow:inset 0 0 0 2px var(--event-flow-focus-ring);outline:none}.event-flow-edges{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:visible}.event-flow-edge{color:var(--editor-theme-edge)}.event-flow-edge--true{color:var(--editor-theme-edge-true)}.event-flow-edge--false{color:var(--editor-theme-edge-false)}.event-flow-edge--choice{color:var(--editor-theme-edge-choice)}.event-flow-edge--wait{color:var(--editor-theme-edge-wait)}.event-flow-edge.is-muted{opacity:.32}.event-flow-edge.is-incoming,.event-flow-edge.is-outgoing{opacity:1}.event-flow-edge-line{fill:none;marker-end:url(#event-flow-edge-arrow);stroke:currentColor;stroke-linecap:round;stroke-width:2.5px}.event-flow-edge--wait .event-flow-edge-line{stroke-dasharray:7 5}.event-flow-edge-label{pointer-events:none}.event-flow-edge-label-bg{fill:var(--editor-theme-edge-label-bg);stroke:currentColor;stroke-width:1px}.event-flow-edge-label text{dominant-baseline:middle;fill:var(--event-flow-text);font-size:.75rem;font-weight:700}.event-flow-edge-hitarea{cursor:pointer;fill:none;pointer-events:stroke;stroke:#0000;stroke-width:14px}.event-flow-edge:hover .event-flow-edge-line,.event-flow-edge.is-incoming .event-flow-edge-line,.event-flow-edge.is-outgoing .event-flow-edge-line{filter:drop-shadow(0 0 5px var(--event-flow-selected-glow));stroke-width:4px}.event-flow-edge.is-selected-connection .event-flow-edge-line{filter:drop-shadow(0 0 8px var(--event-flow-selected-glow));stroke-width:4.5px}.event-flow-connector-preview{fill:none;pointer-events:none;stroke:var(--editor-theme-port-hover);stroke-dasharray:8 6;stroke-linecap:round;stroke-width:2.5px}.event-flow-connector-preview.is-valid-target{stroke:var(--editor-theme-port-connect-target);stroke-width:3.5px}.event-flow-edges marker path{fill:currentColor}.event-flow-canvas__node .event-flow-card{cursor:grab;margin-bottom:0}.event-flow-canvas__node button,.event-flow-canvas__node input,.event-flow-canvas__node select,.event-flow-canvas__node textarea{cursor:auto}.event-flow-port{background:var(--event-flow-panel);border:2px solid var(--event-flow-text-strong);cursor:pointer;z-index:2;border-radius:999px;width:12px;height:12px;position:absolute;transform:translateY(-50%)}.event-flow-port--input{cursor:crosshair;top:50%;left:-6px}.event-flow-port--output{cursor:crosshair;z-index:4;right:-6px}.event-flow-port--output.is-overflow{opacity:.66}.event-flow-port--output:hover,.event-flow-port--output.is-connecting,.event-flow-port--input:hover,.event-flow-port--input.is-connecting,.event-flow-canvas__node:hover .event-flow-port{background:var(--editor-theme-port-hover);border-color:var(--editor-theme-port-border);box-shadow:0 0 0 4px var(--editor-theme-port-hover-glow)}.event-flow-port--output.is-connect-target,.event-flow-port--input.is-connect-target,.event-flow-canvas__node:hover .event-flow-port--output.is-connect-target,.event-flow-canvas__node:hover .event-flow-port--input.is-connect-target{background:var(--editor-theme-port-connect-target);border-color:var(--editor-theme-port-border);box-shadow:0 0 0 5px var(--editor-theme-port-connect-glow)}.event-flow-card{background:var(--event-flow-panel);border:1px solid var(--event-flow-border-strong);border-left:7px solid var(--event-flow-muted);color:var(--event-flow-text);cursor:grab;border-radius:6px;gap:7px;margin-bottom:0;padding:9px;display:grid;position:relative}.event-flow-card--start{border-left-color:var(--event-flow-type-start)}.event-flow-card--condition{border-left-color:var(--event-flow-type-condition)}.event-flow-card--choice{border-left-color:var(--event-flow-type-choice)}.event-flow-card--wait{border-left-color:var(--event-flow-type-wait)}.event-flow-card--end{border-left-color:var(--event-flow-type-end)}.event-flow-card--novel{border-left-color:var(--event-flow-type-novel)}.event-flow-card--result{border-left-color:var(--event-flow-type-result)}.event-flow-card--start .event-flow-card__type-chip,.event-flow-inspector-summary--start .event-flow-card__type-chip{color:var(--event-flow-type-start)}.event-flow-card--condition .event-flow-card__type-chip,.event-flow-inspector-summary--condition .event-flow-card__type-chip{color:var(--event-flow-type-condition)}.event-flow-card--choice .event-flow-card__type-chip,.event-flow-inspector-summary--choice .event-flow-card__type-chip{color:var(--event-flow-type-choice)}.event-flow-card--wait .event-flow-card__type-chip,.event-flow-inspector-summary--wait .event-flow-card__type-chip{color:var(--event-flow-type-wait)}.event-flow-card--end .event-flow-card__type-chip,.event-flow-inspector-summary--end .event-flow-card__type-chip{color:var(--event-flow-type-end)}.event-flow-card--novel .event-flow-card__type-chip,.event-flow-inspector-summary--novel .event-flow-card__type-chip{color:var(--event-flow-type-novel)}.event-flow-card--result .event-flow-card__type-chip,.event-flow-inspector-summary--result .event-flow-card__type-chip{color:var(--event-flow-type-result)}.event-flow-card.is-selected{border-color:var(--event-flow-focus-ring);box-shadow:inset 0 0 0 2px var(--event-flow-focus-ring);outline:none}.event-flow-card.is-incoming{box-shadow:inset 4px 0 #66d2c947}.event-flow-card.is-outgoing{box-shadow:inset 4px 0 #4d8fe057}.event-flow-card.is-hover-target{outline-offset:2px;outline:3px solid #ffd166}.event-flow-card.is-terminal-node:after{background:var(--event-flow-terminal);content:"";border-radius:999px;width:3px;position:absolute;top:10px;bottom:10px;right:4px}.event-flow-card__topline{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.event-flow-card__type-chip{color:var(--event-flow-text-strong);font-size:.72rem;font-weight:var(--font-weight-title);background:#ffffff0f;border-radius:4px;flex:none;padding:2px 6px}.event-flow-card__id,.event-flow-inspector-summary code{color:var(--event-flow-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:var(--font-weight-support);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-flow-card__title{color:var(--event-flow-text-strong);font-size:.95rem;font-weight:var(--font-weight-title);overflow-wrap:anywhere}.event-flow-card__preview{color:var(--event-flow-muted);font-size:.82rem;font-weight:var(--font-weight-body);gap:2px;max-height:calc(2.214rem + 2px);line-height:1.35;display:grid;overflow:hidden}.event-flow-card__preview span{display:block}.event-flow-card__routes{gap:5px;display:grid}.event-flow-card__route{background:var(--event-flow-panel-2);border:1px solid var(--event-flow-border);color:var(--event-flow-text);cursor:pointer;font:inherit;text-align:left;border-radius:4px;grid-template-columns:minmax(42px,auto) auto minmax(0,1fr) 18px;align-items:center;gap:5px;min-height:26px;padding:4px 6px;font-size:.76rem;display:grid;position:relative}.event-flow-card__route:hover:not(:disabled):not(.is-terminal){background:var(--editor-theme-control-hover);border-color:var(--event-flow-focus-ring)}.event-flow-card__route:disabled{color:var(--event-flow-muted);cursor:default}.event-flow-card__route.is-outgoing{border-color:var(--event-flow-focus-ring);box-shadow:inset 3px 0 0 var(--event-flow-focus-ring)}.event-flow-card__route.is-terminal{border-color:var(--event-flow-terminal-soft)}.event-flow-canvas__node .event-flow-card__route{cursor:pointer}.event-flow-card__route.is-terminal .event-flow-card__route-target{color:var(--event-flow-terminal)}.event-flow-card__route.is-terminal:after{background:var(--event-flow-terminal);content:"";border-radius:999px;width:3px;height:18px;position:absolute;top:50%;right:24px;transform:translateY(-50%)}.event-flow-card__route-label,.event-flow-card__route-target{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-flow-card__route-arrow{color:var(--event-flow-muted);text-align:center;font-weight:800}.event-flow-card__route-port-spacer{width:16px;height:16px;display:inline-block}.event-flow-card__route-empty,.event-flow-card__route-more{color:var(--event-flow-muted);font-size:.76rem}.event-flow-card-header{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.event-flow-card-header span{color:var(--event-flow-text-strong);font-weight:700}.event-flow-card-id{color:var(--event-flow-muted);margin:4px 0 8px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem}.event-flow-card-summary,.event-flow-card-connections,.event-flow-inspector-section,.event-flow-condition-row,.event-flow-line-row,.event-flow-choice-row,.event-flow-action-row{gap:8px;display:grid}.event-flow-card-summary small{color:var(--event-flow-muted)}.event-flow-connection-rows{gap:6px;margin-top:6px;display:grid}.event-flow-connection-row{background:var(--event-flow-panel-2);border:1px solid var(--event-flow-border);color:var(--event-flow-text);cursor:pointer;text-align:left;border-radius:6px;grid-template-columns:minmax(64px,120px) 32px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:34px;padding:6px 8px;display:grid}.event-flow-connection-row:disabled{cursor:default;opacity:.72}.event-flow-connection-row:hover:not(:disabled){background:var(--editor-theme-control-hover);border-color:var(--event-flow-focus-ring)}.event-flow-connection-row:disabled:hover{background:var(--event-flow-panel-2)}.event-flow-connection-row.is-outgoing{border-color:var(--event-flow-focus-ring);box-shadow:inset 4px 0 0 var(--event-flow-focus-ring)}.event-flow-connection-label{color:var(--event-flow-muted);font-weight:var(--font-weight-support);overflow-wrap:anywhere}.event-flow-connection-arrow{color:var(--event-flow-focus-ring);font-weight:var(--font-weight-title);text-align:center}.event-flow-connection-target{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:6px;min-width:0;display:flex}.event-flow-connection-target small{color:var(--event-flow-muted);font-size:.78rem}.event-flow-connection-empty{color:var(--event-flow-muted);margin-top:6px}.event-flow-card-connections{margin-top:10px}.event-flow-inspector{position:sticky;top:12px}.event-flow-inspector-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.event-flow-inspector-header h3{margin:0}.event-flow-inspector-section{border-top:1px solid var(--event-flow-border);margin-top:12px;padding-top:12px}.eventFlowEditorPanel .event-flow-inspector-section .editor-ui-section__header{margin:0}.eventFlowEditorPanel .event-flow-inspector-section .editor-ui-section__title{font-size:1rem}.event-flow-inspector-summary{background:var(--event-flow-panel-2);border:1px solid var(--event-flow-border-strong);border-left:5px solid var(--event-flow-muted);border-radius:5px;gap:4px;margin-bottom:12px;padding:9px;display:grid}.event-flow-inspector-summary--start{border-left-color:var(--event-flow-type-start)}.event-flow-inspector-summary--condition{border-left-color:var(--event-flow-type-condition)}.event-flow-inspector-summary--choice{border-left-color:var(--event-flow-type-choice)}.event-flow-inspector-summary--wait{border-left-color:var(--event-flow-type-wait)}.event-flow-inspector-summary--end{border-left-color:var(--event-flow-type-end)}.event-flow-inspector-summary--novel{border-left-color:var(--event-flow-type-novel)}.event-flow-inspector-summary--result{border-left-color:var(--event-flow-type-result)}.event-flow-inspector-summary strong{color:var(--event-flow-text-strong);font-weight:var(--font-weight-title);overflow-wrap:anywhere}.event-flow-inspector-connections{gap:8px;display:grid}.event-flow-condition-row,.event-flow-choice-row,.event-flow-action-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));align-items:center}.event-flow-choice-help{color:var(--event-flow-muted);margin:0;font-size:.82rem}.event-flow-multi-select{gap:6px;display:grid}.event-flow-multi-select .editor-ui-select[multiple]{min-height:92px}.event-flow-choice-row{grid-template-columns:minmax(0,.95fr) minmax(0,1fr) minmax(0,1.15fr) minmax(68px,.7fr)}.event-flow-choice-row--header{color:var(--event-flow-muted);font-size:.78rem;font-weight:var(--font-weight-support);gap:8px}.eventFlowEditorPanel .event-flow-choice-row .editor-ui-button--danger{grid-column:1/-1;justify-self:stretch}.event-flow-action-row{border:1px solid var(--event-flow-border);border-left:3px solid var(--event-flow-type-result);background:#ffffff06;border-radius:5px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;padding:8px}.event-flow-action-row>span:first-child{color:var(--event-flow-text-strong);font-size:.86rem;font-weight:var(--font-weight-title);grid-column:1/-1}.eventFlowEditorPanel .event-flow-action-row .editor-ui-button--danger{justify-self:end;min-width:92px}.eventFlowEditorPanel .event-flow-condition-row .editor-ui-input,.eventFlowEditorPanel .event-flow-condition-row .editor-ui-select,.eventFlowEditorPanel .event-flow-action-row .editor-ui-input,.eventFlowEditorPanel .event-flow-action-row .editor-ui-select,.eventFlowEditorPanel .event-flow-choice-row .editor-ui-input{width:100%}.event-flow-line-row{border:1px solid var(--event-flow-border);background:#ffffff06;border-radius:5px;grid-template-columns:minmax(0,1fr);align-items:start;padding:9px}.eventFlowEditorPanel .event-flow-line-row .event-flow-line-body.editor-ui-textarea{font-family:Noto Serif JP,serif;font-weight:var(--font-weight-body);min-height:88px;padding:10px 12px;line-height:1.75}.event-flow-line-pages{gap:8px;display:grid}.event-flow-line-page{gap:4px;display:grid}.event-flow-line-page__footer{color:var(--event-flow-muted);justify-content:flex-end;align-items:center;gap:8px;font-size:.78rem;display:flex}.event-flow-line-row__header{align-items:center;gap:8px;display:flex}.event-flow-line-row__title{color:var(--event-flow-text-strong);font-weight:var(--font-weight-title)}.event-flow-line-row__badge{color:var(--event-flow-muted);font-size:.78rem;font-weight:var(--font-weight-support)}.event-flow-line-drag-handle{background:var(--event-flow-panel-2);border:1px solid var(--event-flow-border-strong);color:var(--event-flow-text);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.event-flow-line-drag-handle:active{cursor:grabbing}.event-flow-line-row.is-drop-target{border-color:var(--event-flow-focus-ring);box-shadow:0 0 0 1px var(--event-flow-focus-ring)}.event-flow-line-advanced-toggle{justify-content:flex-start;display:flex}.event-flow-line-advanced{border-left:2px solid var(--event-flow-border-strong);gap:8px;padding-left:8px;display:grid}.eventFlowEditorPanel .event-flow-line-row .editor-ui-input,.eventFlowEditorPanel .event-flow-line-row .editor-ui-select,.eventFlowEditorPanel .event-flow-line-row .editor-ui-textarea{box-sizing:border-box;width:100%}.eventFlowEditorPanel .event-flow-line-row .editor-ui-input:focus-visible,.eventFlowEditorPanel .event-flow-line-row .editor-ui-select:focus-visible,.eventFlowEditorPanel .event-flow-line-row .editor-ui-textarea:focus-visible{border-color:var(--editor-ui-focus);outline:none}.event-flow-line-row>button{justify-self:start;min-width:132px}.event-flow-inspector .eventNovelSpeakerCurrent{color:var(--event-flow-text)}.event-flow-inspector .eventNovelSpeakerCurrent button,.event-flow-inspector .eventNovelSpeakerChoices button,.event-flow-inspector .eventNovelPortraitChoices button{background:var(--event-flow-panel-2);border-color:var(--event-flow-border-strong);color:var(--event-flow-text)}.event-flow-inspector .eventNovelSpeakerChoices button.selected,.event-flow-inspector .eventNovelPortraitChoices button.selected{background:#66d2c924;border-color:#66d2c9;box-shadow:0 0 0 2px #66d2c929}.event-flow-inspector .eventNovelSpeakerThumb{background:var(--event-flow-bg);border-color:var(--event-flow-border);color:var(--event-flow-muted)}.event-flow-inspector .eventNovelPickerLabel,.event-flow-inspector .eventNovelPortraitChoices span,.event-flow-inspector .eventNovelPortraitChoices em{color:var(--event-flow-muted)}.event-flow-empty{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.event-flow-empty p{width:100%;margin:0}.event-flow-warning{color:#ffd166;font-weight:700}.deploymentGrid{grid-template-rows:repeat(2,auto);align-self:start;gap:0;min-width:0;display:grid;overflow:hidden}.deploymentGridColumn{grid-template-rows:auto auto;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;grid-column:1/-1;padding:8px;font-size:.9rem;font-weight:900}.deploymentGridCell{background:linear-gradient(135deg,#ffffff06,#0000),#060c0c75;border:1px solid #d6a9492e;border-radius:0;grid-template-rows:auto auto auto;gap:4px;min-width:0;min-height:clamp(128px,14dvh,170px);padding:6px;display:grid;position:relative;overflow:hidden}.deploymentGridCell.no-cell-label{grid-template-rows:auto auto}.deploymentGridCellLabel{color:#ffe8b8e0;margin-bottom:5px;font-size:.82rem;font-weight:700;line-height:1}.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:2/-1;justify-content:center;align-items:center;width:100%;min-height:clamp(96px,10dvh,124px);padding:0;font-size:.82rem;font-weight:700;display:flex}.deploymentGridCell.no-cell-label .deploymentGridEmpty{grid-row:1/-1}.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;min-height:128px;padding:8px;overflow:hidden}.deploymentGridUnit:active{cursor:grabbing}.deploymentGridUnit.is-selected{border-color:#d6a949c7;box-shadow:inset 0 0 0 2px #d6a94947,0 0 0 1px #ffe8b829}.deploymentGridUnit .battlePlayer__unitMain{flex:auto;align-items:center;gap:10px}.deploymentGridUnit .battlePlayer__portraitSlot{flex:0 0 100px;width:100px;height:100px}.deploymentGridUnit .battlePlayer__unitInfo{flex-direction:column;justify-content:center;align-items:stretch;gap:3px;display:flex}.deploymentGridUnit .battlePlayer__unitName{font-size:.86rem}.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}.deploymentGridUnit .battlePlayer__meterLabel{font-size:.72rem}.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:#fff;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;gap:10px;padding:12px;display:grid}.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}.deploymentEnemyForecastBadge{color:#ffd166;background:#d6a94926;border:1px solid #d6a9496b;border-radius:4px;flex:none;padding:5px 8px;font-size:.8rem;font-weight:800}.deploymentEnemyForecastStats{grid-template-columns:1.45fr repeat(3,minmax(0,1fr));gap:6px;display:grid}.deploymentEnemyForecastStats span{color:#ffffffa8;background:#0000002e;border:1px solid #ffffff14;border-radius:5px;padding:7px 8px;font-size:.76rem}.deploymentEnemyForecastStats strong{color:#fffffff0;margin-top:3px;font-size:.96rem;display:block}.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}.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}.deploymentEnemyForecastReinforcementHead{color:#ffffffc7;justify-content:space-between;align-items:center;gap:8px;font-size:.8rem;font-weight:800;display:flex}.deploymentEnemyForecastReinforcementHead span{color:#ffffff75;font-size:.72rem;font-weight:600}.deploymentEnemyForecastReinforcementList{gap:4px;max-height:104px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.deploymentEnemyForecastReinforcementRow{color:#ffffffad;background:#00000029;border:1px solid #ffffff14;border-radius:5px;grid-template-columns:72px 88px minmax(0,1fr);align-items:center;gap:6px;padding:5px 8px;font-size:.78rem;display:grid}.deploymentEnemyForecastReinforcementRow.isBase{border-color:#66d2c938}.deploymentEnemyForecastReinforcementRow.isEmpty{grid-template-columns:minmax(0,1fr)}.deploymentEnemyForecastReinforcementRow strong{color:#ffffffeb}.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:flex-start;gap:12px;display:flex}.deploymentRosterHeader h3{margin:0;font-size:1rem}.deploymentRosterTools{place-items:flex-end end;gap:6px;display:grid}.deploymentRosterSearch{align-items:center;gap:6px;display:flex}.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:6px;display:flex}.deploymentRosterSort button{color:#ffffffc7;background:#ffffff0f;border:1px solid #ffffff24;border-radius:5px;padding:5px 8px;font-size:.78rem}.deploymentRosterSort button.is-active{color:#fff;background:#66d2c929;border-color:#66d2c980}.deploymentRosterSort button:focus-visible,.deploymentGridEmpty:focus-visible,.deploymentGridUnit:focus-visible,.deploymentGridRemove:focus-visible,.deploymentClearButton:focus-visible,.deploymentScreenSummary button:focus-visible,.deploymentConfirmButton:focus-visible{outline-offset:2px;outline:2px solid #66d2c9}.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.6fr) minmax(58px,.55fr) minmax(86px,.8fr) 34px 34px;align-items:center;gap:6px;width:100%;padding:7px 8px;font-size:.84rem;display:grid}.deploymentRosterRow:hover{background:#ffffff12}.deploymentRosterRow.is-selected{background:#66d2c91f;box-shadow:inset 3px 0 #66d2c9}.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:1;background:#211c11;font-size:.76rem;font-weight:700;position:sticky;top:0;box-shadow:0 2px #d6a9492e}.deploymentRosterGroupHeader{color:#c7fff7db;letter-spacing:0;background:#151d18;border-bottom:1px solid #66d2c92e;padding:6px 8px;font-size:.74rem;font-weight:900}.deploymentRosterName{color:#fff;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}.deploymentRosterPlacedBadge{color:#ffd166;background:#ffd16624;border:1px solid #ffd16657;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:10px;height:100%;min-height:0;padding:12px 14px;display:flex;overflow:hidden}.deployedOfficerDetail.is-empty{color:#ffffff94;align-items:flex-start;gap:4px;min-height:0}.deployedOfficerDetail h3,.deployedOfficerDetail p{margin:0}.deployedOfficerHeader{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-width:0;display:grid}.deployedOfficerSummaryRow{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;min-width:0;display:grid}.deployedOfficerIdentity{min-width:0}.deployedOfficerName{color:#fff2c5;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.95rem;line-height:1.25;overflow:hidden}.deployedOfficerMeta{color:#ffffffc7;text-overflow:ellipsis;white-space:nowrap;margin:.25rem 0 0;font-size:.84rem;line-height:1.35;overflow:hidden}.deployedOfficerPortrait{object-fit:cover;background:#ffffff14;border:1px solid #ffffff29;border-radius:6px;width:64px;height:64px}.deployedOfficerStats{flex:none;justify-content:flex-end;align-items:flex-start;gap:6px;min-width:0;margin:0;display:flex}.deployedOfficerStats div{background:#ffffff0a;border-radius:5px;flex-direction:column;min-width:42px;min-height:0;padding:3px 5px;display:flex}.deployedOfficerStats dt{color:#ffffff8f;font-size:.72rem;line-height:1}.deployedOfficerStats dd{color:#fff;margin:2px 0 0;font-weight:700;line-height:1}.deployedOfficerSlider{flex:0 50%;align-self:end;gap:4px;width:50%;min-width:0;max-width:50%;display:grid}.deployedOfficerSlider span{color:#fffc;font-size:.84rem}.deployedOfficerSlider input{accent-color:#d6a949;width:100%}.deployedOfficerSlider input[type=range]{appearance:none;cursor:pointer;background:0 0;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:126px;margin-top:0;margin-left:auto;padding:6px 10px}.deployedCommanderButton.is-active{color:#fff;background:#ffd16629;border-color:#ffd1668a}.deployedOfficerSkills{flex:none;align-self:start;width:100%;min-width:0;min-height:26px;overflow:hidden}.deployedOfficerSkills .skillChipDetails{grid-template-columns:1fr}.deployedOfficerControls{justify-content:space-between;align-items:end;gap:28px;min-width:0;display:flex}.deploymentScreen{--deployment-top-panel-height:clamp(336px, 46dvh, 360px);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:fixed;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:900}.deploymentScreenSummary span.is-issue{color:#ffe3a6;background:#49361275;border-color:#d6a9497a;font-weight:900}.deploymentScreenSummary button{color:#fff;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:#fff;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{grid-area:1/2;height:100%;min-height:0;display:grid;overflow:hidden visible}.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{gap:6px;min-height:38px;display:grid}.deploymentHint,.deploymentWarning{border-radius:5px;margin:0;padding:8px 10px;font-size:.84rem}.deploymentHint{color:#cbf6f2f0;background:#66d2c91a}.deploymentWarning{color:#ffd166;background:#ffd1661f}.deploymentConfirmButton{color:#1a1207;background:linear-gradient(#d6a949,#9d7225);border:1px solid #ffe2929e;border-radius:6px;justify-self:stretch;width:100%;padding:12px 18px;font-weight:900}.deploymentConfirmButton:disabled{cursor:not-allowed;opacity:.42}.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)}.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;padding:10px 14px}.deploymentClearButton: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}@media (width<=1160px){.deploymentScreen{--deployment-top-panel-height:auto;overflow:auto}.deploymentDecisionStrip,.deploymentScreenBody{grid-template-columns:1fr}.deploymentScreenBody{grid-template-rows:auto;min-height:auto}.deploymentScreenDetail,.deploymentScreenEnemy,.deploymentBattlefield,.deploymentScreenRoster{grid-area:auto;overflow:visible}.deployedOfficerDetail{height:auto}.deployedOfficerControls{flex-direction:column;align-items:stretch;gap:10px}.deployedOfficerSlider{width:100%;max-width:none}.deployedCommanderButton{margin-left:0}.deployedOfficerSummaryRow{grid-template-columns:1fr;gap:10px}.deploymentFooter{grid-template-columns:1fr}}@media (width<=680px){.deploymentScreen{padding:12px}.deploymentScreenHeader{flex-direction:column;align-items:flex-start}.deploymentScreenSummary{justify-content:flex-start}.deploymentGrid{grid-template-rows:none}.deploymentGridColumn{grid-template-rows:auto repeat(3,auto);grid-template-columns:1fr}.deploymentEnemyForecastHeader,.deploymentEnemyForecastReinforcementHead,.deploymentRosterHeader{flex-direction:column;align-items:flex-start}.deploymentEnemyForecastStats{grid-template-columns:1fr}.deploymentEnemyForecastReinforcementRow{grid-template-columns:72px minmax(0,1fr)}.deploymentEnemyForecastReinforcementRow em{grid-column:1/-1}.deploymentRosterRow{grid-template-columns:minmax(110px,1.4fr) minmax(72px,.9fr) minmax(58px,.7fr) minmax(58px,.7fr)}.deploymentRosterRow span:nth-child(n+5){display:none}}.event-flow-unreachable-section{border-top:1px dashed var(--event-flow-border-strong);margin-top:18px;padding-top:14px}.event-flow-unreachable-section h3{margin:0 0 4px;font-size:1rem}.event-flow-unreachable-section p{color:var(--event-flow-muted);margin:0 0 10px}@media (width<=900px){.shell--editor-workbench .scenarioActions{width:100%;margin-left:0}.event-flow-editor,.shell--event-editor .event-flow-editor{grid-template-columns:1fr}.shell:has(.event-editor) .event-flow-editor{grid-template-columns:1fr}:is(.shell--event-editor .event-flow-workspace,.shell:has(.event-editor) .event-flow-workspace){grid-template-columns:1fr}.event-flow-inspector{position:static}.event-flow-line-row{grid-template-columns:1fr}}@media (width<=720px){.event-flow-connection-row{grid-template-columns:minmax(0,1fr) 24px minmax(0,1.3fr)}.event-flow-canvas__header,.event-flow-card-list-header{flex-direction:column;align-items:flex-start}}
