:root{color-scheme:dark;--sg-bg: #101a18;--sg-panel: #182623;--sg-panel-raised: #20312b;--sg-panel-deep: #0d1514;--sg-line: #718d79;--sg-line-dim: #718d7938;--sg-text: #f0e6ce;--sg-muted: #abb9a9;--sg-gold: #e7bf73;--sg-red: #c96a57;--sg-blue: #7eafc4;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-synthesis:none}html,body{margin:0;min-width:0;background:var(--sg-bg)}.semantic-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:14px;color:var(--sg-text);background:radial-gradient(circle at 50% 42%,#2b2a3a,#11121a 72%)}.semantic-loading-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--sg-gold);border-radius:50%;color:#1d1c26;background:var(--sg-gold);font-size:24px;box-shadow:0 0 0 5px #e7bf7320}.semantic-loading strong,.semantic-loading span{display:block}.semantic-loading strong{font-size:16px;letter-spacing:2px}.semantic-loading span{margin-top:5px;color:var(--sg-muted);font-size:12px}.semantic-loading i{width:5px;height:5px;margin-left:2px;border-radius:50%;background:var(--sg-gold);box-shadow:10px 0 var(--sg-gold),20px 0 #e7bf7366;animation:semantic-loading-dots 1s ease-in-out infinite}@keyframes semantic-loading-dots{0%,to{opacity:.35;transform:translate(0)}50%{opacity:1;transform:translate(4px)}}.semantic-shell{min-height:100vh;background:var(--sg-bg);color:var(--sg-text);position:relative;overflow:hidden;user-select:none}.semantic-shell *,.semantic-shell *:before,.semantic-shell *:after{box-sizing:border-box}.semantic-shell input,.semantic-shell textarea,.semantic-shell [contenteditable=true]{user-select:text}.semantic-shell button,.semantic-shell input{font:inherit}.semantic-shell button{color:inherit}.semantic-shell button:focus-visible,.semantic-shell input:focus-visible{outline:2px solid var(--sg-gold);outline-offset:3px}.semantic-topbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:12px 28px;border-bottom:1px solid var(--sg-line-dim);background:#15221fdd;position:relative;z-index:2}.semantic-topbar>div:first-child{display:flex;align-items:center;gap:12px}.semantic-brand-mark{width:38px;height:38px;display:grid;place-items:center;background:var(--sg-gold);color:#1d271f;font-size:23px;line-height:1;border-radius:50%;box-shadow:0 0 0 2px #ead39333}.semantic-topbar p,.semantic-world-heading p,.semantic-battle-header p{color:var(--sg-gold);margin:0;font-size:10px;letter-spacing:3px}.semantic-topbar h1{font-size:22px;letter-spacing:5px;margin:2px 0 0}.semantic-campaign-meta{display:flex;gap:22px;color:var(--sg-muted);font-size:13px;letter-spacing:1px}.semantic-main{min-height:calc(100vh - 72px);position:relative}.semantic-world{min-height:calc(100vh - 72px);position:relative;background:linear-gradient(145deg,#18312dba,#16241fdd),url(../assets/world-map-background-v1-720.jpg) center / cover}.semantic-world:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 48%,transparent 16%,#0e1916a8 90%)}.semantic-world-layout{min-height:calc(100vh - 72px);display:grid;grid-template-columns:minmax(600px,1fr) 350px;position:relative;z-index:1}.semantic-map-column{min-width:0;position:relative;overflow:hidden}.semantic-world-heading{position:absolute;top:28px;left:38px;z-index:1;text-shadow:0 3px 14px #000b}.semantic-world-heading h1{font-size:clamp(25px,3vw,40px);margin:8px 0 4px;letter-spacing:8px}.semantic-world-heading span{color:var(--sg-muted);font-size:12px;letter-spacing:3px}.semantic-world-map{width:100%;height:calc(100vh - 72px);min-height:580px;display:block;position:relative;z-index:1}.semantic-road{color:#d2bb7e;stroke:currentColor;stroke-width:3;opacity:.54;fill:none;stroke-linecap:round;stroke-dasharray:2 3}.semantic-road-directed{color:#bd8d4e;opacity:.7}.semantic-city{width:94px;height:84px;display:flex;flex-direction:column;align-items:center;border:0;background:transparent;padding:0;cursor:pointer;filter:drop-shadow(0 5px 5px #000a);transition:transform .16s ease,filter .16s ease}.semantic-city:hover,.semantic-city:focus-visible{transform:translateY(-5px);filter:drop-shadow(0 10px 10px #000c)}.semantic-city-emblem{width:56px;height:46px;display:grid;place-items:center;border:1px solid #bea66c80;border-radius:8px 8px 13px 13px;background:#17241fd9;overflow:hidden}.semantic-city img{width:56px;height:46px;object-fit:contain;transform:scale(.82);transform-origin:center}.semantic-city-label{display:block;max-width:82px;overflow:hidden;text-overflow:ellipsis;margin-top:2px;padding:2px 6px 1px;border:1px solid #bea66c80;border-radius:3px;background:#17241fe8;color:#f4dfad;font-size:12px;line-height:15px;letter-spacing:1px;white-space:nowrap}.semantic-city small{max-width:82px;overflow:hidden;text-overflow:ellipsis;color:#c0cbb7;font-size:9px;line-height:12px;margin-top:1px;white-space:nowrap;text-shadow:0 1px 3px #000}.semantic-city-own .semantic-city-emblem,.semantic-city-own .semantic-city-label{background:#3c4427ee;border-color:var(--sg-gold)}.semantic-city-foreign .semantic-city-emblem{background:#3d2927e8;border-color:#b87561b0}.semantic-city-neutral .semantic-city-emblem{background:#30342fe8;border-color:#a2ad9e88}.semantic-city-major .semantic-city-emblem{width:62px;height:49px;border-width:2px}.semantic-city-major img{width:62px;height:49px;transform:scale(.86)}.semantic-city-major .semantic-city-label{font-size:13px;font-weight:600}.semantic-city-medium .semantic-city-emblem,.semantic-city-medium img{width:58px;height:47px}.semantic-city-hill .semantic-city-emblem{border-radius:11px 11px 17px 17px}.semantic-city-wood .semantic-city-emblem{background:#1e3429e8}.semantic-city-river .semantic-city-emblem{background:#263946e8}.semantic-city-state-4 .semantic-city-label{color:#e79f8d}.semantic-map-coordinates{position:absolute;bottom:24px;right:36px;z-index:1;color:var(--sg-muted);font-size:12px}.semantic-city-panel{min-width:0;overflow:auto;max-height:calc(100vh - 72px);padding:22px 19px 28px;background:#15231fe8;border-left:1px solid var(--sg-line-dim);position:relative}.semantic-city-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;border-bottom:1px solid var(--sg-line-dim);padding-bottom:13px}.semantic-city-heading p{color:var(--sg-gold);font-size:10px;letter-spacing:1px;margin:0 0 7px}.semantic-city-heading h2{font-size:29px;letter-spacing:5px;margin:0 0 7px}.semantic-city-heading span{color:var(--sg-muted);font-size:11px}.semantic-city-heading img{width:98px;height:70px;object-fit:contain}.semantic-empty,.semantic-city-note{color:var(--sg-muted);font-size:12px;line-height:1.8}.semantic-city-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 11px;padding:16px 0;margin:0;border-bottom:1px solid var(--sg-line-dim)}.semantic-city-stats div{display:flex;justify-content:space-between;gap:7px;color:var(--sg-muted);font-size:11px}.semantic-city-stats dd{color:var(--sg-text);margin:0;font-variant-numeric:tabular-nums}.semantic-city-facts{padding:13px 0;border-bottom:1px solid var(--sg-line-dim);font-size:11px;line-height:1.6}.semantic-city-facts span{display:block;color:var(--sg-muted);margin-bottom:4px}.semantic-city-facts b{font-weight:400;color:var(--sg-text)}.semantic-recon-locked{padding:17px 0;color:var(--sg-gold);font-size:12px;border-bottom:1px solid var(--sg-line-dim)}.semantic-recon-locked p{color:var(--sg-muted);line-height:1.7;margin:7px 0 0}.semantic-city-commands{padding-top:14px}.semantic-city-commands>h3{color:var(--sg-gold);font-size:13px;font-weight:400;letter-spacing:2px;margin:0 0 10px}.semantic-city-command-group{border-top:1px solid var(--sg-line-dim);padding:10px 0 3px}.semantic-city-command-group h3{color:var(--sg-muted);font-size:10px;font-weight:400;letter-spacing:2px;margin:0 0 7px}.semantic-city-command-group>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.semantic-city-command-group button,.semantic-end-turn{min-height:35px;border:1px solid var(--sg-line-dim);background:#22352ee8;padding:5px 3px;cursor:pointer;font-size:12px}.semantic-city-command-group button:hover:not(:disabled),.semantic-end-turn:hover:not(:disabled){border-color:var(--sg-gold);background:#3d4a31}.semantic-city-command-group button:disabled,.semantic-end-turn:disabled{opacity:.42;cursor:default}.semantic-city-command-group button small{color:var(--sg-muted);display:block;font-size:8px}.semantic-world-command-group button{display:inline-flex;align-items:center;gap:6px}.semantic-world-command-group .command-icon{width:18px;height:18px;flex:0 0 18px}.semantic-world-command-group button b{font-size:12px;font-weight:500}.semantic-world-command-group button small{display:none}.semantic-end-turn{width:100%;margin-top:12px;color:var(--sg-gold)}.semantic-city-details{border-top:1px solid var(--sg-line-dim);margin-top:15px;padding-top:12px}.semantic-city-details summary{color:var(--sg-muted);cursor:pointer;font-size:11px}.semantic-city-people{margin-top:8px;display:grid;gap:5px}.semantic-city-people article{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid #718d7924}.semantic-city-people article>img{width:30px;height:30px;object-fit:cover;border-radius:50%;border:1px solid #d0b26b77}.semantic-city-people b{font-size:11px;font-weight:500}.semantic-city-people small{color:var(--sg-muted);display:block;font-size:9px;margin-top:2px}.semantic-city-tools{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 0}.semantic-city-tools span{border:1px solid var(--sg-line-dim);padding:4px 6px;font-size:10px;color:var(--sg-text)}.semantic-prompt{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:22px;background:#08110ecc}.semantic-prompt-card{width:min(660px,100%);max-height:min(760px,calc(100vh - 44px));overflow:auto;background:var(--sg-panel);border:1px solid #d3ae6688;box-shadow:0 24px 80px #000c;padding:24px}.semantic-prompt-kicker{color:var(--sg-gold);font-size:10px;letter-spacing:3px;text-transform:uppercase}.semantic-prompt h2{font-size:clamp(22px,3vw,31px);letter-spacing:4px;margin:9px 0 16px}.semantic-prompt-detail{color:var(--sg-muted);line-height:1.7;margin:-5px 0 15px}.semantic-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}.semantic-option-grid button,.semantic-battle-actions button{min-height:53px;text-align:left;border:1px solid var(--sg-line-dim);background:var(--sg-panel-raised);padding:10px 13px;cursor:pointer;transition:background .14s,border-color .14s,transform .14s}.semantic-option-grid button:hover:not(:disabled),.semantic-battle-actions button:hover:not(:disabled){background:#355045;border-color:var(--sg-gold);transform:translateY(-1px)}.semantic-option-grid button:disabled,.semantic-battle-actions button:disabled{opacity:.4;cursor:default}.semantic-option-grid b,.semantic-battle-actions b{display:block;font-weight:500;letter-spacing:1px}.semantic-option-grid small,.semantic-battle-actions small{color:var(--sg-muted);display:block;font-size:11px;margin-top:5px}.semantic-person-options{display:grid;gap:7px}.semantic-person-option{display:flex;align-items:center;gap:10px;width:100%;min-height:70px;border:1px solid var(--sg-line-dim);background:var(--sg-panel-raised);padding:8px 10px;text-align:left;cursor:pointer}.semantic-person-option:hover{border-color:var(--sg-gold);background:#355045}.semantic-person-option img{width:52px;height:52px;object-fit:cover;border:1px solid #d0b26b77}.semantic-person-option span{min-width:0}.semantic-person-option b{display:block;font-size:14px;font-weight:500}.semantic-person-option small{display:block;color:var(--sg-muted);font-size:10px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.semantic-primary,.semantic-cancel{border:1px solid var(--sg-gold);background:#4c4830;padding:11px 17px;cursor:pointer;margin-top:15px}.semantic-cancel{border-color:var(--sg-line);background:transparent;color:var(--sg-muted);margin-left:8px}.semantic-number-field{display:grid;gap:8px;color:var(--sg-muted)}.semantic-number-field input{width:100%;border:1px solid var(--sg-line);background:var(--sg-panel-deep);color:var(--sg-text);padding:12px 13px;font-size:21px}.semantic-number-field small{font-size:11px}.semantic-world-command-rail{border-top:1px solid var(--sg-line-dim);margin-top:2px;padding-top:12px}.semantic-world-command-rail>p{color:var(--sg-gold);font-size:12px;margin:0 0 11px;letter-spacing:1px}.semantic-world-command-group{border-top:1px solid var(--sg-line-dim);padding:10px 0 3px}.semantic-world-command-group h3{font-size:11px;font-weight:400;color:var(--sg-muted);letter-spacing:2px;margin:0 0 7px}.semantic-world-command-group>div{display:flex;flex-wrap:wrap;gap:6px}.semantic-world-command-group button{border:1px solid var(--sg-line-dim);background:var(--sg-panel-raised);padding:7px 10px;cursor:pointer;font-size:12px}.semantic-world-command-group button:hover:not(:disabled){border-color:var(--sg-gold);background:#355045}.semantic-world-command-group button:disabled{opacity:.42;cursor:default}.semantic-notices{position:fixed;right:19px;bottom:18px;z-index:8;width:min(360px,calc(100vw - 38px));max-height:min(330px,calc(100vh - 36px));border:1px solid var(--sg-line-dim);background:#14221fe8;box-shadow:0 10px 32px #0008;padding:11px 14px}.semantic-notices details{max-height:305px;overflow:auto}.semantic-notices summary{color:var(--sg-gold);font-size:12px;letter-spacing:2px;margin:0 0 6px;cursor:pointer}.semantic-notices ol{list-style:none;padding:0;margin:0;display:grid;gap:4px}.semantic-notices li{border-top:1px solid var(--sg-line-dim);padding-top:5px;color:var(--sg-muted);font-size:11px;line-height:1.45}.semantic-notices li.semantic-notice-error{color:#e8a18d}.semantic-notices li.semantic-notice-success{color:#b9dfaa;border-left:2px solid #7fbd76;padding-left:7px}.semantic-notices li.semantic-notice-warning{color:#f0b28f;border-left:2px solid #ce6d54;padding-left:7px}.turn-summary-state{color:var(--sg-red);grid-column:1 / -1}.turn-summary-events-title{margin-top:10px!important;color:var(--sg-gold)!important}.turn-summary-events{border-top:1px solid var(--sg-line-dim);padding-top:6px!important}.turn-summary-events li{display:block;grid-column:1 / -1;color:var(--sg-muted)}.recruit-summary{position:fixed;inset:0;z-index:31;display:grid;place-items:center;padding:16px;background:#070d0b99}.recruit-summary-card{width:min(420px,calc(100vw - 32px));max-height:min(460px,calc(100svh - 48px));overflow:auto;padding:17px 18px 15px;border:1px solid #d8b766aa;border-radius:8px;background:#211f2bee;box-shadow:0 14px 40px #0009;text-align:center}.recruit-summary-card>small{color:var(--sg-gold);letter-spacing:2px;font-size:11px}.recruit-summary-card h2{margin:5px 0 4px;color:#f4d99a;font-size:23px;letter-spacing:2px}.recruit-summary-card p{color:var(--sg-muted);line-height:1.45;margin:0 0 10px;font-size:12px}.recruit-summary-card ul{display:grid;gap:5px;margin:0;padding:0;list-style:none;text-align:left}.recruit-summary-card li{display:grid;grid-template-columns:minmax(66px,.32fr) 1fr;gap:8px;padding:7px 9px;border:1px solid #d8b76644;background:#0f1d1877}.recruit-summary-card li b{color:#f1d595;font-size:14px;font-weight:500}.recruit-summary-card li span{color:var(--sg-text);line-height:1.35;font-size:12px}.recruit-summary-card button{min-height:36px;margin-top:12px;padding:6px 17px;border:1px solid var(--sg-gold);background:#574b2d;color:#fff0c1;font-size:13px;cursor:pointer}@media(max-width:900px){html,body{min-width:0}.semantic-topbar{padding:10px 16px}.semantic-campaign-meta{gap:9px;font-size:11px}.semantic-world-map{min-height:500px}.semantic-world-layout{grid-template-columns:1fr}.semantic-city-panel{max-height:none;border-left:0;border-top:1px solid var(--sg-line-dim)}.semantic-battle-header{display:block}.semantic-battle-header dl{margin-top:14px;grid-template-columns:repeat(2,1fr)}.semantic-battle-layout{grid-template-columns:1fr}.semantic-battle-board{max-height:none}.semantic-battle-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.semantic-battle-roster h2{grid-column:1 / -1}.semantic-battle-footer{display:block}.semantic-battle-footer span{display:block;margin-top:5px}}@media(prefers-reduced-motion:reduce){.semantic-shell *{scroll-behavior:auto!important;transition:none!important}}.semantic-return{position:fixed;inset:auto 0 48px;text-align:center;z-index:50}.semantic-return button{padding:14px 30px;background:#c6a265;color:#161912;border:1px solid #d9b874;border-radius:6px;font:inherit;cursor:pointer}.semantic-topbar{min-height:58px;padding:9px 22px}.semantic-brand-mark{width:32px;height:32px;font-size:21px}.semantic-topbar h1{font-size:19px;letter-spacing:4px}.semantic-world-layout{grid-template-columns:minmax(0,1fr) 340px}.semantic-world-map{height:calc(100vh - 58px)}.semantic-city{width:68px;height:59px;gap:0}.semantic-city .city-sprite{width:42px;height:32px;min-height:32px;border:0;border-radius:0;background-image:url(../assets/cities-v4.png);background-size:400% 100%;background-color:transparent}.semantic-city.semantic-city-major .city-sprite{width:46px;height:34px}.semantic-city-label,.semantic-city-major .semantic-city-label{font-size:12px;line-height:14px;padding:1px 5px;margin:0;letter-spacing:0}.semantic-city small{line-height:10px;font-size:9px;margin:0}.semantic-city[aria-current=true] .semantic-city-label{box-shadow:0 0 0 2px #e7bf73}.semantic-city-panel{padding:18px;max-height:calc(100vh - 58px)}.semantic-city-heading h2{font-size:27px}.semantic-city-stats{gap:8px 12px;padding:13px 0}.semantic-city-stats div{font-size:12px}.semantic-city-facts{padding:10px 0}.city-tabs{display:flex;border-bottom:1px solid var(--sg-line-dim);gap:6px}.city-tabs button{flex:1;padding:10px;border:0;border-bottom:2px solid transparent;background:transparent;font-size:14px;cursor:pointer}.city-tabs button[aria-pressed=true]{color:var(--sg-gold);border-bottom-color:var(--sg-gold);background:#d6b9780c}.semantic-city-command-group{border:0;padding:12px 0}.semantic-city-command-group[hidden]{display:none}.semantic-city-command-group button{min-height:38px}.semantic-map-end-turn{position:absolute;left:24px;bottom:24px;z-index:2;padding:12px 18px;background:#363d2a;border:1px solid var(--sg-gold);cursor:pointer}.semantic-map-end-turn,.semantic-primary,.semantic-cancel,.tactics-toolbar button,.tactics-back{display:inline-flex;align-items:center;justify-content:center;gap:7px}.utility-icon{display:inline-grid;place-items:center;width:18px;height:18px;color:var(--sg-gold);font-size:16px;line-height:1}.semantic-city-people small{font-size:11px;line-height:1.5}.semantic-city-people b{font-size:13px}.officer-portrait{display:inline-block;width:48px;height:48px;flex-shrink:0;background-repeat:no-repeat;border:1px solid #d0b26b77;background-color:#38402a}.semantic-person-option .officer-portrait{width:64px;height:64px}.semantic-person-option small{font-size:12px;line-height:1.5}.semantic-person-option[hidden]{display:none}.person-search{display:flex;gap:12px;align-items:center;margin-bottom:14px;font-size:13px;color:var(--sg-muted)}.person-search input{flex:1;min-width:0;padding:10px;background:#101a18;border:1px solid var(--sg-line);color:var(--sg-text)}.quantity-presets{display:flex;gap:8px;margin:12px 0}.quantity-presets button{flex:1;padding:10px 8px;border:1px solid var(--sg-line-dim);background:#24372f;cursor:pointer}.semantic-prompt-card{border-radius:6px}.semantic-notices{width:280px;padding:8px 12px;bottom:10px;right:12px}.semantic-notices summary{letter-spacing:1px;margin:0}.semantic-notices details[open] summary{margin-bottom:8px}.semantic-notices ol{max-height:230px;overflow:auto}.semantic-info-fighters{display:grid;gap:8px;max-height:48vh;overflow:auto}.semantic-info-fighter{display:flex;gap:12px;align-items:center;padding:8px;border-bottom:1px solid var(--sg-line-dim)}.semantic-info-fighter b,.semantic-info-fighter small,.semantic-info-fighter span:not(.officer-portrait){display:block;line-height:1.6}.semantic-info-fighter small{font-size:12px;color:var(--sg-muted)}.tactics{padding:18px 22px 44px;background:radial-gradient(ellipse at top,#304135,#101b18 70%)}.tactics-heading{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;margin:0 0 16px;gap:10px 18px}.tactics-title{min-width:0}.tactics-heading small{color:var(--sg-gold);letter-spacing:3px}.tactics-heading h1{font-size:26px;letter-spacing:4px;margin:2px 0 0;line-height:1.2;white-space:nowrap}.tactics-sides{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:4px 0 0;color:var(--sg-muted);font-size:13px;line-height:1.35}.tactics-sides b{color:var(--sg-text);font-weight:500;white-space:nowrap}.tactics-sides span{white-space:nowrap}.tactics-metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 24px;margin-left:auto;font-size:13px;color:var(--sg-muted)}.tactics-metrics b{color:var(--sg-gold);font-weight:500}.tactics-layout{display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:16px}.tactics-main{min-width:0;border:1px solid #b29b6177;background:#101b17}.tactics-toolbar{height:42px;padding:6px 12px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--sg-muted);gap:10px}.tactics-toolbar>div{display:flex;align-items:center;gap:8px}.tactics button{font:inherit;cursor:pointer}.tactics-toolbar button{background:#26382e;border:1px solid var(--sg-line-dim);padding:4px 9px}.tactics-stage{position:relative}.tactics-viewport{height:calc(100vh - 315px);min-height:390px;max-height:720px;overflow:auto;overscroll-behavior:contain;position:relative;background:#0c1712;scrollbar-color:#8b8055 #17251e}.tactics-log{position:absolute;left:8px;top:8px;z-index:8;width:min(228px,46%);max-height:46%;overflow:auto;pointer-events:none;background:#0d1a16d8;border:1px solid #8b805588;border-radius:8px;padding:.4rem .55rem;color:#eddfc5;font-size:12px;line-height:1.45;box-shadow:0 8px 18px #0006}.tactics-log h3{margin:0 0 .3rem;font-size:12px;color:#f5ce82;letter-spacing:.08em}.tactics-log ol{margin:0;padding-left:1.05rem}.tactics-log li{margin:.12rem 0}.tactics-log p{margin:0;opacity:.72}.battle-arms-toast{position:absolute;left:50%;top:6%;z-index:8;color:#ffe082;font-weight:800;font-size:15px;line-height:1;text-shadow:0 1px 2px #000,0 0 8px #000a;pointer-events:none;animation:battle-arms-rise 1.35s ease-out forwards}.battle-arms-toast.is-board{top:auto;transform:translate(-50%,-70%)}@keyframes battle-arms-rise{0%{opacity:1;transform:translate(-50%,6px)}to{opacity:0;transform:translate(-50%,-30px)}}.tactics-board{position:relative;display:grid;grid-template-columns:repeat(var(--columns),var(--tile));grid-auto-rows:var(--tile);isolation:isolate}.tactics-tile{position:relative;background-image:url(../assets/terrain-v4-887.jpg);background-size:400% 200%;background-repeat:no-repeat}.tactics-tile.terrain-plain{background-position:0 0}.tactics-tile.terrain-grass{background-position:33.333333% 0}.tactics-tile.terrain-hill{background-position:66.666667% 0}.tactics-tile.terrain-wood{background-position:100% 0}.tactics-tile.terrain-village{background-position:0 100%}.tactics-tile.terrain-city{background-position:33.333333% 100%}.tactics-tile.terrain-camp{background-position:66.666667% 100%}.tactics-tile.terrain-river{background-position:100% 100%}.tactics-tile.terrain-void{background:#0d1915}.tactics-cell{display:block;width:100%;height:100%;padding:0;border:0;border-right:1px solid #0c160f33;border-bottom:1px solid #0c160f33;background:transparent}.tactics-cell:disabled{cursor:default}.tactics-cell.can-act{background:#e4c86726;box-shadow:inset 0 0 0 1px #f4d774b0}.tactics-cell.can-act:hover,.tactics-cell:focus-visible{background:#f4d77a75;box-shadow:inset 0 0 0 2px #ffe8a3;outline-offset:-3px}.tactics-cell.is-corner,.tactics-cell.is-corner:hover,.tactics-cell.is-corner:focus,.tactics-cell.is-corner:focus-visible{cursor:default;background:transparent;box-shadow:none;outline:none}.tactics-cell.is-corner-selected{box-shadow:none}.tactics-unit{position:absolute;transform:translate(-50%,-56%);width:calc(var(--tile)*.95);height:calc(var(--tile)*1.1);padding:0;border:0;background:transparent;z-index:3;isolation:isolate;--lunge-x:0px;--lunge-y:-7px}.officer-unit-sprite{position:absolute;inset:0;display:block;background-color:transparent;background-repeat:no-repeat;filter:none;z-index:2}.officer-unit-sprite.ccz-base{background-image:var(--ccz-mov)!important;background-size:1100% 100%!important;background-position:60% 0!important;image-rendering:pixelated}.officer-unit-sprite.ccz-base.is-face-up{background-position:70% 0!important}.officer-unit-sprite.ccz-base.is-face-side{background-position:80% 0!important}.ccz-unit{background-image:var(--ccz-mov);background-size:1100% 100%;background-position:60% 0;image-rendering:pixelated}.ccz-unit.is-flip{transform:scaleX(-1)}.ccz-unit.is-walk-down{animation:ccz-walk-down .14s steps(1) infinite}.ccz-unit.is-walk-up{animation:ccz-walk-up .14s steps(1) infinite}.ccz-unit.is-walk-side{animation:ccz-walk-side .14s steps(1) infinite}.ccz-unit.is-attack{background-image:var(--ccz-atk);background-size:1200% 100%}.ccz-unit.is-attack-down{animation:ccz-atk-down .42s steps(1) both}.ccz-unit.is-attack-up{animation:ccz-atk-up .42s steps(1) both}.ccz-unit.is-attack-side{animation:ccz-atk-side .42s steps(1) both}.ccz-unit.is-hurt{background-image:var(--ccz-mov);background-size:1100% 100%;animation:ccz-hurt-flash .52s ease both}.ccz-unit.is-hurt-down{animation:ccz-hurt-down .52s steps(1) both}.ccz-unit.is-hurt-up{animation:ccz-hurt-up .52s steps(1) both}.ccz-unit.is-hurt-side{animation:ccz-hurt-side .52s steps(1) both}.ccz-action.is-hurt-ally{animation:ccz-hurt-ally .56s ease both}.ccz-action.is-hurt-enemy{animation:ccz-hurt-enemy .56s ease both}.ccz-action.is-hurt-self{animation:ccz-hurt-self .56s ease both}.ccz-unit.is-skill{background-image:var(--ccz-spc);background-size:500% 100%}.ccz-unit.is-skill-down{animation:ccz-skill-down .56s steps(1) both}.ccz-unit.is-skill-up{animation:ccz-skill-up .56s steps(1) both}.ccz-unit.is-skill-side{animation:ccz-skill-side .56s steps(1) both}.ccz-action{position:absolute;inset:-10% -8% -2%;z-index:3;pointer-events:none;image-rendering:pixelated}.battle-hit-fx{position:absolute;width:calc(var(--tile)*1.45);height:calc(var(--tile)*1.45);transform:translate(-50%,-55%);pointer-events:none;z-index:9}.battle-hit-fx.is-slash:before,.battle-hit-fx.is-slash:after{content:"";position:absolute;inset:18%;border-radius:2px}.battle-hit-fx.is-slash:before{background:linear-gradient(115deg,transparent 32%,#fff8d4 46%,#f0c45a 50%,#fff 54%,transparent 68%);transform:rotate(-28deg) scaleX(.2);animation:ccz-slash .34s ease-out both}.battle-hit-fx.is-slash:after{border:2px solid #ffe7a3;border-radius:50%;opacity:0;animation:ccz-impact .34s ease-out both}.battle-hit-fx.is-magic-ally:before,.battle-hit-fx.is-magic-enemy:before,.battle-hit-fx.is-winter:before{content:"";position:absolute;inset:6%;border-radius:50%}.battle-hit-fx.is-magic-ally:before,.battle-hit-fx.is-magic-enemy:before{background:none;animation:none}.battle-hit-fx.is-winter:before{background:radial-gradient(circle,#fff 0%,#b9ecff 30%,#3aa0d8 60%,transparent 76%);animation:ccz-burst .7s ease-out both}.battle-hit-fx.is-magic-ally:after,.battle-hit-fx.is-magic-enemy:after,.battle-hit-fx.is-winter:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #ffe08a;animation:ccz-ring .56s ease-out both}.battle-hit-fx.is-magic-ally:after,.battle-hit-fx.is-magic-enemy:after{border:0;animation:none}.battle-hit-fx.is-winter:after{border-color:#c5f0ff}.battle-hit-fx.is-physical:before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,#fff7d0 0 8%,#e6ad4d 9% 18%,transparent 19%);animation:ccz-impact .42s ease-out both}.battle-hit-fx.is-fire:before{content:"";position:absolute;inset:0;border-radius:45% 55% 50% 50%;background:radial-gradient(circle at 50% 58%,#fff3a1 0 12%,#ef8e36 30%,#b8352b 52%,transparent 74%);filter:saturate(1.25);animation:ccz-fire .66s ease-out both}.battle-hit-fx.is-earth:before{content:"";position:absolute;inset:11%;border-radius:50%;background:radial-gradient(circle,#f5e5a2 0 12%,#aa8050 25%,#5e6045 45%,transparent 72%);animation:ccz-earth .62s ease-out both}.battle-hit-fx.is-arrow:before{content:"";position:absolute;left:4%;right:4%;top:43%;height:12%;background:linear-gradient(90deg,transparent,#f6e0a0 20% 80%,transparent);transform:rotate(-28deg);animation:ccz-arrow .45s ease-out both}.battle-hit-fx.is-water:before{content:"";position:absolute;inset:5%;border-radius:50%;background:radial-gradient(circle,#e7fbff 0 12%,#4fb3cc 30%,#235d87 56%,transparent 76%);animation:ccz-water .7s ease-out both}.battle-hit-fx.is-status:before{content:"✦";position:absolute;inset:0;display:grid;place-items:center;color:#cbb6ff;font-size:calc(var(--tile)*.8);text-shadow:0 0 10px #8a6ee8;animation:ccz-status .62s ease-out both}.battle-hit-fx.is-support:before{content:"✚";position:absolute;inset:0;display:grid;place-items:center;color:#b4e69a;font-size:calc(var(--tile)*.75);text-shadow:0 0 10px #5eae75;animation:ccz-support .66s ease-out both}.battle-hit-fx.is-weather:before{content:"";position:absolute;inset:-8%;border-radius:50%;background:radial-gradient(circle,#e8fbff 0 10%,#91d7ea 28%,#4679b5 53%,transparent 76%);animation:ccz-burst .8s ease-out both}.battle-hit-fx.is-arcane:before{content:"";position:absolute;inset:7%;border:2px solid #d9bdff;border-radius:50%;box-shadow:inset 0 0 14px #8f6eea,0 0 12px #8f6eea;animation:ccz-ring .62s ease-out both}.battle-bolt.is-magic{background:#f4e7c2;box-shadow:none}.battle-bolt.is-fire{background:#ef8e36;box-shadow:0 0 12px #f3c05a}.battle-bolt.is-water{background:#82d9f0;box-shadow:0 0 12px #51a7dd}.battle-bolt.is-earth{background:#c29a5d;box-shadow:0 0 12px #be9259}.battle-bolt.is-status{background:#c7a8ff;box-shadow:0 0 12px #9670f1}.battle-bolt.is-support{background:#b3e591;box-shadow:0 0 12px #6eb96c}.battle-bolt.is-weather{background:#d5f7ff;box-shadow:0 0 16px #8bdcf4}.tactics-unit.is-walking{z-index:6;transition:left .12s linear,top .12s linear}.tactics-unit.is-walking .unit-painted{animation:painted-walk .12s ease-in-out infinite}.tactics-unit.is-attacking .unit-painted{animation:painted-lunge .48s ease}.tactics-unit.is-hurt .unit-painted{animation:painted-hit .42s ease}.tactics-unit.is-hurt-ally .unit-base,.tactics-unit.is-hurt-enemy .unit-base{box-shadow:none}.tactics-unit.is-casting .unit-painted{animation:tacticUnitPulse .56s ease}.battle-bolt{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#f4e7c2;box-shadow:none;z-index:8;pointer-events:none;transition:left linear,top linear}.battle-bolt.is-winter{background:radial-gradient(circle,#fff,#d7f4ff 40%,#3aa0d8);box-shadow:0 0 16px #b9ecff}.unit-base{position:absolute;left:14%;right:14%;bottom:8%;height:19%;border-radius:50%;background:transparent;border:0;z-index:1}.tactics-unit.enemy .unit-base{background:transparent}.tactics-unit.is-spent .officer-unit-sprite{filter:none}.tactics-unit.is-selected{z-index:5}.tactics-unit.is-selected .unit-base{box-shadow:0 0 0 2px #ffe696,0 0 8px #fff1bd}.unit-name{position:absolute;top:93%;left:50%;transform:translate(-50%);font-size:10px;line-height:14px;background:#14231ef0;border:1px solid #9ba885;color:#f4e5b4;white-space:nowrap;padding:0 3px;z-index:4;pointer-events:none}.unit-state{position:absolute;right:-5px;top:-7px;font-size:10px;line-height:14px;background:#792d27;color:#fff4c7;z-index:4}.tactics-orders{padding:12px;border-top:1px solid #b29b6177;min-height:96px}.tactics-orders>div{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:10px}.tactics-orders b{font-size:14px;color:var(--sg-gold);font-weight:500}.tactics-orders span{font-size:11px;color:var(--sg-muted)}.tactics-orders nav{display:flex;gap:7px;flex-wrap:wrap}.tactics-orders button{min-width:84px;min-height:38px;padding:8px 12px;border:1px solid #a4936766;background:#304234}.tactics-orders button:hover:not(:disabled){background:#4b5a3c;border-color:var(--sg-gold)}.tactics-orders button:disabled{opacity:.4;cursor:wait}.tactics-orders button small{display:block;color:var(--sg-muted);font-size:11px;margin-top:4px}.tactics-orders .tactics-back{background:transparent;margin-left:auto}.tactics-sidebar{max-height:calc(100vh - 180px);overflow:auto;min-width:0;display:flex;flex-direction:column;gap:12px}.tactics-card,.tactics-roster{border:1px solid var(--sg-line-dim);background:#1c2c25}.tactics-card{padding:12px}.tactics-officer{display:flex;gap:12px;align-items:center}.tactics-officer .officer-portrait{width:84px;height:84px}.tactics-officer small{font-size:11px;color:var(--sg-gold)}.tactics-officer h2{margin:7px 0;font-size:22px;letter-spacing:2px}.tactics-officer p{font-size:12px;color:var(--sg-muted);margin:0}.tactics-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;font-size:12px;margin:14px 0 0}.tactics-stats>div{display:flex;justify-content:space-between}.tactics-stats dt{color:var(--sg-muted)}.tactics-stats dd{margin:0}.tactics-roster h3{display:flex;justify-content:space-between;align-items:center;margin:0;padding:10px 12px;border-bottom:1px solid var(--sg-line-dim);font-size:14px;font-weight:500}.tactics-roster h3 small{font-size:10px;color:var(--sg-muted)}.tactics-roster button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:0;border-bottom:1px solid #718d791a;text-align:left}.tactics-roster button:hover,.tactics-roster button.is-selected{background:#b5a2671c}.tactics-roster .officer-portrait{width:38px;height:38px}.tactics-roster button b{font-size:13px;font-weight:500}.tactics-roster button small{display:block;color:var(--sg-muted);font-size:10px;line-height:1.7}.tactics-roster strong{margin-left:auto;text-align:right;font-size:12px;font-weight:500;color:var(--sg-gold)}@media(max-width:1100px){.semantic-world-layout{grid-template-columns:minmax(0,1fr) 310px}.tactics{padding:14px 12px 44px}.tactics-layout{grid-template-columns:minmax(0,1fr) 244px;gap:10px}.tactics-metrics{gap:14px;font-size:12px}.tactics-officer .officer-portrait{width:68px;height:68px}}.semantic-world-heading{top:18px;left:24px;pointer-events:none}.semantic-world-heading h1{font-size:23px;letter-spacing:5px;margin:5px 0}.semantic-world-heading span{font-size:10px;letter-spacing:1px}a[href="#main-content"]{position:fixed;left:12px;top:-60px;z-index:99;background:#24372f;color:#f0e6ce;padding:10px}a[href="#main-content"]:focus{top:8px}.city-heading-sprite{width:96px;height:72px;flex:0 0 96px;background-image:url(../assets/cities-v4.png);background-size:400% 100%;background-repeat:no-repeat;background-color:transparent}.semantic-city-people article>.officer-portrait{width:36px;height:36px;border-radius:50%}.semantic-info-fighter>.officer-portrait{width:42px;height:42px}.semantic-road{fill:none;stroke:#b39a68;stroke-width:2.3;stroke-dasharray:none;stroke-linecap:round;filter:drop-shadow(0 1px 1px #263c2e);opacity:.8}.semantic-city .city-sprite,.city-heading-sprite{background-position:var(--city-position) 50%;filter:hue-rotate(var(--faction-hue)) drop-shadow(0 2px 2px #0008)}.semantic-city .semantic-city-label{color:var(--faction-color);border-bottom:2px solid var(--faction-color)}.semantic-city small{color:var(--faction-color)}.semantic-city-heading{border-left:3px solid var(--faction-color,var(--sg-gold))}.city-resource-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:12px 0;border-bottom:1px solid var(--sg-line-dim)}.city-resource-strip span{font-size:11px;color:var(--sg-muted)}.city-resource-strip b{display:block;font-size:17px;color:var(--sg-gold);margin-top:4px;font-variant-numeric:tabular-nums}.semantic-city-command-group>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.semantic-city-command-group button{display:flex;align-items:center;gap:9px;min-height:62px;padding:10px;text-align:left;background:linear-gradient(140deg,#394734,#24372f);border:1px solid #9d8c5555}.semantic-city-command-group button:hover:not(:disabled){background:#46543d;border-color:var(--sg-gold)}.semantic-city-command-group button:disabled{opacity:.45}.semantic-city-command-group b{display:block;font-size:14px;font-weight:500;letter-spacing:2px}.semantic-city-command-group small{display:block;font-size:10px;color:var(--sg-muted);line-height:1.5;margin-top:3px;letter-spacing:0}.command-icon{width:25px;height:25px;flex:0 0 25px;fill:none;stroke:var(--sg-gold);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.action-icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:var(--sg-gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.tactics-orders button>span{min-width:0}.city-tabs button{min-height:42px;border-bottom:2px solid transparent}.city-tabs button[aria-pressed=true]{border-bottom-color:var(--sg-gold);background:#3b4933}.allocation-summary{font-size:13px;color:var(--sg-muted);line-height:1.8}[data-allocation-range]{width:100%;accent-color:var(--sg-gold);min-height:30px}[data-allocation-preview]{display:block;font-size:13px;color:var(--sg-gold);min-height:24px}.quantity-presets button{font-size:12px}.semantic-world-heading>span{display:none}.semantic-city .city-sprite,.city-heading-sprite{filter:hue-rotate(var(--faction-hue)) saturate(.65) drop-shadow(0 2px 2px #0008)}@media(max-width:720px){.semantic-topbar{min-height:54px;padding:8px 12px}.semantic-topbar h1{font-size:16px;letter-spacing:2px}.semantic-brand-mark{width:28px;height:28px;font-size:17px}.semantic-campaign-meta{gap:8px;font-size:10px;letter-spacing:0}.semantic-main,.semantic-world,.semantic-world-layout{min-height:calc(100svh - 54px)}.semantic-world-layout{grid-template-columns:1fr}.semantic-world-map{height:52svh;min-height:290px}.semantic-world-heading{top:12px;left:14px}.semantic-world-heading h1{font-size:21px;letter-spacing:4px;margin:0}.semantic-map-coordinates{right:14px;bottom:12px;margin:0;font-size:10px}.semantic-map-end-turn{left:12px;bottom:10px;padding:9px 12px;font-size:12px}.semantic-city-panel{padding:14px 12px 22px;max-height:none;border-left:0;border-top:1px solid var(--sg-line-dim)}.semantic-city-heading h2{font-size:23px;letter-spacing:3px}.city-heading-sprite{width:78px;height:58px;flex-basis:78px}.semantic-city-command-group>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.semantic-city-command-group button{min-height:56px;padding:7px}.semantic-city-command-group b{font-size:12px;letter-spacing:1px}.semantic-city-command-group small{font-size:9px}.semantic-prompt{padding:10px;align-items:end}.semantic-prompt-card{max-height:calc(100svh - 20px);padding:17px 14px;border-radius:10px 10px 0 0}.semantic-prompt h2{font-size:22px;letter-spacing:2px;margin:7px 0 12px}.semantic-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.semantic-option-grid button{min-height:48px;padding:8px}.semantic-person-option{min-height:62px}.semantic-person-option .officer-portrait{width:46px;height:46px}.semantic-person-option small{font-size:9px}.quantity-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.quantity-presets button{min-height:40px;padding:6px 3px}.tactics{padding:12px 8px 28px}.tactics-heading h1{font-size:21px;letter-spacing:2px}.tactics-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:5px 10px;font-size:11px}.tactics-toolbar{height:auto;min-height:40px;flex-wrap:wrap;padding:6px 8px}.tactics-viewport{min-height:280px;height:48svh}.tactics-layout{grid-template-columns:1fr;gap:8px}.tactics-sidebar{max-height:none}.tactics-battle-roster,.semantic-battle-roster{grid-template-columns:1fr 1fr}.tactics-orders nav{gap:5px}.tactics-orders button{min-width:0;flex:1 1 42%;padding:7px 8px}}@media(max-width:390px){.semantic-campaign-meta span:first-child{display:none}.semantic-city-heading h2{font-size:21px}.semantic-city-command-group button{min-height:51px}.semantic-city-command-group b{font-size:11px}.semantic-option-grid{grid-template-columns:1fr}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.semantic-prompt-featured{padding:18px;background:#06100ee8}.semantic-prompt-featured .semantic-prompt-card{width:min(1080px,100%);max-height:min(840px,calc(100vh - 36px));padding:0;overflow:auto;background:#15251fef;border:1px solid #caa76499;box-shadow:0 28px 100px #000d}.semantic-prompt-featured .semantic-prompt-kicker{display:none}.semantic-prompt-featured .semantic-cancel{margin:0 26px 24px}.prompt-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;flex:0 0 24px}.semantic-prompt-featured .semantic-cancel{display:inline-flex;align-items:center;gap:8px;color:#b9c2b2;border-color:#758372;background:#1c3028}.main-menu-layout{min-height:570px;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(390px,1.1fr);background:linear-gradient(120deg,#12231f,#1b3028 51%,#263d2f)}.main-menu-hero{position:relative;display:flex;flex-direction:column;justify-content:center;padding:56px 54px;overflow:hidden;border-right:1px solid #bea26745;background:radial-gradient(circle at 50% 36%,#71815528,transparent 48%),linear-gradient(160deg,#182b24,#0d1815)}.main-menu-hero:after{content:"";position:absolute;width:310px;height:310px;right:-112px;bottom:-100px;border:1px solid #cfac5d38;border-radius:50%;box-shadow:0 0 0 18px #cfac5d0d,0 0 0 38px #cfac5d08;transform:rotate(24deg)}.main-menu-emblem{width:84px;height:84px;display:grid;place-items:center;margin-bottom:27px;color:#1b271f;background:linear-gradient(145deg,#dfc27c,#9d7438);border:3px solid #efd99e;border-radius:50%;box-shadow:0 0 0 5px #c39a5366,0 18px 35px #0008;font-size:44px;font-family:serif;font-weight:700}.main-menu-eyebrow{color:#d8b765;font-size:10px;letter-spacing:3px;margin:0 0 11px}.main-menu-hero h3{margin:0;color:#f0d795;font-size:clamp(30px,4vw,48px);letter-spacing:8px;font-weight:500}.main-menu-hero>p:not(.main-menu-eyebrow){max-width:280px;color:#aebcaf;line-height:1.8;margin:16px 0 28px;font-size:13px}.main-menu-ribbon{display:flex;gap:7px;flex-wrap:wrap;color:#cfbe8a;font-size:10px;letter-spacing:1px}.main-menu-ribbon span{padding:6px 9px;border:1px solid #c39c5b44;background:#c39c5b0d}.main-menu-actions{display:grid;align-content:center;gap:9px;padding:44px 48px}.main-menu-option{display:flex;align-items:center;gap:15px;width:100%;min-height:73px;padding:13px 16px;color:#e2e1cf;border:1px solid #bf9f6250;background:#23382fd9;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.main-menu-option:hover,.main-menu-option:focus-visible{transform:translate(5px);border-color:#e0c37b;background:#40533dd9}.main-menu-option .prompt-icon{width:28px;height:28px;color:#dfc27c;flex-basis:28px}.main-menu-option span{min-width:0;flex:1}.main-menu-option b{display:block;color:#f0d795;font-size:17px;font-weight:500;letter-spacing:2px}.main-menu-option small{display:block;margin-top:5px;color:#aab7a9;font-size:11px}.main-menu-option em{color:#d2b56c;font-size:26px;font-style:normal;font-weight:300}.period-selector,.save-selector,.ruler-selector{padding:34px 38px 38px}.period-intro,.save-selector-head,.ruler-selector-head{display:flex;align-items:center;gap:16px;padding-bottom:23px;border-bottom:1px solid #bfa26445}.prompt-seal,.ruler-crown{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;color:#1a271f;background:linear-gradient(145deg,#e1c680,#a77a3c);border:2px solid #f0d897;border-radius:50%;box-shadow:0 0 0 4px #c59b5b33}.prompt-seal .prompt-icon,.ruler-crown .prompt-icon{width:26px;height:26px}.period-intro p,.save-selector-head p,.ruler-selector-head p{margin:0 0 5px;color:#d9b86d;font-size:10px;letter-spacing:3px}.period-intro h3,.save-selector-head h3,.ruler-selector-head h3{margin:0;color:#f0dc9e;font-size:clamp(22px,3vw,31px);font-weight:500;letter-spacing:4px}.period-intro small,.save-selector-head small,.ruler-selector-head small{display:block;margin-top:7px;color:#aebcaf;font-size:11px}.period-timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding-top:30px}.period-timeline:before{content:"";position:absolute;top:47px;left:8%;right:8%;border-top:1px solid #c8a56570}.period-option{position:relative;z-index:1;display:flex;flex-direction:column;min-height:180px;padding:23px 16px 16px;color:#d9e0d1;text-align:left;border:1px solid #b89b5a55;background:linear-gradient(160deg,#294137,#1b2e26);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.period-option:hover,.period-option:focus-visible{transform:translateY(-5px);border-color:#e0c37b;box-shadow:0 13px 26px #0005}.period-year{display:grid;place-items:center;width:48px;height:48px;margin-bottom:24px;color:#1c271f;border:2px solid #f1d899;border-radius:50%;background:#cfaa61;font-family:Georgia,serif;font-size:13px;font-weight:700}.period-copy{display:block;flex:1}.period-copy b{display:block;color:#f2d99a;font-size:16px;font-weight:500;letter-spacing:1px}.period-copy small{display:block;margin-top:9px;color:#aebcaf;font-size:11px;line-height:1.6}.period-arrow{display:block;align-self:flex-end;color:#d5b875;font-size:24px;line-height:1}.save-selector-head{align-items:flex-start}.save-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:25px}.save-slot{display:flex;align-items:flex-start;gap:13px;min-height:98px;padding:14px 16px;color:#e1e3d4;border:1px solid #b99c5a55;background:#21382e;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.save-slot:hover,.save-slot:focus-visible{transform:translateY(-3px);border-color:#e0c37b;background:#38503f}.save-slot .prompt-icon{color:#dfc27c}.save-slot span{min-width:0;flex:1}.save-slot b{display:block;color:#f2d99a;font-size:15px;font-weight:500}.save-slot small{display:block;margin-top:5px;color:#aebcaf;font-size:11px;line-height:1.45}.save-slot em{color:#c9aa63;font-size:10px;font-style:normal;letter-spacing:1px}.save-slot-auto{border-style:dashed;grid-column:1 / -1}.save-slot.is-empty{opacity:.72}.semantic-save-overlay{z-index:24}.ruler-selector{padding-bottom:27px}.ruler-selector-head{justify-content:space-between}.ruler-selector-grid{display:grid;grid-template-columns:minmax(310px,.82fr) minmax(420px,1.18fr);gap:20px;padding-top:22px}.ruler-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:540px;overflow:auto;padding-right:3px}.ruler-card{display:flex;align-items:center;gap:10px;min-height:102px;padding:9px;color:#e2e4d6;border:1px solid #ad935552;background:#20362c;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.ruler-card:hover,.ruler-card:focus-visible{transform:translateY(-2px);border-color:#e1c27a;background:#3c503c}.ruler-card .ruler-portrait{width:58px;height:72px;flex-basis:58px;border-color:#c8aa6570;background-color:#344432}.ruler-card-copy{display:block;min-width:0;flex:1}.ruler-card-copy b{display:block;color:#f2d89a;font-size:15px;font-weight:500;letter-spacing:1px}.ruler-card-copy small{display:block;margin-top:3px;color:#aebcaf;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ruler-cities{display:block;margin-top:6px;color:#d0b36f;font-size:9px;line-height:1.4;white-space:normal}.ruler-card-arrow{color:#d7b96b;font-size:23px}.ruler-map{min-width:0;padding:13px;border:1px solid #b99c5a55;background:#11221d}.ruler-map-heading{display:flex;align-items:center;gap:9px;padding:2px 2px 10px;color:#e7d69e}.ruler-map-heading>span{display:grid;place-items:center;width:28px;height:28px;color:#d9b86d;border:1px solid #c7a96688;border-radius:50%}.ruler-map-heading .prompt-icon{width:17px;height:17px}.ruler-map-heading b{display:block;font-size:14px;font-weight:500;letter-spacing:2px}.ruler-map-heading small{display:block;margin-top:3px;color:#94a895;font-size:10px}.ruler-map svg{display:block;width:100%;height:auto;border:1px solid #8e80522e;border-radius:10px;background:#142b2c}.ruler-map-water{fill:#142b2c}.ruler-map-road{fill:none;stroke:#b9a46b77;stroke-width:1.5;stroke-linecap:round}.ruler-map-city circle{fill:var(--faction-color, #aeb2a5);stroke:#0e1814;stroke-width:2}.ruler-map-city text{fill:#cbd3bd;font-size:8px;text-anchor:middle;paint-order:stroke;stroke:#0c1713;stroke-width:2px;stroke-linejoin:round}.ruler-map-city.is-selected circle{fill:#e5c46f;stroke:#fff0b5;stroke-width:3;filter:drop-shadow(0 0 5px #e5c46f)}.ruler-map-city.is-selected text{fill:#ffeab0;font-weight:700}.ruler-map-legend{display:flex;flex-wrap:wrap;gap:9px 15px;padding:9px 2px 0;color:#95a692;font-size:10px}.legend-dot{display:inline-block;width:7px;height:7px;margin-right:4px;border:1px solid #16211c;border-radius:50%;background:#aeb2a5}.legend-dot.selected{background:#e5c46f;box-shadow:0 0 0 1px #fff0b5}@keyframes tacticFlash{0%{opacity:0;transform:scale(.97);box-shadow:inset 0 0 #efd16d00}35%{opacity:.75;transform:scale(1);box-shadow:inset 0 0 0 2px #efd16d99}to{opacity:0;transform:scale(1.015);box-shadow:inset 0 0 #efd16d00}}@keyframes tacticUnitPulse{0%,to{filter:drop-shadow(0 2px 2px #0008)}45%{filter:drop-shadow(0 0 11px #f6d87c) brightness(1.24)}}@keyframes ccz-walk-down{0%{background-position:0 0}49.9%{background-position:0 0}50%{background-position:10% 0}to{background-position:10% 0}}@keyframes ccz-walk-up{0%{background-position:20% 0}49.9%{background-position:20% 0}50%{background-position:30% 0}to{background-position:30% 0}}@keyframes ccz-walk-side{0%{background-position:40% 0}49.9%{background-position:40% 0}50%{background-position:50% 0}to{background-position:50% 0}}@keyframes ccz-atk-down{0%{background-position:0 0}25%{background-position:9.0909% 0}50%{background-position:18.1818% 0}75%{background-position:27.2727% 0}to{background-position:27.2727% 0}}@keyframes ccz-atk-up{0%{background-position:36.3636% 0}25%{background-position:45.4545% 0}50%{background-position:54.5455% 0}75%{background-position:63.6364% 0}to{background-position:63.6364% 0}}@keyframes ccz-atk-side{0%{background-position:72.7273% 0}25%{background-position:81.8182% 0}50%{background-position:90.9091% 0}75%{background-position:100% 0}to{background-position:100% 0}}@keyframes ccz-hurt-flash{0%,to{filter:brightness(1)}20%{filter:brightness(2.4) saturate(.2)}45%{filter:brightness(1.05)}70%{filter:brightness(1.85) saturate(.35)}}@keyframes ccz-skill-down{0%,to{background-position:0 0;filter:brightness(1)}40%{background-position:0 0;filter:brightness(1.35)}}@keyframes ccz-skill-up{0%,to{background-position:25% 0;filter:brightness(1)}40%{background-position:25% 0;filter:brightness(1.35)}}@keyframes ccz-skill-side{0%,to{background-position:50% 0;filter:brightness(1)}40%{background-position:50% 0;filter:brightness(1.35)}}@keyframes ccz-hurt-down{0%,to{background-position:60% 0;filter:brightness(1)}35%{background-position:60% 0;filter:brightness(2.4) saturate(.2)}70%{background-position:60% 0;filter:brightness(1.15)}}@keyframes ccz-hurt-up{0%,to{background-position:70% 0;filter:brightness(1)}35%{background-position:70% 0;filter:brightness(2.4) saturate(.2)}70%{background-position:70% 0;filter:brightness(1.15)}}@keyframes ccz-hurt-side{0%,to{background-position:80% 0;filter:brightness(1)}35%{background-position:80% 0;filter:brightness(2.4) saturate(.2)}70%{background-position:80% 0;filter:brightness(1.15)}}@keyframes ccz-hurt-ally{0%,to{transform:translate(0) rotate(0);filter:brightness(1)}22%{transform:translate(-5px) rotate(-3deg);filter:brightness(1.85) saturate(.45)}48%{transform:translate(5px) rotate(2deg);filter:brightness(1.2)}72%{transform:translate(-2px);filter:brightness(1.55)}}@keyframes ccz-hurt-enemy{0%,to{transform:translate(0) rotate(0);filter:brightness(1)}22%{transform:translate(6px) rotate(3deg);filter:brightness(2.1) saturate(.35)}48%{transform:translate(-5px) rotate(-2deg);filter:brightness(1.18)}72%{transform:translate(2px);filter:brightness(1.65)}}@keyframes ccz-hurt-self{0%,to{transform:scale(1);filter:brightness(1)}35%{transform:scale(.9);filter:brightness(2) saturate(.35)}70%{transform:scale(1.05);filter:brightness(1.3)}}@keyframes ccz-fire{0%{transform:scale(.2) rotate(-12deg);opacity:0}28%{transform:scale(1) rotate(8deg);opacity:1}to{transform:scale(1.35) rotate(18deg);opacity:0}}@keyframes ccz-earth{0%{transform:translateY(12px) scale(.35);opacity:0}38%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-5px) scale(1.2);opacity:0}}@keyframes ccz-arrow{0%{transform:translate(-32px) rotate(-28deg);opacity:0}45%{transform:translate(0) rotate(-28deg);opacity:1}to{transform:translate(28px) rotate(-28deg);opacity:0}}@keyframes ccz-water{0%{transform:scale(.2);opacity:0}35%{transform:scale(1);opacity:1}to{transform:scale(1.42);opacity:0}}@keyframes ccz-status{0%{transform:scale(.25) rotate(-25deg);opacity:0}35%{transform:scale(1.1) rotate(0);opacity:1}to{transform:scale(1.35) rotate(25deg);opacity:0}}@keyframes ccz-support{0%{transform:scale(.4);opacity:0}40%{transform:scale(1.1);opacity:1}to{transform:scale(1.3);opacity:0}}@keyframes painted-walk{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes ccz-slash{0%{transform:rotate(-48deg) scaleX(.05);opacity:0}35%{transform:rotate(-28deg) scaleX(1);opacity:1}to{transform:rotate(-10deg) scaleX(.2);opacity:0}}@keyframes ccz-impact{0%{transform:scale(.35);opacity:.9}to{transform:scale(1.15);opacity:0}}@keyframes ccz-burst{0%{transform:scale(.2);opacity:0}35%{transform:scale(1);opacity:1}to{transform:scale(1.35);opacity:0}}@keyframes ccz-ring{0%{transform:scale(.4);opacity:.85}to{transform:scale(1.4);opacity:0}}@keyframes painted-lunge{0%,to{transform:translate(0)}40%{transform:translate(var(--lunge-x),var(--lunge-y))}}@keyframes painted-hit{0%,to{transform:translate(0);filter:inherit}30%{transform:translate(3px);filter:brightness(1.45) saturate(1.3)}60%{transform:translate(-3px)}}.tactics.skill-cast .tactics-board:after{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;border:1px solid #efd16d;animation:tacticFlash .58s ease-out both}.tactics.winter-cast .tactics-board:after{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;border:1px solid #9ad8ff;background:radial-gradient(circle at 50% 18%,#9ad8ff33,#16324d55 72%);animation:tacticFlash .8s ease-out both}.tactics.skill-cast .tactics-unit.is-selected .officer-unit-sprite{animation:tacticUnitPulse .26s ease-out both}.tactics-orders button.is-skill .action-icon{color:#d9bd70}.tactics-orders button.is-skill:hover:not(:disabled) .action-icon{animation:tacticUnitPulse .34s ease-out}@media(max-width:800px){.semantic-prompt-featured{padding:8px}.semantic-prompt-featured .semantic-prompt-card{max-height:calc(100vh - 16px)}.main-menu-layout,.ruler-selector-grid{grid-template-columns:1fr}.main-menu-layout{min-height:auto}.main-menu-hero{min-height:255px;padding:32px 26px}.main-menu-hero:after{right:-145px;bottom:-125px}.main-menu-emblem{width:64px;height:64px;margin-bottom:18px;font-size:34px}.main-menu-hero h3{font-size:31px}.main-menu-actions{padding:23px 22px 28px}.main-menu-option{min-height:64px}.period-selector,.save-selector,.ruler-selector{padding:24px 20px}.period-timeline{grid-template-columns:1fr 1fr}.period-timeline:before{display:none}.period-option{min-height:150px}.save-grid{grid-template-columns:1fr 1fr}.ruler-list{max-height:350px}.ruler-card{min-height:90px}.ruler-card .ruler-portrait{width:48px;height:60px;flex-basis:48px}}@media(max-width:440px){.period-timeline{grid-template-columns:1fr}.period-option{min-height:106px;flex-direction:row;align-items:center;gap:12px;padding:12px}.period-year{margin:0}.period-arrow{margin-left:auto}.ruler-list{grid-template-columns:1fr}.ruler-selector-head h3,.period-intro h3,.save-selector-head h3{font-size:21px;letter-spacing:2px}.main-menu-actions{padding-inline:14px}}@media(prefers-reduced-motion:reduce){.main-menu-option,.period-option,.save-slot,.ruler-card{transition:none}.tactics.skill-cast .tactics-board:after,.tactics.skill-cast .tactics-unit.is-selected .officer-unit-sprite,.ccz-unit,.ccz-action.is-hurt-ally,.ccz-action.is-hurt-enemy,.ccz-action.is-hurt-self,.tactics-unit.is-attacking .unit-painted,.tactics-unit.is-hurt .officer-unit-sprite,.battle-hit-fx:before,.battle-hit-fx:after,.battle-arms-toast{animation:none}}.ruler-card.is-selected{border-color:#e3bb66;background:#343627;box-shadow:inset 3px 0 #e3bb66}.ruler-card.is-selected .ruler-card-arrow{color:#ffe2a0}.ruler-confirm{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #63543c}.ruler-confirm>span{color:#e3bb66}.ruler-confirm .semantic-primary{width:auto;margin:0}.audio-settings{position:fixed;left:1rem;right:auto;bottom:1rem;z-index:1000;color:#eddfc5}.audio-settings button{min-height:44px;background:#182b2a;color:#eddfc5;border:1px solid #927644;border-radius:8px;padding:.65rem 1rem;cursor:pointer}.audio-settings>div{position:absolute;bottom:3.5rem;left:0;right:auto;width:240px;padding:1rem;background:#122321;border:1px solid #927644;border-radius:12px;box-shadow:0 12px 32px #0008}.audio-settings h2{font-size:1rem;margin:0 0 .75rem}.audio-settings [role=switch]{display:flex;justify-content:space-between;width:100%;margin-top:.5rem}.audio-settings [aria-checked=true] b{color:#f5ce82}.audio-settings [aria-checked=false] b{color:#a9b4af}.audio-settings button:focus-visible,.ruler-card:focus-visible{outline:2px solid #f5ce82;outline-offset:3px}@media(max-width:440px){.ruler-confirm{flex-wrap:wrap}.ruler-confirm .semantic-primary{width:100%}.audio-settings{left:.5rem;right:auto;bottom:.5rem}.semantic-prompt-card{padding-bottom:4rem}}.world-action-dock{position:absolute;left:24px;bottom:24px;display:flex;gap:8px;z-index:2;padding:8px;border:1px solid #9d875b99;background:#142620e8;box-shadow:0 10px 22px #0006}.world-action{display:grid;grid-template-columns:22px 1fr;grid-template-rows:auto auto;align-items:center;min-width:112px;min-height:58px;padding:8px 10px;color:#e7d6a1;background:#283d33;border:1px solid #a38d5c;cursor:pointer;text-align:left}.world-action .utility-icon{grid-row:1 / span 2;width:20px;height:20px}.world-action span{font-size:15px;font-weight:700}.world-action small{color:#aab8a8;font-size:11px}.world-action:hover{background:#3e5040;border-color:#e8c87b}.world-action-quit{color:#efc4a9}.world-action:focus-visible{outline:2px solid #f0cd7e;outline-offset:2px}.period-option{display:grid;grid-template-columns:112px 48px 1fr 24px;align-items:center;gap:12px;min-height:190px;padding:0 16px 0 0;overflow:hidden}.period-art{width:112px;height:100%;min-height:190px;object-fit:cover;border-right:1px solid #b89b5a55}.period-year{font-size:27px}.period-copy b{font-size:18px}.period-copy small{font-size:13px;line-height:1.5}.period-arrow{font-size:30px}.semantic-world-heading h1,.semantic-city-panel h2{font-size:25px}.semantic-city-resource-strip,.semantic-city-facts{font-size:14px}.semantic-city-command-group button{font-size:14px;min-height:42px}.semantic-city-details summary{font-size:14px}.main-menu-option b,.save-slot b{font-size:17px}.main-menu-option small,.save-slot small{font-size:13px}.ruler-card-copy>b{font-size:17px}.ruler-card-copy small,.ruler-cities{font-size:13px}@media(max-width:800px){.world-action-dock{left:12px;bottom:10px;right:12px}.world-action{flex:1;min-width:0}.world-action small{display:none}.period-option{grid-template-columns:88px 42px 1fr 20px;min-height:150px}.period-art{width:88px;min-height:150px}}@media(max-width:440px){.world-action-dock{gap:4px;padding:5px}.world-action{padding:7px 5px;grid-template-columns:18px 1fr;min-height:50px}.world-action span{font-size:13px}.period-option{grid-template-columns:62px 1fr 18px;gap:8px;min-height:106px}.period-art{width:62px;min-height:106px}.period-year{display:none}.period-copy b{font-size:16px}.period-copy small{font-size:12px}}:root{--sg-bg:#17151c;--sg-panel:#24222d;--sg-panel-raised:#312e3d;--sg-panel-deep:#0f1018;--sg-line:#9b7d60;--sg-line-dim:#9b7d604d;--sg-text:#f5e7c6;--sg-muted:#c0b6a8;--sg-gold:#d7ad62;--sg-red:#b24d3f;--sg-blue:#7189aa}.semantic-topbar{background:#171923ed}.semantic-world{background:linear-gradient(145deg,#222437cc,#171823e8),url(../assets/world-map-background-v1-720.jpg) center/cover}.semantic-world:after{background:radial-gradient(circle at 50% 48%,transparent 16%,#10111aa8 90%)}.semantic-city-panel{background:#1b1a25ed}.semantic-city-panel,.ruler-map,.semantic-prompt-featured .semantic-prompt-card{border-color:#9b7d605c}.semantic-city-emblem,.semantic-city-label{background-color:#252536ed}.semantic-city-own .semantic-city-emblem,.semantic-city-own .semantic-city-label{background-color:#49322fee}.semantic-city-foreign .semantic-city-emblem{background-color:#442a2de8}.semantic-city-neutral .semantic-city-emblem{background-color:#30303ce8}.semantic-city-wood .semantic-city-emblem{background-color:#343144e8}.semantic-city-river .semantic-city-emblem{background-color:#29364be8}.semantic-city-command-group button,.semantic-end-turn{background:#2b2938e8}.semantic-city-command-group button:hover:not(:disabled),.semantic-end-turn:hover:not(:disabled){background:#49333a}.semantic-prompt-featured{background:#0b0b12e8}.semantic-prompt-featured .semantic-prompt-card{background:#211f2bed}.main-menu-layout{background:linear-gradient(120deg,#171822,#252335 51%,#393040)}.main-menu-hero{background:radial-gradient(circle at 50% 36%,#82605b28,transparent 48%),linear-gradient(160deg,#292538,#11121b)}.main-menu-actions{background:#211f2b66}.main-menu-option{background:#2b2938d9}.main-menu-option:hover,.main-menu-option:focus-visible{background:#49333bd9}.period-option{background:linear-gradient(160deg,#343044,#242230)}.period-art{display:block;width:112px;height:100%;min-height:190px;background-image:url(../assets/periods/period-sprite-v2-627.jpg);background-size:auto 200%;background-repeat:no-repeat;border-right:1px solid #b89b5a55;background-color:#242230}.ruler-card{background:#292735}.ruler-card:hover,.ruler-card:focus-visible{background:#49333b}.ruler-map{background:#1a1d2c}.ruler-map-water{fill:#1a1d2c}.ruler-map-road{stroke:#b9a46b88}.ruler-card.is-selected{background:#4b3234;border-color:#e0b967;box-shadow:inset 3px 0 #e0b967}.world-action-dock{background:#191a27ed;border-color:#9b7d60aa}.world-action{background:#302c3c;border-color:#9b7d60}.world-action:hover{background:#51363e}.audio-settings button{background:#211f2b;border-color:#9b7d60}.audio-settings>div{background:#211f2b;border-color:#9b7d60}.ruler-selector-grid{grid-template-columns:minmax(430px,1fr) minmax(460px,1.1fr)}.ruler-list{grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px}.ruler-card{min-height:132px;padding:14px;gap:14px}.ruler-card .ruler-portrait{width:78px;height:96px;flex-basis:78px}.ruler-card-copy>b{font-size:19px}.ruler-card-copy small,.ruler-cities{font-size:14px}.ruler-profile{margin-top:12px;padding:12px;border-top:1px solid #9b7d6055;background:#242336}.ruler-profile-title{display:flex;align-items:center;gap:10px}.ruler-profile-title b{display:block;color:#f3d393;font-size:18px}.ruler-profile-title small{color:#c0b6a8;font-size:12px}.ruler-profile-portrait{width:42px;height:52px}.ruler-profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}.ruler-profile-stats span{padding:7px 3px;text-align:center;border:1px solid #9b7d6044;background:#302d3d}.ruler-profile-stats b{display:block;color:#f2d291;font-size:20px}.ruler-profile-stats small{color:#c0b6a8;font-size:11px}.ruler-profile-cities{margin:10px 0 0;color:#d2b476;font-size:13px;line-height:1.5}@media(max-width:800px){.ruler-selector-grid{grid-template-columns:1fr}.ruler-list{grid-template-columns:repeat(2,minmax(220px,1fr))}.ruler-card{min-height:116px}.ruler-card .ruler-portrait{width:64px;height:80px;flex-basis:64px}.period-art{width:88px;min-height:150px}}@media(max-width:520px){.ruler-list{grid-template-columns:1fr}.ruler-card{min-height:116px}.ruler-profile-stats b{font-size:17px}}@media(min-width:1100px)and (min-height:700px){.semantic-world{background-image:linear-gradient(145deg,#222437cc,#171823e8),url(../assets/world-map-background-v1-1280.jpg)}}.semantic-prompt-featured .semantic-prompt-card{width:min(1160px,100%)}.semantic-prompt-inline{position:relative;inset:auto;z-index:auto;display:block;padding:14px 0 0;background:transparent}.semantic-prompt-inline .semantic-prompt-card{width:100%;max-height:none;overflow:visible;box-sizing:border-box;padding:16px;border-color:var(--sg-line-dim);box-shadow:none;background:var(--sg-panel-deep)}.semantic-prompt-inline .semantic-command-back{position:static;background:transparent}.semantic-prompt-inline .semantic-cancel{margin-top:12px}.semantic-command-back{position:sticky;top:0;z-index:2;display:flex;justify-content:flex-start;padding:0 0 10px;margin:-2px 0 4px;background:linear-gradient(var(--sg-panel) 78%,transparent)}.semantic-command-back .semantic-cancel{margin:0;padding:8px 12px}.period-timeline{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.period-timeline:before{display:none}.period-option{display:grid;grid-template-columns:minmax(0,1fr) 30px;grid-template-rows:auto auto auto;gap:12px;min-width:0;min-height:0;padding:0 0 16px;align-items:start}.period-art{grid-column:1 / -1;width:100%;height:auto;min-height:0;aspect-ratio:1;border:0;border-bottom:1px solid var(--sg-line-dim);background-size:200% 200%;background-repeat:no-repeat}.period-year{display:block;grid-column:1 / -1;width:auto;height:auto;margin:0 16px;padding:0;border:0;border-radius:0;background:none;color:var(--sg-gold);font-size:24px;line-height:1.2;text-align:left}.period-copy{grid-column:1;margin-left:16px;min-width:0}.period-copy b{font-size:19px;line-height:1.5;letter-spacing:1px}.period-copy small{font-size:14px;line-height:1.6}.period-arrow{grid-column:2;margin:0;align-self:end;font-size:26px}.ruler-selector-grid{grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);align-items:start;gap:20px}.ruler-list{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;max-height:560px}.ruler-card{display:grid;grid-template-columns:1fr;justify-items:center;min-width:0;min-height:172px;padding:12px;gap:8px;text-align:center}.ruler-card .ruler-portrait{width:72px;height:88px}.ruler-card-copy{width:100%}.ruler-card-copy b{font-size:20px;line-height:1.4}.ruler-card-copy small{white-space:normal;overflow:visible;text-overflow:clip;font-size:14px;line-height:1.5}.ruler-card-arrow{display:none}.ruler-profile-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.ruler-profile-stats small{display:block;font-size:13px;line-height:1.6}.ruler-profile-cities{font-size:15px;line-height:1.8;overflow-wrap:anywhere}.ruler-map{width:100%}.ruler-map>svg{height:auto}.ruler-map-heading small,.ruler-map-legend{font-size:13px;line-height:1.6}.ruler-profile-title{flex-wrap:wrap}.world-action-dock{position:relative;left:auto;right:auto;bottom:auto;width:fit-content;max-width:calc(100% - 32px);margin:0 16px 24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.world-action{display:grid;grid-template-columns:22px minmax(0,1fr);gap:4px 8px;min-width:122px;min-height:64px}.world-action .action-icon{grid-column:1;grid-row:1 / span 2;width:22px;height:22px}.world-action>span,.world-action>small{grid-column:2;line-height:1.5;white-space:nowrap}.world-action>span{font-size:16px}.world-action>small{display:block;font-size:12px}.semantic-map-coordinates{display:none}.semantic-city{position:relative}.semantic-city-own{background:radial-gradient(ellipse at 50% 24px,#e1b15e55,transparent 70%)}.semantic-city .city-sprite{background-repeat:no-repeat;background-color:transparent}.semantic-city-own .city-sprite{background-color:transparent;filter:hue-rotate(var(--faction-hue)) drop-shadow(0 0 2px #ffce76)}.semantic-city.semantic-city-own .semantic-city-label{color:#fff3ca;border:1px solid #ffdb8b;border-bottom-width:2px;background-color:#59432b;font-weight:700}.city-own-badge{position:absolute;right:2px;top:1px;color:#241824;background-color:#ffdb8b;border:1px solid #fff4cc;font-size:10px;line-height:14px;width:14px;height:16px;border-radius:2px}.semantic-option-grid{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.semantic-city-command-group button>span{min-width:0;overflow-wrap:anywhere}.semantic-city-command-group button b{letter-spacing:0}.semantic-person-option>span:not(.officer-portrait),.save-slot>span{min-width:0;overflow-wrap:anywhere}.person-picker-note{margin:-4px 0 12px;color:var(--sg-muted);font-size:12px;line-height:1.6}.person-city-groups{display:grid;gap:8px}.semantic-person-options,.person-city-groups,.person-city-group,.semantic-person-option{min-width:0;max-width:100%}.person-city-group{border:1px solid var(--sg-line-dim);background:color-mix(in srgb,var(--sg-panel-raised) 78%,transparent)}.person-city-group summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;cursor:pointer;color:var(--sg-gold);font-size:13px;list-style-position:inside}.person-city-group summary small{color:var(--sg-muted);font-size:11px}.person-city-group .semantic-person-options{padding:0 8px 8px}.person-city-group:not([open]) .semantic-person-options{display:none}.quantity-presets{flex-wrap:wrap}.quantity-presets button{flex:1 1 90px;min-width:0}.semantic-number-field input{min-width:0;max-width:100%}.semantic-notices{bottom:70px;max-width:calc(100vw - 24px)}.semantic-prompt-featured{display:grid;place-items:center;padding:18px}.semantic-prompt-featured .semantic-prompt-card{width:min(1080px,100%);height:auto;max-height:min(720px,calc(100svh - 36px));display:block;overflow:auto}.semantic-prompt-featured .semantic-cancel{margin:0 26px 22px}.boot-backdrop{height:100%;background:#14141c}.main-menu-layout{min-height:min(520px,calc(100svh - 140px));height:auto}.ruler-head-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.ruler-header-back{min-height:40px;padding:8px 14px;color:#d8c7a2;border:1px solid #8a7350;background:#2a2433;cursor:pointer}.main-menu-hero{min-height:0;padding:28px 34px}.main-menu-actions{padding:24px 28px}.main-menu-option{min-height:58px;padding:12px 14px}.period-selector,.save-selector,.ruler-selector{padding:22px 28px 26px}.period-intro,.save-selector-head,.ruler-selector-head{padding-bottom:14px}.period-timeline{padding-top:16px;gap:10px}.period-option{min-height:0}.period-art{aspect-ratio:1}.ruler-selector-grid{padding-top:14px;gap:14px}.ruler-list{max-height:min(430px,57svh)}.ruler-card{min-height:112px;padding:10px;gap:10px}.ruler-card .ruler-portrait{width:62px;height:76px;flex-basis:62px}.ruler-confirm{margin-top:12px;padding-top:12px}.command-hint-toast{position:fixed;top:72px;left:50%;z-index:20;transform:translate(-50%);max-width:min(420px,calc(100vw - 32px));padding:10px 18px;color:#ffe8b0;border:1px solid var(--sg-gold);background:#2a1c14f2;box-shadow:0 12px 28px #000a;font-size:14px;letter-spacing:1px;text-align:center;animation:command-hint-in .16s ease-out both}@keyframes command-hint-in{0%{opacity:0;transform:translate(-50%) translateY(-6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.battle-result{position:fixed;inset:0;z-index:24;display:grid;place-items:center;background:#08110ecc}.battle-result-card{min-width:240px;padding:28px 36px 22px;text-align:center;color:var(--sg-text);border:1px solid var(--sg-gold);background:#201d2bf5;box-shadow:0 18px 46px #000b}.battle-result-card small{color:var(--sg-gold);letter-spacing:3px;font-size:12px}.battle-result-card h2{margin:12px 0 18px;font-size:32px;letter-spacing:6px;font-weight:600}.battle-result-captives{margin:-6px 0 18px;max-width:420px;font-size:15px;line-height:1.55}.battle-result-card.is-win h2{color:#f3d48a}.battle-result-card.is-lose h2{color:#e7b4a8}.battle-result-card button{min-width:128px;min-height:40px;border:1px solid var(--sg-gold);background:#3a2a22;color:var(--sg-text);cursor:pointer}.battle-result-card button:hover{background:#4a3428}.turn-summary-toast{position:fixed;top:68px;left:50%;z-index:18;width:min(560px,calc(100vw - 32px));transform:translate(-50%);padding:14px 18px;color:var(--sg-text);border:1px solid var(--sg-gold);background:#201d2bf5;box-shadow:0 18px 46px #000b}.turn-summary-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--sg-gold)}.turn-summary-head span{font-size:12px;letter-spacing:2px}.turn-summary-head b{font-size:16px;font-weight:600}.turn-summary-toast p{margin:10px 0 6px;color:var(--sg-muted);font-size:12px}.turn-summary-toast ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.turn-summary-toast li{display:grid;grid-template-columns:minmax(100px,1fr) repeat(3,auto);gap:9px;align-items:center;padding-top:5px;border-top:1px solid var(--sg-line-dim);color:var(--sg-muted);font-size:12px}.turn-summary-toast li b{color:var(--sg-text);font-weight:500}.turn-summary-toast li span{color:#d6c18a;font-variant-numeric:tabular-nums}.turn-summary-toast .turn-summary-empty{display:block;color:var(--sg-muted)}.semantic-notices{width:min(390px,calc(100vw - 32px));right:16px;bottom:16px;padding:12px 14px}.semantic-notices li{padding:8px 0 0}.semantic-notice-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.semantic-notice-item>span:first-child{min-width:0}.semantic-notice-actor{flex:0 0 auto;color:var(--sg-gold);font-size:10px;white-space:nowrap}@media(max-width:720px){.semantic-prompt-featured .semantic-prompt-card{height:auto;max-height:calc(100svh - 16px)}.main-menu-layout{min-height:auto}.main-menu-hero{padding:24px 22px}.main-menu-actions,.period-selector,.save-selector,.ruler-selector{padding:18px 16px 22px}.period-option{min-height:130px}.ruler-list{max-height:300px}.turn-summary-toast{top:60px}.command-hint-toast{top:64px}}@media(max-width:440px){.period-selector,.save-selector,.ruler-selector{padding-inline:12px}.turn-summary-toast{width:calc(100vw - 20px);padding:12px}.turn-summary-toast li{grid-template-columns:1fr repeat(3,auto);gap:5px;font-size:11px}}@media(max-width:1000px){.semantic-world-layout{grid-template-columns:1fr}.semantic-city-panel{max-height:none;border-left:0;border-top:1px solid var(--sg-line-dim)}.period-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.ruler-selector-grid{grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr)}.ruler-list{grid-template-columns:1fr}.ruler-card{grid-template-columns:64px minmax(0,1fr);justify-items:start;min-height:104px;text-align:left}.ruler-card .ruler-portrait{width:64px;height:78px}.world-action{min-width:0;padding:8px}}@media(max-width:720px){.ruler-selector-grid{grid-template-columns:1fr}.ruler-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:290px}.ruler-card{grid-template-columns:1fr;justify-items:center;text-align:center;min-height:164px}.world-action-dock{width:calc(100% - 24px);max-width:none;margin:0 12px 18px}.main-menu-layout{grid-template-columns:1fr}}@media(max-width:440px){.period-selector,.ruler-selector,.save-selector{padding:20px 12px}.period-timeline{grid-template-columns:1fr}.period-option{gap:10px}.period-art{aspect-ratio:1}.world-action{grid-template-columns:minmax(0,1fr);justify-items:center;gap:3px;padding:8px 4px;text-align:center}.world-action .action-icon{grid-column:1;grid-row:1}.world-action>span{grid-column:1;grid-row:2;font-size:13px}.world-action>small{display:none}.ruler-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.semantic-person-option{gap:8px;padding:10px}.main-menu-actions{padding:20px 12px}.main-menu-option{gap:10px;padding:12px}.main-menu-option b{letter-spacing:1px}}html,body,#app{height:100%;min-height:0;overflow:hidden}.semantic-shell{height:100svh;min-height:0;overflow:hidden}.semantic-main{height:calc(100svh - 72px);min-height:0;overflow:hidden}.semantic-world,.semantic-world-layout,.semantic-map-column{height:100%;min-height:0}.semantic-map-stage{--map-pad: 80px;position:relative;height:100%;min-height:0;padding-top:var(--map-pad);box-sizing:border-box}.semantic-map-stage .semantic-world-map{width:100%;height:100%;min-height:0;padding-top:0}.semantic-city-layer{position:absolute;left:0;right:0;top:var(--map-pad);bottom:0;z-index:2;pointer-events:none}.semantic-city-layer .semantic-city{position:absolute;width:max-content;height:auto;margin:0;overflow:visible;pointer-events:auto;transform:translate(-50%,-62%)}.semantic-city-layer .semantic-city-label,.semantic-city-layer .semantic-city small{display:block;max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap}.semantic-city-layer .semantic-city small{margin-top:1px;font-size:10px;line-height:12px}.semantic-city-layer .semantic-city:hover,.semantic-city-layer .semantic-city:focus-visible{transform:translate(-50%,calc(-62% - 4px))}.semantic-world-map{height:100%;min-height:0;padding-top:80px}.semantic-city-panel{height:100%;max-height:none;min-height:0;overflow:auto}.world-action-dock{position:absolute;left:24px;right:auto;bottom:24px;z-index:4}@media(max-width:720px){.semantic-main{height:calc(100svh - 54px)}.semantic-world-map{height:52svh;min-height:290px}.semantic-city-panel{height:auto}.world-action-dock{left:12px;right:12px;bottom:10px}}@media(max-width:440px){.period-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.period-option{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:5px;min-height:0;padding:0 0 8px}.period-art{grid-column:1;width:100%;min-height:0;aspect-ratio:1;border-right:0}.period-year{grid-column:1;margin:0 8px;font-size:16px}.period-copy{grid-column:1;margin:0 8px}.period-copy b{font-size:14px;line-height:1.25}.period-copy small{display:block;font-size:10px;line-height:1.3}.period-arrow{display:none}}.command-palette{position:fixed;inset:0;z-index:19;display:grid;place-items:center;padding:28px;background:#080910c9}.command-palette-card{width:min(700px,100%);max-height:min(620px,calc(100svh - 48px));overflow:auto;padding:22px 24px 24px;border:1px solid var(--sg-gold);border-radius:10px;background:#211f2bed;box-shadow:0 26px 80px #000d}.command-palette-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--sg-line-dim)}.command-palette-head small{color:var(--sg-muted);font-size:11px;letter-spacing:1px}.command-palette-head h2{margin:5px 0 0;color:var(--sg-gold);font-size:25px;letter-spacing:4px}.command-palette-close{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--sg-line-dim);border-radius:50%;background:transparent;color:var(--sg-muted);font-size:24px;line-height:1;cursor:pointer}.command-palette-close:hover:not(:disabled){border-color:var(--sg-gold);color:var(--sg-text)}.command-palette-note{margin:16px 0 12px;color:var(--sg-muted);font-size:13px;line-height:1.7}.command-palette-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.command-palette-grid button{min-height:58px;border:1px solid var(--sg-line-dim);border-radius:6px;background:var(--sg-panel-raised);cursor:pointer}.command-palette-grid button:hover:not(:disabled){border-color:var(--sg-gold);background:#49333a;transform:translateY(-1px)}.command-palette .semantic-prompt-inline{padding:14px 0 0}.command-palette .semantic-prompt-inline .semantic-prompt-card{padding:0;border:0;background:transparent}.command-palette .semantic-prompt-inline .semantic-command-back{padding-bottom:12px}.city-command-open{width:100%;min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 11px!important}.city-command-open>span{display:inline-flex;align-items:center;gap:7px;font-size:13px}.city-command-open>small{color:var(--sg-muted);font-size:10px}.semantic-city-command-launcher{padding:10px 0 4px}.ruler-selector-side{min-width:0;min-height:0;display:flex;flex-direction:column}.ruler-head-actions{display:flex;align-items:center;gap:12px}.ruler-header-back{padding:7px 12px;border:1px solid var(--sg-line-dim);background:transparent;color:var(--sg-muted);cursor:pointer}.ruler-header-back:hover{border-color:var(--sg-gold);color:var(--sg-text)}@media(min-width:1001px){.semantic-prompt-featured .semantic-prompt-card{height:auto;max-height:min(calc(100svh - 36px),720px);overflow:auto}.semantic-prompt-featured:has(.ruler-selector) .semantic-prompt-card{height:min(calc(100svh - 36px),700px);overflow:hidden}.ruler-selector{height:100%;min-height:0;display:flex;flex-direction:column}.ruler-selector-grid{flex:1 1 auto;min-height:0;overflow:hidden;align-items:stretch}.ruler-selector-side,.ruler-map{height:100%}.ruler-list{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;align-content:start}.ruler-card{min-height:106px;padding:6px;gap:4px}.ruler-card .ruler-portrait{width:46px;height:56px}.ruler-card-copy b{font-size:16px;line-height:1.2}.ruler-card-copy small{font-size:12px;line-height:1.25}.ruler-confirm{flex:0 0 auto}.ruler-map{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ruler-map>svg{height:min(240px,34svh);max-height:240px;object-fit:contain;flex:0 0 auto}.ruler-profile{flex:0 0 auto}.turn-summary-toast{top:50%;left:50%;transform:translate(-50%,-50%);animation:turn-summary-pop .18s ease-out both}}@keyframes turn-summary-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:720px){.command-palette{padding:12px}.command-palette-card{max-height:calc(100svh - 24px);padding:17px 14px 18px}.command-palette-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}}.world-action-dock{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.world-action{min-width:0;min-height:42px;padding:7px 10px;display:flex;align-items:center;justify-content:center;gap:6px}.world-action>span{font-size:13px}.world-action>small{display:none}.world-action .action-icon{width:17px;height:17px}.audio-settings-docked{left:40px;right:auto;bottom:92px}.audio-settings-docked>button[hidden]{display:none}.audio-settings-docked>div{right:auto;left:0;bottom:0}.world-action-dock{left:16px;right:auto;bottom:16px;width:min(360px,calc(100% - 36px));gap:4px}.world-action{min-height:34px;padding:4px 6px;gap:4px;font-size:11px}.world-action>span{font-size:11px}.world-action .action-icon{width:14px;height:14px}.command-palette-grid button{display:flex;align-items:center;gap:12px;padding:13px 15px;text-align:left;min-height:76px}.command-palette-grid button>span{min-width:0}.command-palette-grid button b{display:block;font-size:17px;line-height:1.4;letter-spacing:2px;font-weight:600}.command-palette-grid button small{display:block;color:var(--sg-muted);font-size:12px;line-height:1.5;margin-top:4px;letter-spacing:0}.command-palette-grid .command-icon{width:23px;height:23px;flex-shrink:0}.semantic-command-back,.command-palette .semantic-prompt-inline .semantic-command-back{margin:12px 0 16px;padding:0 0 12px;border-bottom:1px solid var(--sg-line-dim)}.semantic-prompt-kicker:not(:empty){padding-top:8px;line-height:1.7}.semantic-prompt-card>.semantic-cancel{margin-top:20px}.ruler-profile{padding:18px 22px}.ruler-profile-cities{margin:14px 0 0}.ruler-map-legend{padding:12px 22px 18px}@media(max-width:720px){.world-action-dock{left:12px;right:auto;bottom:10px;width:min(320px,calc(100% - 24px))}.world-action{padding:5px 4px;gap:3px}.world-action>span{font-size:11px}.audio-settings-docked{left:24px;bottom:72px}.command-palette-grid button{padding:10px;gap:8px}}@media(max-width:360px){.world-action-dock{grid-template-columns:repeat(2,minmax(0,1fr))}.world-action{min-width:0}}.orientation-hint{display:none}@media(max-width:980px)and (orientation:landscape),(orientation:landscape)and (max-height:540px){.semantic-topbar{min-height:46px;padding:6px 12px}.semantic-topbar h1{font-size:16px;letter-spacing:2px}.semantic-brand-mark{width:28px;height:28px;font-size:17px}.semantic-main{height:calc(100svh - 46px)}.semantic-world,.semantic-world-layout{height:100%;min-height:0}.semantic-world-layout{grid-template-columns:minmax(0,1fr) minmax(250px,34vw)!important}.semantic-map-stage{--map-pad: 48px}.semantic-world-map{height:100%;min-height:0;padding-top:0}.semantic-city-panel{height:100%;max-height:none;overflow:auto;border-top:0;border-left:1px solid var(--sg-line-dim);padding:12px 10px 18px}.semantic-city-heading h2{font-size:20px;letter-spacing:2px}.semantic-city-command-group>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.semantic-city-command-group button{min-height:46px;padding:5px}.semantic-city-command-group b{font-size:11px}.semantic-city-command-group small{font-size:8px}.world-action-dock{left:10px;right:auto;bottom:8px;width:min(310px,calc(100% - 20px));padding:4px;gap:3px}.world-action{min-height:32px;padding:3px 4px;font-size:10px}.world-action>span{font-size:10px}.world-action .action-icon{width:13px;height:13px}.tactics{min-height:0;height:100%;padding:8px 8px 16px}.tactics-heading h1{font-size:18px;letter-spacing:1px}.tactics-metrics{gap:4px 8px;font-size:10px}.tactics-layout{grid-template-columns:minmax(0,1fr) 220px;gap:8px}.tactics-viewport{height:calc(100svh - 168px);min-height:190px;max-height:none}.tactics-sidebar{max-height:calc(100svh - 120px);overflow:auto}.tactics-orders{padding:8px;min-height:70px}.tactics-orders button{min-width:0;min-height:32px;padding:5px 6px;font-size:11px}.semantic-prompt-featured{padding:8px}.semantic-prompt-featured .semantic-prompt-card{max-height:calc(100svh - 16px)}.ruler-selector-grid{grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr);gap:10px}.ruler-list{max-height:calc(100svh - 150px)}.ruler-card{min-height:78px;padding:5px;gap:6px}.ruler-card .ruler-portrait{width:42px;height:52px}.ruler-card-copy b{font-size:14px}.ruler-card-copy small{font-size:10px}}@media(max-width:900px)and (orientation:portrait){.orientation-hint{position:fixed;inset:0;z-index:100;display:grid;place-content:center;gap:10px;padding:28px;color:#f4e5c4;background:#11121af7;text-align:center}.orientation-hint-icon{width:56px;height:56px;margin:0 auto 4px;display:grid;place-items:center;border:1px solid #d9b86c;border-radius:14px;color:#e7bf73;font-size:34px;transform:rotate(-45deg)}.orientation-hint strong{font-size:20px;letter-spacing:3px}.orientation-hint span{color:#b9b3a5;font-size:13px;line-height:1.7}}@media(max-width:720px){.semantic-prompt{align-items:start;overflow-y:auto;padding:8px}.semantic-prompt-card{width:100%;max-height:calc(100svh - 16px);padding:14px}.semantic-prompt-featured{place-items:start center;overflow-y:auto}.semantic-prompt-featured .semantic-prompt-card{max-height:calc(100svh - 16px);margin:0;overflow:auto}.semantic-prompt-kicker{font-size:9px;letter-spacing:2px}.semantic-prompt h2{font-size:20px;letter-spacing:2px;margin:7px 0 11px}.semantic-prompt-detail{margin:-2px 0 10px;font-size:12px;line-height:1.55}.semantic-option-grid{gap:6px}.semantic-option-grid button,.semantic-battle-actions button{min-height:46px;padding:8px 9px}.semantic-option-grid small,.semantic-battle-actions small{font-size:10px;margin-top:3px}.semantic-primary,.semantic-cancel{min-height:42px;padding:8px 12px;margin-top:12px}.semantic-cancel{margin-left:5px}.main-menu-layout{display:block;min-height:0}.main-menu-hero{min-height:0;padding:18px 16px 16px}.main-menu-emblem{width:48px;height:48px;margin-bottom:11px;font-size:26px;border-width:2px}.main-menu-eyebrow{margin-bottom:6px;font-size:8px;letter-spacing:2px}.main-menu-hero h3{font-size:27px;letter-spacing:4px}.main-menu-hero>p:not(.main-menu-eyebrow){margin:9px 0 13px;font-size:11px;line-height:1.55}.main-menu-ribbon{gap:4px;font-size:8px}.main-menu-ribbon span{padding:4px 6px}.main-menu-actions{gap:6px;padding:12px 10px 14px}.main-menu-option{min-height:50px;gap:9px;padding:8px 9px}.main-menu-option .prompt-icon{width:21px;height:21px;flex-basis:21px}.main-menu-option b{font-size:14px;letter-spacing:1px}.main-menu-option small{margin-top:2px;font-size:9px}.main-menu-option em{font-size:20px}.period-selector,.save-selector,.ruler-selector{padding:14px 12px 16px}.period-intro,.save-selector-head,.ruler-selector-head{gap:9px;padding-bottom:10px}.period-intro h3,.save-selector-head h3,.ruler-selector-head h3{font-size:19px;letter-spacing:2px}.period-intro small,.save-selector-head small,.ruler-selector-head small{margin-top:4px;font-size:10px}.period-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-top:10px}.period-option{gap:5px;padding:0 0 8px}.period-art{width:78px;height:78px;max-width:78px;aspect-ratio:1;justify-self:center}.period-year{margin:0 7px;font-size:14px}.period-copy{margin:0 7px}.period-copy b{font-size:12px;line-height:1.25}.period-copy small{font-size:9px;line-height:1.3}.save-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.save-slot{min-height:62px;padding:8px}.save-slot b{font-size:13px}.save-slot small{font-size:9px}.ruler-selector-grid{grid-template-columns:1fr;gap:10px;padding-top:10px}.ruler-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:38svh;gap:6px}.ruler-card{grid-template-columns:46px minmax(0,1fr);justify-items:start;min-height:62px;padding:6px;gap:6px;text-align:left}.ruler-card .ruler-portrait{width:46px;height:56px;flex-basis:46px}.ruler-card-copy b{font-size:13px;line-height:1.2}.ruler-card-copy small{font-size:9px;line-height:1.3}.ruler-map{max-height:none}.ruler-map>svg{height:150px}.ruler-map-heading small,.ruler-map-legend{font-size:10px}.ruler-profile{padding:10px 12px}.ruler-profile-stats{gap:4px}.ruler-profile-stats span{padding:5px 2px}.ruler-profile-stats b{font-size:16px}.ruler-profile-stats small{font-size:9px}.ruler-profile-cities{margin:7px 0 0;font-size:10px;line-height:1.45}.command-palette{padding:8px;overflow-y:auto;place-items:start center}.command-palette-card{max-height:none;padding:13px 11px 15px}.command-palette-head h2{font-size:19px;letter-spacing:2px}.command-palette-note{margin:10px 0 8px;font-size:11px;line-height:1.5}.command-palette-grid{gap:6px}.command-palette-grid button{min-height:52px;padding:8px;gap:6px}.command-palette-grid button b{font-size:13px;letter-spacing:1px}.command-palette-grid button small{font-size:9px;margin-top:2px}.command-palette-grid .command-icon{width:18px;height:18px}.semantic-city-command-group>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.semantic-city-command-group button{min-height:42px;padding:5px 4px;font-size:11px}.semantic-city-command-group button small{font-size:8px}.semantic-person-option{min-height:58px;gap:7px;padding:7px}.semantic-person-option .officer-portrait{width:46px;height:46px}.semantic-person-option b{font-size:12px}.semantic-person-option small{font-size:9px;line-height:1.35;margin-top:2px}.semantic-notices{width:calc(100vw - 20px);right:10px;bottom:10px}}@media(max-width:720px)and (orientation:portrait){html,body,#app{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}html:has(.semantic-prompt-featured),body:has(.semantic-prompt-featured),#app:has(.semantic-prompt-featured){height:100%;overflow:hidden}.semantic-shell:has(.semantic-prompt-featured){height:100svh;max-height:100svh;overflow:hidden}.semantic-shell{height:auto;min-height:100svh;overflow:visible}.semantic-topbar{min-height:48px;padding:6px 10px;gap:6px}.semantic-topbar>div:first-child{gap:7px;min-width:0}.semantic-brand-mark{width:26px;height:26px;font-size:16px}.semantic-topbar h1{font-size:15px;letter-spacing:1px}.semantic-campaign-meta{min-width:0;gap:2px 6px;font-size:9px;line-height:1.25;text-align:right}.semantic-main{height:auto;min-height:calc(100svh - 48px);overflow:visible}.semantic-world,.semantic-world-layout,.semantic-map-column{height:auto;min-height:0}.semantic-world-layout{display:block}.semantic-world-map{height:46svh;min-height:250px;max-height:360px;padding-top:42px}.semantic-world-heading{top:9px;left:12px}.semantic-world-heading h1{font-size:19px;letter-spacing:3px;margin:3px 0}.semantic-world-heading span{font-size:9px}.world-action-dock{position:relative;left:auto;right:auto;bottom:auto;width:auto;max-width:none;margin:7px 10px 10px}.world-action{min-height:40px;padding:5px 3px}.semantic-city-panel{height:auto;max-height:none;overflow:visible;border-left:0;border-top:1px solid var(--sg-line-dim);padding:12px 11px 22px}.semantic-city .city-sprite,.semantic-city.semantic-city-major .city-sprite{width:16px;height:12px;min-height:0}.city-own-badge{top:0;right:0;width:8px;height:9px;font-size:6px;line-height:8px;border-radius:1px}.semantic-city-layer .semantic-city-label,.semantic-city-layer .semantic-city-major .semantic-city-label{font-size:8px;line-height:9px;padding:0 1px;letter-spacing:0;text-size-adjust:none}.semantic-city-layer .semantic-city small{font-size:7px;line-height:8px;text-size-adjust:none}.city-heading-sprite{width:36px;height:26px;flex-basis:36px}.semantic-city-heading h2{font-size:21px;letter-spacing:2px}.semantic-city-heading img{width:70px;height:52px}.semantic-city-stats{padding:9px 0;gap:5px 8px}.semantic-city-stats div{font-size:10px}.semantic-city-facts{padding:8px 0;font-size:10px}.tactics{min-height:0;height:auto;padding:10px 8px 24px}.tactics-heading{display:block;margin-bottom:8px}.tactics-heading h1{font-size:19px;letter-spacing:2px}.tactics-heading h1 span{font-size:10px}.tactics-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px;font-size:10px}.tactics-layout{display:block}.tactics-toolbar{min-height:38px;height:auto;flex-wrap:wrap;padding:5px 7px;font-size:10px}.tactics-toolbar>div{gap:4px}.tactics-toolbar button{min-width:32px;min-height:30px;padding:3px 6px}.tactics-viewport{height:46svh;min-height:220px;max-height:420px}.tactics-log{width:min(170px,58%);font-size:9px}.unit-name,.unit-state{font-size:8px;line-height:11px}.tactics-orders{padding:8px;min-height:0}.tactics-orders>div{display:block;margin-bottom:6px}.tactics-orders span{display:block;margin-top:3px;font-size:9px}.tactics-orders nav{gap:5px}.tactics-orders button{min-width:0;min-height:40px;flex:1 1 78px;padding:6px 7px;font-size:10px}.tactics-sidebar{max-height:none;overflow:visible;margin-top:8px;gap:7px}.tactics-card,.tactics-roster{padding:8px}.tactics-officer{gap:8px}.tactics-officer .officer-portrait{width:56px;height:56px}.tactics-officer h2{margin:4px 0;font-size:17px}.tactics-stats{gap:5px 8px;margin-top:8px;font-size:10px}.tactics-roster h3{margin:-8px -8px 0;padding:7px 8px;font-size:12px}.tactics-roster button{gap:6px;padding:6px 2px}.tactics-roster .officer-portrait{width:32px;height:32px}.tactics-roster button b{font-size:11px}.tactics-roster button small{font-size:8px}.tactics-roster strong{font-size:10px}}@media(max-width:980px)and (orientation:landscape),(orientation:landscape)and (max-height:540px){html,body,#app{height:100%;min-height:0;overflow:hidden}.semantic-shell{height:100svh;min-height:0;overflow:hidden}.semantic-topbar{min-height:44px;height:44px;padding:5px 10px;gap:6px}.semantic-topbar>div:first-child{gap:7px;min-width:0}.semantic-brand-mark{width:26px;height:26px;font-size:16px}.semantic-topbar h1{font-size:15px;letter-spacing:1px}.semantic-campaign-meta{min-width:0;gap:2px 6px;font-size:9px;line-height:1.25;text-align:right}.semantic-main{height:calc(100svh - 44px);min-height:0;overflow:hidden}.semantic-world,.semantic-world-layout,.semantic-map-column{height:100%;min-height:0}.semantic-world-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,32vw)!important}.semantic-map-stage{--map-pad: 36px}.semantic-world-map{height:100%;min-height:0;padding-top:0}.semantic-world-heading{top:8px;left:12px}.semantic-world-heading h1{font-size:18px;letter-spacing:2px;margin:3px 0}.semantic-world-heading span{font-size:9px}.semantic-city-panel{height:100%;max-height:none;overflow:auto;border-top:0;border-left:1px solid var(--sg-line-dim);padding:10px 9px 14px}.semantic-city .city-sprite,.semantic-city.semantic-city-major .city-sprite{width:18px;height:14px;min-height:0}.city-own-badge{top:0;right:0;width:8px;height:9px;font-size:6px;line-height:8px;border-radius:1px}.semantic-city-layer .semantic-city-label,.semantic-city-layer .semantic-city-major .semantic-city-label{font-size:8px;line-height:9px;padding:0 1px;letter-spacing:0;text-size-adjust:none}.semantic-city-layer .semantic-city small{font-size:7px;line-height:8px;text-size-adjust:none}.city-heading-sprite{width:40px;height:28px;flex-basis:40px}.semantic-city-heading h2{font-size:19px;letter-spacing:2px}.semantic-city-heading img{width:64px;height:48px}.semantic-city-stats{padding:8px 0;gap:4px 7px}.semantic-city-stats div,.semantic-city-facts{font-size:9px}.semantic-city-facts{padding:7px 0}.semantic-city-command-group{padding:7px 0 2px}.semantic-city-command-group>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.semantic-city-command-group button{min-height:36px;padding:4px;font-size:10px}.semantic-city-command-group button small{font-size:7px}.world-action-dock{left:8px;right:auto;bottom:7px;width:min(290px,calc(100% - 16px));padding:3px;gap:3px}.world-action{min-height:30px;padding:3px;gap:3px;font-size:9px}.world-action>span{font-size:9px}.world-action .action-icon{width:12px;height:12px}.semantic-prompt-featured{padding:8px}.semantic-prompt-featured .semantic-prompt-card{max-height:calc(100svh - 16px)}.tactics{height:100%;min-height:0;padding:7px 8px 10px;overflow:hidden}.tactics-heading{margin-bottom:6px}.tactics-heading h1{font-size:17px;letter-spacing:1px;margin:3px 0}.tactics-heading h1 span{font-size:9px}.tactics-metrics{gap:3px 8px;font-size:9px}.tactics-layout{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:7px}.tactics-toolbar{min-height:32px;height:32px;padding:4px 6px;font-size:9px}.tactics-toolbar>div{gap:3px}.tactics-toolbar button{min-width:28px;min-height:24px;padding:2px 5px;font-size:10px}.tactics-viewport{height:calc(100svh - 142px);min-height:150px;max-height:none}.tactics-log{width:min(150px,48%);font-size:8px}.unit-name,.unit-state{font-size:8px;line-height:10px}.tactics-orders{padding:6px;min-height:52px}.tactics-orders>div{margin-bottom:4px}.tactics-orders b{font-size:10px}.tactics-orders span{font-size:8px}.tactics-orders nav{gap:3px}.tactics-orders button{min-width:0;min-height:28px;flex:1 1 60px;padding:4px 5px;font-size:9px}.tactics-sidebar{max-height:calc(100svh - 92px);overflow:auto;margin-top:0;gap:5px}.tactics-card,.tactics-roster{padding:6px}.tactics-officer{gap:6px}.tactics-officer .officer-portrait{width:42px;height:42px}.tactics-officer h2{margin:3px 0;font-size:14px}.tactics-stats{gap:3px 5px;margin-top:5px;font-size:9px}.tactics-roster h3{margin:-6px -6px 0;padding:5px 6px;font-size:10px}.tactics-roster button{gap:4px;padding:4px 1px}.tactics-roster .officer-portrait{width:26px;height:26px}.tactics-roster button b{font-size:9px}.tactics-roster button small,.tactics-roster strong{font-size:7px}.orientation-hint{display:none!important}}@media(max-width:820px)and (orientation:landscape),(orientation:landscape)and (max-height:540px){.semantic-world-layout{grid-template-columns:minmax(0,1fr) minmax(210px,34vw)!important}.tactics-layout{grid-template-columns:minmax(0,1fr) 176px}.tactics-viewport{height:calc(100svh - 136px)}.ruler-selector-grid{grid-template-columns:minmax(190px,.9fr) minmax(0,1.1fr);gap:8px}.ruler-list{max-height:calc(100svh - 118px)}.ruler-card{min-height:58px;padding:4px;gap:4px}.ruler-card .ruler-portrait{width:36px;height:44px}.ruler-card-copy b{font-size:11px}.ruler-card-copy small{font-size:8px}.ruler-map>svg{height:112px}}@media(orientation:landscape)and (max-height:540px){.semantic-shell button,.tactics-cell{touch-action:manipulation}.semantic-city-layer .semantic-city{width:max-content;height:auto}.semantic-city .city-sprite,.semantic-city.semantic-city-major .city-sprite{width:14px;height:10px;min-height:0}.city-own-badge{top:0;right:0;width:8px;height:9px;font-size:6px;line-height:8px;border-radius:1px}.semantic-city-layer .semantic-city-label,.semantic-city-layer .semantic-city-major .semantic-city-label{max-width:none;font-size:7px;line-height:8px;padding:0 1px;letter-spacing:0;text-size-adjust:none}.semantic-city-layer .semantic-city small{display:block;font-size:7px;line-height:8px;text-size-adjust:none}.city-heading-sprite{width:28px;height:20px;flex-basis:28px}.period-selector,.save-selector,.ruler-selector{padding:8px 10px 10px}.period-intro,.save-selector-head,.ruler-selector-head{gap:6px;padding-bottom:6px}.period-intro h3,.save-selector-head h3,.ruler-selector-head h3{margin:0;font-size:16px;letter-spacing:1px}.period-timeline{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding-top:6px}.period-option{display:flex;flex-direction:column;align-items:stretch;min-height:0;height:auto;padding:0 0 6px;gap:2px;overflow:hidden}.period-art{width:100%;height:64px;min-height:0;max-width:none;aspect-ratio:auto;border-right:0}.period-year{margin:0 6px;font-size:13px}.period-copy{margin:0 6px}.period-copy b{font-size:12px;line-height:1.2}.period-copy small,.period-arrow{display:none}.save-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.save-slot{min-height:0;padding:6px 8px}.semantic-prompt-featured:has(.ruler-selector) .semantic-prompt-card{display:flex;flex-direction:column;height:calc(100svh - 16px);overflow:hidden}.ruler-selector{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ruler-selector-grid{flex:1 1 auto;min-height:0;overflow:hidden;align-items:stretch}.ruler-selector-side{height:100%;min-height:0;overflow:hidden}.ruler-list{max-height:none;height:auto;flex:1 1 auto;min-height:0;overflow:auto}.ruler-confirm{flex:0 0 auto;margin-top:6px;padding-top:6px}.ruler-confirm .semantic-primary{min-height:36px}.ruler-map{height:100%;max-height:none;min-height:0;overflow:auto;display:flex;flex-direction:column}.ruler-map>svg{width:100%;height:78px;max-height:78px;flex:0 0 auto}.ruler-map-heading{padding-bottom:4px}.ruler-profile{margin-top:4px;padding:6px 8px}.ruler-profile-portrait{width:28px;height:34px}.ruler-profile-stats{margin-top:6px;gap:4px}.ruler-profile-stats b{font-size:14px}.ruler-map-legend{display:none}.main-menu-hero{padding:10px 12px}.main-menu-hero h3{font-size:22px;letter-spacing:2px}.main-menu-emblem{width:36px;height:36px;margin-bottom:6px;font-size:20px}.main-menu-option{min-height:42px}.ruler-card .ruler-portrait{width:32px;height:40px;flex-basis:32px}.tactics-toolbar>span{display:none}.tactics-officer .officer-portrait{width:32px;height:32px}.tactics-roster .officer-portrait{width:22px;height:22px}.semantic-person-option .officer-portrait{width:36px;height:36px}.tactics-orders button,.semantic-city-command-group button,.world-action{min-height:32px}.command-palette{padding:8px}.command-palette-card{width:min(760px,100%);max-height:calc(100svh - 16px);padding:8px 10px 10px}.command-palette-head{padding-bottom:6px}.command-palette-head h2{font-size:16px;letter-spacing:2px}.command-palette-note{margin:6px 0;font-size:11px}.command-palette-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.command-palette-grid button{min-height:36px;padding:4px 6px}.command-palette-grid button small{display:none}.command-palette-grid .command-icon{width:16px;height:16px}.semantic-person-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.semantic-person-option{min-height:0;padding:6px}}@media(max-width:980px){.semantic-topbar{padding-left:max(10px,calc(10px + env(safe-area-inset-left)));padding-right:max(10px,calc(10px + env(safe-area-inset-right)))}.semantic-prompt,.command-palette{padding-top:max(8px,calc(8px + env(safe-area-inset-top)));padding-right:max(8px,calc(8px + env(safe-area-inset-right)));padding-bottom:max(8px,calc(8px + env(safe-area-inset-bottom)));padding-left:max(8px,calc(8px + env(safe-area-inset-left)))}.semantic-notices{right:max(10px,calc(10px + env(safe-area-inset-right)));bottom:max(10px,calc(10px + env(safe-area-inset-bottom)))}}@media(orientation:landscape)and (max-height:680px){.semantic-prompt-featured{padding:8px}.semantic-prompt-featured .semantic-prompt-card{width:min(1120px,100%);max-height:calc(100svh - 16px);overflow:hidden}.period-selector{padding:10px 14px 12px}.period-intro{gap:8px;padding-bottom:8px}.period-intro h3{margin:0;font-size:clamp(18px,2vw,24px);line-height:1.25}.period-intro small{margin-top:3px;font-size:11px;line-height:1.35}.period-timeline{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:8px}.period-option{display:grid;grid-template-columns:clamp(64px,9vw,96px) minmax(0,1fr) 18px;grid-template-rows:auto auto;align-items:center;gap:3px 7px;min-height:0;height:auto;padding:7px;overflow:hidden}.period-art{grid-column:1;grid-row:1 / 3;width:clamp(64px,9vw,96px);height:clamp(64px,9vw,96px);min-height:0;max-width:none;aspect-ratio:1;border:0;background-size:auto 200%}.period-year{grid-column:2;grid-row:1;margin:0;min-width:0;font-size:clamp(14px,1.5vw,20px);line-height:1.15;white-space:nowrap}.period-copy{grid-column:2;grid-row:2;min-width:0;margin:0}.period-copy b,.period-copy small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.period-copy b{font-size:clamp(12px,1.3vw,17px);line-height:1.25}.period-copy small{display:block;margin-top:2px;font-size:clamp(9px,1vw,12px);line-height:1.25}.period-arrow{grid-column:3;grid-row:1 / 3;align-self:center;margin:0;font-size:22px}.semantic-prompt-card>.semantic-cancel{min-height:40px;margin-top:10px;padding:6px 12px}.main-menu-layout{min-height:0}.main-menu-hero{min-height:0;padding:16px 22px}.main-menu-emblem{width:48px;height:48px;margin-bottom:8px;font-size:26px}.main-menu-hero h3{font-size:clamp(24px,3vw,34px)}.main-menu-actions{gap:7px;padding:14px 18px 16px}.main-menu-option{min-height:48px;padding:8px 11px}.main-menu-option b{font-size:clamp(14px,1.4vw,18px)}.main-menu-option small{font-size:11px}.ruler-map>svg{height:clamp(100px,22svh,160px);max-height:none;object-fit:contain}.ruler-profile{margin-top:6px;padding:9px 11px}.ruler-profile-stats{margin-top:7px}.ruler-profile-cities{margin-top:6px;font-size:12px;line-height:1.35}.ruler-map-legend{display:none}}@media(orientation:landscape)and (max-width:900px)and (max-height:600px){.main-menu-layout{grid-template-columns:minmax(0,1.08fr) minmax(260px,.92fr)}.main-menu-hero{padding:18px 20px}.main-menu-hero>p:not(.main-menu-eyebrow){max-width:240px;margin:10px 0 15px;font-size:11px;line-height:1.5}.main-menu-ribbon{gap:4px;font-size:9px}.main-menu-ribbon span{padding:4px 6px}.main-menu-actions{gap:6px;padding:12px 14px}.main-menu-option{min-height:44px;padding:7px 9px}.main-menu-option .prompt-icon{width:22px;height:22px;flex-basis:22px}.main-menu-option b{font-size:14px}.main-menu-option small{margin-top:2px;font-size:9px}.period-timeline{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.period-option{grid-template-columns:clamp(56px,14svh,78px) minmax(0,1fr) 16px;min-height:0;padding:5px 7px}.period-art{width:clamp(56px,14svh,78px);height:clamp(56px,14svh,78px)}.period-year{font-size:clamp(12px,2.8svh,16px)}.period-copy b{font-size:clamp(11px,2.6svh,14px)}.period-copy small{font-size:clamp(9px,2svh,11px)}.ruler-map{padding:6px;overflow:hidden}.ruler-map-heading{gap:5px;padding:0 0 5px}.ruler-map-heading>span{width:22px;height:22px}.ruler-map-heading .prompt-icon{width:13px;height:13px}.ruler-map-heading b{font-size:13px;letter-spacing:1px}.ruler-map-heading small{margin-top:1px;font-size:9px}.ruler-map>svg{height:clamp(88px,25svh,125px);max-height:96px}.ruler-profile{margin-top:4px;padding:5px 7px}.ruler-profile-title{gap:5px}.ruler-profile-portrait{width:28px;height:34px}.ruler-profile-title b{font-size:15px}.ruler-profile-title small{font-size:9px}.ruler-profile-stats{gap:3px;margin-top:4px}.ruler-profile-stats span{padding:3px 1px}.ruler-profile-stats b{font-size:14px}.ruler-profile-stats small{font-size:8px}.ruler-profile-cities{margin:4px 0 0;font-size:9px;line-height:1.2;white-space:normal;overflow-wrap:anywhere;overflow:visible}.command-palette-close{width:40px;height:40px}.command-palette-grid button{min-height:40px;padding:5px 6px}.command-palette .semantic-prompt-inline{padding-top:0}.semantic-prompt-command .semantic-prompt-kicker{padding-top:2px;line-height:1.2}.semantic-prompt-command .semantic-command-back{margin:4px 0 6px;padding-bottom:6px}.semantic-prompt-command .semantic-command-back .semantic-cancel{min-height:40px;padding:6px 10px}.semantic-prompt-command>.semantic-prompt-card>h2{margin:4px 0 8px;font-size:18px;line-height:1.2}.semantic-prompt-command .semantic-number-field{gap:4px}.semantic-prompt-command .semantic-number-field input{padding:6px 10px;font-size:18px}.semantic-prompt-command .semantic-number-field small{font-size:10px}.semantic-prompt-command .quantity-presets{gap:5px;margin:6px 0}.semantic-prompt-command .quantity-presets button{min-height:40px;padding:5px}.semantic-prompt-command>.semantic-prompt-card>.semantic-primary{min-height:40px;margin-top:8px;padding:7px 12px}}@media(max-width:980px)and (orientation:landscape),(orientation:landscape)and (max-height:540px){.semantic-topbar{padding-top:max(5px,calc(5px + env(safe-area-inset-top)));padding-bottom:max(5px,calc(5px + env(safe-area-inset-bottom)))}.semantic-main{padding-bottom:env(safe-area-inset-bottom)}.world-action-dock{left:max(8px,calc(8px + env(safe-area-inset-left)));bottom:max(7px,calc(7px + env(safe-area-inset-bottom)))}.tactics{padding-left:max(8px,calc(8px + env(safe-area-inset-left)));padding-right:max(8px,calc(8px + env(safe-area-inset-right)));padding-bottom:max(10px,calc(10px + env(safe-area-inset-bottom)))}.tactics-orders button,.semantic-city-command-group button,.world-action{min-height:40px}}@media(orientation:landscape)and (max-height:540px){.semantic-map-column{display:flex;flex-direction:column}.semantic-map-stage{flex:1 1 auto;height:auto;min-height:0}.world-action-dock{position:relative;left:auto;right:auto;bottom:auto;flex:0 0 auto;width:min(290px,calc(100% - 16px));margin:3px 8px 5px}.semantic-city-layer .semantic-city{width:44px;min-height:40px;padding:4px;touch-action:manipulation}.tactics{padding:4px 8px 2px}.tactics-heading{margin-bottom:3px;gap:2px 8px}.tactics-heading small{font-size:8px;letter-spacing:2px}.tactics-heading h1{margin:1px 0;font-size:14px;line-height:1.1;letter-spacing:1px}.tactics-heading h1 span{font-size:8px}.tactics-sides{gap:2px 5px;margin:1px 0 0;font-size:9px;line-height:1.15}.tactics-metrics{gap:2px 6px;font-size:8px;line-height:1.15}.tactics-layout{gap:5px}.tactics-toolbar{min-height:40px;height:40px;padding:0 5px}.tactics-toolbar button{min-width:40px;min-height:40px;padding:4px 6px}.tactics-viewport{height:calc(100svh - 207px);min-height:120px}.tactics-orders{height:54px;min-height:54px;padding:4px}.tactics-orders>div{margin-bottom:2px}.tactics-orders b{font-size:9px}.tactics-orders span{font-size:7px}.tactics-orders nav{gap:2px}.tactics-orders button{min-width:0;min-height:40px;flex:1 1 50px;padding:3px 4px;font-size:8px}.tactics-orders button small{margin-top:1px;font-size:7px;line-height:1.1}.tactics-sidebar{max-height:calc(100svh - 104px)}}.semantic-empty-state{margin:12px 0;padding:14px 16px;color:var(--sg-muted);border:1px dashed var(--sg-line-dim);background:color-mix(in srgb,var(--sg-panel-raised) 70%,transparent);line-height:1.5}
