/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@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-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}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.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}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.powder-smoke-puff{opacity:var(--smoke-opacity,.75);transform:translate(calc(var(--smoke-dx) * var(--smoke-age,0) / 2), calc(var(--smoke-dy) * var(--smoke-age,0) / 2)) scale(calc(.85 + var(--smoke-age,0) * .3));transition:opacity 1.2s ease-out,transform 1.2s ease-out}.powder-smoke-bloom{animation:.8s ease-out powder-smoke-bloom}@keyframes powder-smoke-bloom{0%{opacity:.4;transform:translateY(5px)scale(.5)}to{opacity:1;transform:translate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.powder-smoke-puff{transition:none}.powder-smoke-bloom{animation:none}}:root{--background:#101b20;--foreground:#ece5d3;--popover:#1b282d;--primary:#d1b371;--border:#435052;--muted:#28353b;--muted-foreground:#afb6af;--gold:#d1b371;--ink:#101b20;--paper:#e6dcc4;--red:#b74c40;--blue:#6eacb8}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px}button{cursor:pointer;font:inherit}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible{outline-offset:4px;outline:2px solid #f2d289}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:400}p{line-height:1.6}.title-screen{isolation:isolate;background:#161c1d;min-height:100svh;position:relative;overflow:hidden}.title-art{object-fit:cover;object-position:50% 40%;z-index:-3;width:100%;height:100%;position:absolute}.title-shade{z-index:-1;background:linear-gradient(#0000 35%,#081216f5);position:absolute;inset:0}.edition{letter-spacing:3px;color:#283032;font-size:12px;position:absolute;top:27px;left:36px}.title-controls{width:340px;position:absolute;bottom:15%;right:10%}.eyebrow{letter-spacing:2.4px;color:var(--gold);margin:0 0 20px;font-size:12px}.menu-primary,.menu-secondary{border:1px solid #cab681;justify-content:space-between;align-items:center;width:100%;padding:18px 22px;font-family:Georgia,serif;font-size:24px;transition:all .2s;display:flex}.menu-primary{color:#182327;background:#d6c69d}.menu-primary:hover{background:#eadbb7;transform:translateY(-2px)}.menu-secondary{color:#ebe2ce;background:#0f191abf;margin-top:10px;font-size:20px}.menu-secondary:hover{background:#243435}.title-caption{color:#ccc7b5;font-size:14px}.title-footer{letter-spacing:2px;color:#acae9e;justify-content:space-between;font-size:12px;display:flex;position:absolute;bottom:24px;left:36px;right:36px}.dispatch-modal{background:#e6dcc4;color:#17262c!important;border:1px solid #b0a47f!important;border-radius:2px!important;max-width:560px!important;padding:32px!important}.dispatch-modal h2{font-family:Georgia,serif;font-size:28px}.dispatch-modal p{color:#344249}.dispatch-modal .eyebrow{color:#70613b}.gold-button{color:#162429;letter-spacing:.5px;background:#cfb57b;border:1px solid #c4a365;padding:12px 20px;font-size:14px;font-weight:700}.gold-button:hover{background:#e0c890}.line-button{color:var(--foreground);background:0 0;border:1px solid #566366;padding:10px 16px}.line-button:hover{background:#2d3b3f}@media (width<=650px){.title-art{object-fit:cover;object-position:40% center}.title-controls{width:auto;bottom:14%;left:7%;right:7%}.edition{letter-spacing:1px;font-size:10px;left:7%}.title-footer{font-size:10px;left:7%;right:7%}.title-footer span:first-child{display:none}}.menu-link{color:#e3dbc9;text-underline-offset:4px;background:0 0;border:0;padding:16px 15px 0 0;font-size:14px;text-decoration:underline}.title-notice{color:#edb29b;font-size:14px}.game-shell{background:#142328;min-height:100svh}.game-nav{background:#101c21;border-bottom:1px solid #3d4b4c;justify-content:space-between;align-items:center;height:82px;padding:0 32px;display:flex}.wordmark{color:#eee1bd;letter-spacing:3px;text-align:center;background:0 0;border:0;font:25px Georgia,serif}.wordmark span{letter-spacing:5px;color:#9eab9f;margin-top:5px;font:10px Arial,sans-serif;display:block}.nav-center{color:#879b96;letter-spacing:2px;align-items:center;gap:16px;font-size:11px;display:flex}.nav-sun{color:#b8a174;font-size:26px}.nav-tools{gap:24px;display:flex}.nav-tools button{color:#c7d0bf;background:0 0;border:0;align-items:center;gap:8px;font-size:12px;display:flex}.campaign{max-width:1600px;margin:auto;padding:30px 32px 0}.campaign-heading{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.campaign-heading .eyebrow{margin:0 0 8px}.campaign-heading h1{margin:0;font-size:32px}.campaign-clock{text-align:right;grid-template-columns:auto auto;align-items:center;gap:6px 16px;display:grid}.campaign-clock span{letter-spacing:2px;color:#a8b4a6;font-size:11px}.campaign-clock b{font-size:19px;font-weight:400}.campaign-clock .line-button{grid-column:1/-1;gap:12px;padding:6px 10px;font-size:12px;display:flex}.resources{border-block:1px solid #48534e;grid-template-columns:repeat(7,1fr);margin-bottom:26px;padding:17px 0;display:grid}.resources>div{border-right:1px solid #394943;padding:0 20px}.resources>div:first-child{padding-left:0}.resources>div:last-child{border:0}.resources span{letter-spacing:1.5px;text-transform:uppercase;color:#9baea3;margin-bottom:7px;font-size:11px;display:block}.resources b{color:#ddcc9d;font:25px Georgia,serif}.resources small{color:#99aaa1;font-size:16px}.phase-banner{background:#233136;border:1px solid #5c5b48;align-items:center;gap:23px;margin-bottom:24px;padding:18px 23px;display:flex}.phase-symbol{color:#cdb783;border-right:1px solid #62604e;padding-right:20px;font:38px Georgia,serif}.phase-banner .eyebrow{margin-bottom:4px;font-size:10px}.phase-banner h2{margin:0;font-size:23px}.phase-banner p:not(.eyebrow){color:#aebbb0;margin:5px 0 0;font-size:13px}.phase-banner .gold-button{white-space:nowrap;align-items:center;gap:15px;margin-left:auto;display:flex}.phase-checks{flex-shrink:0;gap:6px;margin-left:auto;display:flex}.phase-checks i{background:#50625d;width:16px;height:5px}.phase-checks i.done{background:#c5b278}.campaign-tab-list{border-bottom:1px solid #4a5a54;background:0 0!important;border-radius:0!important;justify-content:flex-start!important;gap:25px!important;width:100%!important;height:auto!important;padding:0!important}.campaign-tab{color:#9dafaa!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;flex:none!important;gap:9px!important;height:auto!important;padding:16px 4px!important;font-size:13px!important}.campaign-tab[data-active]{color:#e1ce9d!important;border-bottom:2px solid #c6ab70!important}.strategic-layout{grid-template-columns:195px minmax(360px,1fr) 280px;min-height:590px;padding-top:12px;display:grid}.theater-list{border-right:1px solid #3a4b47;padding:20px 15px 15px 0}.theater-list>.eyebrow{letter-spacing:1.5px;font-size:10px}.theater h3{color:#d3cfb5;margin:20px 0 10px;font-size:17px}.theater button{text-align:left;color:#a5b7ad;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:7px 5px;font-size:12px;display:flex}.theater button.active{color:#e8dbb8;background:#2a403f}.theater button small{color:#728b81;margin-left:auto;font-size:10px}.patriot-dot,.royalist-dot{background:#89bdb5;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.royalist-dot{background:#ba725e}.strategic-map{background:radial-gradient(#29423e 0%,#1a302f 72%);border:1px solid #3a5148;align-self:start;margin:0 16px;position:relative;overflow:hidden}.strategic-map svg{width:100%;min-height:480px;display:block}.map-topline{letter-spacing:3px;color:#8fa497;justify-content:space-between;padding:17px 20px;font:12px Georgia,serif;display:flex}.sector-node{cursor:pointer}.sector-node:hover circle{stroke:#dfcf9c}.map-legend{color:#9eb2a4;justify-content:center;gap:20px;padding:10px 8px 16px;font-size:10px;display:flex}.map-legend span{align-items:center;gap:6px;display:flex}.sector-detail{padding:20px 0 0 14px}.sector-detail .eyebrow{font-size:10px}.sector-detail h2{margin:0 0 15px;font-size:27px;line-height:1.2}.sector-asset{color:#a7b6aa;border-bottom:1px solid #41534a;padding-bottom:20px;font-size:14px}.sector-stat{color:#9fafa5;border-bottom:1px solid #33483e;justify-content:space-between;padding:10px 0;font-size:12px;display:flex}.sector-stat b{color:#d8d6be;font-weight:400}.deploy-button{justify-content:center;gap:10px;width:100%;margin:24px 0 10px;font-size:13px;display:flex}.sector-detail>.line-button{width:100%;font-size:11px}.militia-label{margin-top:23px;margin-bottom:10px}.militia-button{color:#b7c6b9;background:0 0;border:0;border-bottom:1px solid #40534a;justify-content:space-between;gap:10px;width:100%;padding:10px 0;font-size:12px;display:flex}.militia-button b{margin-left:auto}.squad-note{color:#bdc7b3;border-top:1px solid #3f5149;gap:10px;margin-top:26px;padding-top:19px;font-size:12px;display:flex}.squad-note small{color:#8b9f92;font-size:10px}.transport-label{color:#adbcae;margin-top:15px;font-size:12px;display:block}.transport-label select{color:#d5dfc8;background:#22372f;border:1px solid #586852;width:100%;margin-top:8px;padding:9px;font-size:12px;display:block}.campaign-footer{color:#7f9486;border-top:1px solid #46564c;justify-content:space-between;margin-top:28px;padding:24px 0;font:14px Georgia,serif;display:flex}.campaign-footer span:last-child{letter-spacing:2px;font:10px Arial}.notice{color:#e4d4a4;background:#433e26;border:1px solid #81744b;margin-bottom:12px;padding:12px 20px;font-size:14px}.notice.error{color:#efc1a8;background:#482b29;border-color:#915b4c}.dismissible{border:0;justify-content:space-between;margin:0;display:flex}.dismissible button{color:inherit;background:0 0;border:0}.section-intro{padding:25px 0 20px}.section-intro h2{margin:0;font-size:29px}.section-intro p{color:#a1b3a6;margin:8px 0 0;font-size:14px}.roster-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.officer{background:#1d302c;border:1px solid #43584d;padding:23px}.officer.in-squad{border-color:#a49362}.officer-head{align-items:center;gap:14px;display:flex}.officer-avatar{color:#bcb78d;background:#314437;border:1px solid #67775f;flex-shrink:0;place-items:center;width:64px;height:76px;font:25px Georgia;display:grid}.officer-avatar img{object-fit:cover;width:100%;height:100%}.officer-head .eyebrow{letter-spacing:1px;margin:0 0 7px;font-size:9px}.officer h3{margin:0;font-size:21px;line-height:1.2}.officer-bio{color:#a8b9a9;min-height:100px;font-size:13px;line-height:1.7}.officer-stats{color:#94ad9a;border-block:1px solid #3c5141;gap:15px;margin-bottom:15px;padding:12px 0;font-size:11px;display:flex}.officer-stats b{color:#d2c79d;margin-top:5px;font:20px Georgia;display:block}.officer button{justify-content:center;align-items:center;gap:8px;width:100%;font-size:12px;display:flex}.officer>small{color:#97ad9a;margin-top:12px;font-size:11px;line-height:1.5;display:block}.inventory-band{background:#20372e;border:1px solid #3f5746;flex-wrap:wrap;gap:15px;margin-bottom:25px;padding:15px 20px;display:flex}.inventory-band span{color:#9caf9d;font-size:12px}.inventory-band b{color:#e2d3a8;margin-left:8px;font-weight:400}.workshop-grid{grid-template-columns:1.2fr 1fr;gap:40px;display:grid}.workshop h3{margin:0 0 16px;font-size:21px}.recipe{border-top:1px solid #435746;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;display:flex}.recipe h3{margin:0;font-size:19px}.recipe p,.recipe small,.muted{color:#9fb09c;margin:6px 0;font-size:12px}.recipe button{white-space:nowrap;font-size:12px}.recipe small{color:#b7aa7a}.offer{border-bottom:1px solid #435745;justify-content:space-between;align-items:center;padding:16px 0;font-size:14px;display:flex}.offer button{font-size:12px}.offer small{color:#93a995;margin-top:7px;font-size:11px;display:block}.workshop .spaced-heading{margin-top:35px}.production-queue{background:#1c332a;border:1px solid #3f5746;margin-top:25px;padding:20px}.production-queue p{color:#b3c3ad;font-size:13px}.faction-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.faction{background:#1e342b;border:1px solid #425b4a;padding:20px}.faction h3{margin:0;font-size:21px}.faction p{color:#a1b59d;min-height:45px;font-size:13px}.stat-pair{color:#9cafa1;justify-content:space-between;margin:14px 0 7px;font-size:12px;display:flex}.stat-pair b{color:#d9d7bb;font-weight:400}.reputation-meter{background:#465246;height:4px;margin-top:8px}.reputation-meter i{background:#ada36b;height:100%;display:block}.accord-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px;display:grid}.accord{text-align:left;color:#dcd6b0;background:#263d2e;border:1px solid #5c6950;padding:18px}.accord:hover{background:#324c35}.accord small{color:#a3b290;margin-top:7px;font-size:12px;display:block}.journal{padding-top:20px}.journal>h2{font-size:32px}.journal-columns{grid-template-columns:1fr 1fr;gap:40px;display:grid}.chapter{border:1px solid #395541;margin-bottom:12px;padding:20px}.chapter.active{background:#2d412d;border-color:#ac9b68}.chapter h3{margin:0;font-size:22px}.chapter p{color:#a0b59b;font-size:13px}.dispatch-entry{border-bottom:1px solid #38583d;padding:15px 0}.dispatch-entry>span{letter-spacing:2px;color:#b6a470;font-size:10px}.dispatch-entry p{color:#bacbb0;font:16px/1.6 Georgia,serif}.manual-modal{max-height:85svh;overflow:auto;max-width:760px!important}.manual-content{gap:15px;display:grid}.manual-content h3{margin:0;font:19px Georgia,serif}.manual-content p{margin:6px 0;font-size:14px;line-height:1.6}.manual-note{border-top:1px solid #b7ac8c;padding-top:15px;font-size:12px!important}.dialog-close{color:#273a30;background:0 0;border:1px solid #8d917e;padding:10px 20px}.dialog-buttons{flex-direction:column;gap:10px;display:flex}.dialog-buttons .line-button{color:#273a30;border-color:#8d917e}.dialog-buttons .gold-button{gap:12px;display:flex}.battle-layout{max-width:1800px;margin:auto}.battle-header{border-bottom:1px solid #3a4d47;justify-content:space-between;align-items:center;padding:24px 30px 18px;display:flex}.battle-header .eyebrow{margin:0 0 7px;font-size:10px}.battle-header h1{margin:0;font-size:29px}.battle-status{color:#cad9c7;align-items:center;gap:8px;font-size:12px;display:flex}.turn-dot{background:#acd3b4;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #75c3a4}.enemy-count{color:#d29d85;border-left:1px solid #526050;margin-left:20px;padding-left:18px}.battle-middle{grid-template-columns:minmax(500px,1fr) 285px;display:grid}.field-wrap{background:radial-gradient(#354436,#233a32 70%,#172d29);min-height:460px;position:relative;overflow:auto}.map-caption{letter-spacing:1px;color:#9cad95;justify-content:space-between;gap:10px;padding:18px 24px 0;font-size:10px;display:flex}.tactical-field{width:100%;height:min(58vh,670px);min-height:420px;display:block}.tactical-field g[role=button]{cursor:pointer;outline:none}.tactical-field g[role=button]:focus>polygon:first-child{stroke:#fff0b5;stroke-width:3px}.battle-inspector{background:#192c27;border-left:1px solid #445349;padding:22px}.battle-inspector>.eyebrow{margin-bottom:15px;font-size:10px}.soldier-heading{align-items:center;gap:15px;margin-bottom:18px;display:flex}.portrait{color:#c7b383;background:#3a4c35;border:1px solid #768064;place-items:center;width:54px;height:65px;font:23px Georgia;display:grid}.portrait img{object-fit:cover;width:100%;height:100%}.soldier-heading h2{margin:0;font-size:27px}.soldier-heading span{color:#94aa94;font-size:10px}.meter{background:#3d4e39;height:4px;margin-bottom:15px}.meter i{background:#9abc8d;height:100%;display:block}.meter.ap i{background:#6cb6b0}.weapon-detail{border-top:1px solid #45553c;margin-top:20px;padding-top:18px}.weapon-detail .eyebrow{font-size:9px}.weapon-detail h3{margin:9px 0 0;font-size:20px}.weapon-detail p{color:#a7b493;margin:7px 0;font-size:11px}.danger-text{color:#e1a083!important}.aim-control{border-top:1px solid #43573d;margin-top:15px;padding-top:14px}.aim-control>span{color:#a5b593;font-size:11px}.aim-control>div{gap:5px;margin:10px 0;display:flex}.aim-control button{color:#b1c39d;background:#21382b;border:1px solid #5b6d4d;width:30px;height:26px;font-size:12px}.aim-control button.active{color:#203025;background:#c2b47a;border-color:#dbd4a1}.aim-control small{color:#91ad8b;font-size:10px}.field-log{border-top:1px solid #455c3d;margin-top:21px;padding-top:15px}.field-log .eyebrow{margin-bottom:12px;font-size:9px}.field-log p{color:#88a17f;border-left:1px solid #4a603d;margin-bottom:10px;padding-left:10px;font:12px/1.5 Georgia,serif}.field-log p.latest{color:#cad6b4;border-color:#c3b66e}.retreat-button{color:#b59472;background:0 0;border:0;border-bottom:1px solid #6e6549;padding:7px 0;font-size:11px}.command-bar{background:#15291f;border-block:1px solid #4d6141;justify-content:space-between;align-items:stretch;gap:12px;padding:12px 24px;display:flex}.commands{flex-wrap:wrap;gap:4px;display:flex}.commands button{color:#a8bc95;background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:67px;padding:10px 8px;font-size:10px;display:flex}.commands button.selected{color:#e6d699;background:#32472b;border-color:#b7aa68}.commands button:hover{background:#2a4229}.end-turn{color:#24351e;white-space:nowrap;background:#c5b071;border:1px solid #d9ca89;justify-content:center;align-items:center;gap:16px;padding:0 20px;font:18px Georgia,serif;display:flex}.squad-strip{background:#13281c;align-items:stretch;gap:10px;padding:18px 24px;display:flex}.squad-card{color:#c6d0ac;text-align:left;background:#1d3724;border:1px solid #4b6141;align-items:center;gap:12px;min-width:145px;padding:12px;display:flex}.squad-card.active{background:#2a4127;border-color:#d3bb73;box-shadow:inset 0 2px #d3bb73}.squad-card.fallen{opacity:.35}.unit-index{color:#97a47e;font:11px Georgia}.squad-card strong{font:18px Georgia;display:block}.squad-card div>span{letter-spacing:.6px;color:#9cb08d;margin-top:7px;font-size:8px;display:block}.tiny-bars{align-items:flex-end;gap:4px;height:28px;margin-left:auto;display:flex}.tiny-bars i{background:#a6be83;width:3px}.tiny-bars i:last-child{background:#6eb5a3}.keyboard-help{color:#819b72;align-self:center;margin-left:auto;font-size:9px;line-height:1.8}.battle-result{color:#263222;text-align:center;background:#e1d4af;border:1px solid #b39f68;min-width:320px;padding:35px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 80px #0a190dcc}.battle-result .eyebrow{color:#77673d}.battle-result h2{margin:15px 0;font-size:34px}.battle-result p{font:16px Georgia}.battle-result button{gap:15px;margin:20px auto 0;display:flex}.game-shell .gold-button{justify-content:center;align-items:center;gap:10px;display:inline-flex}.battle-result .line-button{color:#263222;border-color:#77673d}.battle-result .line-button:hover{color:#263222;background:#d2c398;border-color:#263222}.battle-result button:focus-visible{outline-offset:4px;outline:3px solid #263222}@media (width>=1500px){.tactical-field{height:62vh}.strategic-layout{grid-template-columns:220px 1fr 320px}.strategic-map svg{min-height:560px}}@media (width<=1100px){.nav-center{display:none}.campaign{padding:22px 20px 0}.strategic-layout{grid-template-columns:155px 1fr 230px}.strategic-map{margin:0 8px}.sector-detail{padding-left:8px}.sector-detail h2{font-size:23px}.theater button{font-size:11px}.resources>div{padding:0 12px}.phase-banner .gold-button{white-space:normal;font-size:11px}.campaign-tab-list{gap:13px!important}.campaign-tab{font-size:12px!important}.battle-middle{grid-template-columns:minmax(400px,1fr) 245px}.battle-inspector{padding:15px}.commands button{min-width:54px;padding:8px 4px;font-size:9px}.squad-card{gap:8px;min-width:120px;padding:9px}.keyboard-help{display:none}.roster-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=800px){.game-nav{height:68px;padding:0 17px}.wordmark{font-size:20px}.nav-tools{gap:15px}.campaign-heading{align-items:flex-start;gap:15px}.campaign-heading h1{font-size:25px}.campaign-clock{gap:4px;font-size:11px}.campaign-clock .line-button{font-size:10px}.resources{grid-template-columns:repeat(4,1fr);gap:18px 0}.resources>div,.resources>div:first-child{padding-left:12px}.resources>div:nth-child(4){border:0}.resources b{font-size:22px}.resources span{font-size:9px}.phase-banner{flex-wrap:wrap;gap:14px;padding:15px}.phase-banner h2{font-size:20px}.phase-banner>div:nth-child(2){flex:1}.phase-symbol{padding-right:12px;font-size:29px}.phase-banner .gold-button{width:100%;margin-left:0}.phase-checks{display:none}.campaign-tab-list{overflow:auto;gap:16px!important}.campaign-tab{font-size:11px!important}.strategic-layout{grid-template-columns:1fr 220px}.theater-list{display:none}.strategic-map{margin:0}.strategic-map svg{min-height:400px}.map-legend{gap:10px;font-size:9px}.sector-detail{padding:15px}.sector-detail h2{font-size:22px}.sector-detail .eyebrow{font-size:9px}.campaign-footer{font-size:12px}.campaign-footer span:last-child{display:none}.battle-header{padding:17px}.battle-header h1{font-size:24px}.battle-status{flex-wrap:wrap;justify-content:flex-end;max-width:170px;font-size:10px}.enemy-count{border:0;margin:0;padding:0}.battle-middle{grid-template-columns:1fr}.battle-inspector{display:none}.tactical-field{height:56vh;min-height:350px}.map-caption{font-size:9px}.command-bar{gap:4px;padding:10px}.commands button{min-width:45px;font-size:8px}.end-turn{gap:5px;padding:0 12px;font-size:15px}.squad-strip{gap:7px;padding:12px 10px;overflow:auto}.squad-card{min-width:120px}.workshop-grid,.journal-columns{grid-template-columns:1fr;gap:25px}.faction-grid{grid-template-columns:repeat(2,1fr)}.accord-grid{grid-template-columns:1fr}.title-controls{width:330px;bottom:10%;right:6%}.title-caption{font-size:12px}.menu-primary{padding:15px 19px;font-size:22px}.menu-secondary{padding:13px 19px;font-size:18px}.title-footer{font-size:9px;bottom:18px}}@media (width<=530px){.campaign{padding:18px 12px 0}.campaign-heading h1{font-size:22px}.campaign-heading .eyebrow{letter-spacing:1px;font-size:9px}.campaign-clock .line-button{padding:5px}.strategic-layout{grid-template-columns:1fr}.strategic-map svg{min-height:390px}.sector-detail{border-top:1px solid #4c6451;grid-template-columns:1fr 1fr;gap:0 15px;padding:20px 4px;display:grid}.sector-detail>.eyebrow,.sector-detail>h2,.sector-asset,.sector-detail>.deploy-button,.sector-detail>.line-button,.sector-detail>.squad-note,.transport-label,.militia-label,.militia-button{grid-column:1/-1}.sector-stat{font-size:11px}.roster-grid,.faction-grid{grid-template-columns:1fr}.officer-bio{min-height:0}.title-controls{width:auto;bottom:10%;left:6%;right:6%}.title-art{object-position:48% center}.edition{font-size:9px}.command-bar{flex-direction:column}.end-turn{padding:12px}.commands{justify-content:center}.battle-header h1{font-size:20px}.battle-header .eyebrow{font-size:8px}.battle-status{max-width:130px;font-size:9px}.tactical-field{min-width:610px;height:430px}.field-wrap{min-height:430px}.map-caption{min-width:600px}.battle-result{min-width:280px;padding:22px}.battle-result h2{font-size:28px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width>=801px){.game-nav{height:68px}.battle-header{height:82px;padding:15px 25px}.battle-middle{height:calc(100svh - 308px);min-height:345px}.field-wrap{min-height:0}.tactical-field{height:calc(100% - 38px);min-height:0}.battle-inspector{overflow:auto}.command-bar{padding:7px 18px}.commands button{min-width:62px;padding:8px 6px;font-size:11px}.squad-strip{padding:12px 18px}.campaign{padding-top:20px}.campaign-heading{margin-bottom:18px}.resources{margin-bottom:18px;padding:12px 0}.phase-banner{margin-bottom:14px;padding:13px 20px}.campaign-tab{padding-block:13px!important}}.artillery-control{border-top:1px solid #506344;padding:18px 0}.artillery-control select{color:#dfdfb7;background:#243923;border:1px solid #70825c;width:100%;margin-bottom:8px;padding:8px;font-size:12px}.artillery-control small{color:#aeb998;margin-top:10px;font-size:11px;display:block}.artillery-control .eyebrow{font-size:10px}.officer>small,.recipe small,.recipe p,.offer small,.sector-stat,.theater button,.aim-control>span,.field-log p,.weapon-detail p{font-size:13px}.campaign-tab{font-size:14px!important}.resources span,.nav-tools button,.campaign-clock .line-button{font-size:12px}.map-caption{letter-spacing:0;font-size:12px}.squad-card div>span{font-size:10px}.squad-card{min-width:150px}.field-log p{line-height:1.55}.mobile-details{display:none}.battle-error{color:#ffe1bb;pointer-events:none;background:#422b23e8;border:1px solid #986e51;padding:9px 14px;font-size:13px;position:absolute;bottom:6px;left:15px;right:15px}.field-wrap{position:relative}@media (width<=800px){.mobile-details{padding:5px 8px;font-size:11px;display:block}.battle-inspector.inspector-open{max-height:420px;display:block;overflow:auto}.battle-middle{height:auto}.battle-status{max-width:190px}.battle-inspector .aim-control button{min-width:40px;min-height:40px}.battle-inspector .retreat-button{padding:14px 0;font-size:14px}.commands button{min-width:56px!important;font-size:11px!important}.field-log p{font-size:14px}.field-wrap{overflow:auto}}.field-supplies{border-top:1px solid #43573d;margin-top:15px;padding-top:14px}.field-supplies p,.field-supplies small{font-size:12px}.field-supplies button{width:100%;margin:7px 0;font-size:12px;display:block}.map-zoom{align-items:center;gap:9px;display:flex}.map-zoom button{color:#ecdfb9;background:#233d2c;border:1px solid #708467;width:30px;height:28px;font-size:20px;line-height:1}.map-zoom span{text-align:center;min-width:35px}.mentor-dispatch{background:#223b2b;border:1px solid #7e744d;gap:20px;margin-bottom:24px;padding:22px;display:flex}.mentor-dispatch img{object-fit:cover;border:1px solid #a58a52;width:96px;height:96px}.mentor-dispatch h3{margin:4px 0;font-size:24px}.mentor-dispatch p{margin:6px 0}.command-intelligence{grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0 35px;display:grid}.command-intelligence article{background:#192f26;border:1px solid #4c6250;padding:18px}.command-intelligence h3{margin:10px 0;font-size:22px}.command-intelligence p{font-size:14px}.command-intelligence small{color:#b5bba4;font-size:13px}.foundry-illustration{float:right;object-fit:contain;width:150px;height:130px;margin:0 0 5px 15px}.workshop-grid{clear:both}@media (width<=800px){.command-intelligence{grid-template-columns:1fr}.mentor-dispatch{gap:14px;padding:14px}.mentor-dispatch img{width:64px;height:64px}}.campaign-outcome{background:#2e432d;border:1px solid #d2b369;margin-bottom:24px;padding:24px}.campaign-outcome h2{margin:12px 0;font-size:32px}.campaign-outcome p{max-width:850px}.artillery-orders{grid-template-columns:1fr;gap:6px;margin-block:8px;display:grid}.artillery-control small{margin:8px 0;line-height:1.5;display:block}.weapon-icon{object-fit:contain;background:#e3d6b31a;width:100%;height:85px;margin:6px 0 8px}.missing-page{text-align:center;place-content:center;gap:15px;min-height:100svh;padding:25px;display:grid}.missing-page h1{font-size:38px}.missing-page a{color:#e3c985}.movement-orders{border-top:1px solid #52645a;gap:.55rem;margin:1.2rem 0;padding-top:1rem;display:grid}.movement-orders select{color:#e9dfc5;background:#182d2d;border:1px solid #667b6a;border-radius:2px;width:100%;padding:.65rem}.movement-orders .line-button{text-align:left;white-space:normal;width:100%}.meter.energy i{background:#a9b985}.field-supplies>div{border-bottom:1px solid #52645a;padding:.5rem 0}.field-supplies>div .line-button{margin:.25rem .25rem .25rem 0}.campaign-picker{color:#e5dbc5;letter-spacing:1px;gap:7px;margin:0 0 15px;font-size:12px;display:grid}.campaign-picker select{color:#e5dbc5;width:100%;font:inherit;background:#162527;border:1px solid #938466;padding:10px}.campaign-picker select:focus-visible{outline-offset:3px;outline:2px solid #f2d289}.sector-continuation{color:#eee5ce;background:#263a37;border-block:1px solid #7c8f79;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.sector-continuation button{color:inherit;cursor:pointer;background:#172a29;border:1px solid #bda777;padding:.5rem .8rem}.sector-continuation button:disabled{opacity:.55;cursor:default}.sector-continuation button:focus-visible{outline-offset:3px;outline:2px solid #f2d289}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}.tactical-field.aiming,.tactical-field.aiming *{cursor:none!important}.aim-cursor{color:#e1d692;fill:none;stroke:currentColor;stroke-width:1.5px;filter:drop-shadow(0 1px 1px #10180e)}.aim-cursor.invalid{color:#ed9d7c}.aim-cursor .aim-outer{stroke-width:1px;opacity:.8}.aim-cursor .aim-step{stroke-width:3px;opacity:.22}.aim-cursor .aim-step.filled{opacity:1}.aim-cursor text{fill:currentColor;stroke:#11190f;stroke-width:3px;paint-order:stroke;font:600 11px ui-monospace,monospace}.aim-cursor .aim-detail{font-size:10px}.tactical-field [data-person-hit-target]:focus:not(:focus-visible){outline:none}.aim-cursor .aim-empty,.aim-cursor .aim-reload{stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.combat-journal{color:#f1e5c7;font-size:.8rem}.combat-journal>summary{cursor:pointer;white-space:nowrap;background:#25372e;border:1px solid #796d50;border-radius:3px;padding:.4rem .6rem}.combat-journal>summary:focus-visible{outline-offset:3px;outline:2px solid #f0cf80}.combat-journal-panel{z-index:80;box-sizing:border-box;overscroll-behavior:contain;background:#17271f;border:1px solid #a39268;border-radius:4px;width:min(32rem,100vw - 2rem);max-height:min(28rem,65vh);padding:1rem;line-height:1.5;position:absolute;top:calc(100% + .4rem);right:8px;overflow:auto;box-shadow:0 .4rem 1.5rem #0009}.combat-journal-panel p{color:#c7c6ad;margin:0 0 .65rem}.combat-journal-panel p:last-child{margin-bottom:0}.combat-journal-panel ol{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.combat-journal-panel li{overflow-wrap:anywhere;border-top:1px solid #ffffff21;grid-template-columns:4.5rem minmax(0,1fr);gap:.5rem;padding-top:.5rem;display:grid}.combat-journal-turn{color:#d6bd80;font-variant-numeric:tabular-nums}@media (width<=650px){.battle-layout .tactical-map-toolbar .map-toolbar-actions{flex-wrap:wrap;grid-area:3/1/auto/-1;justify-content:flex-end}}.battle-layout .ja2-conversation{z-index:12;color:#f2edd7;background:#19231d;border:2px solid #aaa076;width:310px;max-width:calc(100% - 24px);max-height:calc(100% - 52px);padding:5px;font-size:12px;position:absolute;top:42px;right:12px;overflow:auto;box-shadow:inset 0 0 0 2px #394235,2px 3px 8px #0009}.ja2-conversation-head{grid-template-columns:112px 1fr;gap:5px;display:grid}.ja2-conversation figure{background:#111814;border:1px solid #82795a;margin:0}.ja2-conversation figure img{object-fit:contain;object-position:center;width:100%;height:142px;display:block}.ja2-conversation figcaption{text-align:center;color:#e1d4a8;padding:4px;font-size:11px;line-height:1.2}.ja2-conversation-choices{flex-direction:column;gap:3px;display:flex}.battle-layout .ja2-conversation button{color:#f1e6bf;background:linear-gradient(#48513d,#303c2d);border:1px solid #847b59;border-radius:0;min-height:27px;padding:4px 6px;font-size:11px;line-height:1.2;box-shadow:inset 1px 1px #ffffff15}.battle-layout .ja2-conversation button:disabled{opacity:.45;cursor:not-allowed}.battle-layout .ja2-conversation button:focus-visible,.ja2-speech button:focus-visible{outline-offset:1px;outline:2px solid #f4cf68}.ja2-conversation-choices button:last-child{margin-top:auto}.battle-layout .ja2-conversation-text{background:#101711;border:1px solid #b8aa78;margin:5px 0 0;padding:9px;font-size:13px;line-height:1.45}.ja2-conversation-reason{color:#ddc796;padding:5px}.ja2-conversation-reason p{margin:0 0 5px}.battle-layout .ja2-speech{z-index:11;color:#f7f1da;pointer-events:auto;background:#172016f5;border:2px solid #c1b482;width:max-content;max-width:min(280px,100% - 24px);padding:8px 27px 8px 10px;position:absolute;transform:translate(-50%,-100%);box-shadow:inset 0 0 0 1px #53563a,2px 3px 5px #0008}.ja2-speech p{margin:0;font-size:13px;line-height:1.4}.battle-layout .ja2-speech button{color:#d4cba9;background:0 0;border:0;padding:1px 4px;position:absolute;top:2px;right:3px}.battle-layout .ja2-hud .ja2-strip.squad-view{flex-shrink:0;grid-template-columns:minmax(0,1fr) 210px;gap:10px;height:186px;min-height:186px;max-height:none;padding:8px;display:grid;position:relative;overflow:visible}.battle-layout .ja2-hud .ja2-roster-pages{min-width:0;height:100%;position:relative}.battle-layout .ja2-hud .ja2-roster{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:row;gap:6px;height:100%;display:grid;overflow:hidden}.battle-layout .ja2-hud .ja2-portrait-cell,.battle-layout .ja2-hud .empty-portrait-slot{box-sizing:border-box;min-width:0;height:100%;min-height:0;padding:4px}.battle-layout .ja2-hud .ja2-portrait-cell{grid-template-rows:minmax(0,1fr) 17px 28px 14px;grid-template-columns:minmax(0,1fr) 15px;gap:2px}.battle-layout .ja2-hud .ja2-portrait-face{min-height:0;overflow:hidden}.battle-layout .ja2-hud .ja2-portrait-face img{object-fit:contain;object-position:center;box-sizing:border-box;background:#121b16;width:100%;height:100%}.battle-layout .ja2-hud .ja2-portrait-cell .portrait-name{white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:15px;overflow:hidden}.battle-layout .ja2-hud .ja2-portrait-cell .portrait-numbers{white-space:nowrap;text-overflow:ellipsis;font-size:9px;line-height:13px;overflow:hidden}.battle-layout .ja2-hud .ja2-roster-hands{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;min-width:0;min-height:0;display:grid}.battle-layout .ja2-hud .ja2-roster-hand{color:#c9c3a7;background:#131d17;border:1px inset #677054;place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.battle-layout .ja2-hud .ja2-roster-hand img{object-fit:contain;image-rendering:auto;pointer-events:none;width:100%;height:100%;max-height:26px}.battle-layout .ja2-hud .ja2-roster-hand>svg{width:16px;height:16px}.battle-layout .ja2-hud .ja2-roster-hand.empty{color:#65715e}.battle-layout .ja2-hud .ja2-roster-hand.blocked{color:#90967d;background:repeating-linear-gradient(135deg,#1c281e,#1c281e 4px,#35402d 4px 5px)}.battle-layout .ja2-hud .roster-hand-load{white-space:nowrap;color:#ede3be;text-shadow:0 1px 2px #000;font:9px/10px monospace;position:absolute;bottom:0;left:2px}.battle-layout .ja2-hud .roster-hand-loading{font:8px/10px monospace}.battle-layout .ja2-hud .roster-hand-status{text-shadow:0 1px 1px #000;gap:2px;font:700 19px monospace;display:flex;position:absolute;top:0;right:2px}.battle-layout .ja2-hud .roster-hand-status .close-combat{color:#ff6861}.battle-layout .ja2-hud .roster-hand-status .attachment{color:#92df74}.battle-layout .ja2-hud .ja2-vitals{gap:2px}.battle-layout .ja2-hud .ja2-vitals>span{flex:1;min-width:3px}.battle-layout .ja2-hud .ja2-group-tag{background:#162519;padding:2px;font-size:9px;position:absolute;top:5px;left:5px}.battle-layout .ja2-hud .ja2-portrait-cell{position:relative}.battle-layout .ja2-hud .ja2-roster-paging{background:#202c23;border:1px solid #9a8b59;align-items:center;gap:8px;padding:2px 6px;font-size:11px;display:flex;position:absolute;bottom:100%;right:0}.battle-layout .ja2-hud .ja2-roster-paging button{padding:1px 10px}.battle-layout .ja2-hud .has-artillery .ja2-roster-paging{left:0;right:auto}.battle-layout .ja2-hud .ja2-orders-menu{z-index:12;color:#ece1c4;background:#202c23;border:1px solid #9a8b59;font-size:11px;position:absolute;bottom:100%;right:8px}.battle-layout .ja2-hud .ja2-orders-menu>summary{cursor:pointer;padding:5px 12px;list-style:none}.battle-layout .ja2-hud .ja2-artillery-toolbar{z-index:12;align-items:flex-end;gap:6px;max-width:calc(100vw - 24px);display:flex;position:absolute;bottom:100%;right:8px}.battle-layout .ja2-hud .ja2-artillery-menu{color:#ece1c4;background:#202c23;border:1px solid #9a8b59;min-width:0;font-size:11px}.battle-layout .ja2-hud .ja2-artillery-menu>summary{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;max-width:180px;padding:5px 12px;overflow:hidden}.battle-layout .ja2-hud .ja2-artillery-menu>summary[data-cannon-active=true]{color:#eddda8}.battle-layout .ja2-hud .ja2-personal-weapon{white-space:nowrap;flex-shrink:0;padding:5px 9px;font-size:11px}.battle-layout .ja2-hud .ja2-artillery-menu .ja2-artillery{box-sizing:border-box;background:#202c23;border:1px solid #9a8b59;gap:8px;width:min(330px,100vw - 32px);max-height:45svh;padding:12px;position:absolute;bottom:100%;right:0;overflow:auto;box-shadow:0 0 24px #0008}.battle-layout .ja2-hud .ja2-artillery-menu p{flex-basis:100%;margin:0;font-size:11px}.battle-layout .ja2-hud .ja2-orders-menu .ja2-context{background:#202c23;border:1px solid #9a8b59;gap:8px;width:min(470px,100vw - 32px);max-height:55svh;padding:12px;display:flex;position:absolute;bottom:100%;right:0;overflow:auto;box-shadow:0 0 24px #0008}.battle-layout .ja2-hud .ja2-orders-menu .ja2-context .ja2-equipped-help,.battle-layout .ja2-hud .ja2-orders-menu .ja2-action-readout small{display:none}.battle-layout .ja2-hud .ja2-right{flex-direction:column;gap:3px;min-width:0;display:flex;overflow:visible}.battle-layout .ja2-hud .ja2-radar .tactical-minimap{width:100%;height:78px;margin:0}.battle-layout .ja2-hud .ja2-radar .map-zoom{display:none}.battle-layout .ja2-hud .ja2-locale h3{margin:0;font-size:11px;line-height:15px}.battle-layout .ja2-hud .ja2-locale p{margin:0;font-size:10px;line-height:13px}.battle-layout .ja2-hud .ja2-locale p:nth-last-child(2){display:none}.battle-layout .ja2-hud .ja2-essential{gap:4px;display:flex}.battle-layout .ja2-hud .ja2-essential button{flex:1;padding:4px;font-size:10px}.battle-layout .ja2-hud .ja2-garrison-toggle{font-size:10px;position:relative}.battle-layout .ja2-hud .ja2-garrison-toggle[open]>div{z-index:15;background:#202c23;width:260px;max-height:50svh;position:absolute;bottom:100%;right:0;overflow:auto}.battle-layout .ja2-hud .ja2-strip.inventory-open{height:280px;min-height:280px;max-height:none;padding:8px;overflow:visible}.battle-layout .ja2-hud .ja2-inventory{grid-template-rows:minmax(0,1fr) 25px;grid-template-columns:90px minmax(145px,.8fr) minmax(200px,1.1fr) minmax(225px,1.3fr) 160px;gap:8px;height:100%;min-height:0;font-size:11px;display:grid;position:relative;overflow:visible}.battle-layout .ja2-hud .ja2-inv-header{flex-direction:column;grid-area:1/1/3;gap:6px;min-height:0;display:flex}.battle-layout .ja2-hud .ja2-inv-header .portrait{flex-shrink:1;width:84px;height:128px;min-height:0}.battle-layout .ja2-hud .ja2-inv-header h2{margin:0;font-size:14px}.battle-layout .ja2-hud .ja2-inv-header span{font-size:9px}.battle-layout .ja2-hud .ja2-stats{grid-area:1/2/3;min-width:0;display:block;overflow:visible}.battle-layout .ja2-hud .ja2-stats>div{justify-content:space-between;gap:5px;font-size:10px;line-height:15px;display:flex}.battle-layout .ja2-hud .ja2-stats>div span{white-space:nowrap}.battle-layout .ja2-hud .paper-doll{background:0 0;flex-direction:column;grid-area:1/3/3;gap:4px;min-width:0;padding:0;display:flex;overflow:visible}.battle-layout .ja2-hud .ja2-outfit-slot{gap:3px;padding:3px}.battle-layout .ja2-hud .ja2-outfit-slot>small{font-size:9px}.battle-layout .ja2-hud .ja2-outfit-slot button{min-height:22px;padding:3px;font-size:10px}.battle-layout .ja2-hud .ja2-hands{gap:4px}.battle-layout .ja2-hud .ja2-hands button{min-height:75px;padding:4px}.battle-layout .ja2-hud .ja2-hands img{height:26px}.battle-layout .ja2-hud .ja2-hands span{font-size:10px}.battle-layout .ja2-hud .ja2-hands small{font-size:9px}.battle-layout .ja2-hud .paper-readouts{gap:8px;margin:0;display:flex}.battle-layout .ja2-hud .paper-readouts small,.battle-layout .ja2-hud .paper-readouts b{font-size:10px}.battle-layout .ja2-hud .slot-grid{grid-area:1/4;min-height:0;max-height:none;padding:0;display:block;overflow:visible}.battle-layout .ja2-hud .ja2-pocket{height:39px;min-height:39px}.battle-layout .ja2-hud .ja2-pockets small{min-height:0;margin:0 0 4px;font-size:9px}.battle-layout .ja2-hud .ja2-inventory .ja2-right{grid-area:1/5/3;overflow:visible}.battle-layout .ja2-hud .ja2-inventory .ja2-radar .tactical-minimap{height:75px}.battle-layout .ja2-hud .ja2-done{margin-top:auto;padding:6px;font-size:12px}.battle-layout .ja2-hud .ja2-inventory-extra{border:0;min-width:0;padding:0;font-size:10px;overflow:visible}.battle-layout .ja2-hud .ja2-inventory-extra>summary{cursor:pointer;color:#eddeb2;text-overflow:ellipsis;white-space:nowrap;background:#233228;border:1px solid #777c54;padding:4px 6px;overflow:hidden}.battle-layout .ja2-hud .ja2-inventory-popup{z-index:20;box-sizing:border-box;background:#202c23;border:1px solid #a99760;width:min(540px,100vw - 32px);max-height:55svh;padding:12px;font-size:12px;position:absolute;bottom:calc(100% + 12px);left:0;overflow:auto;box-shadow:0 0 30px #0009}.battle-layout .ja2-hud .ja2-inventory-popup button{padding:5px;font-size:11px}.battle-layout .ja2-hud .ja2-inventory-popup p{font-size:11px;line-height:1.5}.battle-layout .ja2-hud .ja2-inventory-popup .ja2-stance-grid{flex-wrap:wrap;display:flex;overflow:visible}.battle-layout .ja2-hud .ja2-inventory-actions{grid-area:2/4;gap:4px;min-width:0;display:flex;overflow:visible}.battle-layout .ja2-hud .ja2-inventory .pertrechos{flex:1;margin:0;overflow:visible}.battle-layout .ja2-hud .ja2-nearby-actions{flex:none;margin:0}.battle-layout .ja2-hud .ja2-inventory-actions .ja2-inventory-popup{left:auto;right:0}@media (width<=950px){.battle-layout .ja2-hud .ja2-strip.squad-view{grid-template-columns:minmax(0,1fr) 165px;gap:6px;height:174px;min-height:174px}.battle-layout .ja2-hud .ja2-portrait-cell .portrait-numbers{font-size:8px}.battle-layout .ja2-hud .ja2-roster{gap:3px}.battle-layout .ja2-hud .ja2-inventory{grid-template-columns:72px 145px minmax(165px,1fr) minmax(180px,1.1fr);gap:6px}.battle-layout .ja2-hud .ja2-inventory .ja2-right{grid-area:2/1}.battle-layout .ja2-hud .ja2-inventory .ja2-right>:not(.ja2-done){display:none}.battle-layout .ja2-hud .ja2-inv-header{grid-row:1}.battle-layout .ja2-hud .ja2-inv-header .portrait{width:64px;height:90px}}@media (width<=650px){.battle-layout .ja2-hud .ja2-strip.squad-view{grid-template-columns:minmax(0,1fr) 92px;gap:4px;height:148px;min-height:148px;padding:4px}.battle-layout .ja2-hud .ja2-roster{grid-template-columns:repeat(6,minmax(78px,1fr));overflow-x:auto}.battle-layout .ja2-hud .ja2-portrait-cell{grid-template-rows:minmax(0,1fr) 14px 23px 12px;grid-template-columns:minmax(0,1fr) 6px;padding:2px}.battle-layout .ja2-hud .ja2-portrait-cell .portrait-name{font-size:8px;line-height:12px}.battle-layout .ja2-hud .ja2-roster-hands{gap:2px}.battle-layout .ja2-hud .ja2-roster-hand img{max-height:21px}.battle-layout .ja2-hud .ja2-roster-hand>svg{width:13px;height:13px}.battle-layout .ja2-hud .roster-hand-status{gap:1px;font-size:16px;line-height:16px;right:1px}.battle-layout .ja2-hud .ja2-portrait-cell .portrait-numbers{font-size:7px;line-height:10px}.battle-layout .ja2-hud .ja2-vitals{gap:1px}.battle-layout .ja2-hud .ja2-vitals>span{min-width:1px}.battle-layout .ja2-hud .ja2-radar .tactical-minimap{height:40px}.battle-layout .ja2-hud .ja2-essential button,.battle-layout .ja2-hud .ja2-right>.retreat-button{padding:3px;font-size:9px}.battle-layout .ja2-hud .ja2-locale h3{font-size:9px}.battle-layout .ja2-hud .ja2-locale p{font-size:8px}.battle-layout .ja2-hud .ja2-strip.inventory-open{grid-template-rows:minmax(0,1fr);height:330px;min-height:330px;padding:5px}.battle-layout .ja2-hud .ja2-inventory{grid-template-rows:minmax(0,1fr) 125px auto;grid-template-columns:64px minmax(105px,1fr) minmax(145px,1.2fr);gap:4px;display:grid}.battle-layout .ja2-hud .ja2-inv-header{grid-area:1/1}.battle-layout .ja2-hud .ja2-inventory .ja2-right{grid-area:2/1;align-self:end}.battle-layout .ja2-hud .ja2-stats{grid-area:1/2/3;overflow:auto}.battle-layout .ja2-hud .ja2-stats>div{font-size:9px;line-height:17px}.battle-layout .ja2-hud .ja2-stats>div span{white-space:normal}.battle-layout .ja2-hud .paper-doll{grid-area:1/3;gap:2px}.battle-layout .ja2-hud .paper-readouts{display:none}.battle-layout .ja2-hud .ja2-outfit-slot{flex-wrap:wrap;display:flex}.battle-layout .ja2-hud .ja2-outfit-slot>small{display:none}.battle-layout .ja2-hud .ja2-hands button{min-height:58px}.battle-layout .ja2-hud .ja2-hands img{height:18px}.battle-layout .ja2-hud .ja2-hands small{font-size:7px}.battle-layout .ja2-hud .ja2-hands span{font-size:8px}.battle-layout .ja2-hud .slot-grid{grid-area:2/3}.battle-layout .ja2-hud .ja2-pocket{height:26px;min-height:26px}.battle-layout .ja2-hud .ja2-pocket img{height:12px}.battle-layout .ja2-hud .ja2-pocket span{font-size:7px}.battle-layout .ja2-hud .ja2-pockets p,.battle-layout .ja2-hud .ja2-pockets small{display:none}.battle-layout .ja2-hud .ja2-inventory-actions{grid-area:3/2/auto/4}.battle-layout .ja2-hud .ja2-inventory-extra>summary{padding:3px;font-size:9px}.battle-layout .ja2-hud .ja2-inventory-popup{max-height:45svh}.battle-layout .ja2-hud .tactical-help-toggle{top:8px;bottom:auto}}.battle-layout .ja2-hud .squad-view,.battle-layout .ja2-hud .ja2-roster{grid-template-rows:minmax(0,1fr)}.battle-layout .ja2-hud .ja2-portrait-face.dead,.battle-layout .ja2-hud .ja2-inventory-portrait.dead{background:radial-gradient(at bottom,#44221b,#111914 70%);place-items:center;display:grid}.battle-layout .ja2-hud .ja2-dead-skull{color:#dfd7b6;filter:drop-shadow(0 2px 2px #000);width:55%;height:75%}.battle-layout .ja2-hud .ja2-portrait-blood{background:#9b201e;border-radius:50%;width:40%;height:8px;animation:1.1s ease-out 2 portrait-blood;position:absolute;bottom:4px;left:30%;box-shadow:0 0 4px #641411}@keyframes portrait-blood{0%{opacity:.3;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.battle-layout .ja2-hud .ja2-portrait-blood{animation:none}}.battle-layout .ja2-hud .ja2-personal-enemies{color:#f5c2ae;background:#18201ded;align-items:center;gap:3px;padding:2px 3px;font:700 12px/1 monospace;display:flex;position:absolute;top:3px;right:3px;box-shadow:0 1px 3px #0008}.battle-layout .ja2-hud .ja2-ap-readout{color:#f4f2c8;text-shadow:0 1px #000;background:#102719e8;align-items:baseline;gap:3px;padding:2px 4px;font:700 18px/1 monospace;display:flex;position:absolute;bottom:3px;left:3px}.battle-layout .ja2-hud .ja2-ap-readout small{font:9px/1 sans-serif}.battle-layout .ja2-hud .ja2-vitals .untreated{background:#f2d848}.battle-layout .ja2-hud .ja2-vitals .morale{background:#61c04d}.battle-layout .ja2-hud .ja2-vitals[aria-hidden=true]{opacity:.3}.battle-layout .ja2-hud .ja2-inventory-portrait{cursor:default;border-radius:0;flex-shrink:0;padding:0;position:relative}.battle-layout .ja2-hud .ja2-inv-header .ja2-inventory-portrait img{object-fit:contain;object-position:center;background:#121b16}.battle-layout .ja2-hud .ja2-inventory-paging{justify-content:space-between;align-items:center;gap:3px;width:100%;font-size:10px;display:flex}.battle-layout .ja2-hud .ja2-inventory-paging button{color:#f1e6bf;background:#293b2d;border:1px solid #847b59;padding:3px 7px;font-size:13px}.battle-layout .ja2-hud .ja2-inventory-vitals{flex-shrink:0;gap:3px;display:grid}.battle-layout .ja2-hud .ja2-inventory-vitals>span{background:#111813;border:1px solid #515540;height:6px;display:block;position:relative}.battle-layout .ja2-hud .ja2-inventory-vitals i{height:100%;position:absolute;bottom:0;left:0}.battle-layout .ja2-hud .ja2-inventory-vitals .health{background:#e23a39}.battle-layout .ja2-hud .ja2-inventory-vitals .bandaged{background:#f09eba}.battle-layout .ja2-hud .ja2-inventory-vitals .untreated{background:#f2d848}.battle-layout .ja2-hud .ja2-inventory-vitals .energy{background:#4a98e7}.battle-layout .ja2-hud .ja2-inventory-vitals .morale{background:#61c04d}.battle-layout .ja2-hud .ja2-stats>.ja2-mobile-weight{display:none}.battle-layout .ja2-hud .ja2-radar{position:relative}.battle-layout .ja2-hud .ja2-radar-caption{color:#e9e5be;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:#14271de8;padding:2px 4px;font:10px/1.2 monospace;display:block;position:absolute;inset:auto 1px 1px;overflow:hidden}.battle-layout .ja2-hud .ja2-radar-caption small{font:inherit;color:#c6d6bc;display:block}.battle-layout .ja2-hud .ja2-locale .eyebrow,.battle-layout .ja2-hud .ja2-locale p:last-child{display:none}@media (width<=650px){.battle-layout .ja2-hud .ja2-ap-readout{gap:1px;padding:2px;font-size:13px;bottom:1px;left:1px}.battle-layout .ja2-hud .ja2-ap-readout small{font-size:7px}.battle-layout .ja2-hud .ja2-personal-enemies{gap:1px;padding:1px;font-size:9px;top:1px;right:1px}.battle-layout .ja2-hud .ja2-personal-enemies svg{width:10px;height:10px}.battle-layout .ja2-hud .ja2-radar-caption{padding:1px 2px;font-size:7px}.battle-layout .ja2-hud .ja2-inventory-paging button{padding:2px 5px}.battle-layout .ja2-hud .ja2-inventory-paging{font-size:8px}.battle-layout .ja2-hud .ja2-inv-header{grid-row:1/3}.battle-layout .ja2-hud .ja2-stats>div{line-height:16px}.battle-layout .ja2-hud .ja2-stats>.ja2-mobile-weight{display:flex}}.battle-layout .ja2-hud .ja2-artillery-crew{flex-wrap:wrap;flex-basis:100%;gap:2px 8px;display:flex}.battle-layout .ja2-hud .ja2-artillery-crew>span:first-child,.battle-layout .ja2-hud .ja2-artillery-crew>.unavailable{flex-basis:100%}.battle-layout .ja2-hud .ja2-artillery-crew>.unavailable{color:#f0b6a3}@media (width<=700px){.battle-layout .ja2-hud .ja2-artillery-toolbar{gap:4px;max-width:calc(100% - 132px);right:4px}.battle-layout .ja2-hud .ja2-artillery-menu>summary{max-width:150px;padding:5px 8px}}:is(.battle-layout,.campaign-pockets) .ja2-outfit-slot{background:#18211d;border:1px solid #747558;grid-column:1/-1;gap:4px;min-width:0;padding:6px;display:grid}:is(.battle-layout,.campaign-pockets) .ja2-outfit-slot>small:first-child{text-transform:uppercase;color:#ded3a3;letter-spacing:.08em}:is(.battle-layout,.campaign-pockets) .ja2-outfit-slot>small{color:#c5c7b5;font-size:10px;line-height:1.4}:is(.battle-layout,.campaign-pockets) .ja2-outfit-slot button{white-space:normal;text-align:left;min-height:30px;font-size:11px}:is(.battle-layout,.campaign-pockets) .ja2-outfit-slot button[aria-pressed=true]{background:#2f3b29;border-color:#e0cf7c}:is(.battle-layout,.campaign-pockets) .ja2-outfit-slot button:focus-visible{outline-offset:2px;outline:2px solid #e0cf7c}.ja2-outfit-slot button[data-held=true]{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.ja2-outfit-slot button.drop-target{background:#35432a;outline:2px solid #f6d881}.campaign-pockets>.ja2-outfit-slot{margin-bottom:6px}.ja2-body-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%;display:grid}.ja2-body-slots button{flex-direction:column;gap:3px;min-width:0;display:flex}.ja2-body-slots button small{color:#ded3a3;text-transform:uppercase;font-size:9px}.ja2-body-layout{grid-template-columns:62px minmax(0,1fr);align-items:stretch;gap:2px;min-width:0;display:grid}.ja2-body-figure{align-self:center;width:100%;height:86px;display:block}.ja2-body-layout .ja2-body-slots{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:minmax(0,1fr);gap:3px}.ja2-body-layout .ja2-body-slots button{flex-direction:row;align-items:center;gap:5px}.ja2-body-layout .ja2-body-slots button small{flex:0 0 42px}.ja2-body-slots button{position:relative;padding-bottom:7px!important}.ja2-body-slots button span:not(.ja2-item-bar){white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:9px;overflow:hidden}.ja2-body-slots .ja2-item-bar{width:calc(100% - 6px);position:absolute;bottom:2px;left:3px}@media (width<=650px){.ja2-body-layout{grid-template-columns:40px minmax(0,1fr);width:100%}.ja2-body-figure{height:74px}.ja2-body-layout .ja2-body-slots{gap:2px}.ja2-body-slots button{gap:1px;min-height:22px!important;padding-bottom:5px!important}.ja2-body-slots button small{font-size:7px}.ja2-body-layout .ja2-body-slots button small{flex-basis:30px}.ja2-body-slots button span:not(.ja2-item-bar){font-size:7px}}.ja2-hands{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}:is(.battle-layout,.campaign-pockets) .ja2-hands button{color:#eae2c3;background:#182219;border:1px solid #9c8c57;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;padding:7px;display:flex}.ja2-hands img{object-fit:contain;width:100%;height:54px;image-rendering:pixelated}.ja2-hands small{color:#c5bc99;font-size:10px}.ja2-hands span{font-size:11px}:is(.battle-layout,.campaign-pockets) .ja2-hands .blocked{opacity:.7;background:repeating-linear-gradient(135deg,#20281d,#20281d 5px,#2e3527 5px 6px)}:is(.battle-layout,.campaign-pockets) .ja2-hands.compact button{gap:1px;padding:4px}.ja2-hands.compact{margin:5px 0}:is(.battle-layout,.campaign-pockets) .ja2-hands .drop-target{background:#35432a;outline:2px solid #f6d881}.ja2-hands .equipment-drag-hint{grid-column:1/-1;min-height:14px}.ja2-hands button[data-held=true]{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.battle-layout .paper-doll .ja2-stow-hand{grid-column:1/-1;min-height:0;padding:5px;font-size:10px}.ja2-hands button[aria-pressed=true]{border-color:#e0c068;box-shadow:inset 0 0 0 2px #e0c068}.ja2-hands button:focus-visible{outline-offset:2px;outline:2px solid #f6d881}.ja2-hands button{position:relative;padding-bottom:9px!important}.ja2-item-bar{box-sizing:border-box;background:#10190f;border:1px solid #526349;width:100%;height:4px;min-height:4px;display:block;overflow:hidden}.ja2-item-bar i{background:#7dbb55;height:100%;display:block}.ja2-item-bar.ammunition i{background:#d9b86b}.ja2-hands .ja2-item-bar{width:calc(100% - 8px);position:absolute;bottom:2px;left:4px}.ja2-attachment-detail{flex-wrap:wrap;align-items:center;gap:.7rem;max-width:100%;margin:.6rem 0;display:flex}.ja2-attachment-slot{border:1px solid var(--brass,#a79758);color:#e8e5ce;background:#17251b;justify-items:center;gap:.15rem;width:9.5rem;min-height:5.5rem;padding:.35rem;display:grid}.ja2-attachment-slot img{object-fit:contain;width:5rem;height:2rem}.ja2-attachment-slot.occupied{border-color:#719453}.ja2-attachment-slot:focus-visible{outline-offset:2px;outline:2px solid #e2d68b}.ja2-attachment-slot:disabled{opacity:.65}.ja2-attachment-detail p{flex:1;min-width:9rem;margin:0;font-size:.8rem}.ja2-attachment-none{font-size:.8rem}.battle-layout .pertrechos .ja2-attachment-detail small{font-size:11px;display:block}.ja2-attachment-detail>small{overflow-wrap:anywhere;flex-basis:100%}.ja2-item-card{color:#e8e3cf;background:#1b2119;border:1px solid #89794c;grid-template-columns:minmax(130px,1fr) minmax(125px,1fr);gap:.7rem;max-width:440px;padding:.8rem;display:grid}.ja2-item-picture{background:#303426;border:1px solid #615b40;place-items:center;min-height:100px;display:grid;position:relative}.ja2-item-picture img{object-fit:contain;width:100%;max-height:110px}.ja2-item-charge{color:#fff;font-variant-numeric:tabular-nums;background:#742b24;border-radius:12px;padding:2px 9px;position:absolute;bottom:4px;left:4px}.ja2-item-card dl{grid-template-columns:1fr auto;align-content:start;gap:.4rem;margin:0;font-size:13px;display:grid}.ja2-item-card dd{font-variant-numeric:tabular-nums;margin:0}.ja2-item-card h4,.ja2-item-card>p,.ja2-item-card>.ja2-attachment-detail,.ja2-item-card>.ja2-attachment-none{grid-column:1/-1;margin:0}.ja2-item-card h4{border-top:1px solid #89794c;padding-top:.5rem}.ja2-item-card>p{font-size:12px;line-height:1.5}.ja2-item-picture>.ja2-item-bar{width:100%;height:5px;min-height:5px;position:absolute;bottom:0;left:0}.ja2-weapon-mode{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:3px;display:flex}.battle-layout .ja2-weapon-mode button{color:#e3ddbc;background:#263127;border:1px solid #7b8060;border-radius:0;padding:3px 7px;font-size:10px;line-height:1.25}.battle-layout .ja2-weapon-mode button[aria-pressed=true]{color:#fff3bb;background:#5c603b;border-color:#dbce82}.battle-layout .ja2-weapon-mode button:focus-visible{outline-offset:1px;outline:2px solid #f4cf68}.ja2-weapon-mode span{color:#d4c78c;font-size:10px}.battle-layout .slot-grid:has(.ja2-pockets){max-height:none;display:block;overflow-y:auto}.ja2-pockets{color:#ded9bd;grid-column:1/-1;min-width:0}.ja2-pockets p{margin:0 0 .35rem;font-size:.68rem}.ja2-pockets small{color:#b7baa4;min-height:24px;margin-bottom:4px;font-size:.6rem;line-height:1.25;display:block}.ja2-pocket-row{gap:3px;margin-bottom:3px;display:grid}.ja2-pocket-row.large{grid-template-columns:repeat(2,minmax(0,1fr))}.ja2-pocket-row.small{grid-template-columns:repeat(4,minmax(0,1fr))}.ja2-pocket{color:#ded9bd;background:linear-gradient(135deg,#242a20,#141b15);border:1px solid #696044;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;height:38px;min-height:38px;padding:3px;display:flex;position:relative;box-shadow:inset 0 0 0 2px #10170f}.ja2-pocket.occupied{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.ja2-pocket[aria-pressed=true]{border-color:#e0c068;box-shadow:inset 0 0 0 2px #e0c068}.ja2-pocket:focus-visible{outline-offset:2px;outline:2px solid #f6d881}.ja2-pocket img{object-fit:contain;image-rendering:auto;width:90%;height:19px}.ja2-pocket svg{color:#c7b379;height:18px}.ja2-pocket span{text-overflow:ellipsis;white-space:nowrap;text-align:center;width:100%;font-size:8px;display:block;overflow:hidden}.ja2-pocket b{color:#f1d680;text-shadow:1px 1px #000;font-size:9px;position:absolute;top:1px;right:3px}.ja2-pocket .empty{opacity:.4;font-size:9px}.ja2-pocket:disabled{opacity:.45;cursor:default}.ja2-pocket-overflow{border:1px solid #ae694e;margin-top:8px;padding:8px}.ja2-pocket-overflow button{margin:3px;padding:4px;font-size:.7rem}.ja2-pocket.drop-target{background:#35432a;outline:2px solid #f6d881}.equipment-quantity{color:#ded9bd;align-items:center;gap:5px;margin:0 0 5px;font-size:.65rem;display:flex}.equipment-quantity label{align-items:center;gap:5px;display:flex}.equipment-quantity input{color:#f1d680;width:4em;min-height:25px;font:inherit;background:#172019;border:1px solid #8b8058;border-radius:2px;padding:2px 4px}.equipment-quantity button{color:#eee5c5;min-height:25px;font:inherit;background:#293425;border:1px solid #8b8058;border-radius:2px;padding:2px 7px}.equipment-quantity input:focus-visible,.equipment-quantity button:focus-visible{outline-offset:2px;outline:2px solid #f6d881}.equipment-quantity :disabled{opacity:.45}.ja2-pocket .ja2-item-bar{width:calc(100% - 6px);height:3px;min-height:3px;position:absolute;bottom:1px;left:3px}.movement-route{color:#fff;fill:currentColor;stroke:#121610;stroke-width:1px;filter:drop-shadow(0 1px 1px #000)}.movement-route.stealth{color:#f5db45}.movement-route.insufficient{animation:.65s step-end infinite movement-ap-warning}@keyframes movement-ap-warning{50%{color:#111;stroke:#fff}}.movement-cost path,.movement-cost circle{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.movement-cost circle{fill:currentColor}.movement-cost text{fill:currentColor;stroke:#101610;stroke-width:3px;paint-order:stroke;font:700 12px ui-monospace,monospace}.tactical-action-failure{stroke:#fff;stroke-width:3px;filter:drop-shadow(0 1px 2px #000);animation:1.2s ease-out forwards tactical-cross-fade}@keyframes tactical-cross-fade{65%{opacity:1}to{opacity:0}}.tactical-hit-reaction{pointer-events:none;animation:.9s ease-out both tactical-impact}.tactical-hit-reaction path{stroke:#f15f54;stroke-width:4px;fill:none;stroke-linecap:round}.tactical-damage-number{animation:.9s ease-out both tactical-damage-rise}@keyframes tactical-damage-rise{0%{transform:translateY(0)}to{transform:translateY(-18px)}}.tactical-hit-reaction text{fill:#fff;stroke:#681c1b;stroke-width:3px;paint-order:stroke;font:700 12px ui-monospace,monospace}@keyframes tactical-impact{0%{opacity:0}12%,65%{opacity:1}to{opacity:0}}.tactical-turn-bar{pointer-events:none;z-index:6;background:#449b52;height:5px;position:absolute;top:0;left:0;right:0}.tactical-turn-bar.enemy{background:#ab4d42}.tactical-turn-bar.interrupt{color:#151b14;text-align:center;background:#ddc15b;height:22px;font:700 11px/22px ui-monospace,monospace}.tactical-feedback-popup{z-index:16;color:#f5ead4;pointer-events:none;background:#17201bef;border:1px solid #c9b982;max-width:80%;padding:6px 10px;font-size:12px;position:absolute;top:32px;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #0008}.battle-middle>.tactical-notices{z-index:9;max-width:calc(100% - 16px);position:absolute;top:26px;left:8px}.battle-middle{position:relative}.tactical-notices>.ja2-interrupt-banner{display:none}.tactical-quick-tools{z-index:8;background:#19221bee;border:1px solid #748171;gap:2px;padding:3px;display:flex;position:absolute;top:12px;right:9px}.tactical-quick-tools button{color:#eee6d0;cursor:pointer;background:#253124;border:1px solid #66735f;place-items:center;width:26px;height:26px;padding:3px;display:grid}.tactical-quick-tools button[aria-pressed=true]{background:#616c38}.tactical-quick-tools button:disabled{opacity:.4;cursor:default}.tactical-quick-tools svg{width:17px;height:17px}@media (prefers-reduced-motion:reduce){.movement-route.insufficient{color:#fff;stroke:#000;stroke-dasharray:2 2;animation:none}.tactical-hit-reaction,.tactical-damage-number,.tactical-action-failure{animation:none}}.battle-layout .tactical-notices{z-index:20;pointer-events:none;max-height:45%;position:absolute;top:28px;left:0;right:0;overflow:auto}.battle-layout .tactical-notices>*{pointer-events:auto}.battle-layout .tactical-notices .ja2-group-move{gap:4px 8px;padding:5px 8px;font-size:11px}.battle-layout .tactical-notices .ja2-group-move button{min-height:24px;padding:4px 6px;font-size:11px}.battle-layout .tactical-notices .ja2-group-preview[open]{max-height:110px;overflow:auto}.battle-layout{background:#20241e;flex-direction:column;height:calc(100svh - 68px);min-height:500px;display:flex;position:relative;overflow:hidden}.battle-layout .battle-header{background:#242a24;border-bottom:1px solid #686e52;flex-shrink:0;gap:12px;height:42px;min-height:42px;padding:4px 12px}.battle-layout .battle-header h1{margin:0;font-size:17px;line-height:1.15}.battle-layout .battle-header .eyebrow{letter-spacing:1px;margin:0 0 2px;font-size:8px}.battle-layout .battle-status{flex-wrap:nowrap;gap:9px;max-width:none;font-size:11px}.battle-layout .mobile-details{padding:4px 8px;font-size:11px;display:block}.battle-layout .battle-middle{flex:1;height:auto;min-height:180px;display:block;position:relative;overflow:hidden}.battle-layout .field-wrap{height:100%;min-height:0;overflow:auto}.battle-layout .tactical-field{width:100%;min-width:0;height:100%;min-height:0;display:block}.battle-layout .map-zoom button{min-height:20px;padding:0 6px}.battle-layout .battle-inspector{display:none}.battle-layout .battle-inspector.inspector-open{z-index:30;background:#202c25;border:1px solid #93906a;width:min(340px,100% - 16px);max-height:none;padding:12px;display:block;position:absolute;top:8px;bottom:8px;right:8px;overflow:auto;box-shadow:0 5px 20px #0009}.battle-layout .inspector-close{float:right;padding:4px 8px;font-size:11px}.battle-layout .battle-inspector .soldier-heading{clear:both}.battle-layout .battle-inspector .field-supplies{padding:8px 0;font-size:12px}.battle-layout .battle-inspector h2{font-size:20px}.battle-layout .battle-inspector .weapon-icon{object-fit:contain;max-height:65px}.battle-layout .battle-inspector .field-log{max-height:170px;overflow:auto}.battle-layout .command-bar{background:#31352a;border-top:2px solid #858163;border-bottom:1px solid #151d17;flex-direction:row;flex-shrink:0;gap:6px;min-height:42px;padding:3px 8px}.battle-layout .commands{flex:1;justify-content:flex-start;gap:2px;min-width:0;overflow-x:auto}.battle-layout .commands button{white-space:nowrap;gap:2px;padding:4px 5px;min-width:49px!important;font-size:9px!important}.battle-layout .commands svg{width:16px;height:16px}.battle-layout .end-turn{white-space:nowrap;gap:5px;padding:6px 10px;font-size:13px}.battle-layout .end-turn svg{width:15px}.battle-layout .tactical-roster{background:linear-gradient(#3e4435,#252c23);border-top:1px solid #676c50;flex-shrink:0;grid-template-columns:repeat(6,minmax(72px,115px)) minmax(100px,1fr);gap:5px;min-height:112px;padding:5px 8px;display:grid;overflow-x:auto}.battle-layout .portrait-card{color:#e3dfbf;background:#18211d;border:1px solid #747558;border-radius:0;flex-direction:column;align-items:stretch;gap:2px;min-width:72px;padding:3px;display:flex}.battle-layout .portrait-card.active{background:#2f3b29;border:2px solid #e0cf7c;padding:2px}.battle-layout .portrait-name{white-space:nowrap;text-overflow:ellipsis;text-align:left;font-size:10px;line-height:13px;display:block;overflow:hidden}.battle-layout .portrait-name b{color:#bdb17b;margin-right:3px}.battle-layout .portrait-vitals{gap:4px;min-width:0;height:64px;display:flex}.battle-layout .portrait-vitals img{object-fit:cover;object-position:center 35%;border:1px solid #616148;width:calc(100% - 23px);min-width:0;height:64px}.battle-layout .portrait-fallback{background:#4c503b;place-items:center;width:calc(100% - 23px);font:20px Georgia;display:grid}.battle-layout .hud-vitals{align-items:stretch;gap:2px;width:19px;display:flex}.battle-layout .hud-vitals>span{background:#111813;border:1px solid #515540;width:5px;position:relative}.battle-layout .hud-vitals i{width:100%;position:absolute;bottom:0;left:0}.battle-layout .hud-vitals .health{background:#ca574b}.battle-layout .hud-vitals .action{background:#b9ae61}.battle-layout .hud-vitals .energy{background:#65a5b1}.battle-layout .portrait-numbers{white-space:nowrap;text-align:center;font:8px monospace}.battle-layout .empty-portrait-slot{color:#4e5d48;background:#1c251f;border:1px inset #565d45;place-items:center;min-width:72px;display:grid}.battle-layout .hud-selection{flex-direction:column;justify-content:center;gap:5px;padding:4px 10px;font-size:11px;display:flex}.battle-layout .hud-selection>span{color:#b2b49a}.battle-layout .hud-selection .line-button{padding:5px;font-size:11px}.battle-layout .tactical-help-toggle{z-index:25;position:absolute;top:46px;right:12px}.battle-layout .tactical-help-toggle>button{background:#1d2a22dd;padding:3px 7px;font-size:10px}.battle-layout #tactical-key-reference{z-index:60;border:1px solid #aaa077;width:min(550px,100vw - 24px);max-height:calc(100svh - 140px);font-size:12px;position:fixed;top:110px;right:12px;overflow:auto;box-shadow:0 10px 40px #000a}.battle-layout .hud-mission{background:#2c3528;border-bottom:1px solid #596346;flex-shrink:0;padding:3px 12px;font-size:11px}.battle-layout .hud-mission summary{cursor:pointer}.battle-layout .hud-mission[open]{max-height:150px;overflow:auto}.battle-layout .local-garrison{background:#293126;flex-shrink:0;max-height:100px;padding:2px 10px;font-size:11px;overflow:auto}.battle-layout .local-garrison .squad-strip{gap:4px;padding:3px}.battle-layout .local-garrison .squad-card{min-width:100px;padding:4px;font-size:10px}.battle-layout .local-garrison .eyebrow{margin:0;font-size:9px}.battle-layout .local-garrison small{display:none}.battle-layout>.notice{z-index:40;max-width:min(520px,100% - 24px);max-height:50%;position:absolute;bottom:160px;left:12px;overflow:auto}@media (width<=700px){.battle-layout{height:calc(100svh - 68px);min-height:420px}.battle-layout .battle-header h1{max-width:180px;font-size:13px}.battle-layout .battle-header .eyebrow{display:none}.battle-layout .battle-status{gap:5px;font-size:9px}.battle-layout .enemy-count{display:none}.battle-layout .tactical-roster{grid-template-columns:repeat(6,78px) 105px;min-height:104px}.battle-layout .portrait-vitals,.battle-layout .portrait-vitals img{height:58px}.battle-layout .command-bar{min-height:42px}.battle-layout .hud-selection{padding:2px}.battle-layout .tactical-help-toggle{bottom:calc(52svh + 8px);right:7px}.battle-layout .field-wrap{overflow:auto}}.game-shell:has(.battle-layout) .game-nav{height:28px;min-height:28px;padding:0 10px}.game-shell:has(.battle-layout) .wordmark{letter-spacing:1px;font-size:12px}.game-shell:has(.battle-layout) .wordmark span{display:none}.game-shell:has(.battle-layout) .nav-center{display:none}.game-shell:has(.battle-layout) .nav-tools{gap:14px}.game-shell:has(.battle-layout) .nav-tools button{font-size:10px}.game-shell:has(.battle-layout) .nav-tools svg{width:13px;height:13px}.game-shell:has(.battle-layout) .battle-layout{height:calc(100svh - 28px)}.battle-layout .tactical-minimap{cursor:crosshair;background:#18211a;border:1px solid #8c8963;flex-shrink:0;align-self:center;width:136px;height:75px}.battle-layout .hud-selection{grid-template-columns:minmax(80px,1fr) auto;gap:3px 10px;padding:3px 6px;display:grid}.battle-layout .hud-selection .tactical-minimap{grid-area:1/2/4}.battle-layout .hud-selection strong,.battle-layout .hud-selection>span,.battle-layout .hud-selection>button{grid-column:1}.battle-layout .tactical-help-toggle{top:auto;bottom:max(min(26svh,340px) + 8px,158px);right:12px}.battle-layout .map-zoom{flex-shrink:0;align-items:center;gap:4px;display:flex}@media (width<=1100px){.battle-layout .hud-selection{gap:2px;padding:2px;display:flex}.battle-layout .hud-selection strong,.battle-layout .hud-selection>span,.battle-layout .hud-selection>button{display:none}.battle-layout .tactical-minimap{width:100%;min-width:90px;height:89px}}.battle-layout .ja2-hud{flex-shrink:0;min-width:0;position:relative}.battle-layout .ja2-strip{background:linear-gradient(#3e4435,#252c23);border-top:1px solid #676c50;flex-shrink:0;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) 230px;gap:6px;height:min(26svh,340px);min-height:150px;padding:5px 8px;display:grid;position:relative;overflow:hidden}.battle-layout .ja2-roster{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;min-width:0;min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.battle-layout .ja2-portrait-cell{color:#e3dfbf;cursor:pointer;text-align:left;background:#18211d;border:1px solid #747558;border-radius:0;flex-direction:column;align-items:stretch;gap:2px;min-width:0;min-height:0;padding:3px;display:flex;overflow:hidden}.battle-layout .ja2-portrait-cell.active{background:#2f3b29;border:2px solid #e0cf7c;padding:2px}.battle-layout .ja2-portrait-cell.fallen{border-style:dashed}.battle-layout .ja2-portrait-face{flex-shrink:0;height:64px;min-height:40px;display:block;overflow:hidden}.battle-layout .ja2-portrait-face img{object-fit:cover;object-position:center 35%;border:1px solid #616148;width:100%;height:100%;display:block}.battle-layout .ja2-portrait-face .portrait-fallback{background:#4c503b;place-items:center;width:100%;height:100%;font:20px Georgia;display:grid}.battle-layout .ja2-vitals{flex-shrink:0;gap:3px;height:24px;display:flex}.battle-layout .ja2-vitals>span{background:#111813;border:1px solid #515540;flex:1;min-width:0;position:relative}.battle-layout .ja2-vitals i{width:100%;position:absolute;bottom:0;left:0}.battle-layout .ja2-vitals .health{background:#e23a39}.battle-layout .ja2-vitals .action{background:#b9ae61}.battle-layout .ja2-vitals .energy{background:#4a98e7}.battle-layout .ja2-vitals .bandaged{background:#f09eba}.battle-layout .ja2-portrait-face{position:relative}.battle-layout .ja2-bleeding-mark{color:#ffe0cc;background:#611e18e8;padding:2px;font:9px monospace;position:absolute;bottom:2px;left:2px}.battle-layout .ja2-action-readout{flex-wrap:wrap;flex-shrink:0;gap:2px 8px;font-size:10px;display:flex}.battle-layout .ja2-action-readout strong{color:#eee0a8}.battle-layout .ja2-action-readout small{color:#bdc3aa;flex-basis:100%;font-size:9px}.battle-layout .ja2-action-readout .ja2-noise-readout{color:#efd28c}.battle-layout .ja2-equipped-slots{flex-wrap:wrap;flex-shrink:0;gap:4px;display:flex}.battle-layout .ja2-equipped-slots button{color:#efe5c9;background:#1b2921;border:1px solid #778371;padding:4px 7px;font-size:10px}.battle-layout .ja2-equipped-slots button[aria-pressed=true]{opacity:1;color:#fff0b5;background:#39452f;border-color:#e0cf7c}.battle-layout .ja2-equipped-help{color:#d3d9bf;flex-shrink:0;margin:0;font-size:10px;line-height:1.35}.battle-layout .ja2-target-preview{z-index:12;color:#f0e7c9;pointer-events:none;background:#172a21ee;border:1px solid #b9ba85;flex-direction:column;gap:3px;max-width:min(360px,100% - 24px);padding:8px 10px;font-size:11px;display:flex;position:absolute;top:34px;left:12px}.battle-layout .ja2-target-preview.unavailable{color:#f1c7ad;border-color:#d28e70}.battle-layout details.ja2-target-preview{pointer-events:auto;padding:0;display:block}.battle-layout .ja2-target-preview>summary{cursor:pointer;padding:4px 7px;font-size:10px}.battle-layout .ja2-preview-details{flex-direction:column;gap:3px;max-height:30vh;padding:6px 9px;display:flex;overflow:auto}.battle-layout .hand-slot.medical{grid-column:1/-1;min-height:50px}.battle-layout .hand-slot.medical>b{color:#e0cfba;font-size:20px}.battle-layout .ja2-equipped-slots button:disabled:not([aria-pressed=true]),.battle-layout .ja2-order-grid button:disabled,.battle-layout .ja2-stance-grid button:disabled{opacity:.4;cursor:default}.battle-layout .ja2-weapon-line{white-space:nowrap;text-overflow:ellipsis;color:#b2b49a;flex-shrink:0;font-size:9px;overflow:hidden}.battle-layout .ja2-context{flex-direction:column;gap:5px;min-width:0;min-height:0;display:flex;overflow-y:auto}.battle-layout .ja2-order-grid{flex-wrap:wrap;flex:1 0 28px;align-content:flex-start;gap:3px;min-height:28px;display:flex;overflow-y:auto}.battle-layout .ja2-order-grid button{color:#ece5d3;white-space:nowrap;background:0 0;border:1px solid #566366;align-items:center;gap:4px;padding:4px 5px;font-size:9px;display:inline-flex}.battle-layout .ja2-order-grid button svg{flex-shrink:0;width:14px;height:14px}.battle-layout .ja2-order-grid button.selected{background:#2f3b29;border-color:#e0cf7c}.battle-layout .ja2-shot-locations{align-items:center;gap:3px;display:inline-flex}.battle-layout .ja2-shot-locations button[aria-pressed=true]{background:#2f3b29;border-color:#e0cf7c}.battle-layout .ja2-shot-controls{flex-wrap:wrap;flex-shrink:0;gap:4px 8px;font-size:9px;display:flex}.battle-layout .ja2-shot-controls>span{align-items:center;gap:3px;display:inline-flex}.battle-layout .ja2-shot-controls button{color:#ece5d3;background:0 0;border:1px solid #566366;padding:3px 5px;font-size:9px}.battle-layout .ja2-shot-controls button[aria-pressed=true]{background:#2f3b29;border-color:#e0cf7c}.battle-layout .ja2-shot-controls button:disabled{opacity:.4;cursor:default}.battle-layout .ja2-context-footer{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:4px;margin-top:auto;display:flex}.battle-layout .ja2-context-footer .line-button{width:auto;padding:4px 8px;font-size:10px}.battle-layout .ja2-context-footer .gold-button.end-turn{align-self:center;margin-top:0}.battle-layout .ja2-interrupt-banner{color:#ffedbe;background:#4a3c20;border-bottom:2px solid #d8af57;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px 12px;padding:7px 12px;font-size:11px;display:flex}.battle-layout .ja2-interrupt-banner>div:first-child{flex-direction:column;gap:2px;display:flex}.battle-layout .ja2-interrupt-banner strong{letter-spacing:.06em;font-size:15px}.battle-layout .ja2-interrupt-banner>.line-button{background:#231e13;margin-left:auto;padding:5px 8px;font-size:11px}.battle-layout .ja2-interrupt-units{flex-wrap:wrap;gap:4px;display:flex}.battle-layout .ja2-interrupt-units button{color:#fff1c5;background:#2c291c;border:1px solid #b9a777;padding:4px 6px;font-size:10px}.battle-layout .ja2-interrupt-units button[aria-pressed=true]{background:#675626;border-color:#ffe197}.battle-layout .ja2-portrait-cell.interrupt-ready{box-shadow:inset 0 0 0 1px #d8af57}.battle-layout .ja2-portrait-cell:disabled:not(.fallen){opacity:.5}.battle-layout .ja2-artillery{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px;font-size:10px;display:flex}.battle-layout .ja2-artillery .eyebrow{letter-spacing:1px;flex-basis:100%;margin:0;font-size:8px}.battle-layout .ja2-artillery select{color:#e9dfc5;background:#182d2d;border:1px solid #667b6a;max-width:100%;padding:3px;font-size:10px}.battle-layout .ja2-artillery .line-button{width:auto;padding:3px 6px;font-size:9px}.battle-layout .ja2-artillery small{color:#aeb998;flex-basis:100%;font-size:9px}.battle-layout .ja2-context>.line-button{flex-shrink:0;align-self:flex-start;width:auto;padding:4px 8px;font-size:10px}.battle-layout .ja2-context .gold-button.end-turn{flex-shrink:0;align-self:flex-end;margin-top:auto;padding:6px 12px;font-size:12px}.battle-layout .ja2-right{flex-direction:column;gap:4px;min-width:0;min-height:0;font-size:11px;display:flex;overflow-y:auto}.battle-layout .ja2-radar{flex-direction:column;flex-shrink:0;align-items:center;gap:3px;display:flex}.battle-layout .ja2-radar .tactical-minimap{flex-shrink:0;width:136px;height:75px}.battle-layout .ja2-radar .map-zoom{align-items:center;gap:2px;display:flex}.battle-layout .ja2-radar .map-zoom button{width:22px;min-height:18px;padding:0;font-size:12px}.battle-layout .ja2-radar .map-zoom span{text-align:center;min-width:28px;font-size:9px}.battle-layout .ja2-locale{flex-shrink:0}.battle-layout .ja2-locale .eyebrow{letter-spacing:1px;margin:0 0 2px;font-size:8px}.battle-layout .ja2-locale h3{margin:0;font:16px Georgia,serif}.battle-layout .ja2-locale p{color:#b2b49a;margin:1px 0;font-size:10px}.battle-layout .ja2-garrison-toggle{background:#293126;border:1px solid #596346;flex-shrink:0;padding:2px 6px;font-size:10px}.battle-layout .ja2-garrison-toggle summary{cursor:pointer}.battle-layout .ja2-garrison-toggle .squad-strip{flex-wrap:wrap;gap:4px;padding:4px 0;display:flex}.battle-layout .ja2-garrison-toggle .squad-card{text-align:left;min-width:100px;max-width:100%;padding:4px;font-size:10px}.battle-layout .ja2-garrison-toggle .squad-card.fallen{opacity:.6}.battle-layout .ja2-log-overlay{z-index:40;background:#202c25f2;border:1px solid #93906a;width:min(480px,100% - 16px);max-height:38svh;padding:6px 10px;font-size:11px;position:absolute;bottom:calc(100% + 6px);right:8px;overflow:auto}.battle-layout .ja2-log-overlay .line-button{width:auto;padding:3px 8px;font-size:9px}.battle-layout .ja2-log-overlay p{margin:2px 0}.battle-layout .ja2-log-overlay .latest{color:#e0cf7c}.battle-layout .ja2-strip.inventory-open{grid-template-columns:minmax(0,1fr)}.battle-layout .ja2-inventory{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1.1fr) 230px;gap:5px;min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.battle-layout .ja2-inv-header{min-width:0;min-height:0;overflow:hidden}.battle-layout .ja2-inv-header .portrait{background:#4c503b;border:1px solid #616148;height:84px;overflow:hidden}.battle-layout .ja2-inv-header .portrait img{object-fit:cover;object-position:center 30%;width:100%;height:100%;display:block}.battle-layout .ja2-inv-header .portrait span{place-items:center;height:100%;font:22px Georgia;display:grid}.battle-layout .ja2-inv-header h2{margin:2px 0 0;font:17px Georgia,serif}.battle-layout .ja2-inv-header span{color:#b2b49a;font-size:10px}.battle-layout .ja2-stats{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:2px 10px;min-width:0;min-height:0;font-size:10px;display:grid;overflow-y:auto}.battle-layout .ja2-stats>div{white-space:normal;justify-content:space-between;gap:6px;min-width:0;display:flex}.battle-layout .ja2-stats span{color:#b2b49a}.battle-layout .ja2-stats b{color:#e3dfbf;flex-shrink:0;font-weight:400}.battle-layout .ja2-stats p{grid-column:1/-1;margin:2px 0}.battle-layout .ja2-stats details{grid-column:1/-1}.battle-layout .ja2-stance-grid{flex-direction:column;gap:4px;min-width:0;min-height:0;display:flex;overflow-y:auto}.battle-layout .ja2-stance-grid>div{flex-wrap:wrap;gap:3px;display:flex}.battle-layout .ja2-stance-grid button{color:#ece5d3;white-space:nowrap;background:0 0;border:1px solid #566366;padding:4px 5px;font-size:9px}.battle-layout .ja2-stance-grid button.active{background:#2f3b29;border-color:#e0cf7c}.battle-layout .paper-doll{grid-template-columns:1fr 1fr;align-content:start;gap:4px;min-width:0;min-height:0;display:grid;overflow-y:auto}.battle-layout .hand-slot{color:#e3dfbf;cursor:pointer;background:#18211d;border:1px solid #747558;flex-direction:column;align-items:center;gap:3px;min-height:64px;padding:4px;font-size:9px;display:flex}.battle-layout .hand-slot.primary{border-style:solid}.battle-layout .hand-slot.blade{border-style:double}.battle-layout .hand-slot.active{background:#2f3b29;border:2px solid #e0cf7c}.battle-layout .hand-slot img{object-fit:contain;max-width:100%;max-height:44px}.battle-layout .hand-slot span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.battle-layout .paper-readouts{grid-column:1/-1;gap:8px;display:flex}.battle-layout .paper-readouts .armor,.battle-layout .paper-readouts .weight,.battle-layout .paper-readouts .camo{text-align:center;flex:1;font-size:10px}.battle-layout .paper-readouts small{letter-spacing:1px;color:#b2b49a;font-size:8px;display:block}.battle-layout .slot-grid{grid-column:1/3;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;min-height:0;max-height:132px;display:grid;overflow-y:auto}.battle-layout .slot-cell{background:#1c251f;border:1px solid #565d45;min-height:34px;padding:3px;font-size:9px;overflow:hidden}.battle-layout .slot-cell.equippable{background:#232b1f;border-color:#8d917e}.battle-layout .slot-cell span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.battle-layout .slot-cell .line-button{width:auto;margin-top:2px;padding:2px 4px;font-size:8px}.battle-layout .pertrechos{grid-column:3/5;min-width:0;min-height:0;font-size:10px;overflow:hidden}.battle-layout .pertrechos .eyebrow{letter-spacing:1px;margin:0 0 2px;font-size:8px}.battle-layout .pertrechos p{margin:2px 0}.battle-layout .pertrechos small{color:#b2b49a}.battle-layout .ja2-inventory .ja2-right{grid-area:1/5/3}.battle-layout .ja2-inventory .ja2-done{flex-shrink:0;width:100%;padding:6px 10px;font-size:11px;position:sticky;bottom:0}@media (width<=1100px){.battle-layout .ja2-strip{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 180px}.battle-layout .ja2-radar .tactical-minimap{width:100%;min-width:0;height:70px}.battle-layout .ja2-inventory{flex-wrap:wrap;display:flex;overflow-y:auto}.battle-layout .ja2-inventory>*{flex:200px;min-height:0}.battle-layout .ja2-inventory .ja2-right{flex:180px}.battle-layout .slot-grid{grid-column:auto;grid-template-columns:repeat(3,minmax(0,1fr))}.battle-layout .pertrechos{grid-column:auto}}@media (width<=700px){.battle-layout .ja2-strip{grid-template-rows:none;grid-template-columns:minmax(0,1fr);height:auto;max-height:52svh;overflow-y:auto}.battle-layout .ja2-roster{grid-template-columns:repeat(6,minmax(78px,1fr));overflow-x:auto}.battle-layout .ja2-portrait-face{height:58px}.battle-layout .ja2-right{width:auto}.battle-layout .ja2-strip.inventory-open{max-height:70svh}.battle-layout .ja2-inventory{flex-direction:column;height:auto;display:flex;overflow-y:auto}.battle-layout .slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}}.battle-layout .ja2-portrait-cell{grid-template-rows:minmax(64px,1fr) auto auto auto;grid-template-columns:minmax(0,1fr) 19px;gap:3px;display:grid}.battle-layout .ja2-portrait-face{grid-area:1/1;height:100%;min-height:0}.battle-layout .ja2-vitals{grid-area:1/2;gap:2px;height:100%}.battle-layout .ja2-vitals>span{flex:0 0 5px}.battle-layout .ja2-portrait-cell .portrait-name,.battle-layout .ja2-weapon-line,.battle-layout .ja2-portrait-cell .portrait-numbers{grid-column:1/-1}.battle-layout .ja2-radar .tactical-minimap{height:62px}.battle-layout .ja2-locale h3{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.battle-layout .ja2-locale .eyebrow,.battle-layout .ja2-locale p:last-child{display:none}.battle-layout .ja2-right>.retreat-button{margin:0;padding:4px 8px;font-size:10px}@media (width>=1101px){.battle-layout .ja2-inventory{grid-template-rows:minmax(0,1fr) 34px;grid-template-columns:115px minmax(180px,1.1fr) minmax(140px,.9fr) minmax(150px,1fr) minmax(130px,.8fr) 230px}.battle-layout .ja2-inv-header{grid-area:1/1}.battle-layout .ja2-inv-header .portrait{width:64px;height:84px}.battle-layout .ja2-stats{grid-area:1/2}.battle-layout .ja2-stance-grid{grid-area:1/3}.battle-layout .paper-doll{grid-area:1/4}.battle-layout .slot-grid{grid-area:1/5;grid-template-rows:repeat(4,minmax(28px,1fr));grid-template-columns:repeat(3,minmax(0,1fr));max-height:none}.battle-layout .slot-cell{min-height:28px;overflow:auto}.battle-layout .pertrechos{border-top:1px solid #52645a;grid-area:2/1/auto/6}.battle-layout .pertrechos .eyebrow,.battle-layout .pertrechos small{display:none}.battle-layout .ja2-inventory .ja2-right{grid-area:1/6/3}}@media (width<=700px){.battle-layout .ja2-portrait-cell{min-height:120px}.battle-layout .ja2-inventory{flex-direction:row}.battle-layout .ja2-inv-header{min-height:115px}.battle-layout .ja2-inventory>*{flex:0 0 100%}.battle-layout .ja2-stats,.battle-layout .ja2-stance-grid,.battle-layout .paper-doll{overflow:visible}.battle-layout .ja2-inventory .ja2-right{flex-basis:100%}}.battle-layout .ja2-inventory .ja2-radar .tactical-minimap{height:48px}.battle-layout .ja2-hand-management{flex-wrap:wrap;grid-column:1/-1;gap:3px;display:flex}.battle-layout .ja2-pocket-count{color:#d3cfb0;grid-column:1/-1;margin:0;font-size:10px}.battle-layout .ja2-hand-management button{padding:3px 5px;font-size:9px}.battle-layout .ja2-tool-selector{color:#d3cfb0;flex-direction:column;grid-column:1/-1;gap:3px;font-size:10px;display:flex}.battle-layout .ja2-tool-selector select{color:#e3dfbf;background:#18211d;border:1px solid #747558;width:100%;min-width:0;padding:4px;font-size:10px}.battle-layout .ja2-supply-items{flex-wrap:wrap;gap:3px;display:flex}.battle-layout .ja2-supply-items button{padding:3px 5px;font-size:9px}.battle-layout .ja2-supply-items button[aria-pressed=true]{background:#2f3b29;border-color:#e0cf7c}.battle-layout .ja2-item-handling{flex-wrap:wrap;align-items:flex-end;gap:5px;margin-top:5px;display:flex}.battle-layout .ja2-item-handling label{flex-direction:column;gap:2px;min-width:0;font-size:9px;display:flex}.battle-layout .ja2-item-handling select,.battle-layout .ja2-item-handling input{color:#e3dfbf;background:#18211d;border:1px solid #747558;min-width:0;max-width:210px;height:26px;padding:3px 5px;font-size:10px}.battle-layout .ja2-item-handling input{width:62px}.battle-layout .ja2-item-handling button{height:26px;padding:3px 6px;font-size:10px}.battle-layout .ja2-item-feedback{color:#d3cfb0;white-space:normal;font-size:10px}.battle-layout .ja2-nearby-loot{border-top:1px solid #52645a;max-height:120px;margin-top:5px;padding-top:4px;font-size:10px;overflow:auto}.battle-layout .ja2-nearby-loot summary{cursor:pointer;color:#e3dfbf}.battle-layout .ja2-inventory .pertrechos{overflow-y:auto}@media (width>=701px){.battle-layout .ja2-strip.inventory-open{height:min(48svh,420px);min-height:300px}}@media (width>=1101px){.battle-layout .ja2-inventory{grid-template-rows:minmax(0,1fr) minmax(100px,auto)}}@media (width<=700px){.battle-layout .ja2-inventory .pertrechos{overflow:visible}.battle-layout .ja2-item-handling label:first-child{flex-basis:calc(100% - 72px)}.battle-layout .ja2-item-handling label:first-child select{max-width:none}}@media (width>=701px) and (width<=1100px){.battle-layout .ja2-roster{grid-template-columns:repeat(6,78px);overflow-x:auto}}@media (width<=700px){.battle-layout .ja2-strip{grid-auto-rows:max-content}.battle-layout .ja2-context{min-height:max-content;overflow:visible}.battle-layout .ja2-order-grid{flex:none;min-height:24px;overflow:visible}.battle-layout .ja2-context .gold-button.end-turn{margin-top:0}.battle-layout .tactical-help-toggle{bottom:calc(52svh + 8px)}}.ja2-auto-bandage{border-top:1px solid #766b4e;padding-top:.5rem}.ja2-auto-bandage p{margin:.35rem 0}.ja2-auto-bandage ul{padding-left:1.1rem}.ja2-group-move{color:#eee3c4;background:#253d35;border:1px solid #8c9970;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .8rem;display:flex}.ja2-group-members{flex-wrap:wrap;gap:.3rem;display:flex}.ja2-group-preview{box-sizing:border-box;flex:0 0 100%;min-width:0;line-height:1.25rem;overflow:auto}.ja2-group-move ul{margin:.25rem 0;padding-left:1.1rem}.ja2-group-move p{margin:.25rem 0}.ja2-portrait-cell.group-selected{outline-offset:-3px;outline:2px solid #aeca81}.ja2-group-tag{color:#d6edb5;font-size:.65rem}.ja2-campaign-return{background:#293126;border-bottom:1px solid #596346;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.3rem .75rem;padding:.3rem .75rem;display:flex}.ja2-campaign-return .line-button{padding:.2rem .5rem;font-size:.75rem}.ja2-campaign-return small{font-size:.7rem}.ja2-bayonet-control{border:1px solid #76764f;gap:.25rem;padding:.35rem;display:grid}.ja2-bayonet-control small{display:block}.ja2-exit-panel{color:#f1e5c7;background:#24342d;border:1px solid #9e8b5c;gap:.65rem;margin:.5rem 0;padding:1rem;display:grid}.ja2-exit-panel header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.ja2-exit-panel p{margin:.3rem 0;font-size:.85rem}.ja2-exit-panel select{color:#f1e5c7;background:#18251f;border:1px solid #9e8b5c;max-width:100%;margin-left:.5rem;padding:.35rem}.ja2-exit-selection{flex-wrap:wrap;gap:.4rem;display:flex}.ja2-exit-panel fieldset{border:1px solid #736f51;gap:.35rem;padding:.6rem;display:grid}.ja2-exit-unit{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ja2-exit-unit small{margin-left:auto}.ja2-exit-note,.ja2-departure-notice{color:#d4c69f;font-size:.8rem}.ja2-departure-notice{background:#24342d;padding:.5rem}@media (width<=600px){.ja2-exit-panel header{flex-wrap:wrap}.ja2-exit-unit small{flex-basis:100%;margin-left:1.5rem}}.ja2-loot-dialog{box-sizing:border-box;color:#f0e6c9;background:#263329;border:1px solid #b6a46c;width:min(440px,100vw - 32px);max-height:calc(100svh - 32px);margin:auto;padding:18px;overflow:auto;box-shadow:0 16px 64px #0009}.ja2-loot-dialog::backdrop{background:#07140dbb}.ja2-loot-dialog header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.ja2-loot-dialog h2{margin:0;font-size:20px}.ja2-loot-dialog p{font-size:13px;line-height:1.5}.ja2-loot-dialog header p{margin:4px 0}.ja2-loot-dialog label{gap:5px;margin:12px 0;font-size:13px;display:grid}.ja2-loot-dialog select,.ja2-loot-dialog input{box-sizing:border-box;color:#f0e6c9;width:100%;min-width:0;font:inherit;background:#13251b;border:1px solid #8e956e;padding:8px}.ja2-loot-dialog :focus-visible{outline-offset:3px;outline:2px solid #f4d882}.ja2-loot-dialog .gold-button{width:100%;margin-top:8px}.ja2-loot-select{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.ja2-loot-list{overscroll-behavior:contain;border-block:1px solid #667353;max-height:42svh;overflow:auto}.ja2-loot-row{border-bottom:1px solid #46583f;grid-template-columns:minmax(0,1fr) 76px;gap:12px;padding:10px 2px;display:grid}.ja2-loot-row:last-child{border-bottom:0}.ja2-loot-dialog .ja2-loot-choice{align-items:flex-start;gap:8px;margin:0;display:flex}.ja2-loot-dialog .ja2-loot-choice input{accent-color:#cfbc7e;flex-shrink:0;width:17px;height:17px;margin:3px 0}.ja2-loot-choice span{min-width:0}.ja2-loot-choice strong,.ja2-loot-choice small{overflow-wrap:anywhere;line-height:1.5;display:block}.ja2-loot-choice small{color:#d1d8bf}.ja2-loot-row p{margin:5px 0 0 25px;font-size:12px}.ja2-loot-dialog .ja2-loot-quantity{align-content:start;margin:0}.ja2-loot-dialog footer{padding-top:8px}.battle-layout .ja2-roster.multiple-squads{overscroll-behavior-x:contain;grid-template-columns:none;grid-auto-columns:minmax(78px,calc(16.6667% - 4.16667px));grid-auto-flow:column;overflow-x:auto}.battle-layout .tactical-notices{top:0}.battle-layout .tactical-notices:has(>.ja2-interrupt-banner){top:48px}.battle-layout .battle-header.tactical-map-toolbar{color:#f1ead7;background:#202e25;flex:none;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;height:auto;min-height:36px;padding:4px 8px;display:grid;position:relative}.battle-layout .tactical-map-toolbar h1{text-overflow:ellipsis;white-space:nowrap;color:#f3ead5;grid-column:2;min-width:0;max-width:none;margin:0;font-size:14px;line-height:1.2;overflow:hidden}.battle-layout .tactical-map-toolbar .battle-status{color:#e9eddf;white-space:nowrap;flex-wrap:nowrap;grid-column:3;align-items:center;gap:8px;max-width:none;font-size:11px;display:flex}.battle-layout .battle-phase{align-items:center;gap:5px;display:inline-flex}.battle-layout .tactical-map-toolbar .enemy-count{color:#e9b99d;border-left:1px solid #6d7a64;margin:0;padding:0 0 0 8px;display:inline}.battle-layout .map-toolbar-actions{grid-column:4;align-items:center;gap:6px;display:flex}.battle-layout .map-order-mode{text-overflow:ellipsis;white-space:nowrap;color:#eddda8;max-width:110px;font-size:11px;overflow:hidden}.battle-layout .tactical-map-toolbar .line-button{color:#fff3cb;white-space:nowrap;background:#1a2a20;border:1px solid #839271;border-radius:3px;min-height:27px;padding:3px 7px;font-size:12px;line-height:1.25}.battle-layout .tactical-map-toolbar button:hover:not(:disabled){background:#42543a;border-color:#ddcf94}.battle-layout .tactical-map-toolbar :focus-visible{outline-offset:1px;outline:2px solid #f4d882}.battle-layout .tactical-map-toolbar .ja2-campaign-return{background:0 0;border:0;grid-column:1;margin:0;padding:0}.battle-layout .tactical-map-toolbar .tactical-help-toggle{position:static;inset:auto}.battle-layout #tactical-key-reference{max-height:calc(100svh - 88px);font-size:13px;top:72px;right:8px}.battle-layout #tactical-key-reference h2{font-size:20px}.battle-layout #tactical-key-reference .map-order-help{border-left:2px solid #d7bf7c;padding-left:10px}.battle-layout #tactical-camera-panel{z-index:50;color:#f1e5c7;background:#20332c;border:1px solid #95a27f;width:max-content;max-width:calc(100% - 16px);max-height:min(280px,60svh);padding:10px;font-size:12px;position:absolute;top:calc(100% + 4px);right:8px;overflow:auto;box-shadow:0 5px 20px #0008}.battle-layout .map-camera-controls,.battle-layout .map-camera,.battle-layout .map-zoom{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.battle-layout .map-camera-controls{gap:8px 12px}.battle-layout .map-control-label{color:#e0e5d3;width:auto;min-width:0;margin-right:3px}.battle-layout .map-camera-controls button{color:#fff3cb;background:#1a2a20;border:1px solid #839271;border-radius:3px;min-width:28px;height:28px;padding:0 6px;font-size:16px}.battle-layout .map-camera-controls button.map-center{width:auto;font-size:12px}.battle-layout .map-zoom output{text-align:center;color:#fff0bb;min-width:38px;font:12px/1.2 ui-monospace,monospace}.battle-layout .map-reference{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.battle-layout #tactical-camera-panel p{color:#d5ddcb;margin:8px 0 0;font-size:11px}@media (width<=650px){.battle-layout .battle-header.tactical-map-toolbar{gap:4px 8px}.battle-layout .tactical-map-toolbar h1{grid-column:2/5}.battle-layout .tactical-map-toolbar .battle-status{grid-area:2/1/auto/3}.battle-layout .map-toolbar-actions{grid-area:2/3/auto/5;justify-content:flex-end}.battle-layout .map-order-mode{max-width:85px}.battle-layout .tactical-map-toolbar .enemy-count{display:none}.battle-layout #tactical-key-reference{max-height:calc(100svh - 110px);top:94px}}.ammunition-load-choice{text-align:left;flex-direction:column;gap:6px;width:100%;min-width:0;display:flex}.ammunition-load-choice label,.ammunition-load-choice select{box-sizing:border-box;width:100%;max-width:100%;display:block}.ammunition-load-choice small{white-space:normal}.corpse-blood-spread{transform-box:fill-box;transform-origin:50%;animation:.7s ease-out both corpse-blood-settle}.tactical-noise-direction{animation:2.4s ease-out both tactical-noise-fade}@keyframes corpse-blood-settle{0%{opacity:.45;transform:scale(.45)}to{opacity:1;transform:scale(1)}}@keyframes tactical-noise-fade{0%{opacity:0}15%,55%{opacity:.7}to{opacity:0}}@media (prefers-reduced-motion:reduce){.corpse-blood-spread{animation:none}.tactical-noise-direction{animation-duration:10ms}}.battle-layout .tactical-three-canvas{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.battle-layout .tactical-field{background:0 0;position:relative}.tactical-three-status{z-index:5;color:#eee6c7;pointer-events:none;background:#19261de8;border:1px solid #8a8565;padding:10px 18px;font-size:13px;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.tactical-three-status.failed{pointer-events:auto;background:#412a22ed}.tactical-three-status button{color:#eee6c7;cursor:pointer;background:#19261d;border:1px solid #b4a678;margin:10px auto 0;padding:6px 10px;display:block}.campaign-editor-dialog{border-radius:10px;width:min(800px,94vw);max-height:94vh;margin:auto;overflow:auto}.campaign-editor-dialog::backdrop{background:#0000008c}.campaign-editor-dialog h2,.campaign-editor-dialog p{margin:0 0 16px}:is(.campaign-studio,.content-editor,.sector-editor){--editor-bg:#0b1220;--editor-panel:#111c2e;--editor-surface:#17253a;--editor-border:#2c3e55;--editor-text:#e8edf4;--editor-muted:#aab8c8;--editor-accent:#69dcc5;--editor-accent-soft:#163b3a;--editor-danger:#ffa5ad;--editor-warning:#f1ce8b;--editor-radius:8px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--editor-text);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:is(.campaign-studio,.content-editor,.sector-editor) :is(h1,h2,h3,h4,legend){letter-spacing:-.02em;font-family:inherit;font-weight:650}:is(.campaign-studio,.content-editor,.sector-editor) :focus-visible{outline:2px solid var(--editor-accent);outline-offset:3px}.editor-action-primary{background:var(--editor-accent)!important;border-color:var(--editor-accent)!important;color:#092c28!important;font-weight:650!important}.editor-action-primary:hover:not(:disabled){background:#8ee9d7!important}.editor-action-quiet{background:0 0!important}.editor-action-danger{color:var(--editor-danger)!important}.editor-help{color:var(--editor-muted);font-size:12px}.editor-status{align-items:center;gap:7px;font-size:12px;display:inline-flex}.editor-status:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.editor-status[data-state=saved],.editor-status[data-state=valid]{color:var(--editor-accent)}.editor-status[data-state=pending]{color:var(--editor-warning)}.editor-status[data-state=error]{color:var(--editor-danger)}.editor-shortcut{border:1px solid var(--editor-border);background:var(--editor-surface);color:var(--editor-muted);border-radius:4px;padding:1px 5px;font:11px ui-monospace,monospace}.studio-staged-notice,.studio-document-conflict{color:var(--editor-warning);overflow-wrap:anywhere;background:#302b20;border:1px solid #806742;border-radius:6px;margin:12px 0;padding:12px 14px}.studio-staged-notice{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.studio-staged-notice span{flex:250px}.studio-document-mode{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.studio-document-mode .editor-status{margin-left:auto}.studio-document-conflict p{margin-bottom:10px}.studio-document .studio-json{width:100%;min-width:0;max-width:100%;font:12px/1.6 ui-monospace,monospace;overflow:auto}@media (prefers-reduced-motion:reduce){:is(.campaign-studio,.content-editor,.sector-editor) *,:is(.campaign-studio,.content-editor,.sector-editor) :before,:is(.campaign-studio,.content-editor,.sector-editor) :after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}.studio-fields{border:1px solid var(--editor-border);background:var(--editor-panel);border-radius:6px;min-width:0;margin:10px 0}.studio-field-heading{text-align:left;gap:12px;width:100%;background:var(--editor-surface)!important;border:0!important;border-radius:5px!important;justify-content:space-between!important;padding:12px!important;display:flex!important}.studio-field-heading small{flex:none;font-size:11px;font-weight:400}.studio-field-body{padding:16px}.studio-field-row{border-bottom:1px solid var(--editor-border);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;margin-bottom:14px;padding-bottom:14px;display:grid}.studio-field-row:last-of-type{border-bottom:0}.studio-field-row-actions{align-items:center;gap:5px;max-width:150px}.studio-field-row-actions button{background:0 0;min-height:29px;padding:5px 7px;font-size:11px}.studio-value-field small{overflow-wrap:anywhere;font-size:10px;font-weight:400}.studio-check-field{flex-wrap:wrap;align-items:center;flex-direction:row!important}.studio-check-field small{overflow-wrap:anywhere;width:100%;font-size:10px;font-weight:400}.studio-null-field{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.studio-null-field select{width:auto}.studio-colour-field{gap:8px;display:flex}.studio-add-field{border-top:1px solid var(--editor-border);margin-top:8px;padding-top:14px}.studio-add-field label{flex:1;min-width:130px}.studio-document-mode{border:1px solid var(--editor-border);border-radius:7px;flex-wrap:wrap;gap:8px;margin:10px 0 16px;padding:3px;display:flex}.studio-document-mode button{background:0 0;border:0;min-height:30px}.studio-field-tools,.studio-add-field,.studio-field-row-actions,.studio-document .studio-row{flex-wrap:wrap;align-items:end;gap:8px;display:flex}@media (width<=600px){.studio-field-row{grid-template-columns:minmax(0,1fr);gap:8px}.studio-field-row-actions{justify-content:flex-end;max-width:none}.studio-field-body{padding:12px}.studio-field-heading{flex-wrap:wrap}}.sector-editor{--ed-bg:var(--editor-bg,#0b1220);--ed-panel:var(--editor-panel,#111c2e);--ed-surface:var(--editor-surface,#17253a);--ed-line:var(--editor-border,#2c3e55);--ed-ink:var(--editor-text,#e8edf4);--ed-muted:var(--editor-muted,#aab8c8);--ed-accent:var(--editor-accent,#69dcc5);background:var(--ed-bg);color:var(--ed-ink);min-height:100vh;font:13px/1.5 system-ui,sans-serif}.sector-editor *{box-sizing:border-box}.sector-editor .editor-header{border-bottom:1px solid var(--ed-line);background:var(--ed-bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:14px 20px;display:flex}.sector-editor .editor-identity{flex-direction:column;gap:2px;min-width:0;display:flex}.sector-editor .editor-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--ed-muted);font-size:10px;font-weight:650}.sector-editor .editor-brand{color:var(--ed-ink);letter-spacing:0;overflow-wrap:anywhere;font-size:17px;font-weight:650;text-decoration:none}.sector-editor .editor-navigation{flex-wrap:wrap;align-items:center;gap:16px;font-size:12px;display:flex}.sector-editor .editor-navigation a{color:var(--ed-muted);text-decoration:none}.sector-editor .editor-navigation a:hover{color:var(--ed-accent)}.sector-editor button,.sector-editor input,.sector-editor select,.sector-editor textarea{font:inherit;color:inherit;border:1px solid var(--ed-line);border-radius:var(--editor-radius,6px);background:var(--ed-surface);min-width:0;max-width:100%;padding:7px 9px}.sector-editor button{cursor:pointer;touch-action:manipulation;min-height:34px;transition:background .12s,border-color .12s}.sector-editor button:hover{background:#22364d;border-color:#526881}.sector-editor button:disabled{opacity:.45;cursor:default}.sector-editor button.active,.sector-editor button[aria-pressed=true]{background:var(--editor-accent-soft,#153b3c);color:var(--ed-accent);border-color:#397e7d;font-weight:650}.sector-editor .primary{background:var(--ed-accent);color:#082823;border-color:var(--ed-accent);font-weight:700}.sector-editor .primary:hover{background:#8ce9d5;border-color:#8ce9d5}.sector-editor :is(button,input,select,textarea,summary,a):focus-visible{outline:2px solid var(--ed-accent);outline-offset:3px}.sector-editor input[type=checkbox]{accent-color:var(--ed-accent);width:15px;height:15px}.sector-editor label{color:var(--ed-muted);font-size:12px;display:block}.sector-editor label>input:not([type=checkbox]),.sector-editor label>select{width:100%;margin:4px 0 9px;display:block}.sector-editor .editor-toolbar{background:var(--ed-panel);border-bottom:1px solid var(--ed-line);flex-wrap:wrap;align-items:end;gap:10px;padding:12px 20px;display:flex}.sector-editor .editor-map-name{flex:230px;max-width:450px;font-size:11px;font-weight:600}.sector-editor .editor-map-name input{margin:3px 0 0;font-size:14px;font-weight:500}.sector-editor .editor-toolbar-group{border-left:1px solid var(--ed-line);align-items:center;gap:6px;padding-left:10px;display:flex}.sector-editor .editor-document-bar{color:var(--ed-muted);border-bottom:1px solid var(--ed-line);flex-wrap:wrap;align-items:center;gap:8px 18px;padding:8px 20px;font-size:11px;display:flex}.sector-editor .editor-document-id{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-family:ui-monospace,monospace;overflow:hidden}.sector-editor .editor-validation-badge{background:var(--ed-panel);min-height:28px;margin-left:auto;padding:4px 9px;font-size:11px}.sector-editor .valid{color:var(--ed-accent)}.sector-editor .invalid{color:var(--editor-danger,#ffacb1)}.sector-editor .editor-layout{grid-template-columns:248px minmax(300px,1fr) 270px;min-height:540px;display:grid}.sector-editor .editor-palette,.sector-editor .editor-inspector{background:var(--ed-panel);scrollbar-color:#3a506c transparent;min-width:0;padding:16px;overflow:auto}.sector-editor .editor-palette{border-right:1px solid var(--ed-line)}.sector-editor .editor-inspector{border-left:1px solid var(--ed-line)}.sector-editor h2{text-transform:uppercase;letter-spacing:.08em;color:var(--ed-muted);margin:22px 0 10px;font:650 11px/1.5 system-ui}.sector-editor h2:first-child{margin-top:0}.sector-editor h3{color:var(--ed-muted);margin:10px 0 6px;font-size:11px;font-weight:600}.sector-editor p{margin:8px 0 12px}.sector-editor .editor-palette>button,.sector-editor .editor-palette>select,.sector-editor .editor-selection-panel>button{width:100%;margin-bottom:7px}.sector-editor .editor-pair{gap:8px;margin:8px 0;display:flex}.sector-editor .editor-pair>*{flex:1;min-width:0}.sector-editor .editor-tools{grid-template-columns:1fr 1fr;gap:6px;display:grid}.sector-editor .editor-tools button{text-align:left;overflow-wrap:anywhere;min-height:36px;font-size:12px;line-height:1.35}.sector-editor .editor-tool-group{margin:10px 0}.sector-editor .editor-tool-group:first-of-type h3{margin-top:0}.sector-editor details{border-top:1px solid var(--ed-line);margin:12px 0;padding-top:10px}.sector-editor summary{cursor:pointer;color:var(--ed-ink);padding:4px 0 8px;font-size:12px;font-weight:600}.sector-editor .editor-catalogue-group .editor-tools{margin-top:4px}.sector-editor .editor-catalogue-group>button{width:100%;margin-top:7px}.sector-editor .editor-help{color:var(--ed-muted);font-size:12px;line-height:1.6}.sector-editor .editor-catalogue-search{margin:8px 0}.sector-editor .editor-workspace{background:radial-gradient(#203246,#101b2a 85%);flex-direction:column;min-width:0;display:flex;position:relative}.sector-editor .editor-tool-context{background:var(--ed-panel);border-bottom:1px solid var(--ed-line);flex-wrap:wrap;align-items:center;gap:6px 16px;padding:10px 14px;font-size:12px;display:flex}.sector-editor .editor-tool-context strong{color:var(--ed-accent)}.sector-editor .editor-tool-context span{color:var(--ed-muted);font-size:11px}.sector-editor .editor-viewbar{border-bottom:1px solid var(--ed-line);background:#0f1a2cde;flex-wrap:wrap;align-items:center;gap:7px;padding:9px 12px;display:flex}.sector-editor .editor-viewbar select{max-width:175px;font-size:12px}.sector-editor .editor-viewbar output{text-align:center;font-variant-numeric:tabular-nums;min-width:42px;font-size:11px}.sector-editor .editor-viewbar button{font-size:12px}.sector-editor .editor-map-empty{border-bottom:1px solid var(--ed-line);color:var(--ed-ink);background:#142d36;flex-direction:column;gap:3px;padding:10px 14px;font-size:12px;display:flex}.sector-editor .editor-map-empty span{color:var(--ed-muted);font-size:11px}.sector-editor .editor-map{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;width:100%;height:calc(100vh - 300px);min-height:400px;display:block}.sector-editor .editor-map [role=button]:focus{stroke:var(--ed-accent);stroke-width:2px;outline:none}.sector-editor .editor-workspace footer{color:var(--ed-muted);background:#0f1a2cde;justify-content:space-between;gap:10px;padding:8px 14px;font-size:11px;display:flex}.sector-editor .editor-status{background:var(--ed-bg);border-top:1px solid var(--ed-line);color:var(--ed-muted);justify-content:space-between;align-items:center;gap:14px;min-height:38px;padding:9px 20px;font-size:12px;display:flex;position:static}.sector-editor .editor-status:before{display:none}.sector-editor .editor-selection-count{white-space:nowrap;font-size:11px}.sector-editor .editor-warning{color:var(--editor-warning,#f6d19c);overflow-wrap:anywhere;background:#332b24;border:1px solid #62523f;border-radius:5px;padding:10px;font-size:12px;line-height:1.6}.sector-editor .editor-selection-summary{border:1px solid var(--ed-line);background:var(--ed-bg);border-radius:6px;margin-bottom:14px;padding:10px 12px}.sector-editor .editor-selection-summary strong,.sector-editor .editor-selection-summary code{overflow-wrap:anywhere;display:block}.sector-editor .editor-selection-summary code{color:var(--ed-muted);margin-top:3px;font-size:10px}.sector-editor .editor-selection-summary p{color:var(--ed-muted);margin:7px 0 0;font-size:11px}.sector-editor .editor-empty-selection{background:#0f1a2b;border:1px dashed #415774;border-radius:6px;padding:12px;font-size:12px}.sector-editor .editor-empty-selection strong{font-size:13px}.sector-editor .editor-empty-selection button{width:100%;margin-top:3px}.sector-editor .editor-layers-panel,.sector-editor .editor-validation-panel{border-top:1px solid var(--ed-line);margin-top:22px;padding-top:15px}.sector-editor .editor-validation-panel:focus{outline:2px solid var(--ed-accent);outline-offset:4px;border-radius:4px}.sector-editor .editor-layer{justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;display:flex}.sector-editor .editor-layer label{flex-direction:row;align-items:center;gap:7px;display:flex}.sector-editor .editor-layer button{min-height:26px;padding:3px 7px;font-size:10px}.sector-editor .editor-shortcuts dl{margin:0;font-size:11px}.sector-editor .editor-shortcuts dl>div{justify-content:space-between;gap:12px;margin:8px 0;display:flex}.sector-editor .editor-shortcuts dt{color:var(--ed-muted)}.sector-editor .editor-shortcuts dd{text-align:right;margin:0}.sector-editor kbd{border:1px solid var(--ed-line);background:var(--ed-bg);color:var(--ed-ink);border-radius:3px;padding:2px 4px;font:10px/1.5 ui-monospace,monospace}.sector-editor .editor-recovery{color:var(--editor-warning,#f6d19c);background:#332b24;padding:12px 20px;font-size:12px}.sector-editor .editor-recovery button{margin:4px 0 4px 10px}.sector-editor.playtest{flex-direction:column;display:flex}.sector-editor.playtest header span{color:var(--ed-muted);flex:1}.sector-editor .editor-panel-tabs{display:none}.sector-editor.embedded{border:1px solid var(--ed-line);border-radius:8px;min-height:0;overflow:hidden}.sector-editor.embedded .editor-layout{min-height:550px;max-height:850px}.sector-editor.embedded .editor-map{height:530px;min-height:420px}.sector-editor.embedded .editor-header{padding:10px 14px}.sector-editor.embedded .editor-toolbar,.sector-editor.embedded .editor-document-bar,.sector-editor.embedded .editor-status{padding-left:14px;padding-right:14px}.editor-export-dialog{z-index:60;background:var(--editor-panel,#111c2e)!important;color:var(--editor-text,#e8edf4)!important;border:1px solid var(--editor-border,#2c3e55)!important;max-width:min(800px,94vw)!important;padding:24px!important}.editor-export-dialog textarea{resize:vertical;background:var(--editor-bg,#0b1220);width:100%;height:45vh;color:var(--editor-text,#e8edf4);border:1px solid var(--editor-border,#2c3e55);border-radius:6px;padding:12px;font:12px/1.6 ui-monospace,monospace}.editor-export-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.editor-export-actions a,.editor-export-actions button{background:var(--editor-surface,#17253a);color:var(--editor-text,#e8edf4);border:1px solid var(--editor-border,#2c3e55);cursor:pointer;border-radius:6px;padding:9px 13px;font:13px system-ui;text-decoration:none}.editor-export-dialog .editor-export-actions a{background:var(--editor-accent,#69dcc5);color:#082823;font-weight:650}.editor-export-actions :focus-visible{outline:2px solid var(--editor-accent,#69dcc5);outline-offset:3px}@media (width>=1181px){.sector-editor:not(.playtest):not(.embedded){flex-direction:column;height:100dvh;min-height:0;display:flex}.sector-editor:not(.embedded)>.editor-header,.sector-editor:not(.embedded)>.editor-toolbar,.sector-editor:not(.embedded)>.editor-document-bar,.sector-editor:not(.embedded)>.editor-status,.sector-editor .editor-recovery{flex-shrink:0}.sector-editor:not(.embedded) .editor-layout{flex:1;min-height:0}.sector-editor:not(.embedded) .editor-palette,.sector-editor:not(.embedded) .editor-inspector,.sector-editor:not(.embedded) .editor-workspace{min-height:0}.sector-editor:not(.embedded) .editor-map{height:auto;min-height:0}}@media (width<=1180px){.sector-editor .editor-layout{grid-template-columns:218px minmax(260px,1fr)}.sector-editor .editor-inspector{border-left:0;border-top:1px solid var(--ed-line);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.sector-editor .editor-inspector section{border-top:0;margin:0;padding:0}.sector-editor .editor-shortcuts{align-self:start;margin:0}.sector-editor.embedded .editor-layout{max-height:none}.sector-editor .editor-map{height:560px}.sector-editor .editor-palette{max-height:750px}}@media (width<=720px){.sector-editor .editor-header{gap:12px;padding:12px}.sector-editor .editor-navigation{gap:12px}.sector-editor .editor-toolbar{gap:8px;padding:10px 12px}.sector-editor .editor-map-name{flex-basis:100%;max-width:none}.sector-editor .editor-toolbar-group{border:0;flex-wrap:wrap;padding-left:0}.sector-editor .editor-document-bar{gap:6px 12px;padding:8px 12px}.sector-editor .editor-validation-badge{margin-left:0}.sector-editor .editor-panel-tabs{background:var(--ed-panel);border-bottom:1px solid var(--ed-line);gap:6px;padding:9px 12px;display:flex}.sector-editor .editor-panel-tabs button{flex:1;padding:7px 5px;font-size:12px}.sector-editor .editor-layout{flex-direction:column;min-height:0;display:flex}.sector-editor .editor-palette,.sector-editor .editor-inspector{border:0;max-height:none;display:none}.sector-editor[data-active-panel=tools] .editor-palette,.sector-editor[data-active-panel=properties] .editor-inspector{display:block}.sector-editor[data-active-panel=tools] .editor-workspace,.sector-editor[data-active-panel=properties] .editor-workspace{display:none}.sector-editor .editor-map,.sector-editor.embedded .editor-map{height:460px;min-height:360px}.sector-editor .editor-workspace{min-height:460px}.sector-editor.embedded .editor-layout{min-height:0}.sector-editor .editor-tool-context{flex-direction:column;align-items:start}.sector-editor .editor-viewbar select{flex:1;max-width:160px}.sector-editor .editor-status{flex-wrap:wrap;gap:5px;padding:9px 12px}.sector-editor .editor-workspace footer{flex-wrap:wrap}.sector-editor .editor-layers-panel,.sector-editor .editor-validation-panel{border-top:1px solid var(--ed-line)!important;margin-top:20px!important;padding-top:15px!important}}@media (prefers-reduced-motion:reduce){.sector-editor button{transition:none}}.sector-editor fieldset.editor-toolbar-group,.sector-editor fieldset.editor-tool-group{border:0;min-width:0;margin-inline:0;padding:0}.content-editor{background:var(--editor-bg,#0b1220);max-width:1440px;min-height:100vh;color:var(--editor-text,#e8edf4);margin:auto;padding:28px 32px;font:14px/1.5 ui-sans-serif,system-ui,sans-serif}.content-editor *,.content-export-dialog *{box-sizing:border-box}.content-editor-embedded{max-width:none;min-height:0;padding:0}.content-editor a{color:var(--editor-accent,#69dcc5);text-underline-offset:3px}.content-editor h1,.content-editor h2,.content-editor h3{color:var(--editor-text);letter-spacing:-.02em;overflow-wrap:anywhere;font-family:inherit}.content-editor h1{margin:6px 0 8px;font-size:clamp(24px,3vw,32px);line-height:1.2}.content-editor h2{margin:0 0 12px;font-size:19px;line-height:1.35}.content-editor h3{margin:24px 0 12px;font-size:16px}.content-editor p{color:var(--editor-muted);margin:0 0 14px}.content-editor small{color:var(--editor-muted);font-size:12px;line-height:1.5;display:block}.content-editor code{color:var(--editor-muted);overflow-wrap:anywhere;font:12px/1.5 ui-monospace,monospace}.content-editor header{border-bottom:1px solid var(--editor-border);justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px;padding-bottom:20px;display:flex}.content-breadcrumbs,.content-secondary-links{color:var(--editor-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.content-editor .eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--editor-accent);margin:16px 0 6px;font-size:10px}.content-editor .toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.content-actions{justify-content:flex-end}.content-history{border-right:1px solid var(--editor-border);gap:4px;margin-right:2px;padding-right:10px;display:flex}.content-editor button{border:1px solid var(--editor-border);background:var(--editor-surface);min-height:36px;color:var(--editor-text);cursor:pointer;font:inherit;border-radius:6px;padding:8px 12px;line-height:1.35;transition:background-color .15s,border-color .15s}.content-editor button:hover:not(:disabled){background:#21344d;border-color:#526a86}.content-editor button:disabled{opacity:.45;cursor:not-allowed}.content-editor button:focus-visible,.content-editor input:focus-visible,.content-editor select:focus-visible,.content-editor textarea:focus-visible,.content-editor summary:focus-visible,.content-editor .content-section-panel:focus-visible{outline:2px solid var(--editor-accent);outline-offset:3px}.content-editor .primary{background:var(--editor-accent);color:#092c28;border-color:var(--editor-accent);font-weight:650}.content-editor .primary:hover:not(:disabled){background:#8ee9d7;border-color:#8ee9d7}.content-editor .content-danger{color:var(--editor-danger);background:0 0}.content-editor .content-danger:hover:not(:disabled){background:#412632;border-color:#91525d}.content-editor details{border:1px solid var(--editor-border);background:var(--editor-panel);border-radius:6px;margin:12px 0;padding:10px 12px}.content-editor summary{cursor:pointer;color:var(--editor-text);font-size:13px;font-weight:550}.content-editor details[open]>summary{margin-bottom:12px}.content-editor .content-build{background:0 0;border:0;margin:0;padding:0}.content-editor .content-build summary{color:var(--editor-muted);font-size:11px;font-weight:400}.content-editor .content-example{margin-bottom:16px}.content-project-bar{grid-template-columns:minmax(200px,280px) minmax(0,1fr) auto;align-items:center;gap:16px;margin:16px 0;display:grid}.content-editor .content-project-bar label{margin:0}.content-editor .scope-note{margin:0;font-size:12px;line-height:1.6}.content-secondary-links{flex-direction:column;align-items:flex-start}.content-editor .campaign-launch{border:1px solid var(--editor-border);border-radius:var(--editor-radius);background:var(--editor-panel);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:14px 16px;display:flex}.content-editor .campaign-launch h2{margin:0 0 3px;font-size:14px}.content-editor .campaign-launch details{flex-basis:100%;order:3;margin:0}.content-editor .campaign-launch ul{color:var(--editor-warning);margin:0;padding-left:20px}.content-editor .campaign-launch a{font-size:12px}.content-editor nav{border-bottom:1px solid var(--editor-border);flex-wrap:wrap;gap:6px;margin:20px 0;padding-bottom:10px;display:flex}.content-editor nav button{background:0 0;border-color:#0000;padding:8px 12px;font-size:13px}.content-editor nav [aria-current],.content-editor nav [aria-pressed=true]{background:var(--editor-accent-soft);color:var(--editor-accent);border-color:#34766b}.content-section-heading{border-bottom:1px solid var(--editor-border);margin-bottom:16px;padding-bottom:16px}.content-section-heading h2{margin-bottom:4px;font-size:18px}.content-section-heading p{max-width:85ch;margin:0;font-size:13px}.content-editor .editor-columns{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:20px;display:grid}.content-editor aside{border:1px solid var(--editor-border);border-radius:var(--editor-radius);background:var(--editor-panel);min-width:0;padding:16px}.content-editor .content-entity-sidebar{position:sticky;top:16px}.content-editor aside h2{justify-content:space-between;align-items:center;font-size:15px;display:flex}.content-editor aside h2 small{font-size:11px;font-weight:400;display:inline}.content-create-actions{gap:6px;display:grid}.content-create-actions button{width:100%}.content-editor .list-search{margin:18px 0 10px}.content-list-feedback{color:var(--editor-muted);justify-content:space-between;align-items:center;gap:8px;min-height:28px;margin-bottom:10px;font-size:11px;display:flex}.content-editor .content-list-feedback button{min-height:28px;color:var(--editor-accent);background:0 0;border-color:#0000;padding:3px 5px;font-size:11px}.content-editor .entry-list{scrollbar-color:#405873 transparent;flex-direction:column;gap:5px;max-height:min(62vh,740px);display:flex;overflow:auto}.content-editor .entry-list button{text-align:left;overflow-wrap:anywhere;background:0 0;border-color:#0000;min-height:48px;padding:10px}.content-editor .entry-list button small{margin-top:3px;font:11px/1.5 ui-monospace,monospace}.content-editor .entry-list [aria-pressed=true],.content-editor .entry-list [aria-current]{background:var(--editor-accent-soft);color:var(--editor-text);border-color:#34766b}.content-editor .form-panel,.content-editor .test-panel,.content-editor .editor-detail{background:var(--editor-panel);border:1px solid var(--editor-border);border-radius:var(--editor-radius);min-width:0;padding:24px}.content-editor .panel-heading{border-bottom:1px solid var(--editor-border);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;padding-bottom:18px;display:flex}.content-editor .panel-heading h2{margin-bottom:4px}.content-record-actions{justify-content:flex-end}.content-editor .content-empty{color:var(--editor-muted);text-align:center;border:1px dashed var(--editor-border);border-radius:6px;padding:20px 12px;font-size:13px}.content-editor .content-empty h2{font-size:16px}.content-editor .content-empty p{margin:0}.content-editor .content-selection-note{border-left:3px solid var(--editor-accent);background:var(--editor-surface);border-radius:4px;padding:10px 12px;font-size:12px}.content-editor label{color:var(--editor-text);flex-direction:column;gap:6px;min-width:0;margin-bottom:16px;font-size:13px;display:flex}.content-editor input,.content-editor select,.content-editor textarea{border:1px solid var(--editor-border);background:var(--editor-bg);color:var(--editor-text);font:inherit;border-radius:5px;width:100%;min-width:0;padding:9px 10px}.content-editor input::placeholder,.content-editor textarea::placeholder{color:#8193a8}.content-editor input:disabled,.content-editor select:disabled{opacity:.55}.content-editor input[type=checkbox],.content-editor input[type=radio]{width:17px;height:17px;accent-color:var(--editor-accent);flex:none;margin:0}.content-editor .check{flex-flow:wrap;align-items:center;gap:8px}.content-editor label:has(>input[type=checkbox]){flex-flow:wrap;align-items:center;gap:8px}.content-editor label:has(>input[type=radio]){flex-flow:wrap;align-items:center;gap:8px}.content-editor label:has(>input[type=checkbox])>small{flex-basis:100%}.content-editor textarea{resize:vertical;line-height:1.6}.content-editor .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;min-width:0;display:grid}.content-editor .identity{grid-template-columns:120px minmax(0,1fr);gap:24px;margin-bottom:24px;display:grid}.content-editor .identity img{object-fit:cover;background:var(--editor-bg);border:1px solid var(--editor-border);border-radius:6px;width:120px;height:160px}.content-editor fieldset{border:1px solid var(--editor-border);border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;min-width:0;margin:0 0 20px;padding:16px;display:grid}.content-editor fieldset legend{color:var(--editor-text);padding:0 6px;font-size:13px;font-weight:650}.content-editor fieldset>p,.content-editor fieldset>fieldset,.content-editor fieldset>.fields{grid-column:1/-1}.content-editor .check{margin:0}.content-editor .notice{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--editor-warning);background:#302b20;border:1px solid #6e5b32;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.content-editor .notice button{background:0 0;flex:none;min-height:28px;padding:3px 8px}.content-editor footer{border-top:1px solid var(--editor-border);color:var(--editor-muted);flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:24px;padding:18px 0 0;font-size:12px;display:flex}.content-editor footer ul{color:var(--editor-danger);overflow-wrap:anywhere;flex-basis:100%;margin:0;padding-left:18px}.content-editor table{border-collapse:collapse;text-align:left;width:100%}.content-editor th,.content-editor td{border-bottom:1px solid var(--editor-border);padding:12px 8px}.content-editor th{color:var(--editor-muted);font-size:12px}.content-editor td button{min-height:28px;margin:2px;padding:5px 8px;font-size:12px}.content-editor .table-wrap{overflow:auto}.content-editor .range{border:1px solid var(--editor-border);border-radius:6px;margin-top:20px;padding:20px}.content-editor .combat-log{color:var(--editor-muted);padding-left:20px}.content-editor .test-panel>h2:not(:first-child){margin-top:32px}.content-editor .placement-map-scroll{border:1px solid var(--editor-border);border-radius:5px;margin-top:12px;overflow:auto}.content-editor .placement-map svg{width:100%;min-width:720px;display:block}.content-editor .placement-map [data-cell]{cursor:pointer;outline:none}.content-editor .placement-map [data-cell]:hover rect,.content-editor .placement-map [data-cell]:focus rect{stroke:var(--editor-accent);stroke-width:2px}.content-editor .weapon-preview{object-fit:contain;background:var(--editor-bg);border:1px solid var(--editor-border);border-radius:6px;width:100%;max-width:460px;height:180px;margin:0 auto 20px;display:block}.content-editor .weapon-thumbnail{object-fit:contain;float:left;width:64px;height:40px;margin-right:10px}.content-editor .character-presentation{border-top:1px solid var(--editor-border);margin-top:24px;padding-top:8px}.content-editor .appearance-choice{align-items:center;gap:16px;display:flex}.content-editor .appearance-choice svg{background:var(--editor-bg);border-radius:6px;flex:none}.content-editor .appearance-choice label{flex:1;min-width:0}.content-editor .ammunition-market-profile,.content-editor .ammunition-market-profile>fieldset{display:block}.content-editor .ammunition-market-rules .check{margin:12px 0}.content-skip{position:absolute;left:-9999px}.content-skip:focus{background:var(--editor-panel);border:1px solid var(--editor-accent);z-index:70;border-radius:6px;padding:10px 14px;position:fixed;top:12px;left:16px}.content-export-dialog{z-index:60;color:#e8edf4!important;background:#111c2e!important;border:1px solid #2c3e55!important;border-radius:10px!important;max-width:min(800px,94vw)!important;padding:24px!important}.content-export-dialog textarea{resize:vertical;color:#e8edf4;background:#0b1220;border:1px solid #2c3e55;border-radius:6px;width:100%;height:45vh;padding:12px;font:12px/1.6 ui-monospace,monospace}.content-export-actions{flex-wrap:wrap;gap:8px;display:flex}.content-export-actions a,.content-export-actions button{color:#e8edf4;cursor:pointer;background:#17253a;border:1px solid #2c3e55;border-radius:6px;padding:9px 13px;font:14px system-ui;text-decoration:none}.content-export-dialog .content-export-actions a{color:#092c28;background:#69dcc5;border-color:#69dcc5;font-weight:650}.content-export-dialog :focus-visible{outline-offset:3px;outline:2px solid #69dcc5}@media (width<=1100px){.content-editor header{flex-wrap:wrap}.content-actions{justify-content:flex-start}.content-project-bar{grid-template-columns:minmax(200px,280px) minmax(0,1fr)}.content-secondary-links{flex-direction:row;grid-column:1/-1}.content-editor .editor-columns{grid-template-columns:230px minmax(0,1fr);gap:16px}}@media (width<=760px){.content-editor{padding:18px 16px}.content-editor-embedded{padding:0}.content-project-bar{grid-template-columns:1fr;gap:10px}.content-editor .editor-columns{grid-template-columns:1fr}.content-editor .content-entity-sidebar{position:static}.content-editor .entry-list{max-height:240px}.content-editor nav{flex-wrap:nowrap;scroll-padding:8px;overflow:auto}.content-editor nav button{white-space:nowrap;flex:none}.content-editor .form-panel,.content-editor .test-panel,.content-editor .editor-detail{padding:16px}.content-editor .panel-heading{flex-wrap:wrap}.content-editor .identity{grid-template-columns:85px minmax(0,1fr);gap:16px}.content-editor .identity img{width:85px;height:115px}.content-editor .fields,.content-editor fieldset{grid-template-columns:1fr}.content-editor .content-record-actions{justify-content:flex-start}.content-editor .campaign-launch{padding:12px}}@media (width<=420px){.content-history{border:0;padding:0}.content-editor .content-actions{gap:6px}.content-editor .content-actions button{padding:8px 10px;font-size:12px}.content-editor .identity{grid-template-columns:1fr}.content-editor .appearance-choice{flex-wrap:wrap}.content-export-dialog{padding:16px!important}.content-export-actions>*{text-align:center;width:100%}}.campaign-studio{--studio-line:var(--editor-border);--studio-ink:var(--editor-text);--studio-muted:var(--editor-muted);--studio-accent:var(--editor-accent);background:var(--editor-bg);max-width:1920px;min-height:100svh;margin:auto;padding:24px 32px}.campaign-studio *{box-sizing:border-box}.campaign-studio [hidden]{display:none!important}.campaign-studio :is(h1,h2,h3,h4){color:var(--studio-ink);margin:0 0 12px}.campaign-studio h1{font-size:23px;line-height:1.3}.campaign-studio h2{font-size:22px}.campaign-studio h3{font-size:16px}.campaign-studio p{margin:0 0 16px}.campaign-studio a{color:var(--studio-accent);text-underline-offset:3px}.campaign-studio :is(button,input,select,textarea){font:inherit}.campaign-studio button{border:1px solid var(--studio-line);background:var(--editor-surface);color:var(--studio-ink);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:8px 12px;line-height:1.3;transition:background .12s,border-color .12s;display:inline-flex}.campaign-studio button:hover:not(:disabled){background:#22364e;border-color:#4e6680}.campaign-studio button:disabled{opacity:.5;cursor:not-allowed}.campaign-studio label{flex-direction:column;gap:6px;min-width:0;font-size:12px;font-weight:550;display:flex}.campaign-studio input:not([type=checkbox]):not([type=color]),.campaign-studio select,.campaign-studio textarea{color:var(--studio-ink);background:#0d1727;border:1px solid #354861;border-radius:6px;width:100%;min-width:0;max-width:100%;padding:9px 10px;font-size:14px}.campaign-studio input::placeholder,.campaign-studio textarea::placeholder{color:#91a2b8}.campaign-studio input[type=checkbox]{width:17px;height:17px;accent-color:var(--studio-accent);flex:none}.campaign-studio input[type=color]{border:1px solid var(--studio-line);background:var(--editor-surface);border-radius:5px;width:44px;height:38px}.campaign-studio textarea{resize:vertical}.campaign-studio small,.studio-muted{color:var(--studio-muted)}.campaign-studio fieldset{min-width:0}.campaign-studio :is(code,kbd){font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.studio-kicker{letter-spacing:.13em;color:var(--studio-muted);font-size:10px;margin-bottom:6px!important}.studio-header{border-bottom:1px solid var(--studio-line);justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding-bottom:20px;display:flex}.studio-header h1{margin:0}.studio-header-actions{align-items:center;gap:20px;display:flex}.studio-header-actions a{color:var(--studio-muted);align-items:center;gap:6px;font-size:12px;text-decoration:none;display:flex}.studio-header-actions button{background:0 0}.studio-controls,.studio-card,.studio-welcome{border:1px solid var(--studio-line);background:var(--editor-panel);border-radius:var(--editor-radius);margin-bottom:20px;padding:20px}.studio-controls legend{color:var(--studio-muted);padding:0 8px;font-size:12px}.studio-manager-grid{grid-template-columns:1.15fr 1fr .9fr;gap:24px;display:grid}.studio-manager-group{min-width:0}.studio-manager-group+.studio-manager-group{border-left:1px solid var(--studio-line);padding-left:24px}.studio-manager-group h2{margin-bottom:6px;font-size:16px}.studio-manager-group p{color:var(--studio-muted);font-size:12px}.studio-manager-group .studio-toolbar{grid-template-columns:1fr;align-items:stretch;display:grid}.studio-manager-group .studio-toolbar label{max-width:none}.studio-manager-group .editor-help{margin:10px 0 0}.studio-toolbar,.studio-row,.studio-field-tools,.studio-add-field,.studio-field-row-actions{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.studio-toolbar label{flex:180px;max-width:270px}.studio-notice{color:#c6f1e9;overflow-wrap:anywhere;background:#183236;border:1px solid #2b5558;border-radius:6px;padding:12px 16px}.studio-project-bar{justify-content:space-between;align-items:center;gap:24px;padding:0 0 16px;display:flex}.studio-project-bar>div:first-child{flex-direction:column;gap:3px;min-width:0;display:flex}.studio-project-bar strong{overflow-wrap:anywhere;font-size:18px;font-weight:650}.studio-project-bar span{color:var(--studio-muted);font-size:12px}.studio-project-bar .studio-toolbar{gap:7px}.studio-validation-status{font-size:12px!important}.studio-validation-status[data-state=valid]{color:var(--studio-accent);background:var(--editor-accent-soft)}.studio-validation-status[data-state=error]{color:var(--editor-warning)}.studio-export-guidance{color:var(--studio-muted);border-bottom:1px solid var(--studio-line);justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;padding:10px 0 18px;font-size:12px;display:flex}.studio-export-guidance button{background:0 0;flex:none;min-height:30px;padding:4px 8px;font-size:12px}.studio-layout{grid-template-columns:230px minmax(0,1fr);gap:32px;display:grid}.studio-navigation{flex-direction:column;align-self:start;gap:18px;display:flex;position:sticky;top:20px}.studio-navigation-search{align-items:center;position:relative;flex-direction:row!important;gap:0!important;display:flex!important}.studio-navigation-search>svg{color:var(--studio-muted);position:absolute;left:10px}.studio-navigation-search input{padding-left:32px!important;padding-right:30px!important;font-size:12px!important}.studio-navigation-search button{background:0 0;border:0;min-height:28px;padding:5px;position:absolute;right:3px}.studio-navigation-group{flex-direction:column;gap:3px;display:flex}.studio-navigation-group>p{letter-spacing:.09em;text-transform:uppercase;color:var(--studio-muted);margin:0 0 7px 10px;font-size:10px;font-weight:600}.studio-navigation button[data-section]{text-align:left;background:0 0;border-color:#0000;justify-content:start;min-height:38px;padding:10px;font-size:13px}.studio-navigation button[data-section] svg{color:var(--studio-muted);flex:none}.studio-navigation button[aria-current=page]{background:var(--editor-accent-soft);color:#aff5e5;border-color:#275052}.studio-navigation button[aria-current=page] svg{color:var(--studio-accent)}.studio-navigation button[data-issues]:after{content:attr(data-issues);color:var(--editor-warning);text-align:center;border:1px solid #806742;border-radius:4px;min-width:18px;margin-left:auto;padding:0 4px;font-size:10px}.studio-navigation-note{border-top:1px solid var(--studio-line);color:var(--studio-muted);padding:14px 10px 0;font-size:11px;margin:0!important}.studio-panel{border:0;min-width:0;margin:0;padding:0}.studio-grid-scroll{border:1px solid var(--studio-line);background:var(--editor-panel);border-radius:6px;margin-bottom:16px;padding:10px}.studio-grid-context{background:var(--editor-accent-soft);border:1px solid #275052;border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:12px;padding:12px 14px;display:flex}.studio-grid-context span{color:var(--studio-muted);font-size:12px}.studio-grid-legend{color:var(--studio-muted);flex-wrap:wrap;gap:14px;margin-bottom:12px;font-size:11px;display:flex}.studio-grid-legend [data-cell-kind=anchor]{color:var(--studio-accent)}.studio-locality-panel,.studio-locality-create,.studio-building-selection,.studio-building-preview-guide,.studio-building-empty{border:1px solid var(--studio-line);background:var(--editor-panel);border-radius:8px;min-width:0;margin:18px 0;padding:18px}.studio-locality-create summary{cursor:pointer;font-weight:600}.studio-locality-create[open] summary{margin-bottom:12px}.studio-building-empty{border-style:dashed}.studio-building-preview-guide p:last-child{margin-bottom:0}.studio-panel-context{color:var(--studio-muted);overflow-wrap:anywhere;align-items:center;gap:10px;margin-bottom:20px;font-size:11px;display:flex}.studio-panel-context svg{flex:none;transform:rotate(-90deg)}.studio-panel-context strong{color:var(--studio-ink);font-weight:500}.studio-overview{border:1px solid var(--studio-line);background:var(--editor-panel);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px;display:grid}.studio-overview>div{flex-direction:column;gap:2px;padding:18px 20px;display:flex}.studio-overview>div+div{border-left:1px solid var(--studio-line)}.studio-overview strong{font-variant-numeric:tabular-nums;font-size:26px;font-weight:600}.studio-overview span{color:var(--studio-muted);font-size:11px}.studio-next-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:28px;display:grid}.studio-next-steps button{text-align:left;background:var(--editor-panel);grid-template-columns:auto 1fr auto;align-items:center;gap:5px 12px;padding:20px;display:grid;position:relative}.studio-next-steps button>svg:first-of-type{color:var(--studio-accent);grid-column:1}.studio-next-steps button strong{grid-column:2;font-weight:600}.studio-next-steps button>span:not(.studio-step-number){color:var(--studio-muted);grid-column:2;font-size:12px;line-height:1.5}.studio-next-steps button>svg:last-child{color:var(--studio-muted);grid-area:1/3/span 2}.studio-step-number{color:#69809a;font-size:10px;position:absolute;top:6px;right:10px}.studio-two-column,.studio-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}.studio-form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.studio-section-heading{margin-bottom:20px}.studio-menu-preview{border:1px solid var(--studio-line);text-align:center;background-position:50%;background-size:cover;border-radius:8px;flex-direction:column;justify-content:center;min-height:330px;padding:36px;display:flex}.studio-menu-preview h3{font:32px Georgia,serif}.studio-menu-preview button{min-width:180px;margin:20px auto}.campaign-studio button[aria-pressed=true]{background:var(--editor-accent-soft);color:#aff5e5;border-color:#397a78}.studio-json,.campaign-studio pre{max-width:100%;font:12px/1.6 ui-monospace,monospace;overflow:auto}.campaign-studio details{border:1px solid var(--studio-line);background:var(--editor-panel);border-radius:6px;margin:14px 0;padding:12px 14px}.campaign-studio summary{cursor:pointer;color:var(--studio-ink);padding:4px 0;font-size:13px;font-weight:600}.campaign-studio details[open]>summary{margin-bottom:14px}.studio-text-danger{color:var(--editor-danger)!important}.studio-asset-grid{grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:12px;display:grid}.studio-asset-grid button{flex-direction:column;align-items:center;gap:8px;display:flex;overflow:hidden}.studio-asset-grid img{object-fit:contain;max-width:100%;height:110px}.studio-asset-preview{object-fit:contain;max-width:100%;max-height:300px}.studio-asset-detail{overflow-wrap:anywhere;border:1px solid var(--studio-line);background:var(--editor-panel);border-radius:8px;padding:20px}.studio-checks{background:var(--editor-panel);border:1px solid var(--studio-line);border-radius:8px;grid-template-columns:auto 1fr;gap:8px 20px;padding:20px;display:grid}.studio-checks dd{margin:0}.studio-issues{padding:0;list-style:none}.studio-issues li{background:#28262a;border:1px solid #705840;border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding:16px;display:flex}.studio-issues code{color:var(--studio-muted);overflow-wrap:anywhere;flex-basis:100%;font-size:11px;display:block}.studio-preview{border:1px solid var(--studio-line);border-radius:8px;margin:18px 0;padding:12px;overflow:auto}.studio-grid{min-width:540px;overflow:auto}.studio-body{overflow-x:auto}.studio-row{margin:16px 0}.studio-row>label{flex:1;min-width:140px}.studio-grid-tools{border:1px solid var(--studio-line);background:var(--editor-panel);border-radius:6px;padding:16px}.studio-grid-tools h3{flex-basis:100%;margin:0}.studio-quest-sandbox fieldset{border:1px solid var(--studio-line);background:var(--editor-panel);border-radius:8px;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0;padding:16px;display:flex}.studio-quest-sandbox fieldset>p,.studio-quest-sandbox fieldset>div{flex-basis:100%}.studio-quest-sandbox fieldset label{flex:1;min-width:150px}.studio-footer{border-top:1px solid var(--studio-line);color:var(--studio-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:32px;padding-top:18px;font-size:11px;display:flex}.studio-footer p{margin:0}.studio-footer button{background:0 0;min-height:30px;font-size:11px}.studio-skip{position:absolute;left:-9999px}.studio-skip:focus{background:var(--editor-bg);z-index:100;padding:8px;top:8px;left:25px}.campaign-studio .content-editor{max-width:100%!important;min-height:0!important;padding:0!important}.campaign-studio .content-editor>header{flex-wrap:wrap}.campaign-studio .content-editor .editor-layout{max-width:100%}.campaign-studio .sector-editor{max-width:100%;overflow:auto}.campaign-studio .character-preview{min-width:0}.studio-asset-layout{grid-template-columns:minmax(200px,1fr) minmax(0,2fr);gap:20px;display:grid}.studio-asset-list{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));align-content:start;gap:10px;display:grid}.studio-asset-list button{background:var(--editor-panel);flex-direction:column;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.studio-asset-list button img{object-fit:contain;width:80px;height:90px}.studio-asset-list button span{overflow-wrap:anywhere;flex-direction:column;min-width:0;max-width:100%;display:flex}.studio-resource-preview{object-fit:contain;background:#e1e6e8;border-radius:6px;width:100%;max-width:400px;max-height:300px}.studio-asset-detail dl>div{margin:12px 0}.studio-asset-detail dt{color:var(--studio-muted);font-size:11px}.studio-asset-detail dd{overflow-wrap:anywhere;margin:4px 0;font-size:12px}.studio-asset-use{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.studio-character-preview{border:1px solid var(--studio-line);background:var(--editor-panel);border-radius:8px;min-width:0;padding:16px}.studio-character-stage{width:100%;min-height:240px;max-height:420px;overflow:hidden}.studio-portrait-preview{object-fit:contain;width:90px;height:110px}.studio-character-preview canvas{max-width:100%}@media (width<=1200px){.campaign-studio{padding:20px 24px}.studio-layout{grid-template-columns:210px minmax(0,1fr);gap:24px}.studio-project-bar{align-items:start}.studio-project-bar .studio-toolbar{justify-content:end;max-width:570px}.studio-manager-grid{grid-template-columns:1fr 1fr}.studio-manager-group:last-child{border-left:0;border-top:1px solid var(--studio-line);grid-column:1/-1;padding:18px 0 0}.studio-manager-group:last-child .studio-toolbar{display:flex}}@media (width<=900px){.campaign-studio{padding:16px}.studio-layout{grid-template-columns:1fr;gap:22px}.studio-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid;position:static}.studio-navigation-search{grid-column:1/-1}.studio-navigation-group{gap:4px}.studio-navigation-note{display:none}.studio-project-bar{flex-direction:column;gap:14px}.studio-project-bar .studio-toolbar{justify-content:start;max-width:none}.studio-two-column,.studio-asset-layout{grid-template-columns:1fr}.studio-field-row{grid-template-columns:1fr;gap:8px}.studio-field-row-actions{justify-content:end;max-width:none}.studio-panel-context{display:none}}@media (width<=500px){.campaign-studio{padding:16px 12px}.campaign-studio button{min-height:40px}.studio-header{flex-direction:column;align-items:start;gap:14px;margin-bottom:18px}.studio-header-actions{justify-content:space-between;gap:10px;width:100%}.studio-header-actions a{font-size:11px}.studio-header h1{font-size:22px}.studio-manager-grid,.studio-form-grid,.studio-next-steps{grid-template-columns:1fr}.studio-manager-group+.studio-manager-group{border-left:0;border-top:1px solid var(--studio-line);padding:18px 0 0}.studio-project-bar .studio-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.studio-project-bar .studio-toolbar button{min-height:40px;font-size:12px}.studio-project-bar .studio-validation-status{grid-column:1/-1}.studio-export-guidance{flex-direction:column;align-items:start;margin-bottom:18px}.studio-navigation button[data-section]{padding:8px;font-size:12px}.studio-navigation button[data-section] svg{width:15px;height:15px}.studio-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-overview>div{padding:14px}.studio-overview>div:nth-child(3){border-left:0}.studio-overview>div:nth-child(n+3){border-top:1px solid var(--studio-line)}.studio-menu-preview{padding:24px}.studio-field-body{padding:12px}.studio-card,.studio-controls,.studio-asset-detail{padding:16px}.studio-footer{flex-direction:column;align-items:start}}
