/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.table{display:table}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#191914;--paper:#d8cfb7;--paper-dark:#b9ac8e;--roman:#8d201b;--roman-light:#c34938;--enemy:#25524c;--gold:#c9a85b;--line:#5d5747}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:#14140f;margin:0;font-family:Georgia,Times New Roman,serif}button{font:inherit}.game-shell{background:radial-gradient(circle at 50% 10%,#484333,#171711 70%);grid-template-rows:70px 64px 1fr 28px;min-height:100vh;display:grid;overflow:hidden}.topbar{color:#e9dfc4;z-index:4;background:linear-gradient(#26261e,#11110d);border-bottom:1px solid #756643;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 22px;display:grid;box-shadow:0 5px 18px #0008}.brand{letter-spacing:.14em;align-items:center;gap:10px;display:flex}.brand strong{color:#d2b96f;font-size:20px;display:block}.brand small{letter-spacing:.28em;color:#aaa18b;font:9px Arial;display:block}.laurel{color:#b99a4f;font-size:34px;transform:rotate(-20deg)}.battle-title{text-align:center}.battle-title strong{letter-spacing:.05em;font-size:19px;display:block}.battle-title span{letter-spacing:.2em;color:#a9a18e;text-transform:uppercase;margin-top:4px;font:10px Arial;display:block}.time-control{justify-content:flex-end;align-items:center;gap:5px;display:flex}.time-control button{color:#bcb49f;cursor:pointer;background:#26251d;border:1px solid #4a4639;min-width:32px;height:30px}.time-control button:hover,.time-control button.active{color:#f2dfac;background:#493b21;border-color:#b49a5b}.timer{letter-spacing:.12em;color:#d1c8b3;margin-right:8px;font:14px Courier New}.command-row{color:#f1e8d1;z-index:3;background:linear-gradient(90deg,#5c1715 0 43%,#242018 50%,#173e3b 57% 100%);border-bottom:3px double #85754f;grid-template-columns:1fr minmax(260px,420px) 1fr;align-items:center;padding:0 22px;display:grid;position:relative}.army{align-items:center;gap:10px;display:flex}.army.carthage{justify-content:flex-end}.army div small,.army div strong{display:block}.army div small{letter-spacing:.22em;color:#cabf9f;font:8px Arial}.army div strong{font-size:16px}.army b{margin-left:auto;font-size:21px}.army.carthage b{margin:0 0 0 8px}.army em{text-transform:uppercase;color:#b8ad91;font:9px Arial}.standard{color:#efd384;background:#631813;border:1px solid #c4a75f;place-items:center;width:40px;height:40px;font:700 9px Georgia;display:grid;box-shadow:inset 0 0 0 3px #2f0c0b}.standard.enemy{background:#143b37;font-size:18px}.balance{background:#214a45;border:1px solid #b09b67;height:5px;position:relative}.balance span{background:#a52b22;height:100%;display:block}.balance i{background:#e9d9ac;width:2px;height:13px;position:absolute;top:-5px;left:50%}.battle-layout{grid-template-columns:230px minmax(420px,1fr) 220px;gap:10px;min-height:0;padding:10px;display:grid}.unit-panel,.orders-panel{background:linear-gradient(90deg,#d8cfb8,#c8bda3);border:1px solid #867b62;min-height:0;overflow:auto;box-shadow:0 7px 18px #0007}.panel-head{color:#e3d8bd;background:#332f26;border-bottom:3px solid #8b201a;align-items:center;gap:11px;height:60px;padding:10px;display:flex}.panel-head>span{color:#d6bd78;border:1px solid #a68748;place-items:center;width:38px;height:38px;display:grid}.panel-head strong,.panel-head small{display:block}.panel-head strong{letter-spacing:.11em}.panel-head small{color:#b9a87f;letter-spacing:.25em;font:9px Arial}.select-note{text-align:center;letter-spacing:.17em;color:#766d59;border-bottom:1px solid #aaa086;padding:8px;font:8px Arial}.unit-card{text-align:left;cursor:pointer;color:#302d25;background:#d8cfb8;border:0;border-bottom:1px solid #aaa086;grid-template-columns:40px 1fr 38px;align-items:center;width:100%;min-height:55px;padding:7px;display:grid}.unit-card:hover{background:#e4dac1}.unit-card.selected{box-shadow:inset 4px 0 var(--roman);background:#efe5cc}.unit-card.fallen{opacity:.35;filter:grayscale()}.unit-symbol{color:#7b1d18;text-align:center;font-size:20px}.unit-data strong,.unit-data small{display:block}.unit-data small{text-transform:uppercase;color:#6d6757;margin-top:2px;font:8px Arial}.unit-data i{background:#928974;height:3px;margin-top:6px;display:block}.unit-data i span{background:#85241f;height:100%;display:block}.men{text-align:right}.men b,.men small{display:block}.men small{color:#686253;margin-top:3px;font:7px Arial}.general{background:#b9ad90;border-top:1px solid #7f745d;align-items:center;gap:10px;padding:10px;display:flex}.general>span{color:#7d241e;font-size:24px}.general small,.general strong,.general em{display:block}.general small{letter-spacing:.18em;font:7px Arial}.general strong{font-size:11px}.general em{color:#5c4a22;font:9px Georgia}.field-wrap{grid-template-rows:34px minmax(0,1fr) 29px;min-width:0;min-height:0;display:grid}.field{cursor:crosshair;isolation:isolate;background-color:#a9a078;background-image:radial-gradient(circle at 20% 25%,#d0c69e99,#0000 22%),radial-gradient(circle at 75% 65%,#746f4d77,#0000 28%),repeating-linear-gradient(7deg,#0000 0 17px,#746e4c24 18px 19px);border:3px solid #887b5e;position:relative;overflow:hidden;box-shadow:0 7px 18px #0008,inset 0 0 45px #29231350}.field:after{content:"";pointer-events:none;z-index:10;position:absolute;inset:0;box-shadow:inset 0 0 90px #322f1c77}.terrain-ridge{border-top:2px dashed #6f694c55;border-radius:50%;width:55%;height:28%;position:absolute;transform:rotate(-12deg)}.ridge-one{top:9%;left:28%}.ridge-two{top:65%;left:34%;transform:rotate(9deg)}.farm-lines{background:repeating-linear-gradient(90deg,#756a4633 0 3px,#0000 3px 14px);border:1px solid #796f4b55;width:33%;height:22%;position:absolute;top:8%;right:-5%;transform:rotate(-13deg)}.road{background:#c8bd9355;border-top:1px dashed #786f50;border-bottom:1px dashed #786f50;width:112%;height:10%;position:absolute;top:77%;left:-5%;transform:rotate(-5deg)}.scrub{color:#384b2bb8;text-shadow:10px 5px #3a4e2a,20px -3px #516039;font-size:28px;position:absolute}.s1{top:12%;left:5%}.s2{top:12%;left:54%}.s3{top:77%;left:47%}.s4{top:70%;left:92%}.deployment{letter-spacing:.2em;color:#423b2d99;border-bottom:1px solid #4f493977;padding:3px 18px;font:8px Arial;position:absolute}.roman-zone{top:12%;left:8%}.enemy-zone{top:12%;right:6%}.formation-unit{cursor:pointer;z-index:4;background:0 0;border:0;width:66px;height:42px;transition:left .26s linear,top .26s linear;position:absolute}.formation-unit .soldier-row{transform-origin:50%;flex-wrap:wrap;justify-content:center;gap:2px;display:flex;position:absolute;top:12px;left:0;right:0}.formation-unit.wedge .soldier-row{transform:rotate(45deg)scale(.82)}.formation-unit.guard .soldier-row{border:1px solid #2b241b88;border-radius:50%;padding:2px}.formation-unit i{background:#9e2c23;border:1px solid #33110e;width:6px;height:9px;display:block;box-shadow:0 2px 1px #0005}.formation-unit.carthage i{background:#2c615a;border-color:#102e2a}.formation-unit small{color:#eee3ca;transform:rotate(calc(-1 * var(--angle,0deg)));background:#231f18dd;border-radius:2px;padding:1px 3px;font:8px Arial;position:absolute;top:31px;left:23px}.formation-unit .flag{color:#f1d98d;background:#85231e;width:13px;height:14px;padding-top:2px;font:8px Arial;position:absolute;top:-7px;left:27px;box-shadow:0 0 0 1px #4c1713}.formation-unit.carthage .flag{background:#1e514b}.formation-unit.selected:after{content:"";border:2px solid #f0d477;border-radius:50%;position:absolute;inset:3px -5px;box-shadow:0 0 8px #ffd86e}.formation-unit.routing{filter:grayscale(.7);opacity:.7}.order-marker{z-index:2;border:1px solid #efe0a6;border-radius:50%;width:30px;height:30px;animation:1.2s infinite pulse;position:absolute;transform:translate(-50%,-50%)}.order-marker span{background:#8f2b24;border-radius:50%;position:absolute;inset:9px}@keyframes pulse{50%{opacity:.5}}.north{text-align:center;color:#4a4432;font:10px Arial;position:absolute;bottom:15px;right:18px}.north span{font-size:24px;display:block}.scale{letter-spacing:.1em;color:#4b4534;border-top:2px solid #4b4534;padding-top:3px;font:7px Arial;position:absolute;bottom:15px;left:15px}.result{z-index:20;text-align:center;color:#e9dec2;background:#171611ed;border:2px solid #b79d5a;width:310px;padding:25px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 15px 50px #000}.result small,.result strong{display:block}.result small{letter-spacing:.25em;color:#bca86e;font:9px Arial}.result strong{letter-spacing:.12em;margin:8px;font-size:42px}.result button{color:#f2e6c5;cursor:pointer;text-transform:uppercase;background:#7e201b;border:1px solid #d4b66b;padding:8px 20px;font-size:11px}.status-strip{color:#cec5ad;letter-spacing:.07em;background:#29261e;border:1px solid #746b57;border-top:0;align-items:center;gap:7px;padding:0 10px;font:9px Arial;display:flex}.status-strip kbd{background:#494438;border:1px solid #6c6555;margin-left:auto;padding:2px 4px;font:8px Arial}.status-strip kbd~kbd{margin-left:8px}.amber-dot,.green-dot{background:#c9923c;border-radius:50%;width:6px;height:6px;box-shadow:0 0 5px #c9923c}.green-dot{background:#71a05d;box-shadow:0 0 5px #71a05d}.orders-panel{padding-bottom:15px}.orders-heading{color:#e5dbc1;background:#312e25;border-bottom:3px solid #856f3c;padding:13px}.orders-heading small,.orders-heading strong,.orders-heading span{display:block}.orders-heading small{letter-spacing:.2em;color:#ae9e73;font:7px Arial}.orders-heading strong{margin-top:4px;font-size:13px}.orders-heading span{color:#b8ae98;margin-top:4px;font:9px Arial}.orders-panel h3{letter-spacing:.2em;color:#665d4a;border-bottom:1px solid #9d9279;margin:16px 12px 7px;padding-bottom:5px;font:8px Arial}.formation-grid{grid-template-columns:repeat(3,1fr);gap:4px;padding:0 8px;display:grid}.formation-grid button{color:#413b30;cursor:pointer;background:#c9bea4;border:1px solid #998d73;padding:7px 2px}.formation-grid button.active{background:#f0e5c9;border-color:#8a241f;box-shadow:inset 0 -3px #8a241f}.formation-grid span,.formation-grid strong,.formation-grid small{display:block}.formation-grid span{color:#7b251f;font-size:18px}.formation-grid strong{margin-top:4px;font-size:9px}.formation-grid small{color:#6d6554;margin-top:3px;font:6px Arial}.wide-order{text-align:left;color:#3e392f;cursor:pointer;background:#c9bea4;border:1px solid #94876e;align-items:center;gap:9px;width:calc(100% - 18px);margin:4px 9px;padding:8px;display:flex}.wide-order:hover{background:#eee2c4;border-color:#77231e}.wide-order>span{color:#7d231e;text-align:center;width:26px;font-size:20px}.wide-order strong,.wide-order small{display:block}.wide-order small{color:#6f6755;margin-top:2px;font:7px Arial}.tip{background:#a99d82;border-left:3px solid #7e231e;margin:16px 9px 0;padding:10px}.tip strong{letter-spacing:.12em;font:8px Arial}.tip p{color:#4f493d;margin:5px 0 0;font-size:10px;font-style:italic;line-height:1.35}footer{color:#746e5e;letter-spacing:.14em;background:#11110d;border-top:1px solid #5a513c;justify-content:space-between;align-items:center;padding:0 15px;font:7px Arial;display:flex}footer p{color:#9f947a;margin:0;font:italic 11px Georgia}@media (width<=950px){.battle-layout{grid-template-columns:190px 1fr}.orders-panel{display:none}.command-row{grid-template-columns:1fr 220px 1fr}.army em{display:none}}@media (width<=700px){.game-shell{grid-template-rows:58px 50px 1fr 0}.topbar{grid-template-columns:1fr auto;padding:0 10px}.battle-title{display:none}.brand strong{font-size:15px}.battle-layout{grid-template-columns:1fr;padding:5px}.unit-panel{z-index:15;width:170px;max-height:235px;position:absolute;top:118px;left:10px}.panel-head,.general{display:none}.unit-card{grid-template-columns:30px 1fr 30px;min-height:43px;padding:4px}.unit-card:not(.selected){display:none}.field-wrap{min-height:calc(100vh - 113px)}.command-row{grid-template-columns:1fr 100px 1fr;padding:0 8px}.army div{display:none}.army b{font-size:15px}.standard{width:31px;height:31px}.status-strip kbd,.status-strip kbd+span,footer{display:none}}@media (prefers-reduced-motion:reduce){.formation-unit{transition:none}.order-marker{animation:none}}.campaign-shell{min-height:100vh;color:var(--ink);background:#171711;grid-template-rows:74px 1fr 28px;display:grid;overflow:hidden}.campaign-top{grid-template-columns:1fr auto 1fr}.treasury{justify-content:flex-end;align-items:center;gap:10px;font-family:Arial,sans-serif;display:flex}.treasury small{letter-spacing:.16em;color:#9e957e;font-size:8px}.treasury strong{color:#dfc779;font:17px Georgia}.positive{color:#83a46c}.negative{color:#c36054}.treasury button{color:#f1dfad;letter-spacing:.12em;cursor:pointer;background:#75201c;border:1px solid #c2a158;margin-left:8px;padding:9px 13px;font:700 9px Arial}.treasury button:hover{background:#982c24}.campaign-body{grid-template-columns:250px minmax(420px,1fr) 275px;gap:10px;min-height:0;padding:10px;display:grid}.province-panel,.army-panel{background:linear-gradient(100deg,#d9d0b9,#c4b89c);border:1px solid #897e64;min-height:0;overflow:auto;box-shadow:0 8px 20px #0008}.campaign-section-title{color:#e7dcc1;background:#302d24;border-bottom:3px solid #8d251e;padding:14px}.campaign-section-title small,.campaign-section-title strong,.campaign-section-title span{display:block}.campaign-section-title small{letter-spacing:.22em;color:#b3a477;font:7px Arial}.campaign-section-title strong{margin-top:3px;font-size:19px}.campaign-section-title span{color:#afa691;margin-top:3px;font:9px Arial}.city-stats{border-bottom:1px solid #9f947a;grid-template-columns:repeat(3,1fr);display:grid}.city-stats div{text-align:center;border-right:1px solid #a79b80;padding:10px 3px}.city-stats div:last-child{border:0}.city-stats small,.city-stats strong{display:block}.city-stats small{letter-spacing:.1em;color:#756c5a;font:6px Arial}.city-stats strong{margin-top:4px;font-size:13px}.province-panel h3,.army-panel h3{letter-spacing:.2em;color:#625a49;border-bottom:1px solid #9d9279;margin:15px 10px 7px;padding-bottom:5px;font:8px Arial}.build-list,.recruit-list{padding:0 7px 12px}.build-list button,.recruit-list button{text-align:left;color:#39352b;cursor:pointer;background:#d4c9ae;border:1px solid #9d9176;border-bottom:0;grid-template-columns:31px 1fr auto;align-items:center;width:100%;padding:8px;display:grid}.build-list button:last-child,.recruit-list button:last-child{border-bottom:1px solid #9d9176}.build-list button:hover:not(:disabled),.recruit-list button:hover:not(:disabled){background:#eee2c4;border-color:#7b241f}.build-list button:disabled,.recruit-list button:disabled{cursor:not-allowed;opacity:.48}.build-list button.built{opacity:.7;background:#b6ac93}.build-list button>span,.recruit-list button>span{color:#81251f;text-align:center;font-size:19px}.build-list strong,.build-list small,.recruit-list strong,.recruit-list small{display:block}.build-list strong,.recruit-list strong{font-size:11px}.build-list small,.recruit-list small{color:#6c6555;margin-top:2px;font:7px Arial}.build-list b,.recruit-list b{color:#5a4a24;font:9px Arial}.hostile-card{text-align:center;background:#a98f76;border:1px solid #6d342d;margin:18px 10px;padding:17px}.hostile-card>span{color:#7e211c;font-size:28px}.hostile-card strong{letter-spacing:.15em;margin-top:5px;font:10px Arial;display:block}.hostile-card p{margin-bottom:0;font-size:11px;line-height:1.4}.campaign-center{grid-template-rows:1fr 43px;min-width:0;min-height:0;display:grid}.campaign-map{background:#6f8790;border:3px solid #84785b;position:relative;overflow:hidden;box-shadow:0 8px 20px #0008,inset 0 0 80px #172c3188}.campaign-map:after{content:"";pointer-events:none;z-index:8;background:repeating-linear-gradient(4deg,#0000 0 13px,#152c3311 14px 15px);position:absolute;inset:0;box-shadow:inset 0 0 90px #1b252aaa}.sea{letter-spacing:.24em;color:#c3d1c399;font:italic 10px Georgia;position:absolute;transform:rotate(-10deg)}.sea-one{top:38%;left:12%}.italy-land{clip-path:polygon(15% 0,38% 6%,42% 18%,36% 34%,49% 45%,51% 58%,67% 66%,64% 75%,80% 90%,71% 98%,53% 78%,41% 72%,32% 54%,24% 37%,10% 23%);filter:drop-shadow(7px 9px 4px #263f3f77);background:#a99d72;border:2px solid #5f684e;width:43%;height:88%;position:absolute;top:-8%;left:29%}.italy-land:after{content:"";background:repeating-linear-gradient(15deg,#0000 0 18px,#4f604333 19px 20px);position:absolute;inset:0}.sicily-land{clip-path:polygon(0 27%,76% 0,100% 35%,68% 75%,22% 100%);background:#a99d72;border:2px solid #5f684e;width:24%;height:12%;position:absolute;top:76%;left:59%;transform:rotate(10deg)}.sardinia-land{background:#a99d72;border:2px solid #5f684e;border-radius:55% 40% 60% 35%;width:10%;height:19%;position:absolute;top:57%;left:16%;transform:rotate(-13deg)}.map-route{z-index:2;transform-origin:0;border-top:2px dotted #564832aa;height:0;position:absolute}.city-node{z-index:5;color:#211d16;cursor:pointer;text-align:center;background:0 0;border:0;min-width:86px;position:absolute;transform:translate(-50%,-50%)}.city-node i{color:#f0d78c;background:#79221d;border:3px double #e1c77b;border-radius:50%;place-items:center;width:31px;height:31px;margin:auto;font:10px Arial;display:grid;box-shadow:0 3px 8px #0009}.city-node.carthage i{background:#174b46}.city-node strong,.city-node small{background:#d6c9a7e8;padding:2px 5px;display:block}.city-node strong{margin-top:2px;font-size:12px}.city-node small{color:#5d5648;font:7px Arial}.city-node.selected i{transform:scale(1.16);box-shadow:0 0 0 4px #f1df9f88,0 4px 8px #000}.city-node:hover i{transform:scale(1.1)}.map-legend{z-index:6;color:#d7cfb8;letter-spacing:.09em;background:#20251fd9;gap:12px;padding:6px 9px;font:7px Arial;display:flex;position:absolute;bottom:10px;left:12px}.map-legend span{align-items:center;gap:4px;display:flex}.map-legend i{background:#80241e;border-radius:50%;width:7px;height:7px}.map-legend i.enemy-key{background:#1e554f}.campaign-notice{color:#d9cfb8;background:#302c23;border:1px solid #766b53;border-top:0;align-items:center;gap:8px;padding:0 11px;display:flex}.campaign-notice>span{color:#c9a85b}.campaign-notice strong{font-size:10px;font-weight:400}.campaign-notice button{color:#eddfbd;letter-spacing:.1em;cursor:pointer;background:#78221d;border:1px solid #b89a54;margin-left:auto;padding:6px 10px;font:700 8px Arial}.army-title{border-bottom-color:#b39245}.roster{padding:7px}.roster-unit{border-bottom:1px solid #a79a7f;grid-template-columns:30px 1fr auto;align-items:center;gap:6px;padding:7px 4px;display:grid}.roster-unit>span{color:#80231e;text-align:center;font-size:19px}.roster-unit strong,.roster-unit small{display:block}.roster-unit strong{font-size:11px}.roster-unit small{color:#675f50;margin-top:2px;font:7px Arial}.roster-unit i{background:#958a72;height:3px;margin-top:5px;display:block}.roster-unit i b{background:#82261f;height:100%;display:block}.roster-unit em{color:#665630;font:8px Arial}.empty-army{text-align:center;color:#6f6757;padding:20px;font-size:11px;font-style:italic}.ledger{background:#aca086;margin:14px 9px;padding:10px}.ledger>strong{letter-spacing:.15em;font:8px Arial}.ledger p{border-bottom:1px solid #8e836c;justify-content:space-between;padding-bottom:5px;font:9px Arial;display:flex}.ledger p.net{border:0;margin-bottom:0;font-weight:700}.ledger b{color:#59491e}.result p{color:#bbb09a;font-size:11px}.withdraw{margin-top:18px!important}@media (width<=1000px){.campaign-body{grid-template-columns:220px 1fr 235px}.treasury small{display:none}.campaign-map{min-height:520px}}@media (width<=760px){.campaign-shell{display:block;overflow:auto}.campaign-top{z-index:20;height:64px;position:sticky;top:0}.campaign-top .battle-title{display:none}.treasury strong{font-size:13px}.treasury span{display:none}.treasury button{padding:7px}.campaign-body{flex-direction:column;padding:5px;display:flex}.campaign-center{order:-1;display:block}.campaign-map{height:58vh;min-height:420px}.campaign-notice{min-height:48px}.province-panel,.army-panel{overflow:visible}.city-stats{font-size:10px}.campaign-shell footer{display:none}}.campaign-map{background-color:#617e88;background-image:radial-gradient(at 46% 12%,#9bb0ad35,#0000 32%),repeating-radial-gradient(at 30% 45%,#0000 0 18px,#29464c18 19px 20px)}.italy-land{clip-path:polygon(1% 11%,13% 4%,29% 1%,45% 4%,57% 1%,72% 7%,84% 5%,98% 12%,92% 19%,75% 22%,66% 28%,61% 35%,65% 42%,61% 49%,68% 56%,67% 64%,76% 69%,80% 76%,96% 80%,100% 88%,90% 93%,77% 84%,73% 95%,62% 100%,53% 96%,57% 86%,54% 77%,47% 68%,50% 60%,43% 51%,45% 42%,37% 33%,27% 29%,17% 23%,5% 20%,0 15%);filter:drop-shadow(6px 7px 3px #18333899);background-color:#afa375;background-image:radial-gradient(circle at 24% 13%,#d2c99a99,#0000 20%),repeating-linear-gradient(21deg,#0000 0 16px,#5f684229 17px 18px);border:0;border-radius:0;width:51%;height:81%;top:-4%;left:27%;transform:none}.italy-land:after{background:linear-gradient(90deg,#675f3933,#0000 18% 78%,#4a503533)}.sicily-land{clip-path:polygon(1% 30%,18% 12%,45% 20%,69% 7%,98% 31%,80% 51%,57% 61%,38% 84%,14% 72%);filter:drop-shadow(5px 6px 3px #18333899);background-color:#afa375;background-image:repeating-linear-gradient(15deg,#0000 0 14px,#5f68422b 15px 16px);border:0;border-radius:0;width:28%;height:13%;top:77%;left:54%;transform:rotate(4deg)}.sardinia-land{clip-path:polygon(35% 0,70% 7%,91% 35%,75% 64%,60% 100%,25% 90%,7% 61%,14% 28%);filter:drop-shadow(4px 5px 2px #18333899);background:#aaa074;border:0;border-radius:48% 39% 55% 44%;width:9%;height:20%;top:56%;left:18%;transform:rotate(-10deg)}.corsica-land{z-index:1;clip-path:polygon(35% 0,68% 6%,80% 30%,65% 53%,72% 82%,42% 100%,18% 77%,24% 49%,10% 23%);filter:drop-shadow(3px 4px 2px #18333899);background:#a99d72;width:7%;height:14%;position:absolute;top:40%;left:21%;transform:rotate(-8deg)}.alps{z-index:2;color:#55583c;letter-spacing:.35em;text-align:center;border-bottom:3px double #6a674399;width:43%;padding-bottom:3px;font:italic 7px Georgia;position:absolute;top:6%;left:31%;transform:rotate(2deg)}.apennines{z-index:2;transform-origin:0 0;pointer-events:none;border-left:2px dotted #69633f88;width:34%;height:48%;position:absolute;top:20%;left:49%;transform:rotate(-28deg)}.sea-one{top:44%;left:26%;transform:rotate(-16deg)}.sea-two{top:33%;right:6%;transform:rotate(66deg)}.sea-three{top:72%;right:13%;transform:rotate(8deg)}.r1{width:14%;top:33%;left:43%;transform:rotate(54deg)}.r2{width:22%;top:46%;left:50%;transform:rotate(39deg)}.r3{width:21%;top:62%;left:67%;transform:rotate(75deg)}.r4{width:28%;top:67%;left:23%;transform:rotate(-47deg)}.geo-frame{z-index:2;aspect-ratio:1000/1320;width:min(94%,75.8vh - 128.86px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.geo-frame>img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:saturate(.88)sepia(.08);width:100%;height:100%;position:absolute;inset:0}.geo-frame .city-node{z-index:6}.geo-frame .map-route{z-index:4}.geo-frame .alps{z-index:3;width:45%;top:8%;left:30%}.geo-frame .apennines{z-index:3;width:32%;height:38%;top:26%;left:51%;transform:rotate(-29deg)}.geo-frame .r1{width:14%;top:45%;left:51%;transform:rotate(34deg)}.geo-frame .r2{width:23%;top:52%;left:63%;transform:rotate(18deg)}.geo-frame .r3{width:31%;top:57%;left:85%;transform:rotate(111deg)}.geo-frame .r4{width:33%;top:67%;left:27%;transform:rotate(-50deg)}.campaign-map>.sea-one{top:48%;left:10%;transform:rotate(-76deg)}.campaign-map>.sea-two{top:37%;right:2%;transform:rotate(76deg)}.campaign-map>.sea-three{top:78%;right:8%;transform:rotate(10deg)}@media (width<=760px){.geo-frame{width:min(94%,43.964vh)}.city-node strong{font-size:10px}.city-node small{font-size:6px}}.menu-button{background:#302c22!important;min-width:34px!important;padding:8px!important}.campaign-menu{z-index:40;color:#2c281f;background:#d9cfb5;border:2px solid #8b7645;width:240px;padding:12px;position:fixed;top:68px;right:14px;box-shadow:0 12px 40px #000b}.campaign-menu>div{border-bottom:1px solid #968b72;margin-bottom:8px;padding-bottom:8px}.campaign-menu small,.campaign-menu strong{display:block}.campaign-menu small{letter-spacing:.2em;color:#756a52;font:7px Arial}.campaign-menu span{grid-template-columns:1fr 1fr;gap:5px;margin:5px 0;display:grid}.campaign-menu button{color:#3f392d;cursor:pointer;background:#c7bca2;border:1px solid #91846b;padding:7px;font:9px Arial}.campaign-menu>button{width:100%;margin-top:6px}.campaign-menu button:hover{background:#eee0c1}.campaign-menu button.danger{color:#7e201b;border-color:#8e4c43}.tutorial{z-index:35;color:#302b21;background:#efe3c5;border:2px solid #9c7e3e;width:min(520px,90vw);padding:14px 16px;position:fixed;top:88px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #000b}.tutorial b{letter-spacing:.18em;color:#79241e;font:9px Arial}.tutorial p{margin:7px 65px 0 0;font-size:13px;line-height:1.4}.tutorial button{color:#f0dfb8;cursor:pointer;text-transform:uppercase;background:#79231e;border:1px solid #b79b58;padding:7px 12px;font:700 8px Arial;position:absolute;bottom:13px;right:13px}.campaign-result{z-index:60;color:#eadbb8;background:#11110de8;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.campaign-result small{letter-spacing:.3em;color:#b9a365;font:9px Arial}.campaign-result strong{letter-spacing:.08em;margin:12px;font-size:46px}.campaign-result button{color:#f3e3be;cursor:pointer;background:#7b221c;border:1px solid #c4a55c;padding:10px 18px}.event-log{background:#aaa087;border-left:3px solid #7e241d;margin:15px 9px;padding:10px}.event-log>strong{letter-spacing:.16em;font:8px Arial}.event-log p{color:#4f493c;margin:6px 0;font-size:9px;line-height:1.35}.army-token{z-index:12;color:#f7e5ac;cursor:pointer;background:#78221d;border:2px solid #e5ca76;border-radius:50%;width:29px;height:29px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 7px #000}.army-token.carthage{background:#174c47}.army-token.selected{transform:translate(-50%,-50%)scale(1.18);box-shadow:0 0 0 4px #eed47680,0 2px 7px #000}.army-token b{font-size:13px}.army-token span{color:#eee0be;background:#1e1d17;border-radius:6px;padding:1px 3px;font:7px Arial;position:absolute;bottom:-5px;right:-6px}.army-token em{color:#7d281f;font-size:18px;position:absolute;top:5px;left:31px}.army-actions{grid-template-columns:1fr 1fr;gap:4px;padding:6px;display:grid}.army-actions button,.raise-army{color:#3e392e;cursor:pointer;text-transform:uppercase;background:#b8ad93;border:1px solid #8c8067;padding:7px;font:8px Arial}.army-actions button:hover:not(:disabled),.raise-army:hover{background:#eadcba}.army-actions button:disabled{opacity:.4}.raise-army{color:#efdfbd;background:#79231e;border-color:#b99a52;width:calc(100% - 14px);margin:7px}.queue{background:#a99e86;justify-content:space-between;margin:4px 8px;padding:6px 8px;font:9px Arial;display:flex}.queue b{color:#6e251f}.objective{background:#c0b398;border:1px solid #8f8061;margin:12px 8px;padding:10px}.objective strong{letter-spacing:.15em;font:8px Arial}.objective p{margin:7px 0 3px;font-size:11px}.objective p.done{color:#47673d;text-decoration:line-through}.objective small{color:#665d4c;font:7px Arial}.time-control .ready{color:#f0dfb6;background:#79231d;border-color:#bb9c55;width:auto;padding:0 15px}.field.deploy:before{content:"DEPLOY HERE";z-index:1;color:#5f1e18;letter-spacing:.2em;background:#7f25151c;border:2px dashed #f0d68199;place-items:center;width:39%;font:10px Arial;display:grid;position:absolute;top:5%;bottom:5%;left:2%}.field.siege:before{content:"";z-index:1;background:#5b554477;border-left:5px double #332f27;width:18%;position:absolute;top:6%;bottom:6%;right:5%}.city-wall{z-index:2;writing-mode:vertical-rl;text-orientation:mixed;color:#433c2c;letter-spacing:.2em;border-left:3px dashed #332d23;padding:8px;font:7px Arial;position:absolute;top:8%;bottom:8%;right:6%}.formation-unit em{color:#6e1511;font-style:normal;position:absolute;top:-7px;right:-4px}.battle-log{background:#aba087;margin:10px 9px;padding:8px}.battle-log p{color:#514a3d;margin:4px 0;font-size:8px}.result button+button{background:#3e4c34;margin-left:6px}.field.siege.deploy:before{content:"DEPLOY HERE";color:#5f1e18;background:#7f25151c;border:2px dashed #f0d68199;place-items:center;width:39%;display:grid;inset:5% auto 5% 2%}@media (width<=760px){.tutorial{top:72px}.campaign-menu{top:60px;right:5px}.army-token{width:25px;height:25px}.campaign-result strong{font-size:30px}.tutorial p{font-size:11px}}.theater-select{color:#e9dfc7;background:radial-gradient(circle at 50% -10%,#50462f 0,#1c1c16 44%,#0d0e0b 100%);grid-template-rows:auto 1fr 34px;min-height:100vh;padding:0 5vw;display:grid}.theater-select>header{text-align:center;padding:34px 0 20px}.theater-select .brand{justify-content:center}.theater-select .brand strong{font-size:31px}.theater-select>header>p{color:#aaa18d;letter-spacing:.04em;max-width:720px;margin:14px auto 0;font:11px/1.55 Arial}.theater-select>section{grid-template-columns:repeat(2,minmax(300px,540px));place-content:center;gap:24px;padding:8px 0 34px;display:grid}.theater-select article{color:#2d291f;background:#d4c8aa;border:1px solid #a98c4e;grid-template-columns:45% 55%;min-height:390px;display:grid;overflow:hidden;box-shadow:0 18px 45px #0009}.theater-select article>img{object-fit:cover;filter:saturate(.8)sepia(.08);background:#607d87;width:100%;height:100%}.theater-select article>div{border-top:5px solid var(--theater-color);flex-direction:column;padding:28px 25px;display:flex}.theater-select article small{letter-spacing:.18em;color:#76684d;text-transform:uppercase;font:8px Arial}.theater-select article h2{margin:7px 0 10px;font-size:26px}.theater-select article p{color:#5a5243;min-height:54px;font-size:12px;line-height:1.5}.theater-select dl{margin:12px 0 22px}.theater-select dl>div{border-bottom:1px solid #a99d83;justify-content:space-between;gap:10px;padding:7px 0;display:flex}.theater-select dt{letter-spacing:.14em;color:#746a58;font:7px Arial}.theater-select dd{text-align:right;margin:0;font:700 9px Arial}.theater-select article button{background:var(--theater-color);border:1px solid var(--theater-enemy);color:#f2e5c4;letter-spacing:.13em;cursor:pointer;margin-top:auto;padding:11px;font:700 9px Arial}.theater-select article button:hover{filter:brightness(1.18)}.theater-select>footer{color:#807763;background:0 0;border-top:1px solid #514936;justify-content:center;display:flex}.campaign-shell .treasury button,.campaign-shell .campaign-notice button,.campaign-shell .raise-army{background:var(--roman);border-color:var(--gold)}.campaign-shell .campaign-section-title{border-bottom-color:var(--roman)}.campaign-shell .army-title{border-bottom-color:var(--gold)}.campaign-shell .city-node.rome i,.campaign-shell .army-token.rome{background:var(--roman);border-color:var(--gold)}.campaign-shell .city-node.carthage i,.campaign-shell .army-token.carthage{background:var(--enemy);border-color:var(--gold)}.campaign-shell .map-legend .roman-key{background:var(--roman)}.campaign-shell .map-legend .enemy-key{background:var(--enemy)}.campaign-shell .roster-unit>span,.campaign-shell .recruit-list button>span,.campaign-shell .build-list button>span{color:var(--roman)}.geo-frame.greece{width:min(96%,110vh - 187px)}.terrain-title{z-index:3;letter-spacing:.45em;color:#55523d99;pointer-events:none;font:italic 8px Georgia;position:absolute;top:6%;left:50%;transform:translate(-50%)}.map-route.sea{border-top-style:dashed;border-top-color:#d8e0cfaa}.theater-greece .campaign-map>.sea-one{top:48%;left:4%;transform:rotate(-72deg)}.theater-greece .campaign-map>.sea-two{top:38%;right:8%;transform:rotate(69deg)}.theater-greece .campaign-map>.sea-three{top:82%;right:15%;transform:rotate(2deg)}@media (width<=920px){.theater-select article{grid-template-columns:1fr;min-height:0}.theater-select article>img{height:220px}.theater-select>section{align-content:start}.theater-select article>div{padding:20px}}@media (width<=700px){.theater-select{padding:0 12px;display:block;overflow:auto}.theater-select>header{padding-top:22px}.theater-select>section{display:block}.theater-select article{margin-bottom:18px}.theater-select article>img{height:190px}.geo-frame.greece{width:min(96%,63.8vh)}.theater-select>footer{height:34px}}.open-workshop{color:#dfc77f;letter-spacing:.16em;cursor:pointer;background:0 0;border:1px solid #a98c4e;margin-top:16px;padding:9px 16px;font:700 8px Arial}.open-workshop:hover{background:#a98c4e22}.theater-select>.markdown-workshop{width:min(1400px,96vw);height:min(690px,70vh);margin:auto;grid-template-columns:170px minmax(0,1230px)!important;align-content:stretch!important;gap:0!important;padding:0 0 28px!important;display:grid!important}.markdown-workshop>aside{background:#24231d;border:1px solid #746442;padding:8px}.markdown-workshop>aside button{text-align:left;color:#aaa18c;letter-spacing:.1em;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #403b2d;width:100%;padding:11px 9px;font:8px Arial;display:block}.markdown-workshop>aside button.active{color:#f1dfb4;background:#7c261f}.markdown-workshop>div{color:#302c23;background:#d7ccb2;border:1px solid #8d7950;grid-template-rows:64px minmax(0,1fr) 34px;min-width:0;display:grid}.markdown-workshop>div>header{color:#e8ddc2;background:#302d25;justify-content:space-between;align-items:center;gap:14px;padding:8px 12px;display:flex}.markdown-workshop>div>header small,.markdown-workshop>div>header strong{display:block}.markdown-workshop>div>header small{letter-spacing:.18em;color:#aa9b76;font:6px Arial}.markdown-workshop>div>header strong{margin-top:2px;font-size:15px}.workshop-header-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.markdown-workshop>div>header button{color:#d6cbb3;cursor:pointer;white-space:nowrap;background:#4a463b;border:1px solid #766c58;padding:7px 10px;font:7px Arial}.markdown-workshop>div>header button:hover{color:#f2dfb2;border-color:#b49655}.markdown-workshop>div>header button.apply{color:#f0dfb5;background:#7d241e;border-color:#c2a258}.workshop-view-toggle{background:#1d1d18;border:1px solid #504a3c;margin-right:5px;padding:2px;display:flex}.workshop-view-toggle button{color:#918974!important;background:0 0!important;border:0!important;margin:0!important;padding:6px 10px!important}.workshop-view-toggle button.active{color:#161510!important;background:#9a814a!important}.markdown-workshop textarea{resize:none;box-sizing:border-box;color:#d9d1bd;white-space:pre;background:#171915;border:0;outline:0;width:100%;height:100%;padding:18px;font:11px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.markdown-workshop>div>footer{color:#8fad78;letter-spacing:.04em;background:#272720;border:0;padding:9px 12px;font:8px Arial;display:block}.markdown-workshop>div>footer.error{color:#dc7468}.markdown-grid-editor{color:#d9d1bd;background:#171915;grid-template-rows:34px minmax(0,1fr) 42px;min-width:0;min-height:0;display:grid}.markdown-grid-summary{letter-spacing:.06em;color:#aaa18a;background:#20211c;border-bottom:1px solid #3e3a2e;align-items:center;gap:15px;padding:0 13px;font:8px Arial;display:flex}.markdown-grid-summary span{border-right:1px solid #494437;padding-right:15px}.markdown-grid-summary b{color:#e0c77f}.markdown-grid-summary em{color:#7f796b;font-style:normal}.markdown-grid-scroll{scrollbar-color:#6e6040 #24231e;min-width:0;min-height:0;overflow:auto}.markdown-grid{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font:10px ui-monospace,SFMono-Regular,Consolas,monospace}.markdown-grid th,.markdown-grid td{box-sizing:border-box;border-bottom:1px solid #3d392e;border-right:1px solid #3d392e;height:36px}.markdown-grid thead th{z-index:4;color:#ecdba8;letter-spacing:.08em;text-align:left;text-transform:uppercase;background:#5f211d;border-bottom:2px solid #a78c4e;padding:0 10px;font:700 8px Arial;position:sticky;top:0}.markdown-grid tbody tr:nth-child(2n) td,.markdown-grid tbody tr:nth-child(2n) th{background:#1d1f1a}.markdown-grid tbody tr:hover td,.markdown-grid tbody tr:hover th{background:#2b2b23}.markdown-grid td{background:#181a16;padding:0}.markdown-grid input{box-sizing:border-box;color:#ded5c0;background:0 0;border:0;outline:0;width:max(96px,100%);min-width:96px;height:35px;padding:0 10px;font:10px ui-monospace,SFMono-Regular,Consolas,monospace}.markdown-grid input:focus{z-index:2;color:#fff0c2;background:#3a3528;position:relative;box-shadow:inset 0 0 0 2px #b79447}.markdown-grid .row-number{z-index:3;text-align:center;color:#777062;background:#282821;width:38px;min-width:38px;padding:0;font:8px Arial;position:sticky;left:0}.markdown-grid thead .row-number{z-index:6;color:#c8ad6d;background:#3f1b18}.markdown-grid .row-actions{z-index:3;text-align:center;background:#24231d;width:48px;min-width:48px;padding:0;position:sticky;right:0}.markdown-grid thead .row-actions{z-index:6;color:#c8ad6d;background:#3f1b18}.markdown-grid .row-actions button{color:#9e8f73;cursor:pointer;background:0 0;border:1px solid #5e5543;width:24px;height:24px;font:16px/20px Arial}.markdown-grid .row-actions button:hover{color:#f5d8b0;background:#7a211c;border-color:#a8483f}.markdown-grid-toolbar{background:#24241e;border-top:1px solid #454033;align-items:center;gap:12px;padding:0 12px;display:flex}.markdown-grid-toolbar button{color:#e1ca8c;letter-spacing:.1em;cursor:pointer;background:#373328;border:1px solid #8d7848;padding:7px 12px;font:700 7px Arial}.markdown-grid-toolbar button:hover{background:#7b251f}.markdown-grid-toolbar span{color:#827b6c;font:7px Arial}.markdown-grid-empty{color:#a89e88;background:#171915;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.markdown-grid-empty strong{font-size:17px}.markdown-grid-empty span{font:9px Arial}.city-stats{grid-template-columns:repeat(4,1fr)}.general-card{border-left:3px solid var(--gold);background:#b6aa90;grid-template-columns:38px 1fr;align-items:center;gap:8px;margin:7px;padding:9px;display:grid}.general-card>span{color:var(--roman);text-align:center;font-size:25px}.general-card strong,.general-card small,.general-card em{display:block}.general-card small{color:#645d4f;margin-top:2px;font:7px Arial}.general-card em{color:#75561f;margin-top:5px;font:7px Arial}.stance-grid,.victory-toggle{grid-template-columns:repeat(4,1fr);gap:3px;padding:3px 7px;display:grid}.stance-grid button,.victory-toggle button{color:#433d32;cursor:pointer;background:#b8ad94;border:1px solid #8f836c;padding:6px 2px;font:7px Arial}.stance-grid button.active,.victory-toggle button.active{background:var(--roman);color:#f0dfbb;border-color:var(--gold)}.victory-toggle{grid-template-columns:1fr 1fr;padding:7px 0 0}.siege-card{color:#f2e4c7;background:#8e705c;border:1px solid #6f3027;margin:7px;padding:9px}.siege-card strong,.siege-card small{display:block}.siege-card strong{letter-spacing:.14em;font:8px Arial}.siege-card small{margin-top:4px;font:7px Arial}.siege-card>div{grid-template-columns:1fr 1.5fr 1fr;gap:3px;margin-top:8px;display:grid}.siege-card button{color:#eadbb9;cursor:pointer;background:#4c3f32;border:1px solid #b69766;padding:6px 2px;font:6px Arial}.siege-card button:disabled{opacity:.35}.diplomacy{padding:0 8px 12px}.diplomacy>div{background:#c5baa0;border:1px solid #9c9076;border-bottom:0;grid-template-columns:1fr auto;align-items:center;gap:5px;padding:7px;display:grid}.diplomacy>div:last-child{border-bottom:1px solid #9c9076}.diplomacy span strong,.diplomacy span small{display:block}.diplomacy span small{color:#655d4e;margin-top:2px;font:6px Arial}.diplomacy button{color:#f0dfbb;cursor:pointer;background:#746348;border:1px solid #8c7957;padding:5px;font:6px Arial}.campaign-decision{z-index:70;color:#312c22;text-align:center;background:#eadfc2;border:3px double #9b7f40;width:min(520px,90vw);padding:25px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #111b,0 16px 50px #000}.campaign-decision small,.campaign-decision strong{display:block}.campaign-decision small{letter-spacing:.24em;color:#7c261f;font:8px Arial}.campaign-decision strong{margin:8px;font-size:24px}.campaign-decision p{font-size:13px;line-height:1.5}.campaign-decision>div{grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;display:grid}.campaign-decision button{color:#f1dfb8;cursor:pointer;background:#7b251f;border:1px solid #b69752;padding:10px;font:700 8px Arial}.tactical-orders{grid-template-columns:1fr 1fr;gap:4px;padding:0 9px;display:grid}.tactical-orders button{color:#3d382e;cursor:pointer;background:#bdb197;border:1px solid #8f826a;padding:7px 3px;font:7px Arial}.tactical-orders button.active{color:#f1dfbd;background:#7d241e;border-color:#bfa052}.selection-box{z-index:20;pointer-events:none;background:#e7ca6622;border:1px solid #f0d47c;position:absolute}.river{z-index:1;background:linear-gradient(90deg,#345b63aa,#7c9ca0cc,#345b63aa);border-left:2px solid #c8d1c366;border-right:2px solid #c8d1c366;width:9%;display:none;position:absolute;top:-5%;bottom:-5%;left:47%;transform:rotate(4deg)}.terrain-river .river{display:block}.forest-patch{z-index:1;color:#29412bdd;pointer-events:none;width:20%;height:70%;font-size:24px;line-height:2.4;display:none;position:absolute;top:12%;left:42%;transform:rotate(-8deg)}.terrain-forest .forest-patch{display:block}.terrain-hills .terrain-ridge{opacity:1;transform:scale(1.25)}.weather-fog:after{content:"";z-index:8;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(115deg,#d9ded155,#0000 32%,#dae0d05e 60%,#0000);position:absolute;inset:0}.weather-rain:after{content:"";z-index:8;pointer-events:none;background:repeating-linear-gradient(105deg,#0000 0 14px,#dce4db20 15px 16px);position:absolute;inset:0}.weather-heat{filter:sepia(.18)saturate(1.15)}.formation-unit.order-hold{box-shadow:0 0 0 2px #e4c45c}.formation-unit.order-retreat{opacity:.72}.formation-unit.order-charge .flag{animation:.7s infinite alternate charge-pulse}@keyframes charge-pulse{to{transform:scale(1.25)}}.markdown-grid input{width:100%;min-width:0}@media (width<=900px){.theater-select>.markdown-workshop{width:98vw}.markdown-workshop>div>header{align-items:flex-start}.workshop-header-actions{flex-wrap:wrap}.markdown-workshop>div{grid-template-rows:84px minmax(0,1fr) 34px}.markdown-grid-summary em{display:none}}@media (width<=760px){.theater-select>.markdown-workshop{height:76vh;display:block!important}.markdown-workshop>aside{box-sizing:border-box;height:46px;padding:4px;display:flex;overflow-x:auto}.markdown-workshop>aside button{min-width:110px;padding:8px}.markdown-workshop>div{grid-template-rows:94px minmax(0,1fr) 34px;height:calc(76vh - 46px)}.markdown-workshop>div>header{gap:6px;padding:7px}.markdown-workshop>div>header>span{min-width:75px}.markdown-workshop>div>header strong{font-size:12px}.workshop-header-actions{gap:3px}.workshop-view-toggle{order:-1;justify-content:flex-end;width:100%}.markdown-workshop>div>header button{padding:6px;font-size:6px}.markdown-grid-summary{gap:8px}.markdown-grid-summary span{padding-right:8px}.markdown-grid-toolbar span,.diplomacy{display:none}.stance-grid{grid-template-columns:1fr 1fr}.general-card{margin-top:10px}}.battle-objective{color:#d8cdb2;background:#24221b;border:1px solid #746a51;border-bottom:0;grid-template-columns:auto 1fr minmax(80px,170px) auto;align-items:center;gap:9px;padding:0 10px;display:grid}.battle-objective>span{letter-spacing:.15em;color:#d0ad55;text-transform:uppercase;font:700 7px Arial}.battle-objective>strong{white-space:nowrap;text-overflow:ellipsis;font:9px Arial;overflow:hidden}.battle-objective>i{background:#4f493a;height:4px;overflow:hidden}.battle-objective>i b{background:linear-gradient(90deg,#8d241e,#d3b55d);height:100%;transition:width .25s linear;display:block}.battle-objective>em{color:#9f957e;font:7px Arial}.breakthrough-zone{z-index:2;pointer-events:none;background:#d5b95116;border:2px dashed #e5c96788;place-items:center;width:11%;display:grid;position:absolute;top:7%;bottom:7%;right:1%}.breakthrough-zone span{writing-mode:vertical-rl;letter-spacing:.2em;color:#5f4b20;font:700 8px Arial}.projectile-flight{z-index:8;transform-origin:0;pointer-events:none;filter:drop-shadow(0 0 2px #fff0a8);border-top:1px dashed #f0d38aaa;height:1px;position:absolute}.projectile-flight.carthage{border-color:#d6eee1aa}.projectile-flight i{color:#49261b;font:15px Georgia;animation:.75s linear infinite projectile-flight;position:absolute;top:-8px;left:0}.projectile-flight.carthage i{color:#173e39}.clash-flash{z-index:9;pointer-events:none;place-items:center;width:36px;height:36px;animation:.55s ease-in-out infinite alternate clash-pop;display:grid;position:absolute;transform:translate(-50%,-50%)}.clash-flash b{color:#fff0ba;text-shadow:0 0 4px #7b1c13,0 0 10px #ffc348;font-size:22px}.clash-flash i{color:#fff2a7;font-style:normal;animation:.7s linear infinite spark-spin;position:absolute;top:0;right:0}.clash-flash.charge{transform:translate(-50%,-50%)scale(1.35)}@keyframes projectile-flight{to{left:calc(100% - 12px)}}@keyframes clash-pop{to{filter:brightness(1.5);transform:translate(-50%,-50%)rotate(14deg)scale(1.2)}}@keyframes spark-spin{to{transform:rotate(180deg)translate(5px)}}.post-battle{color:#e7dbc0;background:radial-gradient(circle at 50% 22%,#514632,#171711 56%,#0b0c09);place-items:center;min-height:100vh;padding:28px;display:grid}.post-battle>section{color:#302b21;background:#d7ccb1;border:3px double #b1934d;width:min(760px,94vw);padding:26px;box-shadow:0 25px 80px #000}.post-battle header{text-align:center;border-bottom:1px solid #9c8b68;padding-bottom:18px}.post-battle header small,.post-battle header strong{display:block}.post-battle header small{letter-spacing:.26em;color:#7a5b28;font:8px Arial}.post-battle header strong{letter-spacing:.08em;margin:8px;font-size:38px}.post-battle.defeat header strong{color:#79221d}.post-battle header p{color:#625a4b;margin:0;font-size:12px}.report-objective{color:#e4d8bb;background:#302d24;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:15px 0;padding:10px 13px;display:grid}.report-objective span{letter-spacing:.18em;color:#bba268;font:7px Arial}.report-objective b{font-size:14px}.report-objective em{color:#86a06f;font:700 8px Arial}.casualty-columns{grid-template-columns:1fr 50px 1fr;align-items:center;gap:14px;display:grid}.casualty-columns article{text-align:center;background:#c4b89c;border:1px solid #aa9a7a;padding:15px}.casualty-columns small,.casualty-columns strong,.casualty-columns span{display:block}.casualty-columns small{letter-spacing:.18em;font:7px Arial}.casualty-columns strong{margin:5px;font-size:35px}.casualty-columns span{color:#655d4e;font:8px Arial}.casualty-columns article>i{background:#8e836d;height:6px;margin:12px 0 7px;display:block}.casualty-columns article>i b{background:#7d251e;height:100%;display:block}.casualty-columns article:last-child>i b{background:#28564f}.casualty-columns p{color:#7a2821;margin:0;font:700 9px Arial}.report-swords{text-align:center;color:#806823;font-size:30px}.report-honors{background:#b4a789;border-left:4px solid #a4843d;align-items:center;gap:10px;margin:15px 0;padding:12px;display:flex}.report-honors span{color:#8a6c27;font-size:25px}.report-honors p{margin:0;font-size:11px;line-height:1.4}.post-battle>section>button{color:#f1dfb7;letter-spacing:.13em;cursor:pointer;background:#76221c;border:1px solid #b7954d;margin:auto;padding:11px 20px;font:700 9px Arial;display:block}.post-battle>section>button:hover{background:#972e25}.campaign-decision button:disabled,.diplomacy button:disabled{opacity:.45;cursor:not-allowed}.geo-frame.japan{width:min(94%,75vh - 127.5px)}.theater-japan .campaign-map>.sea-one{top:42%;left:4%;transform:rotate(-70deg)}.theater-japan .campaign-map>.sea-two{top:45%;right:1%;transform:rotate(74deg)}.theater-japan .campaign-map>.sea-three{top:79%;left:16%;right:auto;transform:rotate(-18deg)}@media (width>=1200px){.theater-select>.theater-cards{grid-template-columns:repeat(3,minmax(300px,420px))}.theater-cards article{grid-template-columns:1fr;min-height:500px}.theater-cards article>img{height:220px}.theater-cards article>div{padding:20px}}@media (width<=700px){.battle-objective{grid-template-columns:auto 1fr auto}.battle-objective>i{display:none}.battle-objective>strong{font-size:7px}.post-battle>section{padding:16px}.post-battle header strong{font-size:27px}.casualty-columns{grid-template-columns:1fr 28px 1fr;gap:7px}.casualty-columns article{padding:9px}.casualty-columns strong{font-size:24px}.report-swords{font-size:20px}.geo-frame.japan{width:min(94%,43.5vh)}}.terrain-ridge{z-index:1;pointer-events:none;background:radial-gradient(#d1c38d88 0 35%,#887d5260 69%,#0000 72%);border:1px solid #665d3d66;border-radius:50%;width:48%;height:34%;display:none;transform:none;box-shadow:inset 0 7px 15px #eee0a34d,0 9px 15px #4a422646}.terrain-ridge:before,.terrain-ridge:after{content:"";border:1px solid #746b4966;border-radius:50%;position:absolute;inset:12%}.terrain-ridge:after{inset:25%}.terrain-ridge span{letter-spacing:.18em;color:#5b533a99;white-space:nowrap;font:7px Arial;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.terrain-hills .terrain-ridge{display:block;transform:none}.terrain-hills .ridge-one{top:8%;left:6%}.terrain-hills .ridge-two{top:54%;left:41%}.road{z-index:1}.road span{letter-spacing:.18em;color:#5e563f99;font:7px Arial;position:absolute;top:50%;left:9%;transform:translateY(-50%)}.river{width:12%;left:45%;overflow:visible;box-shadow:inset 8px 0 12px #1f444b77,inset -8px 0 12px #1f444b77}.river>span{letter-spacing:.25em;color:#d5e1d2aa;font:7px Arial;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)rotate(86deg)}.bridge{color:#2d281d;letter-spacing:.12em;background:repeating-linear-gradient(0deg,#756443 0 3px,#a48b5e 3px 7px);border:2px solid #4e422e;place-items:center;width:170%;height:13%;font:6px Arial;display:grid;position:absolute;left:-35%;box-shadow:0 3px 5px #0006}.bridge-one{top:22%}.bridge-two{top:65%}.forest-patch{color:#274129d9;text-shadow:2px 3px #71815c88;letter-spacing:.22em;width:36%;height:50%;font-size:24px;line-height:2}.forest-patch small{letter-spacing:.25em;color:#263a28aa;margin-top:-9px;font:7px Arial;display:block}.terrain-forest .grove-one{display:block;top:43%;left:13%;transform:rotate(-5deg)}.terrain-forest .grove-two{display:block;top:5%;left:47%;transform:rotate(7deg)}.terrain-legend{z-index:11;color:#d8ceb6;letter-spacing:.08em;pointer-events:none;background:#28251dcc;border:1px solid #81765c;align-items:center;gap:5px;padding:4px 6px;font:7px Arial;display:flex;position:absolute;bottom:8px;left:9px}.terrain-legend>b{color:#d1ae58;margin-right:3px}.terrain-legend span{align-items:center;gap:2px;display:flex}.terrain-legend i{color:#e8cf83;font-style:normal}.ground-badge{color:#f0d77d;min-width:14px;height:14px;transform:rotate(calc(-1 * var(--angle,0deg)));background:#242018;border-radius:7px;padding:1px 3px;font:9px Arial;display:none;position:absolute;bottom:-4px;right:-7px;box-shadow:0 0 0 1px #ab9457}.formation-unit.selected .ground-badge{display:block}.formation-unit.on-river.selected:after{border-color:#9fd4dc}.formation-unit.on-hill.selected:after{border-color:#f0dc8e}.formation-unit.on-forest.selected:after{border-color:#a9c88c}.formation-unit.on-bridge.selected:after{border-color:#e3b56e}.terrain-readout{color:#3f392d;background:#a99d82;border-bottom:1px solid #81755d;grid-template-columns:31px 1fr;gap:7px;padding:9px 10px;display:grid}.terrain-readout>span{color:#6f5426;background:#c9bea3;border:1px solid #7e7157;place-items:center;width:29px;height:29px;font-size:17px;display:grid}.terrain-readout small,.terrain-readout strong{display:block}.terrain-readout small{letter-spacing:.18em;color:#665d49;font:6px Arial}.terrain-readout p{color:#5a5242;margin:2px 0 0;font:7px/1.25 Arial}.terrain-readout dl{border-top:1px solid #8d8168;grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin:2px 0 0;display:grid}.terrain-readout dl div{text-align:center;padding-top:5px}.terrain-readout dt{letter-spacing:.12em;color:#665d49;font:6px Arial}.terrain-readout dd{margin:2px 0 0;font:700 9px Arial}.terrain-readout dd:not(:empty){color:#6b271f}@media (width<=700px){.terrain-legend{flex-wrap:wrap;max-width:70%}.forest-patch{font-size:17px}.bridge{font-size:0}.ground-badge{display:none!important}}@media (prefers-reduced-motion:reduce){.projectile-flight i,.clash-flash,.clash-flash i{animation:none}}.campaign-body{grid-template-columns:230px minmax(560px,1fr) 250px}.campaign-body.map-expanded{grid-template-columns:minmax(0,1fr)}.campaign-body.map-expanded>.province-panel,.campaign-body.map-expanded>.army-panel{display:none}.map-expand{z-index:18;color:#e4d29f;letter-spacing:.11em;cursor:pointer;background:#24251fdd;border:1px solid #b19454;align-items:center;gap:6px;padding:7px 9px;font:700 7px Arial;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 3px 9px #0006}.map-expand:hover{background:#392f20}.map-expand span{font-size:13px;line-height:1}.city-node{min-width:54px}.city-node strong,.city-node small{box-sizing:border-box;width:max-content;min-width:66px;max-width:100px;margin-left:50%;transform:translate(-50%)}.city-node small{display:none}.city-node.selected small,.city-node:hover small,.city-node:focus-visible small{display:block}.theater-greece .city-103 strong,.theater-greece .city-103 small{transform:translate(5px,-12px)}.theater-greece .city-104 strong,.theater-greece .city-104 small{transform:translate(calc(-100% - 5px),-12px)}.theater-greece .city-105 strong,.theater-greece .city-105 small{transform:translate(calc(-100% - 2px),3px)}@media (width<=1180px) and (width>=761px){.campaign-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;overflow:auto}.campaign-center{grid-area:1/1/auto/-1;height:calc(100vh - 126px);min-height:560px}.province-panel,.army-panel{min-height:620px;overflow:visible}.campaign-body.map-expanded .campaign-center{height:calc(100vh - 126px)}}@media (width<=760px){.map-expand{padding:6px;font-size:0;top:7px;right:7px}.map-expand span{font-size:15px}.city-node strong{font-size:9px}.city-node strong,.city-node small{min-width:56px;max-width:82px}.campaign-body.map-expanded .campaign-center{display:block}.campaign-body.map-expanded .campaign-map{height:calc(100vh - 118px)}}.geo-frame{transition:transform .22s ease-out}.geo-frame .city-node,.geo-frame .army-token{transform:translate(-50%,-50%) scale(var(--marker-scale,1));transform-origin:50%}.geo-frame .army-token.selected{transform:translate(-50%,-50%) scale(var(--marker-scale,1))}.map-tools{z-index:18;align-items:center;gap:6px;display:flex;position:absolute;top:10px;right:10px}.map-tools .map-expand{position:static}.map-zoom{background:#24251fdd;border:1px solid #85744e;align-items:center;height:28px;display:flex;box-shadow:0 3px 9px #0006}.map-zoom button{color:#e6d295;cursor:pointer;background:0 0;border:0;width:27px;height:100%;font:700 15px Arial}.map-zoom button:hover:not(:disabled){background:#6e251f}.map-zoom button:disabled{opacity:.35;cursor:not-allowed}.map-zoom strong{text-align:center;color:#c9b987;letter-spacing:.05em;min-width:38px;font:7px Arial}@media (width<=760px){.map-tools{top:7px;right:7px}.map-zoom strong{min-width:32px}.map-zoom{height:27px}}@media (prefers-reduced-motion:reduce){.geo-frame{transition:none}}.facing-controls,.battle-options,.field-training{color:#2e2a20;background:#bbae8b;border:1px solid #897447;margin:10px;padding:12px}.facing-controls>strong{margin-bottom:8px;font:14px Arial;display:block}.facing-controls>div{flex-wrap:wrap;gap:5px;margin-bottom:12px;display:flex}.facing-controls button,.battle-options button,.field-training button{color:#352a1c;background:#e2d1a8;border:1px solid #897447;min-height:38px;padding:8px;font:14px Arial}.facing-controls button[aria-pressed=true]{background:var(--roman);color:#fff0c3}.battle-options{flex-wrap:wrap;gap:6px;display:flex}.battle-options small{width:100%;font:12px/1.5 Arial}.field-training{color:#f1e5c5;background:#2d3c32;border-color:#c5a258}.field-training strong{font:16px Georgia}.field-training p{margin:8px 0;font:14px/1.5 Arial}.report-analysis{text-align:left;color:#e9dbb9;background:#262c23;border:1px solid #85704a;margin-top:20px;padding:20px}.report-analysis h2{margin:0 0 12px;font:22px Georgia}.report-analysis p{font:15px/1.6 Arial}.battle-briefing{color:#eee0bd;background:#30382d;border-bottom:2px solid #a5874c;padding:12px}.battle-briefing strong{font:17px Georgia}.battle-briefing p{margin:8px 0;font:14px/1.5 Arial}.battle-briefing small{color:#c9bc9d;font:12px/1.5 Arial}.launch-actions label{font:14px Arial}.launch-actions select{color:#eddfbb;background:#34372b;border:1px solid #b59452;margin-left:8px;padding:10px;font:14px Arial}.doctrine-note{border-left:3px solid #c5a258;padding-left:12px;color:#e4c580!important;font:14px/1.5 Arial!important}.battle-setup-options{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.field .formation-unit{min-width:20px;height:32px;transition:none}.field .formation-unit .soldier-row{flex-wrap:nowrap;gap:1px;top:10px}.field .formation-unit i{flex:1;min-width:1px;max-width:9px;height:10px}.field .formation-unit .flag{top:-5px;left:calc(50% - 7px)}.field .formation-unit small{font-size:10px;top:25px;left:calc(50% - 10px)}.field .formation-unit:before{content:"";border-bottom:7px solid #f5d477;border-left:4px solid #0000;border-right:4px solid #0000;position:absolute;top:-13px;left:calc(50% - 4px)}.field .city-wall,.field .city-wall.friendly-wall{pointer-events:none;z-index:2;border-left:5px double #433620;font:12px Arial;top:5%;bottom:5%;right:auto}.siege-gate{color:#f9e3aa;z-index:3;pointer-events:none;background:#594328;border:3px solid #b99a55;flex-direction:column;justify-content:center;align-items:center;min-width:48px;height:20%;font:12px Arial;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.siege-gate.breached{background:#6d665233;border-style:dashed}.siege-gate strong{font-size:12px}.siege-gate span{padding-top:6px}.capture-point{color:#64511d;pointer-events:none;z-index:2;background:#dec05722;border:2px dashed #dac275;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:26%;height:26%;font-size:24px;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.capture-point span{font:700 12px Arial}.field.siege:before{display:none}.field.deploy.siege:before{content:"DEPLOY HERE";color:#5f1e18;background:#7f25151c;border:2px dashed #f0d68199;place-items:center;width:37%;display:grid;inset:5% auto 5% 2%}.field .breakthrough-zone{display:none}.formation-unit.routing:after{content:"ROUT";color:#7f201c;transform:rotate(calc(-1 * var(--angle,0deg)));background:#f0d49e;padding:2px;font:700 10px Arial;position:absolute;top:-24px;left:0}@media (width<=700px){.facing-controls,.battle-options,.field-training{margin:5px;padding:8px}.facing-controls button,.battle-options button{padding:6px;font-size:12px}.field-training p{font-size:13px}.siege-gate{min-width:34px}.siege-gate strong,.capture-point span{font-size:10px}.report-analysis{padding:12px}}button:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #e5bd61}button:disabled{cursor:not-allowed;opacity:.45}.campaign-shell{flex-direction:column;min-height:100dvh;display:flex;overflow:visible}.campaign-top{grid-template-columns:minmax(180px,1fr) minmax(0,1.2fr) auto;gap:18px;min-height:88px}.campaign-top .battle-title strong{font-size:23px}.campaign-top .battle-title span{letter-spacing:.08em;font-size:12px}.treasury{flex-wrap:wrap;gap:8px}.treasury strong{white-space:nowrap;font-size:21px}.treasury span{font-size:12px}.treasury button{white-space:nowrap;min-height:38px;padding:8px 12px;font-size:12px}.campaign-body{flex:1;grid-template-columns:260px minmax(0,1fr) 290px;align-items:start;gap:14px;padding:14px}.campaign-center{grid-template-rows:minmax(0,1fr) auto;height:calc(100dvh - 148px);min-height:590px}.province-panel,.army-panel{min-height:590px;max-height:calc(100dvh - 148px);overflow:auto}.campaign-body.map-expanded .campaign-center{height:calc(100dvh - 148px)}.campaign-section-title small{font-size:12px}.campaign-section-title strong{font-size:26px}.campaign-section-title span{font-size:13px;line-height:1.4}.city-stats small{letter-spacing:0;font-size:10px}.city-stats strong{font-size:16px}.province-panel h3,.army-panel h3{letter-spacing:.1em;font-size:12px}.build-list button strong,.recruit-list button strong,.roster-unit strong{font-size:16px}.build-list button small,.recruit-list button small,.roster-unit small{font-size:12px;line-height:1.45}.build-list button b,.recruit-list button b,.roster-unit em{font-size:12px}.roster-unit{min-height:82px;padding:12px 10px 12px 27px;position:relative}.roster-unit>input{accent-color:var(--roman);width:16px;height:16px;position:absolute;top:18px;left:7px}.cohort-selected{box-shadow:inset 3px 0 var(--roman);background:#f3e4bc}.cohort-toolbar{gap:5px;padding:9px;display:flex}.cohort-toolbar button{color:#302a20;background:#beb195;border:1px solid #8c7957;flex:1;padding:9px 5px;font:12px Arial}.cohort-toolbar button[aria-pressed=true]{color:#f4dfaa;background:#383125}.general-card strong{font-size:16px}.general-card small,.general-card em{font-size:12px;line-height:1.5}.stance-grid button,.army-actions button,.diplomacy button,.queue,.objective small,.objective strong,.event-log>strong{letter-spacing:0;min-height:34px;font-size:12px}.event-log p,.hostile-card p,.objective p{font-size:15px;line-height:1.5}.diplomacy span strong{font-size:14px}.diplomacy span small{font-size:12px}.hostile-card strong,.ledger,.ledger p{font-size:14px}.campaign-notice{flex-wrap:wrap;gap:12px;min-height:66px;padding:12px}.campaign-notice strong{font:14px/1.5 Arial}.campaign-notice button{min-height:40px;font-size:12px}.campaign-menu{z-index:65;max-width:calc(100vw - 24px);max-height:80dvh;overflow:auto}.campaign-menu button{min-height:42px;padding:10px;font-size:14px}.campaign-menu strong{font-size:22px}.tutorial{z-index:70;max-width:calc(100vw - 24px)}.tutorial b{font-size:12px}.tutorial p{font:16px/1.5 Arial}.tutorial button{padding:10px 16px;font-size:14px}.campaign-decision small{font-size:12px}.campaign-decision p{font:16px/1.5 Arial}.campaign-decision button{min-height:44px;font-size:14px}.strategic-map{isolation:isolate;color:#ece2c7;background:radial-gradient(at 50% 40%,#436b74,#1d3f4b);border:1px solid #9a8556;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid;position:relative;overflow:hidden}.strategic-toolbar{z-index:5;background:#222820ed;border-bottom:1px solid #87774f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.strategic-toolbar>span{font:700 17px Georgia}.strategic-toolbar small{color:#b7b8a2;margin-top:5px;font:12px Arial;display:block}.strategic-toolbar>div{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.strategic-toolbar button{color:#f2dfab;background:#353b30;border:1px solid #756546;min-height:34px;padding:7px 10px;font:13px Arial}.strategic-toolbar button:hover{background:#596042}.strategic-toolbar output{text-align:center;width:40px;font:12px Arial}.map-viewport{cursor:grab;touch-action:none;min-height:0;position:relative;overflow:hidden}.map-viewport:active{cursor:grabbing}.map-projection{position:absolute;transform:translate(-50%,-50%)}.map-projection>img{pointer-events:none;-webkit-user-select:none;user-select:none;object-fit:fill;filter:drop-shadow(0 8px 12px #0006);width:100%;height:100%;position:absolute;inset:0}.strategic-routes{pointer-events:none;position:absolute;inset:0;overflow:visible}.strategic-routes line{stroke:#4f341dd9;stroke-width:2px;stroke-dasharray:5 5}.strategic-routes line.route-sea{stroke:#b8d8da;opacity:.6}.strategic-routes line.army-leader{stroke:#e2c480;stroke-width:1px;stroke-dasharray:none;opacity:.65}.settlement-pin{z-index:3;border:2px solid var(--gold);color:#f9e4a5;background:var(--roman);border-radius:50%;place-items:center;width:24px;height:24px;padding:0;font:13px Arial;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 5px #0007}.settlement-pin.carthage{background:var(--enemy)}.settlement-pin.selected{outline-offset:3px;z-index:6;outline:3px solid #ffe5a2}.settlement-label{z-index:4;white-space:nowrap;color:#211b12;background:#e8d9b8f5;border:1px solid #927c52;border-radius:2px;min-height:24px;padding:3px 7px;font:700 12px Georgia;position:absolute;box-shadow:0 2px 6px #0004}.settlement-label.selected{background:#fff0c4;border-color:#fff0c4}.settlement-label:hover{z-index:10;background:#fff0c4}.map-army{z-index:5;background:var(--roman);color:#fff0c0;border:1px solid #e9cf8e;border-radius:5px;width:30px;height:30px;padding:0;font:15px Georgia;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0008}.map-army.carthage{background:var(--enemy)}.map-army.selected{outline-offset:3px;outline:2px solid #fff0b0}.map-army small{color:#f5e0aa;background:#171c18;border-radius:9px;min-width:17px;padding:2px;font:700 10px Arial;position:absolute;bottom:-7px;right:-7px}.map-army em{color:#ffe595;font-style:normal;position:absolute;top:0;left:27px}.settlement-index{z-index:5;background:#222820ed;border-top:1px solid #87774f;flex-wrap:wrap;gap:6px;padding:10px;display:flex}.settlement-index button{color:#e6dab8;background:#383e32;border:1px solid #65644b;border-radius:3px;align-items:center;gap:6px;min-height:34px;padding:7px 10px;font:12px Arial;display:flex}.settlement-index button.active{color:#fff0ba;background:#5e5033;border-color:#f1cf76}.settlement-index i{border:1px solid #d7c591;border-radius:50%;width:8px;height:8px}.storage-error{z-index:90;color:#ffe5d0;background:#552922;border:1px solid #c48e67;padding:16px;font:14px/1.5 Arial;position:fixed;bottom:16px;left:16px;right:16px}.storage-error button{float:right;color:inherit;background:0 0;border:1px solid;padding:4px 8px}.launch-actions{color:#d1c39e;background:#201f18;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;padding:18px;display:flex}.launch-actions button{color:#ffebbb;background:#792b23;border:1px solid #d2ae62;padding:12px 24px;font:16px Arial}.launch-actions span{font:13px Arial}.launch-actions p{text-align:center;color:#e6b89d;width:100%;margin:0;font:13px Arial}.theater-select>header p{max-width:860px;font:15px/1.5 Arial}.theater-select .open-workshop{font-size:13px}.theater-cards article p{font-size:16px;line-height:1.5}.theater-cards article button{font-size:14px}.theater-cards article small,.theater-cards dt,.theater-cards dd{font-size:12px}.quick-battle-setup{color:#e9dec1;background:radial-gradient(at 50% 0,#3e3b2a,#151914 60%);min-height:100dvh;padding:36px clamp(16px,5vw,90px)}.quick-battle-setup header{max-width:1120px;margin:auto;position:relative}.quick-battle-setup header small{letter-spacing:.2em;color:#caae70;font:12px Arial}.quick-battle-setup h1{margin:12px 0;font-size:clamp(28px,4vw,44px)}.quick-battle-setup p{color:#bfb9a3;font:16px/1.5 Arial}.quick-battle-setup button{cursor:pointer}.quick-battle-setup header button{color:#e5cf9a;background:#292d24;border:1px solid #806c44;padding:10px 18px;font:14px Arial}.battle-setup-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:1120px;margin:26px auto;display:grid}.battle-setup-options label{color:#d6c493;font:14px Arial}.battle-setup-options select{color:#f1e5c7;background:#232b24;border:1px solid #81724d;border-radius:3px;width:100%;margin-top:9px;padding:12px 9px;font:14px Arial;display:block}.battle-army-builder{grid-template-columns:1fr 1fr;gap:22px;max-width:1120px;margin:auto;display:grid}.battle-army-builder article{background:#242921;border:1px solid #6d6141;border-top:3px solid #a94232;padding:20px}.battle-army-builder article:last-child{border-top-color:#4c8a7a}.battle-army-builder h2{margin:0;font-size:26px}.battle-army-builder p{font-size:13px}.builder-roster{flex-wrap:wrap;gap:7px;min-height:94px;padding:10px 0 20px;display:flex}.builder-roster button{color:#ead9b0;background:#494231;border:1px solid #8b754a;border-radius:4px;align-items:center;gap:12px;padding:9px;font:13px Arial;display:flex}.builder-roster b{color:#dba285}.builder-choices{grid-template-columns:1fr 1fr;gap:7px;display:grid}.builder-choices button{text-align:left;color:#e7d6ad;background:#343b2e;border:1px solid #5f684d;padding:10px;font:14px Arial}.builder-choices small{color:#aab29b;margin-top:5px;font:12px Arial;display:block}.quick-battle-setup>footer{background:0 0;border:0;flex-wrap:wrap;gap:16px;max-width:1120px;margin:24px auto 0;padding:0;display:flex}.quick-battle-setup>footer p{font:13px Arial}.quick-battle-setup>footer button{color:#fae3ae;letter-spacing:.03em;background:#852d23;border:1px solid #bc9352;padding:15px 24px;font:700 16px Arial}.game-shell{grid-template-rows:82px 64px minmax(540px,1fr) 30px;min-height:100dvh}.game-shell .battle-title span{letter-spacing:.06em;font-size:12px}.battle-layout{grid-template-columns:205px minmax(0,1fr) 230px}.field-wrap{grid-template-rows:auto minmax(480px,1fr) auto}.field{touch-action:none;min-height:480px}.battle-objective{grid-template-columns:auto 1fr auto;min-height:54px}.battle-objective>span{font-size:11px}.battle-objective>strong{white-space:normal;font-size:12px;line-height:1.3}.battle-objective>i{display:none}.battle-objective>em{font-size:12px}.status-strip{letter-spacing:0;flex-wrap:wrap;padding:10px;font-size:12px;line-height:1.4}.status-strip kbd{font-size:11px}.unit-data strong{font-size:14px}.unit-data small{font-size:11px;line-height:1.4}.unit-card{grid-template-columns:28px minmax(0,1fr) 34px;min-height:75px}.men small{font-size:10px}.men b{font-size:17px}.panel-head small{font-size:11px}.orders-heading strong{font-size:18px}.orders-heading small,.orders-heading span,.orders-panel h3,.formation-grid strong{font-size:12px}.tactical-orders button{padding:10px 3px;font-size:13px}.tip strong,.tip p{font-size:12px}.battle-log p{font:12px/1.4 Arial}.wide-order strong{font-size:13px}.wide-order small{font-size:11px}.selection-actions{gap:5px;padding:10px;display:flex}.selection-actions button{color:#423b2b;background:#d3c19b;border:1px solid #958361;flex:1;padding:8px 4px;font:12px Arial}.terrain-readout small{font-size:10px}.terrain-readout strong{font-size:15px}.terrain-readout p{font:12px/1.4 Arial}.terrain-readout dt{font-size:10px}.terrain-readout dd{font-size:12px}.terrain-river .river{pointer-events:none;width:12%;top:0;bottom:0;left:45%;transform:none}.river .bridge{box-sizing:border-box;width:100%;height:14%;left:0}.river .bridge-one{top:20%}.river .bridge-two{top:64%}.field .road{pointer-events:none;width:100%;height:10%;top:76%;left:0;transform:none}.terrain-hills .ridge-two{width:52%;height:36%;top:54%;left:41%}.terrain-forest .forest-patch{text-align:center;background:#34492b55;border-radius:50%;overflow:hidden;transform:none}.terrain-forest .grove-one{width:36%;height:50%;top:43%;left:13%;transform:none}.terrain-forest .grove-two{width:36%;height:44%;top:5%;left:47%;transform:none}.city-wall.friendly-wall{left:5%;right:auto}.field .deployment{pointer-events:none;font-size:10px}.field .farm-lines{pointer-events:none}.combat-effects{z-index:8;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.combat-effects line{stroke:#fff2b4;stroke-width:2px;vector-effect:non-scaling-stroke;stroke-dasharray:7 12;filter:drop-shadow(0 0 2px #f6bc53);animation:.2s linear arrow-trace}.combat-effects line.carthage{stroke:#b6f2ed}@keyframes arrow-trace{0%{stroke-dashoffset:24px;opacity:.5}to{stroke-dashoffset:0;opacity:1}}.destination-marker{pointer-events:none;color:#fff0b6;z-index:3;background:#38301e77;border:1px solid #f2d47c;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;transform:translate(-50%,-50%)}.battle-paused *{animation-play-state:paused!important}.result{width:min(420px,90%)}.result strong{font-size:30px}.result p{font:15px/1.5 Arial}.result button{min-height:42px;margin-top:8px;font-size:14px}@media (width<=1400px){.campaign-body{grid-template-columns:1fr 1fr;align-content:start}.campaign-center{grid-area:1/1/auto/-1;height:clamp(560px,78dvh,850px)}.province-panel,.army-panel{width:100%;min-height:0;max-height:none;overflow:visible}.campaign-body.map-expanded .campaign-center{height:calc(100dvh - 120px)}}@media (width<=1050px){.campaign-top{grid-template-columns:1fr auto}.campaign-top .battle-title{display:none}.battle-layout{grid-template-columns:1fr 1fr;align-items:start}.field-wrap{grid-area:1/1/auto/-1;height:66dvh;min-height:520px}.unit-panel{width:auto;max-height:430px;position:static;overflow:auto}.orders-panel{max-height:430px;display:block}.game-shell .topbar{grid-template-columns:1fr auto}.game-shell .battle-title{display:none}.game-shell .command-row{grid-template-columns:1fr 100px 1fr}.unit-card:not(.selected){display:grid}.game-shell{display:block}.game-shell .topbar{min-height:72px}.command-row{min-height:58px}.field{min-height:0}.field-wrap{grid-template-rows:auto minmax(360px,1fr) auto}}@media (width<=700px){.campaign-top{gap:10px;height:auto;min-height:82px;padding:12px;position:static}.campaign-top .brand small{letter-spacing:.04em;font-size:10px}.treasury strong{font-size:17px}.campaign-top .treasury{gap:5px}.treasury button{margin-left:0;font-size:11px}.campaign-body{gap:12px;padding:8px;display:flex}.campaign-center{width:100%;height:78dvh;min-height:560px;display:grid}.campaign-body.map-expanded .campaign-center{min-height:calc(100dvh - 106px)}.campaign-notice{font-size:13px}.province-panel,.army-panel{min-height:0}.diplomacy{display:block}.strategic-toolbar{padding:8px}.strategic-toolbar>span{font-size:14px}.strategic-toolbar small{display:none}.strategic-toolbar button{min-height:34px;padding:7px;font-size:12px}.settlement-index{gap:4px;padding:7px}.settlement-index button{padding:7px;font-size:12px}.strategic-toolbar output{width:35px}.campaign-menu{top:82px;right:8px}.game-shell .command-row{grid-template-columns:1fr 48px 1fr;padding:0 8px}.command-row .army>strong{font-size:14px}.game-shell .standard{display:none}.battle-layout{gap:7px;padding:7px}.unit-panel{top:auto;left:auto}.unit-card{grid-template-columns:22px minmax(0,1fr) 28px}.unit-data strong{font-size:12px}.unit-data small{font-size:10px}.unit-symbol{font-size:18px}.men b{font-size:14px}.orders-heading{padding:9px}.orders-heading strong{font-size:15px}.terrain-readout{grid-template-columns:1fr;padding:7px}.terrain-readout>span{display:none}.terrain-readout p{font-size:11px}.field-wrap{height:66dvh;min-height:500px}.panel-head{height:50px;display:flex}.panel-head strong{font-size:14px}.orders-panel{max-height:500px}.tactical-orders button{font-size:12px}.game-shell .field-wrap .status-strip{font-size:11px}.battle-setup-options{grid-template-columns:1fr 1fr}.battle-army-builder{grid-template-columns:1fr}.quick-battle-setup{padding:22px 14px}.quick-battle-setup>footer{display:flex}.quick-battle-setup>footer button{width:100%}.launch-actions{padding:12px}.launch-actions span{display:none}.theater-select{padding:0 12px}.theater-select .theater-cards{display:block}.theater-cards article{margin-bottom:20px}}.tutorial{overscroll-behavior:contain;flex-direction:column;gap:12px;max-height:calc(100dvh - 96px);display:flex;overflow:auto}.tutorial p{overflow-wrap:anywhere;margin:0}.tutorial button{flex-shrink:0;align-self:flex-end;min-height:44px;position:static}.field-training{flex-direction:column;gap:10px;display:flex}.field-training p{overflow-wrap:anywhere;margin:0}.field-training button{align-self:flex-start;min-height:44px;position:static}.strategic-routes{width:100%;height:100%;display:block}.strategic-routes line{vector-effect:non-scaling-stroke;transform:none}.game-shell{grid-template-rows:auto auto auto auto;overflow:visible}.battle-layout{align-items:start}.battle-layout>.unit-panel,.battle-layout>.orders-panel{z-index:auto;isolation:isolate;min-width:0;position:relative}.battle-layout>.field-wrap{isolation:isolate;grid-template-rows:auto minmax(500px,65dvh) auto auto;height:auto;min-height:0}.selection-actions{flex-wrap:wrap}.selection-actions button{min-height:44px}.battle-dialog{color:#f5e6c3;background:#24261e;border:2px solid #c9a85b;width:min(520px,100vw - 28px);max-height:calc(100dvh - 28px);margin:auto;padding:0;position:fixed;inset:0;overflow:auto;box-shadow:0 16px 64px #000}.battle-dialog::backdrop{background:#11150ff2}.battle-dialog-content{text-align:center;flex-direction:column;gap:16px;padding:clamp(18px,5vw,32px);display:flex}.battle-dialog-content>small{color:#dac188;font:14px Arial}.battle-dialog-content>strong{font:700 clamp(24px,6vw,36px) Georgia}.battle-dialog-content p{margin:0;font:16px/1.5 Arial}.battle-dialog-content>div{flex-wrap:wrap;gap:12px;display:flex}.battle-dialog button{color:#ffefc6;cursor:pointer;background:#77291f;border:1px solid #c7a65d;flex:1;min-height:44px;padding:12px 18px;font:16px Arial}.battle-dialog button:focus-visible{outline-offset:3px;outline:3px solid #fff1a6}.battle-token{z-index:11;color:#fff4dc;cursor:pointer;touch-action:none;background:0 0;border:0;width:46px;height:44px;padding:0;font:14px Arial;position:absolute;transform:translate(-50%,-50%)}.token-badge{background:var(--roman);border:2px solid #efbd89;border-radius:5px;justify-content:center;align-items:center;gap:3px;height:32px;display:flex;position:relative;box-shadow:0 2px 5px #000b}.token-badge>span{font-size:21px;line-height:1}.token-badge>b{font:700 13px Arial}.battle-token.carthage .token-badge{background:var(--enemy);border-color:#9bdddb;border-radius:50%}.token-facing{transform-origin:50%;color:#fcecb2;text-shadow:0 1px 3px #000;pointer-events:none;justify-content:flex-end;align-items:center;width:72px;height:44px;font:700 22px Arial;display:flex;position:absolute;top:50%;left:50%}.token-ranks{pointer-events:none;justify-content:center;gap:2px;height:12px;display:flex;position:absolute;top:50%;left:50%}.token-ranks i{background:var(--roman);border:1px solid #f0c59b;flex:1;max-width:8px;height:12px}.carthage .token-ranks i{background:var(--enemy);border-color:#a3dbd1}.token-name{white-space:nowrap;text-overflow:ellipsis;color:#fff3d7;pointer-events:none;background:#172018f2;border-radius:2px;max-width:118px;padding:2px 4px;font:12px/1.2 Arial;position:absolute;top:-21px;left:50%;overflow:hidden;transform:translate(-50%)}.token-count{color:#fff3d7;background:#172018f2;border-radius:2px;width:max-content;margin:-1px auto 0;padding:1px 4px;font:12px/1.2 Arial;display:block}.battle-token.selected,.battle-token.inspected{z-index:14}.battle-token.selected .token-badge{outline-offset:2px;outline:3px solid #ffe18c}.battle-token.inspected .token-badge{box-shadow:0 0 0 3px #fff}.battle-token:focus-visible{outline-offset:4px;outline:3px solid #fff}.battle-token.routing{opacity:.7;filter:grayscale(.6)}.field-selection{display:none}.token-ranks,.token-facing{z-index:0}.token-badge{z-index:1}.token-name,.token-count{z-index:2}.token-count{position:relative}.battle-token.crowded:not(.detailed) .token-name,.battle-token.crowded:not(.detailed) .token-count{display:none}.post-battle header small{letter-spacing:.12em;font-size:12px}.post-battle{grid-template-columns:minmax(0,1fr)}.post-battle>section{width:min(760px,100%);min-width:0}.post-battle header p,.report-honors p{font-size:16px;line-height:1.5}.report-objective span,.report-objective em,.casualty-columns small{letter-spacing:.06em;font-size:12px}.casualty-columns span,.casualty-columns p{font-size:14px;line-height:1.4}.post-battle>section>button{letter-spacing:.06em;min-height:44px;font-size:14px}.unit-symbol>small{color:#483722;margin-top:3px;font:12px Arial;display:block}.battle-inspector{border:1px solid #958154;border-top:3px solid var(--roman);color:#f1e4c7;background:#242b24;min-width:0;padding:12px}.battle-inspector.carthage{border-top-color:#7bc3be}.inspector-title{align-items:center;gap:10px;display:flex}.inspector-title>span{font-size:26px}.inspector-title>div{flex:1;min-width:0}.inspector-title strong{overflow-wrap:anywhere;font:18px Georgia;display:block}.inspector-title small{color:#c3cab5;margin-bottom:4px;font:12px Arial;display:block}.inspector-title button{color:#f6eacb;background:#384032;border:1px solid #87917a;min-width:44px;min-height:44px;font:24px Arial}.battle-inspector dl{flex-wrap:wrap;gap:10px 20px;margin:12px 0;display:flex}.battle-inspector dt{color:#c1c5af;font:12px Arial}.battle-inspector dd{margin:4px 0 0;font:14px Arial}.battle-inspector p{overflow-wrap:anywhere;margin:10px 0 0;font:14px/1.5 Arial}.battle-inspector.empty>strong{font:16px Georgia}.inspect-attack{color:#fff0d0;cursor:pointer;background:#7d2a21;border:1px solid #ceab65;width:100%;min-height:44px;margin-top:12px;padding:10px;font:14px/1.4 Arial}.inspect-attack:disabled{color:#c4c4b6;cursor:default;background:#424438}@media (width<=1050px){.battle-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.field-selection{color:#f1e4c7;background:#242b24;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;font:14px Arial;display:flex}.field-selection span{margin-right:auto}.field-selection button{color:#fff1ca;cursor:pointer;background:#433c2a;border:1px solid #b59b61;min-height:44px;padding:8px;font:14px Arial}.battle-layout>.field-wrap{grid-template-rows:auto auto minmax(400px,60dvh) auto auto}.battle-layout>.unit-panel,.battle-layout>.orders-panel{max-height:none;overflow:visible}}@media (width<=700px){.tutorial{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:16px;top:12px}.post-battle{padding:14px}.tutorial button{width:100%}.battle-layout{grid-template-columns:minmax(0,1fr)}.battle-layout>.field-wrap{grid-column:1;grid-template-rows:auto auto minmax(400px,60dvh) auto auto}.battle-token{width:40px;height:44px}.token-name{display:none}.battle-token.selected .token-name,.battle-token.inspected .token-name{display:block}.battle-inspector{padding:12px}.field-training p{font-size:14px}}.order-overlays{pointer-events:none;z-index:3;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.field-selection{color:#f1e4c7;background:#242b24;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;font:14px Arial;display:flex}.field-selection span{margin-right:auto}.field-selection button{color:#fff1ca;cursor:pointer;background:#433c2a;border:1px solid #b59b61;min-height:44px;padding:8px;font:14px Arial}.quick-battle-orders{gap:6px;display:flex}.quick-battle-orders button{flex:1}.quick-battle-orders button:disabled{opacity:.45;cursor:default}@media (width<=700px){.quick-battle-orders{width:100%}}.order-overlays .movement-preview{fill:none;stroke:#ffe28a;stroke-width:.3px;stroke-dasharray:1.2 .7}.order-overlays .target-preview,.order-overlays .target-end{fill:none;stroke:#ff7365;stroke-width:.3px}.order-overlays .range-preview{fill:#ffe28a0b;stroke:#fff3bc;stroke-width:.18px;stroke-dasharray:.7 .5}.overlay-key{color:#eee6cb;background:#23251e;padding:10px 14px;font:14px/1.5 Arial,sans-serif}.command-details{overflow-wrap:anywhere;border-bottom:1px solid #9c8c65;padding:14px;font:14px/1.5 Arial,sans-serif}.command-details>strong{font-size:16px}.command-details p{margin:8px 0}.command-details fieldset{border:0;gap:8px;min-width:0;margin:12px 0 0;padding:0;display:grid}.command-details legend{margin-bottom:6px}.command-details label{gap:6px;display:grid}.command-details select,.command-details button{color:#24241c;width:100%;min-height:44px;font:inherit;white-space:normal;background:#ede4c5;border:1px solid #8b7b53;padding:8px}.command-details button[aria-pressed=true]{color:#fff2ce;background:#5f2520}.command-details button:disabled{opacity:.55}.command-details small{font-size:12px;line-height:1.5}.command-details .combat-breakdown{margin-top:12px}.combat-breakdown summary{cursor:pointer;min-height:44px;padding:10px 0}.combat-breakdown dl{gap:5px;margin:8px 0;display:grid}.combat-breakdown dl>div{justify-content:space-between;gap:8px;display:flex}.combat-breakdown dd{font-variant-numeric:tabular-nums;margin:0}.pursuit-preview{max-width:100%;font:16px/1.5 Arial,sans-serif}.pursuit-preview button:disabled{opacity:.5;cursor:not-allowed}.lesson-picker{margin:20px 0}.lesson-picker>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.lesson-picker button{text-align:left;color:#f2e8c9;background:#302e24;border:1px solid #bba160;gap:10px;padding:16px;font:14px/1.5 Arial,sans-serif;display:grid}.lesson-picker strong{font-size:17px}.lesson-picker button:hover{background:#494130}.lesson-picker button:disabled{opacity:.5}.lesson-brief{color:#f2e8c9;background:#2b3027;border-left:4px solid #cfb663;padding:14px 18px;font:16px/1.5 Arial,sans-serif}.lesson-brief p{margin:6px 0 0}.lesson-brief.complete{border-color:#87bb82}@media (width<=700px){.lesson-picker>div{grid-template-columns:1fr}.lesson-brief{font-size:14px}}.battle-layout>.field-wrap{flex-direction:column;align-self:start;height:auto;min-height:0;display:flex}.battle-layout>.field-wrap>.field{flex:none;width:100%;height:max(500px,65dvh);min-height:500px}@media (width<=1050px){.battle-layout>.field-wrap>.field{height:max(400px,60dvh);min-height:400px}}
