:root{--bg:#0f1115;--panel:#171a21;--border:#272b35;--text:#e6e8ec;--muted:#9aa3b2;--accent:#6d8bff;--accent-contrast:#0f1115;--danger:#ff6b6b;--ok:#6ee787;--warn:#e0a63c;--field-bg:#0c0e12;--radius:10px;--font-title:"Anton",ui-sans-serif,system-ui,sans-serif;--font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);line-height:1.5}body{display:flex;flex-direction:column;min-height:100vh}body>main{flex:1 1;width:100%}.brand,.faction-divider-name,h1,h2,h3,h4{font-family:var(--font-title);font-weight:800;letter-spacing:.02em;text-transform:uppercase}a{color:var(--accent)}.container{max-width:880px;margin:0 auto;padding:24px}.site-header{border-bottom:1px solid var(--border)}.site-header .container{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px}.brand{display:inline-flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.02em;color:var(--text);text-decoration:none}.brand-mark{flex:none;color:var(--accent)}.brand-word{display:inline-flex;flex-direction:column;line-height:1.05}@keyframes brand-rotate{to{transform:rotate(1turn)}}.brand-spin{animation:brand-rotate 9s linear infinite;transform-origin:100px 100px}@media (prefers-reduced-motion:reduce){.brand-spin{animation:none}}.brand small{display:block;font-family:var(--font-sans);font-weight:400;text-transform:none;letter-spacing:.04em;font-size:12px;color:var(--muted)}.site-footer{border-top:1px solid var(--border);margin-top:48px}.site-footer .container{padding-top:20px;padding-bottom:24px}.site-footer-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}.site-footer-brand{max-width:480px}.site-footer-disclaimer{margin:4px 0 0;font-size:12px;color:var(--muted)}.site-footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;font-size:13px;padding-top:2px}.site-footer-links a{color:var(--muted);text-decoration:none;flex:none;white-space:nowrap}.site-footer-links a:hover{color:var(--text);text-decoration:underline}.discord-glow{--discord:#5865f2;display:inline-block;padding:3px 12px;border:1px solid var(--discord);border-radius:999px;color:var(--discord)!important;animation:discord-pulse 2.4s ease-in-out infinite}.site-footer-links a.discord-glow:hover{color:#fff!important;background:var(--discord);text-decoration:none;animation-play-state:paused;box-shadow:0 0 14px rgba(88,101,242,.75)}@keyframes discord-pulse{0%,to{box-shadow:0 0 4px rgba(88,101,242,.35)}50%{box-shadow:0 0 12px rgba(88,101,242,.7)}}@media (prefers-reduced-motion:reduce){.discord-glow{animation:none;box-shadow:0 0 8px rgba(88,101,242,.5)}}.report-glow{--report:#f59e0b;display:inline-block;padding:3px 12px;border:1px solid var(--report);border-radius:999px;background:transparent;color:var(--report);font-size:12px;cursor:pointer;animation:report-pulse 2.4s ease-in-out infinite}.report-glow:hover{color:#1a1206;background:var(--report);animation-play-state:paused;box-shadow:0 0 14px rgba(245,158,11,.75)}@keyframes report-pulse{0%,to{box-shadow:0 0 4px rgba(245,158,11,.35)}50%{box-shadow:0 0 12px rgba(245,158,11,.7)}}@media (prefers-reduced-motion:reduce){.report-glow{animation:none;box-shadow:0 0 8px rgba(245,158,11,.5)}}.announcement{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:var(--radius);border:1px solid var(--accent);background:rgba(109,139,255,.08)}.announcement.warning{border-color:#e8a33d;background:rgba(232,163,61,.08)}.announcement-text strong{font-size:14px;letter-spacing:.03em;text-transform:uppercase}.announcement-dismiss{background:none;border:none;padding:2px 6px;color:var(--muted);font-size:16px;line-height:1;cursor:pointer}.announcement-dismiss:hover{color:var(--text)}.discord-callout{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-color:rgba(88,101,242,.45);background:linear-gradient(135deg,var(--panel),rgba(88,101,242,.08))}.discord-callout .discord-glow{padding:8px 18px;font-size:14px;text-decoration:none}.discord-callout-dismiss{position:absolute;top:6px;right:10px;background:none;border:none;padding:2px 6px;color:var(--muted);font-size:16px;line-height:1;cursor:pointer}.discord-callout-dismiss:hover{color:var(--text)}.discord-callout .discord-glow:hover{color:#fff;background:#5865f2;animation-play-state:paused;box-shadow:0 0 14px rgba(88,101,242,.75)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.stack{display:flex;flex-direction:column;gap:14px}label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}input{width:100%;padding:10px 12px;background:var(--field-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;transition:border-color .12s ease,box-shadow .12s ease}::placeholder{color:#5d6577}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(109,139,255,.22)}input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:#1f2430;color:var(--text);font-size:14px;font-weight:600;cursor:pointer;text-decoration:none}.btn.primary,button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn:hover,button:hover{filter:brightness(1.08)}button:disabled,button:disabled:hover{opacity:.45;cursor:not-allowed;filter:none}button[aria-busy=true],button[aria-busy=true]:disabled{opacity:.7;cursor:progress}.btn-deploy{--deploy:var(--warn);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--deploy);background:color-mix(in srgb,var(--deploy) 12%,#12141a);border-color:var(--deploy);animation:deploy-pulse 2.4s ease-in-out infinite;align-items:baseline}.btn-deploy:before{content:">";opacity:.65}.btn-deploy:hover{background:var(--deploy);color:#1a1206;animation-play-state:paused;box-shadow:0 0 16px color-mix(in srgb,var(--deploy) 70%,transparent)}.btn-deploy:hover:before{opacity:1}@keyframes deploy-pulse{0%,to{box-shadow:0 0 5px rgba(224,166,60,.3)}50%{box-shadow:0 0 14px rgba(224,166,60,.65)}}@media (prefers-reduced-motion:reduce){.btn-deploy{animation:none;box-shadow:0 0 10px rgba(224,166,60,.45)}}.btn-resume{--deploy:var(--warn);align-items:baseline;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--deploy);background:color-mix(in srgb,var(--deploy) 12%,#12141a);border-color:var(--deploy);box-shadow:0 0 10px rgba(224,166,60,.4)}.btn-resume:hover{background:var(--deploy);color:#1a1206;box-shadow:0 0 16px color-mix(in srgb,var(--deploy) 70%,transparent)}.btn-resume-dot{width:7px;height:7px;flex:none;align-self:center;border-radius:50%;background:currentColor}.btn-resume-sub{font-size:11px;letter-spacing:.04em;text-transform:none;opacity:.75}.btn-resume:hover .btn-resume-sub{opacity:.9}.page-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}@media (max-width:620px){.btn-resume-sub{display:none}}.muted{color:var(--muted)}.notice{border:1px solid var(--border);border-left:3px solid var(--accent);background:#12151c;border-radius:8px;padding:12px 14px;font-size:14px}.notice.error{border-left-color:var(--danger)}.notice.warn{border-left-color:#eab308}.divider,.row{display:flex;gap:12px;align-items:center}.divider{color:var(--muted);font-size:12px;margin:4px 0}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.kv{display:grid;grid-template-columns:140px 1fr;grid-gap:8px 16px;gap:8px 16px;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0}.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#1f2430;border:1px solid var(--border);font-size:12px}.badge-pending{color:#d4a24c;border-color:currentColor;background:color-mix(in srgb,#d4a24c 12%,transparent);text-decoration:none;white-space:nowrap}.badge-pending:hover{background:color-mix(in srgb,#d4a24c 22%,transparent)}.nav{display:flex;gap:14px;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.06em}.nav a{color:var(--term-dim);text-decoration:none}.nav a:before{content:">";margin-right:5px;opacity:0}.nav-inline a{position:relative}.nav-inline a:before{position:absolute;right:100%;margin-right:3px}.nav a:hover,.nav a[aria-current=page]{color:var(--ok)}.nav a[aria-current=page]:before{opacity:1}.nav-live{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-block:-2px;padding:6px 12px;margin-left:14px;border:1px solid var(--warn);border-radius:4px;background:color-mix(in srgb,var(--warn) 12%,transparent);color:var(--warn);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap}.nav-live:hover{background:var(--warn);color:#1a1206}.nav-live-dot{width:7px;height:7px;flex:none;border-radius:50%;background:currentColor;animation:nav-live-pulse 2.4s ease-in-out infinite}@keyframes nav-live-pulse{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.nav-live-dot{animation:none;opacity:1}}@media (max-width:800px){.nav-live{margin-left:0;margin-right:8px;font-size:0;letter-spacing:0;padding:6px 16px;gap:0}.nav-live-dot{width:9px;height:9px}}.nav-toggle{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:18px;line-height:1;padding:6px 10px;cursor:pointer}.nav-menu,.nav-toggle{display:none}@media (max-width:800px){.site-header .container{position:relative}.nav-inline{display:none}.nav-toggle{display:inline-block}.nav-menu[data-open=true]{display:flex;flex-direction:column;gap:0;position:absolute;top:100%;right:16px;left:16px;z-index:50;background:var(--panel,#12141a);border:1px solid var(--border);border-radius:8px;padding:6px;box-shadow:0 8px 24px rgba(0,0,0,.4)}.nav-menu[data-open=true] a{padding:12px 10px;border-radius:6px}.nav-menu[data-open=true] a:hover{background:#1f2430}}.hue-slider{flex:1 1;max-width:280px;height:12px;border-radius:6px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:linear-gradient(90deg,hsl(0 70% 55%),hsl(60 70% 55%),hsl(120 70% 55%),hsl(180 70% 55%),hsl(240 70% 55%),hsl(300 70% 55%),hsl(359 70% 55%));cursor:pointer}.hue-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #12141a}.hue-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #12141a}table.data{width:100%;border-collapse:collapse;font-size:14px}table.data td,table.data th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}table.data th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}table.data tr:hover td{background:#12151c}.result{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border)}.result.win{background:rgba(76,175,120,.15);border-color:#3a7d5a;color:#7fe0a8}.result.loss{background:rgba(255,107,107,.12);border-color:#8a3b3b;color:#ff9b9b}.result.draw{background:rgba(154,163,178,.12);color:var(--muted)}.result.warn,.warlord-badge{background:rgba(230,175,60,.12);border-color:#8a6a2c;color:#e6c15a}.enh-badge{border-color:#3a7d5a;color:#7fe0a8;background:rgba(76,175,120,.15);max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.enh-badge-invalid{border-color:#8a3b3b;color:#ff9b9b;background:rgba(255,107,107,.12)}textarea{padding:10px 12px;font-family:inherit;resize:vertical}select,textarea{width:100%;background:var(--field-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;transition:border-color .12s ease,box-shadow .12s ease}select{padding:10px 34px 10px 12px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%239aa3b2' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:11px}select option{background:var(--field-bg);color:var(--text)}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.army-layout{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px;align-items:start}@media (min-width:900px){.army-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.army-catalog-col{position:-webkit-sticky;position:sticky;top:16px}}.mobile-tabs{grid-column:1/-1;display:flex;gap:8px}@media (min-width:900px){.mobile-tabs{display:none}}@media (max-width:899px){.tab-panel[data-active=false]{display:none}}.catalog-scroll{max-height:560px;overflow-y:auto}@media (max-width:899px){.catalog-scroll{max-height:calc(100dvh - 260px)}}.sticky-budget-bar{position:-webkit-sticky;position:sticky;top:0;z-index:20;gap:10px;background:var(--panel);padding:8px 12px;margin-bottom:12px}.sticky-budget-bar,.undo-toast{display:flex;align-items:center;border:1px solid var(--border);border-radius:8px;font-size:13px}.undo-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);gap:12px;background:#1f2430;padding:10px 14px;box-shadow:0 8px 24px rgba(0,0,0,.35);z-index:50}.undo-toast button{padding:4px 10px;font-size:13px}.link-btn{display:inline;background:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.link-btn:hover{text-decoration:underline}button.badge{font-size:12px;font-weight:400;line-height:1.4;cursor:pointer}button.badge:hover{border-color:var(--accent);color:var(--accent)}.info-popover-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px;z-index:60}.info-popover{background:#1a1e27;border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;max-width:380px;width:100%;max-height:70vh;overflow-y:auto;box-shadow:0 12px 32px rgba(0,0,0,.45)}.unit-card>summary{cursor:pointer;list-style:none}.unit-card>summary::-webkit-details-marker{display:none}.unit-card .chev-closed,.unit-card .chev-open{font-size:11px}.unit-card:not([open]) .chev-open,.unit-card[open] .chev-closed{display:none}.unit-card[open]>summary{position:-webkit-sticky;position:sticky;top:var(--card-stick-top,0);z-index:3;background:var(--panel);padding-block:6px;box-shadow:0 6px 8px -8px rgba(0,0,0,.85)}.sticky-budget-bar~*{--card-stick-top:40px}@media (max-width:560px){.grid2{grid-template-columns:1fr}}.statline{display:flex;gap:4px;max-width:420px}.statcell{display:inline-flex;flex-direction:column;align-items:center;flex:1 1;min-width:0;padding:2px;border:1px solid var(--border);border-radius:6px;background:color-mix(in srgb,var(--border) 18%,transparent)}:root{--ranged:#38bdf8;--melee:#f87171}.statline-ranged .statcell{border-color:color-mix(in srgb,var(--ranged) 40%,var(--border));background:color-mix(in srgb,var(--ranged) 8%,transparent)}.statline-melee .statcell{border-color:color-mix(in srgb,var(--melee) 40%,var(--border));background:color-mix(in srgb,var(--melee) 8%,transparent)}.kw-melee,.kw-ranged{font-weight:600}.kw-ranged{color:color-mix(in srgb,var(--ranged) 80%,#fff);border-color:color-mix(in srgb,var(--ranged) 45%,var(--border));background:color-mix(in srgb,var(--ranged) 12%,transparent);box-shadow:0 0 6px color-mix(in srgb,var(--ranged) 26%,transparent)}.kw-melee{color:color-mix(in srgb,var(--melee) 80%,#fff);border-color:color-mix(in srgb,var(--melee) 45%,var(--border));background:color-mix(in srgb,var(--melee) 12%,transparent);box-shadow:0 0 6px color-mix(in srgb,var(--melee) 26%,transparent)}button.kw-ranged:hover{color:var(--ranged);border-color:var(--ranged);box-shadow:0 0 9px color-mix(in srgb,var(--ranged) 40%,transparent)}button.kw-melee:hover{color:var(--melee);border-color:var(--melee);box-shadow:0 0 9px color-mix(in srgb,var(--melee) 40%,transparent)}:root{--enhancement:#4caf78}.enh-weapons .statline-melee .statcell,.enh-weapons .statline-ranged .statcell{border-color:color-mix(in srgb,var(--enhancement) 40%,var(--border));background:color-mix(in srgb,var(--enhancement) 8%,transparent)}.enh-weapons .kw-melee,.enh-weapons .kw-ranged{color:color-mix(in srgb,var(--enhancement) 80%,#fff);border-color:color-mix(in srgb,var(--enhancement) 45%,var(--border));background:color-mix(in srgb,var(--enhancement) 12%,transparent);box-shadow:0 0 6px color-mix(in srgb,var(--enhancement) 26%,transparent)}.enh-weapons button.kw-melee:hover,.enh-weapons button.kw-ranged:hover{color:var(--enhancement);border-color:var(--enhancement);box-shadow:0 0 9px color-mix(in srgb,var(--enhancement) 40%,transparent)}:root{--detachment:#a78bfa}.badge-detachment{color:color-mix(in srgb,var(--detachment) 82%,#fff);border-color:color-mix(in srgb,var(--detachment) 50%,var(--border));background:color-mix(in srgb,var(--detachment) 12%,transparent)}.gear-row{border-left:2px solid transparent;padding-left:8px;transition:opacity .12s ease}.gear-equipped{border-left-color:var(--accent)}.gear-locked{border-left-color:color-mix(in srgb,var(--muted) 55%,transparent)}.gear-available{opacity:.58}.gear-available:focus-within,.gear-available:hover{opacity:1}@media (hover:none){.gear-available{opacity:.75}}.gear-tag{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:0 4px;border-radius:3px;white-space:nowrap}.gear-tag-equipped{color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.gear-tag-locked{color:var(--muted);border:1px solid var(--border)}.statcell-label{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.2;white-space:nowrap}.statcell-value{font-size:12px;font-weight:700;line-height:1.3;white-space:nowrap}.side-rail{display:none}@media (min-width:1500px){.side-rail{display:block;position:fixed;top:88px;width:calc(50% - 472px);max-height:calc(100vh - 110px);overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.side-rail.left{left:16px}.side-rail.right{right:16px}.side-rail-title{margin:0 0 10px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.armies-inline{display:none}}.phase-strip{gap:8px;flex-wrap:wrap}.tracker-pane{display:contents}.tracker-tabbar{display:none}@media (max-width:899px){.tracker-pane{display:none}.tracker-pane.is-active{display:flex;flex-direction:column;gap:14px}.tracker-tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--panel);border-top:1px solid var(--border);padding:4px 4px calc(4px + env(safe-area-inset-bottom, 0px))}.tracker-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border:0;border-radius:8px;background:none;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.02em;cursor:pointer}.tracker-tab-icon{position:relative;font-size:17px;line-height:1}.tracker-tab[aria-selected=true]{color:var(--text);background:#ffffff0f}.tracker-tab-badge{position:absolute;top:-5px;left:100%;margin-left:-6px;min-width:15px;padding:0 4px;border-radius:999px;background:var(--accent);color:var(--accent-contrast);font-size:9.5px;font-weight:800;line-height:15px;text-align:center}.tracker-tab-badge.cue{background:var(--warn)}.tracker-root{padding-bottom:76px}.phase-strip{flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth}.phase-strip::-webkit-scrollbar{display:none}.phase-strip>*{flex:0 0 auto;font-size:10.5px;padding:2px 8px}.phase-strip{flex:1 1 auto;min-width:0}.tracker-focus{flex:0 0 auto;width:auto;max-width:42vw;padding:4px 24px 4px 8px;font-size:12px}}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-head h1{margin:0}:root{--faction-hue:210;--faction-sat:70%;--faction-light:55%;--faction-outline:transparent}.faction-divider{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:6px 4px 8px;border-bottom:2px solid hsl(var(--faction-hue) var(--faction-sat) var(--faction-light));margin-bottom:10px}.faction-divider-swatch{display:inline-block;width:10px;height:10px;border-radius:50%;background:hsl(var(--faction-hue) var(--faction-sat) var(--faction-light));box-shadow:0 0 6px hsl(var(--faction-hue) var(--faction-sat) var(--faction-light)),inset 0 0 0 1px var(--faction-outline)}.faction-divider-name{font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--faction-hue) var(--faction-sat) calc(var(--faction-light) + 5%))}.faction-divider-count{font-size:12px;color:var(--muted);letter-spacing:.02em}.faction-drawer>summary.faction-divider{cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.faction-drawer>summary.faction-divider::-webkit-details-marker{display:none}.faction-drawer>summary.faction-divider:hover .faction-divider-name{color:hsl(var(--faction-hue) var(--faction-sat) calc(var(--faction-light) + 15%))}.faction-drawer-chevron{display:inline-block;width:0;height:0;border-left:5px solid hsl(var(--faction-hue) var(--faction-sat) calc(var(--faction-light) + 5%));border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .15s ease;align-self:center}.faction-drawer[open]>summary .faction-drawer-chevron{transform:rotate(90deg)}.faction-drawer:not([open])>summary.faction-divider{margin-bottom:0}.view-toggle button{border-radius:0;border-right-width:0;padding:4px 14px;font-size:12px}.view-toggle button:first-child{border-radius:var(--radius) 0 0 var(--radius)}.view-toggle button:last-child{border-radius:0 var(--radius) var(--radius) 0;border-right-width:1px}.view-toggle button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.army-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:12px;gap:12px}.army-card{border-top:3px solid hsl(var(--faction-hue) var(--faction-sat) var(--faction-light))}.linked-card,.linked-row{cursor:pointer}.linked-card{transition:border-color .15s ease,background .15s ease}.linked-card:hover{background:#12151c;border-color:hsl(var(--faction-hue) var(--faction-sat) var(--faction-light))}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:50%;overflow:hidden;background:var(--field-bg);border:2px solid var(--border);color:var(--muted);font-weight:700;letter-spacing:.02em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar-supporter{border-color:#e8c96a;box-shadow:0 0 10px rgba(232,201,106,.3)}.avatar-manager{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.avatar-manager input[type=file]{font-size:13px;color:var(--muted);max-width:100%}.avatar-manager input[type=file]::-webkit-file-upload-button{margin-right:10px;padding:5px 12px;border:1px solid var(--border);border-radius:8px;background:var(--field-bg);color:var(--text);font:inherit;cursor:pointer}.avatar-manager input[type=file]::file-selector-button{margin-right:10px;padding:5px 12px;border:1px solid var(--border);border-radius:8px;background:var(--field-bg);color:var(--text);font:inherit;cursor:pointer}.avatar-manager input[type=file]::-webkit-file-upload-button:hover{border-color:var(--accent)}.avatar-manager input[type=file]::file-selector-button:hover{border-color:var(--accent)}.term-person{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px dashed rgba(47,107,65,.45)}.term-list>.term-person:last-child{border-bottom:none}.term-person.is-linked{cursor:pointer}.term-person.is-linked:hover{background:rgba(110,231,135,.06)}.term-person-id{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.term-person-name{display:flex;align-items:center;gap:6px;min-width:0;color:var(--term-green)}.term-person-name a{color:inherit;text-decoration:none}.term-person.is-linked:hover .term-person-name a{text-decoration:underline}.term-person-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;letter-spacing:.06em;color:var(--term-dim)}.term-person-badges{display:flex;margin-top:1px}.term-person-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.term-person-actions .term-go{padding:9px 10px}@media (max-width:480px){.term-person{flex-wrap:wrap}.term-person-actions{width:100%;justify-content:flex-end}}.model-section-head{background:var(--panel-2,rgba(255,255,255,.05));border-left:3px solid var(--accent,#6ea8fe);border-radius:4px;padding:5px 8px;gap:10px}.galaxy-wide{--galaxy-wide:min(1320px,100vw - 32px);width:var(--galaxy-wide);margin-inline:calc((100% - var(--galaxy-wide)) / 2)}@media (max-width:899px){.galaxy-wide{width:auto;margin-inline:0}}.galaxy-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(260px,22%,340px);grid-gap:12px;gap:12px;align-items:stretch}.galaxy-logwrap{grid-column:1/-1}@media (max-width:899px){.galaxy-layout{grid-template-columns:minmax(0,1fr)}}.galaxy-scroll{overflow-y:auto;overscroll-behavior:contain}.galaxy-scroll-board{max-height:220px}.galaxy-scroll-feed{max-height:340px}@media (max-width:899px){.galaxy-scroll-board{max-height:260px}.galaxy-scroll-feed{max-height:none}}@media (min-width:900px){.galaxy-fill{flex:1 1;min-height:0;display:flex}.galaxy-fill>.term-box{flex:1 1;min-width:0;display:flex;flex-direction:column}.galaxy-fill .term-body{flex:1 1;min-height:0;display:flex;flex-direction:column}.galaxy-fill .galaxy-scroll-board{flex:0 1 auto;min-height:0;max-height:none}.galaxy-fill .galaxy-spacer{flex:1 1;min-height:0}.galaxy-logwrap .galaxy-scroll-feed{max-height:420px}}.galaxy-map{height:auto;border:1px solid var(--border);border-radius:var(--radius)}.galaxy-planet{cursor:pointer}.galaxy-planet:hover circle{filter:brightness(1.3)}.galaxy-sector-label{font-size:20px;letter-spacing:.08em;text-transform:uppercase;text-anchor:middle;cursor:pointer;transition:opacity .12s ease}.galaxy-sector-label.is-pinned{text-decoration:underline;text-underline-offset:3px}.galaxy-swatch{display:inline-block;width:12px;height:12px;border-radius:50%;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}.galaxy-panel{gap:12px;min-height:0}.galaxy-micro{display:block;font-size:11px;letter-spacing:.14em}.galaxy-micro,.galaxy-statusstrip{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--muted)}.galaxy-statusstrip{display:flex;flex-wrap:wrap;gap:16px;padding:8px 12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius)}.galaxy-statusstrip b{color:#e6ebf5;font-weight:700}.galaxy-statusstrip .is-alert b{color:hsl(38 90% 60%)}.galaxy-hud{position:relative;padding:6px}.galaxy-map{display:block;width:100%;aspect-ratio:4/3;touch-action:pan-y;cursor:-webkit-grab;cursor:grab;-moz-user-select:none;user-select:none;-webkit-user-select:none}@media (max-width:899px){.galaxy-map{aspect-ratio:auto;height:60vh}}.galaxy-map.is-zoomed:active{cursor:-webkit-grabbing;cursor:grabbing}.galaxy-tools{position:absolute;top:12px;left:12px;z-index:3;display:flex;align-items:flex-start;gap:4px}.galaxy-menu{position:relative}.galaxy-menu-btn{width:30px;height:30px;font-size:15px;line-height:1;color:#e6ebf5;background:color-mix(in srgb,var(--panel) 85%,transparent);border:1px solid var(--border);border-radius:6px;cursor:pointer}.galaxy-menu-btn:hover,.galaxy-menu-btn[aria-expanded=true]{border-color:var(--accent)}.galaxy-menu-panel{position:absolute;top:calc(100% + 6px);left:0;min-width:170px;padding:10px;background:color-mix(in srgb,var(--panel) 96%,transparent);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.4)}.galaxy-menu-item{display:flex;align-items:center;gap:8px;font-size:13px;padding:3px 2px;text-align:left;white-space:nowrap;cursor:pointer}.galaxy-menu-item input[type=checkbox]{flex:0 0 auto;width:15px;height:15px;min-width:0;margin:0;accent-color:var(--accent);cursor:pointer}.galaxy-planet-label{font-size:9px;fill:#c4cbd9;text-anchor:middle;pointer-events:none}.galaxy-zoom{display:flex;gap:4px}.galaxy-zoom button{width:30px;height:30px;font-size:16px;line-height:1;color:#e6ebf5;background:color-mix(in srgb,var(--panel) 85%,transparent);border:1px solid var(--border);border-radius:6px;cursor:pointer}.galaxy-zoom button:hover:not(:disabled){border-color:var(--accent)}.galaxy-menu-btn,.galaxy-zoom button{color:#6ee787;background:color-mix(in srgb,#05080a 82%,transparent);border-color:#2f6b41}.galaxy-menu-btn:hover,.galaxy-zoom button:hover:not(:disabled){border-color:#6ee787}@media (max-width:899px){.galaxy-menu-btn,.galaxy-zoom button{width:44px;height:44px;font-size:18px}}.galaxy-zoom button:disabled{opacity:.4;cursor:default}.galaxy-detail{position:absolute;z-index:4;top:10px;right:10px;bottom:10px;width:clamp(240px,30%,360px);display:flex;pointer-events:none}.galaxy-detail>.term-box{flex:1 1;min-width:0;display:flex;flex-direction:column;pointer-events:auto;background:rgba(5,8,10,.94);box-shadow:0 16px 44px rgba(0,0,0,.6),inset 0 0 40px rgba(110,231,135,.06)}.galaxy-detail .term-body{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.galaxy-detail .galaxy-scroll{max-height:none;overflow:visible}@media (max-width:899px){.galaxy-detail{top:auto;left:10px;right:10px;width:auto;max-height:64%}}.galaxy-fight{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 4px}.galaxy-fight .term-go{padding:9px 10px;max-width:100%;min-width:0;white-space:nowrap}.galaxy-fight-label{min-width:0;overflow:hidden;text-overflow:ellipsis}@media (max-width:899px){.galaxy-fight{gap:4px}.galaxy-fight .term-go{flex:1 1 auto;justify-content:center;padding:6px 8px}.galaxy-fight .term-go.is-campaign{order:1;flex-basis:100%}}.galaxy-hud:after,.galaxy-hud:before{content:"";position:absolute;width:18px;height:18px;border:2px solid #2f6b41;opacity:.9;pointer-events:none}.galaxy-hud:before{top:0;left:0;border-right:none;border-bottom:none}.galaxy-hud:after{bottom:0;right:0;border-left:none;border-top:none}.galaxy-chip{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;font-size:13px;color:inherit;background:transparent;border:1px solid var(--border);border-left:3px solid var(--chip,var(--border));border-radius:8px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.galaxy-chip:hover{border-color:var(--chip,var(--accent))}.galaxy-chip.is-active{background:color-mix(in srgb,var(--chip) 18%,transparent);border-color:var(--chip)}.galaxy-chip-name{flex:1 1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.galaxy-chip-count{font-weight:700;min-width:18px}.galaxy-chip-count,.galaxy-chip-pct{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-align:right;flex:0 0 auto}.galaxy-chip-pct{font-size:11px;min-width:34px}.galaxy-clear{font-size:11px;padding:2px 8px;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer}.galaxy-clear:hover{color:#e6ebf5;border-color:var(--accent)}.galaxy-bar{flex:1 1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.galaxy-bar-fill{display:block;height:100%;border-radius:3px}.galaxy-alert-tag{font-size:11px;padding:6px 8px;color:hsl(38 90% 70%);background:color-mix(in srgb,hsl(38 90% 60%) 14%,transparent);border:1px solid color-mix(in srgb,hsl(38 90% 60%) 45%,transparent);border-radius:8px}.galaxy-alert-tag,.galaxy-secured-tag{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em}.galaxy-secured-tag{font-size:10px;margin-top:4px;padding:3px 6px;color:hsl(190 80% 68%);background:color-mix(in srgb,hsl(190 80% 58%) 12%,transparent);border:1px solid color-mix(in srgb,hsl(190 80% 58%) 40%,transparent);border-radius:6px;align-self:flex-start;display:inline-block}.galaxy-search{position:relative}.galaxy-search input{width:100%;padding:6px 10px;font-size:13px;color:#e6ebf5;background:color-mix(in srgb,var(--panel) 85%,transparent);border:1px solid var(--border);border-radius:8px}.galaxy-search input:focus{outline:none;border-color:var(--accent)}.galaxy-search-results{position:absolute;z-index:3;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;background:color-mix(in srgb,var(--panel) 96%,transparent);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.4)}.galaxy-search-results button{display:flex;align-items:center;gap:8px;width:100%;padding:5px 6px;font-size:13px;color:inherit;background:transparent;border:none;border-radius:6px;text-align:left;cursor:pointer}.galaxy-search-results button:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.galaxy-search-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.galaxy-feed{display:flex;flex-direction:column;gap:2px}.galaxy-feed-row{display:flex;align-items:center;gap:8px;width:100%;padding:5px 6px;font-size:13px;color:inherit;background:transparent;border:none;border-radius:6px;text-align:left;cursor:pointer}.galaxy-feed-row:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 14%,transparent)}.galaxy-feed-row:disabled{cursor:default;opacity:.6}.galaxy-feed-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.galaxy-feed-date{flex:0 0 auto;font-size:11px}.galaxy-feed-item{display:flex;flex-direction:column;border-radius:6px;padding-bottom:3px}.galaxy-feed-item:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.galaxy-feed-armies,.galaxy-feed-report{padding-left:24px;font-size:11px}.galaxy-feed-armies{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.galaxy-feed-vs{opacity:.6}.galaxy-feed-report{align-self:flex-start;color:var(--accent);text-decoration:none}.galaxy-feed-report:hover,.galaxy-sector-link{text-decoration:underline}.galaxy-sector-link{padding:0;font-size:13px;color:var(--muted);background:none;border:none;cursor:pointer;text-underline-offset:2px}.galaxy-sector-link:hover{color:#e6ebf5}.galaxy-contested{animation:galaxy-pulse 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes galaxy-pulse{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.galaxy-contested{animation:none;opacity:.7}}.supporter-title{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:1px 7px;margin-left:6px;border-radius:999px;border:1px solid rgba(214,175,84,.55);color:#e8c96a;background:linear-gradient(180deg,rgba(214,175,84,.16),rgba(214,175,84,.05));text-shadow:0 0 8px rgba(232,201,106,.35);vertical-align:middle;white-space:nowrap}.patreon-glow{--patreon-gold:#e8c96a;display:inline-block;padding:3px 12px;border:1px solid var(--patreon-gold);border-radius:999px;color:var(--patreon-gold)!important;animation:patreon-pulse 2.4s ease-in-out infinite}.patreon-glow:hover,a.patreon-glow:hover{color:#1a1405!important;background:var(--patreon-gold);text-decoration:none;animation-play-state:paused;box-shadow:0 0 14px rgba(232,201,106,.75)}@keyframes patreon-pulse{0%,to{box-shadow:0 0 4px rgba(232,201,106,.3)}50%{box-shadow:0 0 12px rgba(232,201,106,.65)}}@media (prefers-reduced-motion:reduce){.patreon-glow{animation:none;box-shadow:0 0 8px rgba(232,201,106,.45)}}.install-prompt{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:560px;margin:0 auto;padding:12px 16px;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.5);animation:install-rise .28s ease-out}@keyframes install-rise{0%{opacity:0;transform:translateY(16px)}}.install-prompt-body{display:flex;flex-direction:column;gap:2px;min-width:0}.install-prompt-title{font-size:15px}.install-prompt-text{font-size:12px}.install-prompt-actions{display:flex;gap:8px;align-items:center;margin-left:auto}.install-prompt-dismiss{background:transparent;border:none;color:var(--muted);font-size:13px;cursor:pointer;padding:6px 10px}.install-prompt-dismiss:hover{color:var(--text)}.install-prompt-install{background:var(--accent);color:#0b0d12;border:1px solid var(--accent);border-radius:999px;padding:6px 16px;font-size:13px;font-weight:600;cursor:pointer}.install-prompt-install:hover{box-shadow:0 0 14px rgba(109,139,255,.6)}@media (prefers-reduced-motion:reduce){.install-prompt{animation:none}}.tour-root{position:fixed;inset:0;z-index:120;pointer-events:none}.tour-scrim{position:fixed;background:rgba(6,8,12,.72);pointer-events:auto;animation:tour-fade .18s ease-out}@keyframes tour-fade{0%{opacity:0}}.tour-ring{position:fixed;border-radius:8px;border:2px solid var(--accent);box-shadow:0 0 0 2px rgba(109,139,255,.25),0 0 22px 4px rgba(109,139,255,.45);pointer-events:none;transition:top .14s ease,left .14s ease,width .14s ease,height .14s ease}.tour-bubble{position:fixed;pointer-events:auto;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 24px));padding:14px 16px;background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.6);animation:tour-rise .2s ease-out}@keyframes tour-rise{0%{opacity:0;transform:translateY(8px)}}.tour-bubble[style*=translate]{animation:tour-fade .2s ease-out}.tour-progress{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.tour-section{color:var(--accent);font-weight:700}.tour-title{font-family:var(--font-title);font-size:20px;line-height:1.15;letter-spacing:.02em}.tour-text{margin:0;font-size:13px;line-height:1.5;color:var(--text)}.tour-await{margin:0;font-size:12px;font-weight:600;color:#e0a63c}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;flex-wrap:wrap}.tour-actions-right{display:flex;align-items:center;gap:8px;margin-left:auto}.tour-skip{background:none;border:none;padding:4px 2px;color:var(--muted);font-size:12px;text-decoration:underline;cursor:pointer}.tour-skip:hover{color:var(--text)}@media (prefers-reduced-motion:reduce){.tour-bubble,.tour-scrim{animation:none}.tour-ring{transition:none}}.badge-celebrate-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;cursor:pointer;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,rgba(45,62,130,.35),transparent 60%),rgba(4,6,12,.92);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:badge-backdrop-in .4s ease-out both}.badge-sky{position:absolute;inset:0;pointer-events:none}.badge-star{position:absolute;border-radius:50%;background:#fff;opacity:.15;animation-name:badge-star-twinkle;animation-iteration-count:infinite;animation-timing-function:ease-in-out}.badge-meteor{position:absolute;height:2px;transform-origin:right center;background:linear-gradient(270deg,rgba(255,255,255,.9),rgba(140,170,255,.5) 30%,transparent);border-radius:2px;opacity:0;animation-name:badge-meteor-fall;animation-iteration-count:infinite;animation-timing-function:linear}.badge-celebrate-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:28px;max-width:min(760px,100%);text-align:center;outline:none}.badge-celebrate-heading{margin:0;font-family:var(--font-title);font-size:clamp(30px,6vw,46px);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 0 28px rgba(109,139,255,.65);animation:badge-heading-in .6s ease-out both}.badge-celebrate-row{display:flex;flex-wrap:wrap;justify-content:center;gap:34px}.badge-celebrate-card{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:190px;animation:badge-card-in .7s cubic-bezier(.18,1.5,.4,1) both}.badge-celebrate-glyph{display:grid;place-items:center;width:132px;height:132px;font-size:66px;border-radius:50%;border:2px solid rgba(150,175,255,.9);background:radial-gradient(circle at 50% 32%,rgba(126,155,255,.35),rgba(30,42,90,.55) 65%,rgba(12,16,30,.75));box-shadow:0 0 0 6px rgba(109,139,255,.1),0 0 34px rgba(109,139,255,.6),0 0 90px rgba(109,139,255,.35),inset 0 0 30px rgba(160,185,255,.25);animation:badge-float 4.5s ease-in-out infinite}.badge-celebrate-label{font-size:15px;line-height:1.35;text-shadow:0 2px 12px rgba(0,0,0,.9)}.badge-celebrate-upgrade{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#a9c0ff;text-shadow:0 0 14px rgba(109,139,255,.8)}.badge-celebrate-hint{margin:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);animation:badge-hint-in .6s ease-out 1.1s both}@keyframes badge-backdrop-in{0%{opacity:0}}@keyframes badge-heading-in{0%{opacity:0;transform:translateY(-14px)}}@keyframes badge-hint-in{0%{opacity:0}to{opacity:1}}@keyframes badge-card-in{0%{opacity:0;transform:scale(.25) rotate(-10deg)}60%{transform:scale(1.12) rotate(3deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes badge-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes badge-star-twinkle{0%,to{opacity:.12}50%{opacity:.85}}@keyframes badge-meteor-fall{0%{opacity:0;transform:rotate(28deg) translateX(-10vw)}8%{opacity:1}70%{opacity:1}to{opacity:0;transform:rotate(28deg) translateX(115vw)}}@media (prefers-reduced-motion:reduce){.badge-celebrate-backdrop,.badge-celebrate-card,.badge-celebrate-glyph,.badge-celebrate-heading,.badge-celebrate-hint,.badge-star{animation:none}.badge-star{opacity:.5}.badge-meteor{display:none}}.form{gap:22px}.form,.form-section{display:flex;flex-direction:column}.form-section{gap:10px}.form-section-title,.form-section>h2,.form-section>h3{margin:0;font-size:13px;letter-spacing:.09em;color:var(--muted)}.form-section-title{padding-bottom:8px;border-bottom:1px solid var(--border)}.field{display:flex;flex-direction:column;gap:6px}.field-label,.field>label{margin-bottom:0;font-size:13px;color:var(--muted);font-weight:600}.field-hint{margin:0;font-size:12.5px;line-height:1.45;color:var(--muted)}.field-hint.warn{color:var(--warn)}.field-hint.error{color:var(--danger)}.field-row{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.field-row.align-center{align-items:center}.field-row>.field,.field-row>input,.field-row>select{flex:1 1 180px;min-width:0}.field-row>.field-fixed{flex:0 0 auto}.field-accent:not(:focus){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.field-warn:not(:focus){border-color:var(--warn);box-shadow:0 0 0 1px var(--warn) inset,0 0 10px rgba(224,166,60,.28)}.seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;background:var(--field-bg);border:1px solid var(--border);border-radius:10px}.seg>button{border:1px solid transparent;background:transparent;padding:7px 14px;border-radius:7px;font-size:13px;color:var(--muted)}.seg>button:hover{filter:none;color:var(--text);background:rgba(255,255,255,.04)}.seg>button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.entity-card{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:rgba(255,255,255,.022);border-left:1px solid var(--border);border:1px solid var(--border);border-left-width:3px;border-radius:8px}.entity-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.entity-card-title{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.entity-card.side-ally{border-left-color:var(--accent)}.entity-card.side-enemy{border-left-color:var(--danger)}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted);padding:6px 10px;font-size:12.5px}.btn-ghost:hover{filter:none;color:var(--danger);border-color:var(--border)}.choice-group{display:flex;gap:6px;flex-wrap:wrap}.choice{display:inline-flex;align-items:center;gap:7px;margin:0;padding:7px 12px;font-size:13px;font-weight:500;color:var(--muted);background:var(--field-bg);border:1px solid var(--border);border-radius:999px;cursor:pointer}.choice:hover{color:var(--text)}.choice input{width:auto;margin:0;accent-color:var(--accent)}.choice:has(input:checked){color:var(--text);border-color:var(--accent);background:rgba(109,139,255,.12)}.choice:has(input:focus-visible){box-shadow:0 0 0 3px rgba(109,139,255,.22)}.form-actions{position:-webkit-sticky;position:sticky;bottom:0;z-index:2;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:2px -24px -24px;padding:14px 24px;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);background:var(--panel)}.form-actions .field-hint{flex:1 1 200px}.form-actions button[type=submit]{padding:11px 20px}@media (max-width:560px){.form-actions button[type=submit]{flex:1 1 100%}}.switch-label{display:inline-flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.switch-track{flex:none;width:34px;height:20px;border-radius:999px;background:var(--field-bg);border:1px solid var(--border);position:relative;transition:background .15s ease,border-color .15s ease}.switch-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--muted);transition:transform .15s ease,background .15s ease}.switch-input:checked+.switch-track{background:var(--accent);border-color:var(--accent)}.switch-input:checked+.switch-track .switch-knob{transform:translateX(14px);background:var(--accent-contrast)}.switch-input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.switch-knob,.switch-track{transition:none}}.choice-card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--field-bg);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.choice-card:hover:not(.choice-card-disabled){border-color:var(--muted)}.choice-card input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.choice-card:focus-within{outline:2px solid var(--accent);outline-offset:2px}.choice-card-title{font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.choice-card-body{font-size:12px;color:var(--muted)}.choice-card-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--field-bg));box-shadow:0 0 0 1px var(--accent),0 0 16px color-mix(in srgb,var(--accent) 45%,transparent)}.choice-card-on .choice-card-title{color:var(--accent)}.choice-card-on .choice-card-body{color:var(--text)}.choice-card-off{border-color:var(--muted);background:color-mix(in srgb,var(--muted) 8%,var(--field-bg))}.choice-card-off .choice-card-title{color:var(--text)}.choice-card-disabled{cursor:not-allowed;opacity:.55}@media (prefers-reduced-motion:reduce){.choice-card{transition:none}}.choice-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}@media (max-width:520px){.choice-grid{grid-template-columns:1fr}}.war-card{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid var(--border);border-left:3px solid var(--card-accent,var(--border));border-radius:var(--radius);background:var(--field-bg)}.war-card-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}.war-card-title{font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.war-card-unit{font-size:12px;font-weight:600;color:var(--card-accent,var(--text))}.war-card-text{margin:0;font-size:12px;line-height:1.45;white-space:pre-line;color:var(--text)}.war-card-kind{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:1px 6px;border-radius:999px;border:1px solid;white-space:nowrap}.war-card-kind-battle_honour{color:#d4a24c}.war-card-kind-battle_skill{color:#5aa9e6}.war-card-kind-upgrade{color:#8bc98b}.war-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:8px;gap:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.skel{background-color:#1f232c;background-image:linear-gradient(90deg,transparent,rgba(230,232,236,.06) 50%,transparent);background-size:200% 100%;background-repeat:no-repeat;animation:skel-sweep 1.4s ease-in-out infinite;flex:none}@keyframes skel-sweep{0%{background-position:150% 0}to{background-position:-50% 0}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.term-box{--term-green:#6ee787;--term-dim:#2f6b41;position:relative;border:1px solid var(--term-dim);border-radius:var(--radius);background:#05080a;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;box-shadow:inset 0 0 40px rgba(110,231,135,.06);animation:term-flicker 7s linear infinite}.term-box:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,0) 2px,rgba(0,0,0,.22) 3px,rgba(0,0,0,.22) 4px);opacity:.55}@keyframes term-flicker{0%,to{filter:brightness(1)}8%{filter:brightness(.97)}9%{filter:brightness(1.03)}42%{filter:brightness(.99)}43%{filter:brightness(1.02)}70%{filter:brightness(.98)}}.term-bar{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#0b1210;border-bottom:1px solid var(--term-dim)}.term-dot{width:9px;height:9px;border-radius:50%;background:var(--term-dim)}.term-title{display:inline-flex;align-items:center;gap:6px;margin-left:6px;font-size:11px;letter-spacing:.08em;color:var(--term-dim);text-transform:uppercase}.term-body{padding:12px 14px 14px;font-size:13px;color:var(--term-green)}.term-prompt{margin:0;color:var(--term-dim);font-size:12px}.term-sigil{margin-right:6px;color:var(--term-green)}.term-cursor{display:inline-block;width:7px;height:13px;vertical-align:text-bottom;background:var(--term-green);animation:term-blink 1.1s step-end infinite}@keyframes term-blink{50%{opacity:0}}.term-list{list-style:none;margin:10px 0;padding:0;display:grid;grid-gap:6px;gap:6px}.term-list>*{min-width:0}.term-list.galaxy-scroll{display:block}.term-box-wrap .term-text{white-space:normal;overflow:visible;overflow-wrap:anywhere}.term-box-wrap .term-row{align-items:flex-start}.term-row{display:flex;align-items:center;gap:10px;min-width:0}.term-text{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 8px rgba(110,231,135,.35)}.term-entry{display:flex;flex-direction:column;border-radius:6px;padding-bottom:2px}.term-entry:hover{background:rgba(110,231,135,.06)}.term-row-btn{width:100%;padding:4px 6px;font:inherit;color:inherit;background:transparent;border:none;border-radius:6px;text-align:left;cursor:pointer}.term-row-btn:hover:not(:disabled){background:rgba(110,231,135,.1)}.term-row-btn:disabled{cursor:default;opacity:.6}.term-row-btn .term-text{flex:1 1;min-width:0}.term-date{display:block;padding:4px 6px 0;font-size:11px;color:var(--term-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.term-detail,.term-report{padding-left:28px;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.term-detail{color:var(--term-dim)}.term-report{align-self:flex-start;color:var(--term-green);text-decoration:none;opacity:.85}.term-report:hover{text-decoration:underline;opacity:1}@media (min-width:900px){.galaxy-logwrap .term-entry{flex-direction:row;align-items:center;gap:10px;padding:0 6px 0 0}.galaxy-logwrap .term-date{flex:0 0 82px;padding:0 0 0 6px}.galaxy-logwrap .term-row-btn{flex:1 1 auto;min-width:0}.galaxy-logwrap .term-detail{flex:0 1 32%;min-width:0;padding-left:0;text-align:right}.galaxy-logwrap .term-report{flex:0 0 auto;align-self:center;padding-left:0}}@media (max-width:899px){.term-row-btn{padding:13px 6px}.term-report{padding-top:4px;padding-bottom:4px;font-size:12px}}.term-empty{margin:10px 0;color:var(--term-dim);font-size:12px;letter-spacing:.06em}.term-empty a{color:var(--term-green)}@media (prefers-reduced-motion:reduce){.term-box,.term-cursor{animation:none}}.term-action{margin-left:auto;display:flex}.term-clear{padding:0;font:inherit;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--term-dim);background:none;border:none;cursor:pointer}.term-clear:hover{color:var(--term-green);text-decoration:underline}.term-stats{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.08em}.term-stats-inline{font-size:12px;color:var(--term-dim)}.term-stat{white-space:nowrap}.term-stat.is-alert,.term-stat.is-alert .term-text{color:hsl(38 90% 65%);text-shadow:0 0 8px hsl(38 90% 65%/.35)}.term-label{margin:12px 0 4px;font-size:10px;letter-spacing:.16em;color:var(--term-dim)}.term-label:first-child{margin-top:4px}.term-note{margin:2px 0 0;font-size:11px;color:var(--term-dim)}.term-prose{margin:10px 0;font-size:12px;line-height:1.55;color:var(--term-dim)}.term-tag{margin:8px 0 0;padding:4px 8px;border:1px dashed var(--term-dim);border-radius:4px;font-size:11px;letter-spacing:.08em}.term-tag.is-alert{color:hsl(38 90% 65%);border-color:hsl(38 90% 45%)}.term-num,.term-pct{flex:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px}.term-num{min-width:18px;text-align:right}.term-pct{min-width:34px;text-align:right;color:var(--term-dim)}.term-flag{flex:none;font-size:11px;color:hsl(38 90% 65%)}.term-row .galaxy-swatch{flex:none}.term-chip{border-left:2px solid transparent}.term-chip.is-active{border-left-color:var(--chip);background:rgba(110,231,135,.08)}.term-meter{flex:1 1;min-width:40px;height:6px;border:1px solid var(--term-dim);border-radius:2px;overflow:hidden}.term-meter-fill{display:block;height:100%}@media (max-width:899px){.term-stats{gap:6px 14px;font-size:12px}}.term-menu{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-gap:14px;gap:14px}.term-menu-item{display:flex;gap:10px;align-items:flex-start}.term-menu-key{flex:none;color:var(--term-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.term-menu-body{min-width:0;flex:1 1}.term-menu-body .term-text{letter-spacing:.1em}.term-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px;padding-left:6px}.term-go{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:9px 12px;font:inherit;font-size:12px;letter-spacing:.06em;color:var(--term-green);background:rgba(110,231,135,.06);border:1px solid var(--term-dim);border-radius:4px;text-decoration:none;cursor:pointer}.term-go:before{content:">";color:var(--term-dim)}.term-go:hover{background:rgba(110,231,135,.14);border-color:var(--term-green)}.term-go.is-danger{color:hsl(8 80% 70%);background:rgba(240,110,110,.06);border-color:hsl(8 50% 38%)}.term-go.is-danger:hover{background:rgba(240,110,110,.16);border-color:hsl(8 80% 60%)}.term-prose a{color:var(--term-green)}.term-box-clear:after{display:none}.term-box-clear .term-body{padding:0}.term-box-clear .term-prompt{padding:6px 10px 0}.term-box-clear .term-prompt:last-child{padding:0 10px 6px}.term-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px}.term-table th{padding:6px;text-align:left;font-size:10px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--term-dim);border-bottom:1px solid var(--term-dim)}.term-table td{padding:8px 6px;vertical-align:top;border-bottom:1px dashed rgba(47,107,65,.45)}.term-table tbody tr:hover td{background:rgba(110,231,135,.06)}.term-table .term-list{margin:0;gap:4px}.term-table .term-row{gap:8px}.term-td-date a{color:var(--term-green);text-decoration:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.term-td-date a:hover{text-decoration:underline}.term-td-scenario{color:var(--term-dim)}.term-td-actions{text-align:right}.term-faction{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--term-dim)}.term-table .term-row{flex-wrap:wrap;row-gap:2px}.term-td-score{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--term-green)}.term-td-planet{color:var(--term-dim)}.term-td-name a{color:var(--term-green);text-decoration:none}.term-td-name a:hover{text-decoration:underline}.term-table td a:not(.muted):not(.badge){color:var(--term-green)}.term-td-deck{color:var(--term-dim)}.term-td-phase{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.term-td-status{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--term-dim)}.campaign-status.is-active{color:var(--accent)}.campaign-status.is-finished{color:var(--ok)}.campaign-status.is-abandoned{color:var(--danger)}.term-portrait{display:flex;align-items:center;gap:14px;padding:6px 0 10px}.term-portrait-id{display:flex;flex-direction:column;gap:4px;min-width:0}.term-portrait .term-person-name{font-size:15px}.term-count{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--term-dim)}.term-term{padding:0 6px;color:var(--term-green);letter-spacing:.06em}.term-def{margin:2px 0 0;padding:0 6px 0 22px;font-size:12px;line-height:1.55;color:var(--term-dim)}.term-filter{display:flex;align-items:center;gap:6px;margin:10px 0 4px;padding:0 6px}.term-input{flex:1 1;min-width:0;min-height:44px;padding:8px 10px;font:inherit;font-size:12px;color:var(--term-green);background:rgba(110,231,135,.04);border:1px solid var(--term-dim);border-radius:6px}.term-input::placeholder{color:var(--term-dim)}.term-input:focus-visible{outline:2px solid var(--term-green);outline-offset:1px}.term-input::-webkit-search-cancel-button{filter:grayscale(1) brightness(2.2)}.term-menu-item.is-active .term-menu-key{color:var(--term-green)}.term-menu.is-compact{gap:4px}.term-menu.is-compact .term-menu-item{align-items:center}.term-menu.is-compact .term-menu-body{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.term-feed{display:flex;flex-direction:column;gap:6px;margin-top:6px}.term-feed .term-row{padding:0 6px;flex-wrap:wrap;row-gap:2px}.term-faction-name{color:hsl(var(--faction-hue) var(--faction-sat) calc(var(--faction-light) + 5%))}.kt-marker{padding:1px 7px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;vertical-align:middle;color:hsl(var(--faction-hue) var(--faction-sat) calc(var(--faction-light) + 12%));border-color:hsl(var(--faction-hue) var(--faction-sat) var(--faction-light)/.6);background:hsl(var(--faction-hue) var(--faction-sat) var(--faction-light)/.12)}.term-faction-stats{display:flex;align-items:baseline;gap:6px;font-size:11px;letter-spacing:.04em;color:var(--term-dim)}.term-table .linked-row:hover td{background:rgba(110,231,135,.06)}.term-td-army a{color:var(--term-green);text-decoration:none}.term-td-army a:hover{text-decoration:underline}.term-td-points,.term-td-units{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.term-table .term-td-actions .row{flex-wrap:wrap;justify-content:flex-end;gap:4px}.term-table .term-td-actions .term-go{padding:9px 10px}.term-td-points .term-flag{display:block}.term-table-scroll{overflow-x:auto}.term-table-scroll .term-table{min-width:100%}.term-table td[data-label=Record]{white-space:nowrap}@media (max-width:899px){.term-table-scroll{overflow-x:visible}.term-table td[data-label=Record]{white-space:normal}}.term-box .form-actions{position:static;margin:6px 0 0;padding:12px 0 0;background:none;border-top:1px dashed rgba(47,107,65,.45);border-radius:0}.term-box .field-hint,.term-box .form-actions .field-hint{font-family:var(--font-sans);color:#5f9c74}.term-box .field-hint.warn{color:var(--warn)}.term-box .field-hint.error{color:var(--danger)}.term-box .notice .muted{font-family:var(--font-sans)}.term-box .entity-card a:not(.term-go):not(.badge),.term-box .field-hint a,.term-box .form a:not(.term-go):not(.btn-deploy):not(.badge){color:var(--term-green)}.term-box .badge:not(.badge-pending):not(.pts-cheaper):not(.pts-pricier):not(.kind-added):not(.kind-removed){background:rgba(110,231,135,.06);border-color:rgba(47,107,65,.6);color:var(--term-green)}.term-box a.badge:not(.badge-pending){text-decoration:none}.term-box a.badge:not(.badge-pending):hover{background:rgba(110,231,135,.16);border-color:var(--term-green)}.term-box .field-label,.term-box .field>label,.term-box .form-section-title{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.08em}.term-box .form-section-title{font-size:12px;color:var(--term-green)}.term-box .field-label,.term-box .field>label{font-size:11px;color:var(--term-dim)}.term-box .form-section{border-color:rgba(47,107,65,.45)}.term-box .seg>button[aria-pressed=true]{background:rgba(110,231,135,.16);border-color:var(--term-green);color:var(--term-green)}.term-box .choice:has(input:checked){border-color:var(--term-green);background:rgba(110,231,135,.12);color:var(--term-green)}.term-box .choice input,.term-box .field-accent:not(:focus){accent-color:var(--term-green)}.term-box .notice{background:rgba(110,231,135,.05);border-color:rgba(47,107,65,.5);border-left-color:var(--term-green)}.term-box .notice.error{border-left-color:var(--danger)}.term-box .term-go:disabled,.term-box .term-go:disabled:hover{opacity:.45;cursor:not-allowed;background:rgba(110,231,135,.06);border-color:var(--term-dim)}.term-box .form :not(.seg)>button:not(.term-go):not(.btn-deploy){font-size:12px;letter-spacing:.06em;color:var(--term-green);background:rgba(110,231,135,.06);border:1px solid var(--term-dim);border-radius:4px}.term-box .form :not(.seg)>button:not(.term-go):not(.btn-deploy):hover{filter:none;background:rgba(110,231,135,.14);border-color:var(--term-green)}.term-box .entity-card{background:rgba(110,231,135,.04);border-color:rgba(47,107,65,.5);border-left-color:var(--term-dim)}.term-box .entity-card-title{color:var(--term-dim)}.term-box .choice-card{border-color:rgba(47,107,65,.5)}.term-box .choice-card-on{border-color:var(--term-green);background:rgba(110,231,135,.12);box-shadow:0 0 0 1px var(--term-green),0 0 16px rgba(110,231,135,.45)}.term-box .choice-card-on .choice-card-title{color:var(--term-green)}.term-box .choice-card:focus-within{outline-color:var(--term-green)}.step-n{color:var(--term-dim,var(--muted));margin-right:2px}.setup-mission{padding-top:6px;border-top:1px solid var(--border)}.term-box .setup-mission{border-top-color:rgba(47,107,65,.45)}.setup-mission-name{font-size:16px;font-weight:700}.setup-warzone-rules{font-size:13px;white-space:pre-line}.setup-notice-line{font-size:13px}.notice.is-tight{gap:4px}.setup-map{max-width:480px;width:100%;border-radius:8px;border:1px solid var(--border)}.term-box .setup-map{border-color:rgba(47,107,65,.5)}.setup-side-name{width:90px;flex:none}.setup-cards{display:flex;flex-direction:column;gap:4px;padding-top:6px;border-top:1px solid var(--border)}.term-box .setup-cards{border-top-color:rgba(47,107,65,.45)}.setup-cards-title{font-size:13px}.setup-card-rule{padding-left:8px;border-left:2px solid var(--border)}.term-box .setup-card-rule{border-left-color:var(--term-dim)}.field-hint.is-note{font-style:italic}.field-label.is-strong{font-weight:600}.pb-side-head{justify-content:space-between}.pb-side-name{margin:0;font-size:16px}.pb-recorded{margin:0;padding-left:18px;font-size:13px}.report-page{max-width:640px;margin:0 auto}.report-results{display:flex;flex-direction:column;gap:6px}.report-notes{margin:0;white-space:pre-wrap}.panel-title{margin:0;font-size:16px}.term-box .kv dt{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:var(--term-dim)}.term-box table.data td,.term-box table.data th{border-bottom-color:rgba(47,107,65,.4)}.term-box table.data th{color:var(--term-dim);letter-spacing:.08em}.term-box table.data td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:899px){.term-table,.term-table tbody,.term-table td,.term-table tr{display:block;width:100%}.term-table thead{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.term-table tr{padding:10px 0;border-bottom:1px solid var(--term-dim)}.term-table tbody tr:last-child{border-bottom:none}.term-table td{padding:2px 6px;border:none}.term-table .term-td-date{font-size:11px;color:var(--term-dim)}.term-table .term-td-date a{color:var(--term-dim)}.term-table .term-td-scenario{padding-bottom:4px;color:var(--term-green)}.term-table td[data-label]:before{content:attr(data-label);display:block;margin-top:4px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--term-dim)}.term-table .term-td-actions{margin-top:6px;text-align:left}.term-table .term-td-planet,.term-table .term-td-score{font-size:12px}.term-table td.is-empty{display:none}}.badge.pts-cheaper{background:rgba(76,175,120,.15);border-color:#3a7d5a;color:#7fe0a8}.badge.pts-pricier{background:rgba(255,107,107,.12);border-color:#8a3b3b;color:#ff9b9b}.badge .pts-faction{opacity:.75;font-size:.9em}.unit-changed{color:var(--warn)}.change-row .unit-changed{color:inherit}.change-groups{display:flex;flex-wrap:wrap;gap:4px}.change-group{font-size:11px;padding:1px 6px;border-radius:999px;border:1px solid var(--warn);color:var(--warn);white-space:nowrap}.change-section{margin-top:18px}.change-section:first-of-type{margin-top:10px}.change-section-head{display:flex;align-items:baseline;gap:8px;margin:0;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--term-green);border-bottom:1px solid var(--border);padding:0 6px 4px}.change-section-count{margin-left:auto;font-size:11px;font-weight:400;letter-spacing:.04em;color:var(--term-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.change-section-note{margin:4px 0 0;padding:0 6px;font-size:11px;line-height:1.5;color:var(--term-dim)}.change-faction-group{margin-top:10px}.change-faction{display:flex;align-items:baseline;gap:8px;margin:0;padding:3px 6px;border-radius:4px;cursor:pointer;list-style:none;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--faction-hue) var(--faction-sat) max(calc(var(--faction-light) + 5%),45%))}.change-faction::-webkit-details-marker{display:none}.change-faction:before{content:"▸";font-size:9px;color:var(--term-dim)}.change-faction-group[open]>.change-faction:before{content:"▾"}.change-faction:focus-visible,.change-faction:hover{background:rgba(110,231,135,.08)}.change-faction-name{margin:0;font:inherit;letter-spacing:inherit;color:inherit}.change-unit-link{color:inherit;text-decoration:none;min-width:0}.change-unit-link:focus-visible .term-text,.change-unit-link:hover .term-text{text-decoration:underline}.change-faction-count{margin-left:auto;font-weight:400;color:var(--term-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.change-faction-group .term-feed{margin-top:2px}.change-pricing{font-size:11px;padding:1px 6px;border-radius:999px;border:1px solid var(--border);color:var(--term-dim);white-space:nowrap}.what-changed{display:inline-block;margin-bottom:6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--warn);text-decoration:none}.what-changed:focus-visible,.what-changed:hover{text-decoration:underline}.rules-text{display:inline}.rules-line,.rules-p{display:block}.rules-text>.rules-p:first-child,.rules-text>.rules-p:first-child>.rules-line:first-child{display:inline}.rules-list+.rules-p,.rules-p+.rules-list,.rules-p+.rules-p{margin-top:.5em}.rules-list{display:block;margin:.35em 0;padding-left:1.2em}.rules-li{display:list-item;list-style:disc outside}.rules-li-sub{margin-left:1.1em;list-style:circle outside}.rules-kw{text-transform:uppercase;letter-spacing:.04em}.rules-text u{text-underline-offset:2px}.rules-ref{display:inline;background:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px}.rules-ref:focus-visible,.rules-ref:hover{color:var(--accent);-webkit-text-decoration-style:solid;text-decoration-style:solid}@media (forced-colors:active){.rules-ref{text-decoration:underline}}.diff-group+.diff-group{margin-top:12px}.diff-group-head{margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--term-dim);border-bottom:1px solid var(--border);padding-bottom:3px}.diff-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;padding:2px 0;font-size:13px;line-height:1.5}.diff-label{flex:0 0 auto;min-width:56px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--term-dim)}.diff-before{color:var(--term-dim);text-decoration:line-through;-webkit-text-decoration-color:rgba(255,107,107,.6);text-decoration-color:rgba(255,107,107,.6)}.diff-after{color:var(--term-green)}.diff-none{opacity:.6}.diff-arrow,.diff-none{color:var(--term-dim)}.diff-prose{flex:1 1 100%;margin:2px 0 0;white-space:pre-wrap;line-height:1.6}.wdiff-removed{color:var(--term-dim);text-decoration:line-through;-webkit-text-decoration-color:rgba(255,107,107,.6);text-decoration-color:rgba(255,107,107,.6)}.wdiff-added{color:var(--term-green);text-decoration:none;background:rgba(110,231,135,.14);border-radius:2px;padding:0 2px}@media (forced-colors:active){.wdiff-added{text-decoration:underline}}.diff-prose-old{color:var(--term-dim)}.diff-prose-new{color:var(--term-green)}.diff-note{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--warn)}.diff-entry{padding:4px 0}.diff-entry+.diff-entry{border-top:1px solid var(--border)}.diff-entry-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.diff-entry-name{font-size:13px;font-weight:600}.diff-keywords{display:flex;flex-wrap:wrap;gap:4px}.change-group.kw-added{border-color:#3a7d5a;color:#7fe0a8}.change-group.kw-removed{border-color:#8a3b3b;color:#ff9b9b}.badge.kind-added{background:rgba(76,175,120,.15);border-color:#3a7d5a;color:#7fe0a8}.badge.kind-removed{background:rgba(255,107,107,.12);border-color:#8a3b3b;color:#ff9b9b}.abil-fold{border-top:1px solid var(--border);padding-top:6px}.abil-fold>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:6px;background:color-mix(in srgb,var(--accent) 9%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 16%,transparent);font-size:14px;color:var(--accent)}.abil-fold>summary::-webkit-details-marker{display:none}.abil-fold>summary:focus-visible,.abil-fold>summary:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--accent) 30%,transparent)}.abil-fold .fold-chev{font-size:13px}.abil-fold .fold-label{color:var(--text);font-weight:600;letter-spacing:.02em}.abil-fold .fold-hint{margin-left:auto;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 20%,transparent)}.abil-fold .fold-open{display:none}.abil-fold[open] .fold-open{display:inline}.abil-fold[open] .fold-closed{display:none}:root{--term-green:#6ee787;--term-dim:#5f9c74}.sticky-budget-bar.is-term,.term-empty,.term-filter{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.panel>.term-filter{margin:0;padding:0}.sticky-budget-bar .term-label,.term-box form .term-label{margin:0}.sticky-budget-bar.is-term{gap:8px;background:#0a0f0c;border-color:var(--term-dim);font-size:12px}.sticky-budget-bar .term-cmd{color:var(--term-dim);letter-spacing:.04em}.sticky-budget-bar .budget-figs{display:flex;align-items:center;gap:10px;margin-left:auto}@media (max-width:560px){.sticky-budget-bar .term-cmd{display:none}}.term-h1{margin:0 0 2px;font-size:20px;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;color:var(--term-green)}.panel.is-crt{--crt-ink:var(--term-green);--crt-bg:#070b0d;position:relative;background:var(--crt-bg);border-color:color-mix(in srgb,var(--crt-ink) 40%,transparent);box-shadow:inset 0 0 40px color-mix(in srgb,var(--crt-ink) 6%,transparent);--field-bg:#0e1512}.panel.is-crt.is-warn{--crt-ink:var(--warn);--crt-bg:#0c0903;border-left:3px solid var(--warn);--field-bg:#151007}.panel.is-crt.is-danger{--crt-ink:var(--danger);--crt-bg:#0d0406;--field-bg:#170b0d;border-color:color-mix(in srgb,var(--crt-ink) 60%,transparent);border-left:3px solid var(--danger)}.panel.is-crt.is-detach{--crt-ink:var(--detachment);--crt-bg:#08060f;--field-bg:#100d1c}.panel.is-crt:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(to bottom,color-mix(in srgb,var(--crt-ink) 5%,transparent) 0,color-mix(in srgb,var(--crt-ink) 5%,transparent) 1px,rgba(0,0,0,0) 1px,rgba(0,0,0,0) 2px,rgba(0,0,0,.28) 3px,rgba(0,0,0,.28) 4px);opacity:.5}.panel.is-crt>.row>h2,.panel.is-crt>h2{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--crt-ink)}.panel.is-crt .unit-card[open]>summary{background:var(--crt-bg)}.ys-export{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(110,231,135,.18)}.ys-actions{gap:8px}.ys-actions,.ys-code-row{display:flex;flex-wrap:wrap;align-items:center}.ys-code-row{gap:10px}.ys-code{padding:6px 12px;font-family:var(--font-mono);font-size:18px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.22em;color:var(--term-green);background:rgba(110,231,135,.1);border:1px solid var(--term-dim);border-radius:4px;-webkit-user-select:all;-moz-user-select:all;user-select:all}.ys-note{margin:0;max-width:62ch;font-family:var(--font-sans);font-size:12px;line-height:1.5;color:var(--term-dim)}.ys-note.is-warn{color:var(--warn)}.ys-again{align-self:flex-start;padding:0;font:inherit;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--term-dim);background:none;border:none;cursor:pointer}.ys-again:hover{color:var(--term-green);text-decoration:underline}.ys-trigger{position:relative;align-self:flex-start;min-height:32px;padding:5px 10px;font-size:11px}.ys-trigger:after{content:"";position:absolute;inset:-6px 0}.term-load-page{max-width:560px;margin:56px auto}.term-load{margin-bottom:16px}.term-load-type{display:inline-block;width:calc(var(--chars, 24) * 1ch);padding-bottom:3px;margin-bottom:-3px;overflow:hidden;white-space:nowrap;vertical-align:bottom;color:var(--term-green);animation:term-load-type 1.15s steps(30) both}@keyframes term-load-type{0%{width:0}}.term-load-log{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-gap:4px;gap:4px;font-size:12px;color:var(--term-dim)}.term-load-line{opacity:0;letter-spacing:.04em;animation:term-load-print .3s ease-out both;animation-delay:calc(1.25s + var(--i, 0) * .17s)}.term-load-mark{margin-right:8px;color:var(--term-green)}@keyframes term-load-print{0%{opacity:0}to{opacity:1}}.term-load-meter{display:flex;align-items:center;gap:10px;margin:14px 0 12px;opacity:0;animation:term-load-print .3s ease-out both;animation-delay:calc(1.4s + var(--i, 0) * .17s)}.term-load-bar{position:relative;flex:1 1;height:10px;overflow:hidden;border:1px solid color-mix(in srgb,var(--term-green) 32%,transparent);background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--term-green) 12%,transparent) 0 5px,transparent 5px 8px)}.term-load-fill{position:absolute;inset:0 auto 0 0;width:32%;background:repeating-linear-gradient(90deg,var(--term-green) 0 5px,transparent 5px 8px);box-shadow:0 0 12px rgba(110,231,135,.4);animation:term-load-sweep 1.9s cubic-bezier(.6,0,.4,1) infinite}@keyframes term-load-sweep{0%{transform:translateX(-105%)}to{transform:translateX(330%)}}.term-load-meter-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--term-dim)}.term-load-caret{animation:term-blink 1.1s step-end infinite,term-load-caret-off 1.15s step-end both}.term-load-tail{animation:term-blink 1.1s step-end infinite,term-load-caret-on 1.15s step-end both}@keyframes term-load-caret-off{0%{visibility:visible}to{visibility:hidden}}@keyframes term-load-caret-on{0%{visibility:hidden}to{visibility:visible}}@media (prefers-reduced-motion:reduce){.term-load,.term-load .term-cursor,.term-load-fill,.term-load-line,.term-load-meter,.term-load-type{animation:none}.term-load-caret{display:none}.term-load-type{width:auto}.term-load-line,.term-load-meter{opacity:1}.term-load-fill{width:45%;box-shadow:none}}.term-skel .skel{background-color:#0b110e;background-image:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--term-green) 22%,transparent) 50%,transparent 100%),repeating-linear-gradient(90deg,color-mix(in srgb,var(--term-green) 14%,transparent) 0 5px,transparent 5px 8px);background-size:200% 100%,auto;background-repeat:no-repeat,repeat;border-radius:2px;animation:term-skel-sweep 1.9s ease-in-out infinite}@keyframes term-skel-sweep{0%{background-position:150% 0,0 0}to{background-position:-50% 0,0 0}}@media (prefers-reduced-motion:reduce){.term-skel .skel{animation:none}}.spec-ops-factions{border:0;margin:0;padding:0;min-width:0}.spec-ops-faction-grid{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.spec-ops-faction{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;font-size:12px;line-height:1.5;color:var(--muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.spec-ops-faction input{margin:0;width:12px;height:12px}.spec-ops-faction.is-on{color:var(--text);border-color:var(--accent)}.spec-ops-faction:has(input:disabled){opacity:.45;cursor:not-allowed}:root{--ploy-strategy:var(--accent);--ploy-firefight:var(--warn)}.ploy-kind{--ploy:var(--ploy-strategy)}.ploy-kind.is-firefight{--ploy:var(--ploy-firefight)}.ploy-kind>.term-label,.ploy-kind>h3{color:var(--ploy)}.ploy-card{border-left:3px solid var(--ploy);padding-left:10px;border-radius:2px;background:color-mix(in srgb,var(--ploy) 6%,transparent);padding-top:4px;padding-bottom:4px}.ploy-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ploy);border:1px solid color-mix(in srgb,var(--ploy) 60%,transparent);border-radius:999px;padding:0 6px;line-height:16px}.killzone-preview{margin-top:8px}.killzone-preview img{display:block;max-width:360px;width:100%;border-radius:8px;border:1px solid var(--border)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:12px;gap:12px}.kpi{display:block;background:var(--field-bg);border:1px solid var(--border);border-radius:8px;padding:12px 14px;text-decoration:none;color:inherit}a.kpi:hover{border-color:var(--accent)}.kpi-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.kpi-value{font-size:26px;font-weight:700;line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi.is-alarming .kpi-value{color:var(--danger)}.kpi-hint{font-size:12px;color:var(--muted)}.kpi-delta{font-size:12px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-delta.up{color:var(--ok)}.kpi-delta.down{color:var(--warn)}.kpi-delta.flat{color:var(--muted)}