: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-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--role-epic-hero:#f5a623;--role-character:#e07ad8;--role-battleline:#9ad25a;--role-infantry:#8fa3bf;--role-vehicle:#e0774b;--role-transport:#c29a6b;--role-other:#7f8794}[data-role=epic-hero]{--role:var(--role-epic-hero)}[data-role=character]{--role:var(--role-character)}[data-role=battleline]{--role:var(--role-battleline)}[data-role=infantry]{--role:var(--role-infantry)}[data-role=vehicle]{--role:var(--role-vehicle)}[data-role=transport]{--role:var(--role-transport)}[data-role=other]{--role:var(--role-other)}*{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:400;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;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)}.colour-key{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--border);background:#05080a;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.colour-key-text strong{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.colour-key-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px}.colour-key-item{display:inline-flex;align-items:center;gap:6px;color:var(--tone-fg,#6ee787)}.colour-key-swatch{width:10px;height:10px;border-radius:2px;background:var(--tone-fg,#6ee787);box-shadow:0 0 0 1px var(--tone-dim,#2f6b41)}.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}.row.check-row{gap:10px;align-items:flex-start;flex-wrap:nowrap;min-height:44px;cursor:pointer}.check-row>input{flex:none;width:18px;height:18px;margin:2px 0 0;padding:0}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.is-pts{white-space:nowrap;flex-shrink:0}.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}}.mobile-tabs>button{flex:1 0 auto;min-height:44px;white-space:nowrap}.page-tabs{display:flex;flex-direction:column;gap:14px}@media (max-width:899px){.page-tabs>.mobile-tabs{position:-webkit-sticky;position:sticky;top:0;z-index:19;overflow-x:auto;scrollbar-width:none;margin-inline:-4px;padding:6px 4px;background:var(--bg)}.page-tabs>.mobile-tabs::-webkit-scrollbar{display:none}.page-tabs>.mobile-tabs[data-fade=end]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}.page-tabs>.mobile-tabs[data-fade=start]{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(270deg,#000 calc(100% - 36px),transparent)}.page-tabs>.mobile-tabs[data-fade=both]{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent)}}.catalog-scroll{max-height:560px;overflow-y:auto}@media (max-width:899px){.catalog-scroll{max-height:none;overflow-y:visible}.army-layout{--tabs-top:var(--card-stick-top,0px)}.army-layout>.mobile-tabs{position:-webkit-sticky;position:sticky;top:var(--tabs-top);z-index:19;margin-inline:-4px;padding:6px 4px;background:var(--bg)}.army-layout>.tab-panel{--card-stick-top:calc(var(--tabs-top) + 54px)}}.builder-fold{margin-top:16px}.builder-fold>summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-height:44px;cursor:pointer;list-style:none}.builder-fold>summary::-webkit-details-marker{display:none}.builder-fold>summary:before{content:"▸";color:var(--crt-ink,var(--muted));transition:transform .15s}.builder-fold[open]>summary:before{transform:rotate(90deg)}.builder-fold>summary h2{margin:0}.builder-fold-hint{flex:1 1 140px;min-width:0;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.builder-fold[open]>summary{margin-bottom:10px}.builder-fold[open] .builder-fold-hint{display:none}.army-rule{font-size:14px}.army-rule+.army-rule{border-top:1px solid var(--border);padding-top:8px}.army-rule-fold>summary,.army-rule-option>summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;cursor:pointer;list-style:none}.army-rule-fold>summary::-webkit-details-marker,.army-rule-option>summary::-webkit-details-marker{display:none}.army-rule-fold>summary:before,.army-rule-option>summary:before{content:"▸";display:inline-block;color:var(--muted);transition:transform .15s}.army-rule-fold[open]>summary:before,.army-rule-option[open]>summary:before{transform:rotate(90deg)}.army-rule-summary{flex-basis:100%;padding-left:18px;font-size:13px}.army-rule-fold[open]>summary{margin-bottom:6px}.army-rule-fold[open] .army-rule-summary{display:none}.army-rule-kind{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.army-rule-body{display:grid;grid-gap:8px;gap:8px}.army-rule-options{display:grid;grid-gap:2px;gap:2px}.army-rule-group{margin-top:4px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.army-rule-option{border-left:3px solid var(--phase,var(--border));padding:3px 0 3px 8px}:root{--phase-command:#4ade80;--phase-movement:#facc15;--phase-shooting:#38bdf8;--phase-charge:#fb923c;--phase-fight:#f87171}[data-phase=command]{--phase:var(--phase-command)}[data-phase=movement]{--phase:var(--phase-movement)}[data-phase=shooting]{--phase:var(--phase-shooting)}[data-phase=charge]{--phase:var(--phase-charge)}[data-phase=fight]{--phase:var(--phase-fight)}.army-rule-option[data-phase]{background:color-mix(in srgb,var(--phase) 7%,transparent);border-radius:0 6px 6px 0}.army-rule-phase{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--phase)}.army-rule-option-text{padding:4px 0 2px 18px}:root{--favoured:#eab308}.army-rule-favoured{border-color:var(--favoured);color:var(--favoured);font-size:11px}.army-rule-option[data-favoured]{outline:1px solid color-mix(in srgb,var(--favoured) 60%,transparent);outline-offset:-1px}.army-rule-favoured-effect{margin-bottom:4px;padding:4px 6px;border-radius:4px;background:color-mix(in srgb,var(--favoured) 10%,transparent)}@media (prefers-reduced-motion:reduce){.army-rule-fold>summary:before,.army-rule-option>summary:before,.builder-fold>summary:before{transition:none}}.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)}.badge-unique{font-size:11px;padding:1px 7px;color:color-mix(in srgb,var(--detachment) 70%,#fff);border-color:color-mix(in srgb,var(--detachment) 55%,var(--border));background:transparent;white-space:nowrap}.badge-blocked{opacity:.55;border-style:dashed}.badge-score-now{color:var(--warn);border-color:currentColor;background:color-mix(in srgb,var(--warn) 14%,transparent);font-weight:600;white-space:nowrap}.sec-done>summary{cursor:pointer;font-size:12px;color:var(--muted)}.sec-done[open]>summary{margin-bottom:4px}.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)}.unit-editor{position:fixed;inset:0 0 0 auto;margin:0;width:min(560px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;padding:0;border:none;border-left:1px solid var(--border);background:var(--bg);color:var(--text);box-shadow:-12px 0 32px rgba(0,0,0,.45)}.unit-editor[open]{display:flex;flex-direction:column}.unit-editor::-webkit-backdrop{background:rgba(5,6,9,.6)}.unit-editor::backdrop{background:rgba(5,6,9,.6)}.unit-editor-head{display:flex;flex-direction:column;gap:8px;padding:12px 16px 10px;border-bottom:1px solid var(--border);background:var(--panel)}.unit-editor-title{margin:0;font-size:18px;line-height:1.2;min-width:0;overflow-wrap:anywhere}.unit-editor-body{flex:1 1;overflow-y:auto;overscroll-behavior:contain;padding:12px 16px 24px;display:flex;flex-direction:column;gap:14px}.unit-editor-foot{display:flex;justify-content:flex-end;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--panel)}@media (max-width:620px){.unit-editor{width:100vw;border-left:none;box-shadow:none}}.opt-body,.opt-group{display:flex;flex-direction:column;gap:4px}.opt-body{gap:6px}.opt-body+.opt-body,.opt-group+.opt-group{margin-top:6px}.opt-group-head{justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:2px}.opt-group-name{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.opt-row{align-items:center;gap:10px;min-height:38px;padding:4px 8px;border-left:2px solid transparent;border-radius:4px}label.opt-row{cursor:pointer}label.opt-row:hover{background:rgba(255,255,255,.04)}.opt-row.is-on{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.opt-row.is-disabled{opacity:.5;cursor:not-allowed}.opt-row input[type=checkbox],.opt-row input[type=radio]{accent-color:var(--accent);width:16px;height:16px;margin:0;flex-shrink:0}.opt-text{flex:1 1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;font-size:13px}.opt-name{font-weight:600}.opt-sub{flex-basis:100%;font-size:11px}.opt-info{flex-shrink:0;min-width:32px;min-height:32px;padding:0 6px;border-color:transparent;background:transparent;color:var(--muted);font-size:15px}.opt-info[aria-expanded=true]{color:var(--accent)}.opt-details{display:flex;flex-direction:column;gap:4px;margin:2px 0 6px 26px}.opt-always{padding:2px 8px;border-left:2px solid color-mix(in srgb,var(--muted) 55%,transparent)}.opt-nested{margin:4px 0 4px 18px;padding-left:8px;border-left:1px dashed var(--border);gap:8px}.opt-composition,.opt-nested{display:flex;flex-direction:column}.opt-composition{gap:2px;margin-bottom:6px}.loadout-carrying{display:inline}.loadout-carrying-item+.loadout-carrying-item:before{content:" · ";color:var(--muted)}.loadout-profiles>summary{cursor:pointer;list-style-position:inside}.loadout-profiles[open]>summary{margin-bottom:4px}.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-bar{padding:10px 12px;gap:8px}.tracker-advance{flex-wrap:nowrap}.tracker-advance>*{min-width:0}.tracker-advance>a,.tracker-advance>button,.tracker-advance>form>button{white-space:nowrap;min-height:44px;padding-inline:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.tracker-advance>.primary,.tracker-advance>form:has(>.primary){flex:1 1}.tracker-advance>form>.primary{width:100%}.tracker-undo-hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body:has(.tracker-tabbar) .site-footer{display:none}.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;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}.force-name-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.faction-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:hsl(var(--faction-hue) var(--faction-sat) max(calc(var(--faction-light) + 10%),68%))}.faction-tag .faction-divider-swatch{width:8px;height:8px}.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 color-mix(in srgb,var(--term-dim) 45%,transparent)}.term-list>.term-person:last-child{border-bottom:none}.term-person.is-linked{cursor:pointer}.term-person.is-linked:hover{background:color-mix(in srgb,var(--term-green) 6%,transparent)}.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;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-anchor:middle;cursor:pointer;transition:opacity .12s ease;paint-order:stroke;stroke:#05080a;stroke-width:.3em;stroke-linejoin:round}.galaxy-sector{cursor:pointer}.galaxy-sector path{transition:fill-opacity .12s ease,stroke-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;height:60svh}}.galaxy-preview-open{display:none}@media (max-width:899px){.galaxy-preview .galaxy-detail,.galaxy-preview .galaxy-sector-label,.galaxy-preview .galaxy-tools,.galaxy-preview .mobile-tabs{display:none}.galaxy-preview .galaxy-map{height:220px;pointer-events:none;touch-action:auto}.galaxy-preview-open{position:absolute;inset:6px;display:flex;align-items:flex-end;justify-content:center;padding:12px;border-radius:var(--radius);text-decoration:none}.galaxy-preview-open span{min-height:44px;display:inline-flex;align-items:center;padding:0 14px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--term-green);background:rgba(5,8,10,.88);border:1px solid var(--term-dim);border-radius:4px}.galaxy-preview-open:focus-visible{outline:2px solid var(--term-green);outline-offset:2px}}.galaxy-map.is-zoomed:active{cursor:-webkit-grabbing;cursor:grabbing}.galaxy-tools{position:absolute;top:12px;left:12px;z-index:5;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:11px;fill:#c4cbd9;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#05080a;stroke-width:.3em;stroke-linejoin:round}.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:var(--tone-fg,#6ee787);background:color-mix(in srgb,#05080a 82%,transparent);border-color:var(--tone-dim,#2f6b41)}.galaxy-menu-btn:hover,.galaxy-zoom button:hover:not(:disabled){border-color:var(--tone-fg,#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 color-mix(in srgb,var(--term-green) 6%,transparent)}.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 var(--tone-dim,#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)}.tour-bubble.has-questions{width:min(420px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow-y:auto}.tour-questions{gap:12px}.tour-q,.tour-questions{display:flex;flex-direction:column}.tour-q{gap:6px;margin:0;padding:0;border:0;min-width:0}.tour-q>legend{padding:0;margin-bottom:6px;font-size:12px;font-weight:600;color:var(--muted)}.tour-choices{display:flex;flex-wrap:wrap;gap:6px}.tour-choices>button{min-height:36px;padding:6px 10px;border:1px solid var(--border);border-radius:7px;background:var(--field-bg);color:var(--muted);font-size:12px}.tour-choices>button:hover{filter:none;color:var(--text)}.tour-choices>button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}@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}@media (max-width:480px){.field-row>.setup-side-name{flex-basis:100%}.sec-add{flex-wrap:wrap}.sec-add>select{flex:1 1 100%!important}.sec-add>button{flex:1 1}}.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)}.seg-field{min-width:0;margin:0;padding:0;border:0}.seg-field>legend{padding:0;margin-bottom:6px}.seg-radio{display:flex}.seg-radio>label{position:relative;flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:7px 12px;border:1px solid transparent;border-radius:7px;font-size:13px;line-height:1.25;text-align:center;color:var(--muted);cursor:pointer}.seg-radio>label>input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:inherit}.seg-radio>label:hover{color:var(--text);background:rgba(255,255,255,.04)}.seg-radio>label:has(input:checked){background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.seg-radio>label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.seg-radio>label:has(input:disabled){opacity:.45;cursor:not-allowed}.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}}.tone-live{--tone-fg:#ffc35a;--tone-dim:#7c5b1c;--tone-soft:#b48b45}.tone-galaxy{--tone-fg:#62d6ff;--tone-dim:#226680;--tone-soft:#5799b0}.tone-news{--tone-fg:#c3a6ff;--tone-dim:#6652a6;--tone-soft:#9683c4}.tone-community{--tone-fg:#ff92b4;--tone-dim:#984466;--tone-soft:#c47a92}.term-box{--term-green:var(--tone-fg,#6ee787);--term-dim:var(--tone-dim,#2f6b41);--term-soft:var(--tone-soft,#5f9c74);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 color-mix(in srgb,var(--term-green) 6%,transparent);animation:term-flicker 7s linear 2}.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:color-mix(in srgb,var(--term-green) 5%,#05080a);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 color-mix(in srgb,var(--term-green) 35%,transparent)}.term-entry{display:flex;flex-direction:column;border-radius:6px;padding-bottom:2px}.term-entry:hover{background:color-mix(in srgb,var(--term-green) 6%,transparent)}.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:color-mix(in srgb,var(--term-green) 10%,transparent)}.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-flag.is-armed{color:hsl(190 80% 65%)}.term-row .galaxy-swatch{flex:none}.term-chip{border-left:2px solid transparent}.term-chip.is-active{border-left-color:var(--chip);background:color-mix(in srgb,var(--term-green) 8%,transparent)}.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}.play-mode-name{margin:0;font:inherit;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.play-mode-kind{margin:0;padding:1px 6px;font-size:10px}.term-go.is-quiet{background:transparent;border-style:dashed}.play-guide{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-gap:8px;gap:8px}.play-guide li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}.play-guide-want:before{content:"> ";color:var(--term-dim)}.play-guide-mode{color:var(--term-green)}.play-guide-mode:before{content:"→ ";color:var(--term-dim)}.data-changes-edition+.data-changes-edition{border-top:1px dashed var(--term-dim);padding-top:10px}.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:color-mix(in srgb,var(--term-green) 6%,transparent);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:color-mix(in srgb,var(--term-green) 14%,transparent);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%)}@media (max-width:899px),(pointer:coarse){.crusade-scope :is(input:not([type=checkbox],[type=radio]),select,button,.btn){min-height:44px}.crusade-scope :is(.link-btn,p.muted>a:only-child,td>a){display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}.crusade-scope summary{min-height:44px;padding-block:12px}}.crusade-enh-group{margin-top:6px;padding-left:14px}.crusade-enh-list{list-style:none;margin:4px 0 8px;padding:0 0 0 14px}.crusade-enh-list>li+li{margin-top:8px}.crusade-enh-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.crusade-enh-pts{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.crusade-edition-note{margin:4px 0 0;padding:2px 0 2px 10px;border-left:2px solid var(--warn,#e0b050);font-size:12px;line-height:1.45;color:var(--muted)}.crusade-edition-note>strong{color:var(--text);font-weight:600}.term-box .crusade-edition-note{color:var(--term-soft)}.term-box .crusade-edition-note>strong{color:var(--term-green)}.card-sheet-head,.card-sheet-open{display:none}@media (min-width:900px){dialog.card-sheet:not([open]){display:block;position:static;width:auto;max-width:none;margin:0;padding:0;border:0;background:none;color:inherit}.card-sheet-readout{display:none}}@media (max-width:899px){.card-sheet-open{display:inline-flex}dialog.card-sheet{position:fixed;inset:auto 0 0 0;width:100%;max-width:100%;max-height:85dvh;margin:0;overflow-y:auto;overscroll-behavior:contain;padding:0 16px calc(16px + env(safe-area-inset-bottom, 0px));background:#05080a;color:var(--term-green);border:0;border-top:1px solid var(--term-dim);border-radius:12px 12px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.card-sheet-head .term-go:before{content:none}dialog.card-sheet::-webkit-backdrop{background:rgba(5,6,9,.6)}dialog.card-sheet::backdrop{background:rgba(5,6,9,.6)}.card-sheet-head{position:-webkit-sticky;position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;background:#05080a}}.crusade-dock{display:none}@media (max-width:899px){.crusade-dock{--term-green:var(--tone-fg,#6ee787);--term-dim:var(--tone-dim,#2f6b41);--term-soft:var(--tone-soft,#5f9c74);position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:8px 16px calc(8px + env(safe-area-inset-bottom, 0px));background:#05080a;border-top:1px solid var(--term-dim);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.crusade-dock-note{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--term-soft)}.crusade-dock .term-go{flex-shrink:0}body:has(.crusade-dock){padding-bottom:calc(76px + env(safe-area-inset-bottom, 0px))}}.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}@media (max-width:599px){.term-prompt{display:none}}.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 color-mix(in srgb,var(--term-dim) 45%,transparent)}.term-table tbody tr:hover td{background:color-mix(in srgb,var(--term-green) 6%,transparent)}.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:color-mix(in srgb,var(--term-green) 4%,transparent);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:color-mix(in srgb,var(--term-green) 6%,transparent)}.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 color-mix(in srgb,var(--term-dim) 45%,transparent);border-radius:0}.term-box .field-hint,.term-box .form-actions .field-hint{font-family:var(--font-sans);color:var(--term-soft)}.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:color-mix(in srgb,var(--term-green) 6%,transparent);border-color:color-mix(in srgb,var(--term-dim) 60%,transparent);color:var(--term-green)}.term-box a.badge:not(.badge-pending){text-decoration:none}.term-box a.badge:not(.badge-pending):hover{background:color-mix(in srgb,var(--term-green) 16%,transparent);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:color-mix(in srgb,var(--term-dim) 45%,transparent)}.term-box .seg>button[aria-pressed=true]{background:color-mix(in srgb,var(--term-green) 16%,transparent);border-color:var(--term-green);color:var(--term-green)}.term-box .seg-radio>label:has(input:checked){background:color-mix(in srgb,var(--term-green) 16%,transparent);border-color:var(--term-green);color:var(--term-green)}.term-box .seg-radio>label:has(input:focus-visible){outline-color:var(--term-green)}.term-box .choice:has(input:checked){border-color:var(--term-green);background:color-mix(in srgb,var(--term-green) 12%,transparent);color:var(--term-green)}.term-box .choice input,.term-box .field-accent:not(:focus){accent-color:var(--term-green)}.term-box .notice{background:color-mix(in srgb,var(--term-green) 5%,transparent);border-color:color-mix(in srgb,var(--term-dim) 50%,transparent);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:color-mix(in srgb,var(--term-green) 6%,transparent);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:color-mix(in srgb,var(--term-green) 6%,transparent);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:color-mix(in srgb,var(--term-green) 14%,transparent);border-color:var(--term-green)}.term-box .entity-card{background:color-mix(in srgb,var(--term-green) 4%,transparent);border-color:color-mix(in srgb,var(--term-dim) 50%,transparent);border-left-color:var(--term-dim)}.term-box .entity-card-title{color:var(--term-dim)}.term-box .choice-card{border-color:color-mix(in srgb,var(--term-dim) 50%,transparent)}.term-box .choice-card-on{border-color:var(--term-green);background:color-mix(in srgb,var(--term-green) 12%,transparent);box-shadow:0 0 0 1px var(--term-green),0 0 16px color-mix(in srgb,var(--term-green) 45%,transparent)}.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:color-mix(in srgb,var(--term-dim) 45%,transparent)}.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:color-mix(in srgb,var(--term-dim) 50%,transparent)}.map-zoom-trigger{position:relative;display:block;padding:0;overflow:hidden;background:none;cursor:zoom-in}.map-zoom-trigger:hover{filter:none}.map-zoom-trigger img{display:block;width:100%;height:auto}.map-zoom-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map-zoom-hint{position:absolute;right:8px;bottom:8px;padding:4px 8px;border-radius:6px;background:rgba(15,17,21,.85);color:var(--text);font-size:12px;font-weight:600;pointer-events:none}.map-viewer{width:100vw;width:100dvw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(8,9,12,.96);color:var(--text)}.map-viewer::-webkit-backdrop{background:rgba(0,0,0,.7)}.map-viewer::backdrop{background:rgba(0,0,0,.7)}.map-viewer-body{display:flex;flex-direction:column;height:100%}.map-viewer-bar{display:flex;align-items:center;gap:8px;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left));border-bottom:1px solid var(--border);background:var(--panel)}.map-viewer-bar .btn{min-width:44px;min-height:40px;padding:8px 12px}.map-viewer-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600}.map-viewer-scale{min-width:48px;text-align:center;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted)}.map-viewer-stage{position:relative;flex:1 1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;cursor:zoom-in}.map-viewer-stage.is-zoomed{cursor:-webkit-grab;cursor:grab}.map-viewer-stage.is-zoomed:active{cursor:-webkit-grabbing;cursor:grabbing}.map-viewer-stage img{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;transform-origin:center;will-change:transform}.map-viewer-stage img.is-animating{transition:transform .18s ease-out}.map-viewer-help{margin:0;padding:6px 12px max(8px,env(safe-area-inset-bottom));text-align:center;font-size:12px;color:var(--muted)}@media (max-width:480px){.map-viewer-title{display:none}.map-viewer-bar{justify-content:flex-end}}@media (prefers-reduced-motion:reduce){.map-viewer-stage img.is-animating{transition:none}}.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:color-mix(in srgb,var(--term-dim) 45%,transparent)}.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:color-mix(in srgb,var(--term-dim) 40%,transparent)}.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}.term-table.is-stats tr{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;grid-column-gap:10px;column-gap:10px}.term-table.is-stats td{grid-column:1/-1;width:auto;min-width:0}.term-table.is-stats .term-td-wide select{width:100%}.term-table.is-stats .term-td-stat{grid-column:auto;padding-inline:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.term-table.is-stats .term-td-name+.term-td-stat,.term-table.is-stats .term-td-wide+.term-td-stat{padding-left:6px}.term-table.is-stats .term-td-stat:before{letter-spacing:.08em}.inline-action .link-btn,.organise-buttons .btn-ghost{min-height:44px;padding:0 10px}}.inline-action{display:inline;margin-left:8px}.inline-action .link-btn{color:var(--term-dim);text-decoration:underline}.organise-buttons{gap:6px;flex-wrap:wrap}.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:color-mix(in srgb,var(--term-green) 8%,transparent)}.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 color-mix(in srgb,var(--term-green) 18%,transparent)}.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:color-mix(in srgb,var(--term-green) 10%,transparent);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}body>main:has(.term-load){min-height:100vh}.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 color-mix(in srgb,var(--term-green) 40%,transparent);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)}.builder-fold{padding:10px 14px;box-shadow:none}.builder-fold:after{opacity:.2}.builder-fold>summary h2{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--crt-ink)}.roster-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:24px;padding-top:14px;border-top:1px solid var(--border)}.roster-head h2{margin:0;font-size:22px}.roster-head-count{font-size:12px;color:var(--muted)}.roster-head-count,.roster-section{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.roster-section{display:flex;align-items:center;gap:8px;margin:8px 0 -2px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--role,var(--muted))}.roster-section:before{content:"";width:10px;height:10px;border-radius:2px;background:var(--role,var(--muted))}.roster-group{gap:10px;padding:14px 16px;background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--role,var(--border));border-radius:var(--radius)}@media (max-width:560px){.roster-group{padding:12px}}.roster-group.is-combined{border-color:color-mix(in srgb,var(--role) 35%,var(--border));border-left-color:var(--role)}.roster-group.is-combined,.roster-group.is-combined .unit-card[open]>summary{background:color-mix(in srgb,var(--role) 5%,var(--panel))}.roster-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--role) 30%,var(--border));font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--role)}.roster-group-head .muted{font-weight:400;letter-spacing:.02em;text-transform:none}.roster-group .unit-card.is-attached{margin-left:6px;padding-left:12px;border-left:2px dashed color-mix(in srgb,var(--role) 70%,transparent)}.roster-group.is-combined>.unit-card+.unit-card{padding-top:10px}.role-tag{display:inline-block;padding:1px 6px;border:1px solid color-mix(in srgb,var(--role) 45%,transparent);border-radius:4px;background:color-mix(in srgb,var(--role) 12%,transparent);color:var(--role);font-size:10px;font-weight:700;letter-spacing:.06em;line-height:1.5;text-transform:uppercase;white-space:nowrap;vertical-align:1px}.snap-unit{padding-left:8px;border-left:3px solid var(--role,var(--border))}.snap-unit.is-attached{margin-left:10px;border-left-style:dashed}.snap-group.is-combined{padding:6px 8px;border:1px solid var(--border);border-radius:8px}.snap-group-head{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.crusade-roster{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.crusade-roster-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:4px 0;border-bottom:1px solid var(--border);cursor:pointer}.crusade-roster-row>input[type=checkbox]{flex:none;width:18px;height:18px;margin:0;padding:0;align-self:center}.crusade-roster-row{margin-bottom:0;align-items:center}.crusade-roster-name{flex:1 1 12rem;min-width:0}.crusade-roster-meta{font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.oob-cards{list-style:none;margin:0;padding:0;display:none;flex-direction:column;gap:8px}@media (max-width:899px){.oob-cards{display:flex}.oob-table{display:none}}.oob-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px;min-height:44px;color:var(--text);text-decoration:none;background:var(--field-bg);border:1px solid var(--border);border-radius:10px}.oob-card:focus-visible,.oob-card:hover{border-color:var(--term-green,var(--accent))}.oob-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.oob-card-name{min-width:0;color:var(--term-green,var(--accent))}.oob-rank{flex:none;padding:1px 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--term-dim,var(--border));border-radius:999px;color:var(--text)}.oob-card-sub{font-size:12px;color:var(--muted)}.oob-warn{color:var(--warn)}.oob-xp{display:flex;flex-direction:column;gap:3px}.oob-xp-bar{display:block;height:6px;border-radius:3px;background:var(--border);overflow:hidden}.oob-xp-bar>span{display:block;height:100%;background:var(--term-green,var(--accent))}.oob-xp-label{font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.oob-card-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px}.oob-pips{display:inline-flex;gap:3px}.oob-pips>span{width:9px;height:9px;border-radius:50%;border:1px solid var(--term-dim,var(--border))}.oob-pips.is-honour>span.is-on{background:var(--term-green,var(--accent));border-color:var(--term-green,var(--accent))}.oob-pips.is-scar>span{border-radius:2px}.oob-pips.is-scar>span.is-on{background:var(--danger);border-color:var(--danger)}.oob-points{margin-left:auto;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.crusade-roster-rearm{font-size:12px;padding:6px 4px}.crusade-side{border-left:3px solid var(--border);padding-left:10px;display:flex;flex-direction:column;gap:6px}.crusade-side-title{margin:0;font-size:14px}.crusade-units{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.crusade-unit{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:5px 0;border-bottom:1px solid var(--border);font-size:14px}.crusade-unit-name{flex:1 1 10rem;min-width:0;display:flex;flex-direction:column}.crusade-unit-rank{font-size:11px}.crusade-unit.is-down .crusade-unit-name{color:var(--muted);text-decoration:line-through}.crusade-unit-actions{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.crusade-unit-actions select{max-width:11rem}.crusade-destroy{min-height:34px}.crusade-mark-count{min-width:1.5em;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.crusade-agendas{display:flex;flex-direction:column;gap:6px}.crusade-agenda summary{cursor:pointer;font-size:13px}.crusade-agenda-add{display:flex;align-items:center;gap:6px}.crusade-agenda-add input:first-child,.crusade-agenda-add select,.crusade-agenda-add select+input{flex:1 1 auto;min-width:0}.crusade-agenda-add{flex-wrap:wrap}.crusade-agenda-add input[type=number]{flex:0 0 64px;width:64px}.crusade-kill-log ol{margin:4px 0 0;padding-left:1.4em;font-size:13px}.pb-progress{list-style:none;margin:0;padding:0;display:flex;gap:4px}.pb-progress>li{flex:1 1;height:4px;border-radius:2px;background:var(--border)}.pb-progress>li.is-done{background:var(--term-dim,var(--muted))}.pb-progress>li.is-on{background:var(--term-green,var(--accent))}.pb-step-n{margin:4px 0 0}.pb-choices{grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr))}.pb-dice{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:6px;gap:6px;margin:4px 0 8px}.pb-die{min-height:48px;font-size:20px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);background:var(--field-bg);border:1px solid var(--border);border-radius:8px}.pb-die[aria-pressed=true]{border-color:var(--term-green,var(--accent));color:var(--term-green,var(--accent));background:color-mix(in srgb,var(--term-green,var(--accent)) 14%,var(--field-bg))}.pb-verdict{margin:8px 0 0;font-weight:700}.pb-verdict.is-pass{color:var(--ok)}.pb-verdict.is-fail{color:var(--danger)}.pb-review{list-style:none;margin:0;padding:0}.pb-review>li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:8px 0;border-bottom:1px solid var(--border)}.pb-review>li>span:first-child{flex:0 0 100%;font-size:12px}.pb-review>li>span:nth-child(2){flex:1 1;min-width:0}.pb-review-hurt{color:var(--danger)}.pb-result{display:flex;margin:4px 0 12px}.pb-result>button,.pb-units .seg>button{flex:1 1;min-height:44px}.pb-units{list-style:none;margin:0;padding:0}.pb-units>li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 0;border-bottom:1px solid var(--border)}.pb-units>li>strong{flex:0 0 100%}.pb-stepper{display:inline-flex;align-items:center;gap:6px;font-size:13px}.pb-stepper>button{min-width:44px;min-height:44px;font-size:18px;color:var(--text);background:var(--field-bg);border:1px solid var(--border);border-radius:8px}.pb-stepper>button:disabled{opacity:.4}.pb-stepper>output{min-width:2ch;text-align:center;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.form-actions.pb-nav,.term-box .form-actions.pb-nav{position:-webkit-sticky;position:sticky;bottom:0;z-index:2;background:var(--bg)}.pb-nav .term-go:disabled{opacity:.45;cursor:not-allowed}.crusade-stat{padding:2px 8px;border:1px solid;border-radius:4px;background:color-mix(in srgb,currentColor 8%,transparent)}.crusade-stat-k{opacity:.7;font-size:.85em}.crusade-stat.is-supply{color:hsl(190 80% 62%)}.crusade-stat.is-rp{color:hsl(45 90% 62%)}.crusade-stat.is-battles{color:hsl(265 85% 75%)}.crusade-stat.is-units{color:var(--term-green)}.crusade-stat.is-alert{color:hsl(0 85% 66%);text-shadow:0 0 8px hsl(0 85% 66%/.35)}.crusade-rules-peek{margin:6px 0;font-size:13px}.crusade-rules-peek>summary{cursor:pointer;color:var(--muted,#8a9)}.crusade-mechanic{margin-bottom:12px}.crusade-badges{list-style:none;padding:0;margin:0 0 8px}.crusade-badges>li{border-left:2px solid var(--term-dim);padding:4px 0 4px 10px;margin-bottom:8px}.crusade-badges>li.is-earned{border-left-color:hsl(45 90% 62%)}.crusade-badges>li.is-earned strong{color:hsl(45 90% 62%)}.crusade-badges .term-note{margin:4px 0 0;padding-left:1.2em}:root{--spectate:hsl(268 75% 72%)}.spectator-banner{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:16px;padding:10px 14px;border:1px solid var(--spectate);border-left-width:4px;border-radius:8px;background:hsl(268 60% 50%/.12);color:var(--spectate);font-size:14px}.spectator-banner strong{text-transform:uppercase;letter-spacing:.08em}.spectator-sub{color:var(--muted);font-size:13px}.spectator-dot{width:8px;height:8px;border-radius:50%;background:var(--spectate);flex:none}.spectator .tracker-root{margin-top:14px!important}.spectator .tracker-bar{box-shadow:inset 0 0 0 1px var(--spectate)}.spectator .tracker-bar:before{content:"SPECTATING · READ ONLY";align-self:flex-start;font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--spectate)}.spectator :is(button,input,select,textarea,label,[role=button],[role=switch]):not(:is(.tracker-tabbar *,.tracker-focus,summary,summary *,[data-spectator-ok],[data-spectator-ok] *)){opacity:.45;cursor:not-allowed!important}@media (max-width:899px){.spectator .tracker-tabbar{border-top-color:var(--spectate)}.spectator .tracker-tabbar:before{content:"SPECTATING · READ ONLY";position:absolute;left:0;right:0;bottom:100%;padding:3px 0;text-align:center;font-size:10px;font-weight:700;letter-spacing:.1em;color:#0f1115;background:var(--spectate)}}.live-filters{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;padding:8px 10px 10px;border:1px dashed var(--term-dim);border-radius:4px}.live-filters-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--term-soft)}.live-filters-head .link-btn{font-size:12px;letter-spacing:normal;text-transform:none}.live-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.live-filter-label{min-width:56px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--term-soft)}@media (max-width:600px){.live-filter-label{flex-basis:100%}.live-filter-row+.live-filter-row{margin-top:4px}}.live-chip{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 7px;min-height:32px;border-radius:4px;border:1px solid var(--term-dim);background:none;color:var(--term-soft);font-size:12px;cursor:pointer}.live-chip:hover{border-color:var(--term-soft)}.live-chip-box{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:none;border:1px solid;border-radius:2px;font-size:11px;line-height:1;font-weight:700}.live-chip-count{font-size:11px;color:var(--term-dim)}.live-chip[aria-pressed=false]{text-decoration:line-through}.live-chip[aria-pressed=true]{border-color:var(--term-green);color:var(--term-green);background:color-mix(in srgb,var(--term-green) 10%,transparent)}.live-chip[aria-pressed=true] .live-chip-box{background:var(--term-green);border-color:var(--term-green);color:#05080a}.live-chip[aria-pressed=true] .live-chip-count{color:var(--term-soft)}.live-games{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.live-game{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px dashed color-mix(in srgb,var(--term-dim) 45%,transparent)}.live-game-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px}.live-game-head{display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}.live-game-forces{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.live-game-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;font-size:12px;color:var(--term-dim)}.live-game-meta .link-btn{font-size:12px}.live-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--term-green)}.live-dot.is-setup{background:none;border:1px solid var(--term-dim)}.live-watch{flex:none}.pmap{flex-direction:column;min-width:0}.pmap,.pmap-head{display:flex;gap:8px}.pmap-head{align-items:center;justify-content:space-between;min-height:36px;font-size:13px}.pmap-hint,.pmap-title{color:var(--muted)}.pmap-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pmap-back{min-height:36px;padding:4px 12px}.pmap-svg{display:block;width:100%;aspect-ratio:1;border:1px solid var(--term-dim,var(--border));border-radius:8px;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pmap-svg.is-locked{cursor:default}.pmap-sector-label{letter-spacing:.08em;text-transform:uppercase;stroke:#05080a;stroke-width:.35em;stroke-linejoin:round}.pmap-planet-label,.pmap-sector-label{text-anchor:middle;pointer-events:none;paint-order:stroke}.pmap-planet-label{fill:#c4cbd9;stroke:#05080a;stroke-width:.3em}.pmap-key{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--muted)}.pmap-key>span{display:inline-flex;align-items:center;gap:6px}.pmap-key i{display:inline-block;width:12px;height:12px;border-radius:50%}.pmap-key-fill{background:conic-gradient(#5b8cff 0 33%,#9be15d 0 66%,#b061e6 0)}.pmap-key-contested{border:1.5px dashed hsl(38 90% 60%)}.pmap-key-armed{border:2px solid var(--text)}.pmap-chips{display:flex;flex-wrap:wrap;gap:6px}.pmap-chips.is-row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}.pmap-chips.is-row::-webkit-scrollbar{display:none}.pmap-chips.is-row>.pmap-chip{flex:0 0 auto}.pmap-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 12px;border-radius:999px;font-size:13px;max-width:100%}.pmap-chip[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;color:var(--text)}.pmap-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pmap-tag{font-size:11px;padding:1px 6px;border-radius:999px;border:1px solid;white-space:nowrap}.pmap-tag.is-contested{color:hsl(38 90% 60%)}.pmap-tag.is-armed{color:color-mix(in srgb,var(--armed) 75%,#fff)}.pmap-readout{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;font-size:13px}.pmap-readout-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;font-size:14px}.pmap-line{margin:0}.pmap-line.is-contested{color:hsl(38 90% 60%)}.pmap-line.is-armed{color:color-mix(in srgb,var(--armed) 70%,#fff)}.pmap-influence{display:flex;flex-direction:column;gap:4px;margin-top:4px}.pmap-influence-row{display:grid;grid-template-columns:minmax(0,9em) 1fr auto;align-items:center;grid-gap:8px;gap:8px}.pmap-influence-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pmap-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.game-invites{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.game-invite{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 14px;border:1px solid color-mix(in srgb,#d4a24c 55%,var(--border));border-left:4px solid #d4a24c;border-radius:10px;background:color-mix(in srgb,#d4a24c 9%,var(--panel))}.game-invite-text{flex:1 1 260px;margin:0;font-size:14px;line-height:1.45}.game-invite-actions{display:flex;gap:8px}.game-invite-actions>button{min-height:44px;min-width:96px}@media (max-width:599px){.game-invite-actions{width:100%}.game-invite-actions>button{flex:1 1}}.player-hits{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.player-hit{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;text-align:left}.galaxy-under{gap:8px;padding:10px 2px 0;min-width:0}.pmap-chip.btn{text-decoration:none}.galaxy-more{margin-top:6px}.galaxy-more>summary{cursor:pointer;min-height:36px;display:flex;align-items:center;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--term-soft,var(--muted))}.galaxy-live-ping{animation:galaxy-live-ping 2.2s ease-out infinite;transform-box:fill-box;transform-origin:center}@keyframes galaxy-live-ping{0%{transform:scale(1);opacity:.85}to{transform:scale(2.1);opacity:0}}@media (prefers-reduced-motion:reduce){.galaxy-live-ping{animation:none;opacity:0}}.amb-layer{animation:amb-fade 1.6s ease-out}@keyframes amb-fade{0%{opacity:0}}.amb-engine{animation:amb-glow 2.6s steps(4,jump-none) infinite}.amb-beacon{animation:amb-glow 3.4s steps(5,jump-none) infinite}@keyframes amb-glow{0%,to{opacity:1}50%{opacity:.35}}.amb-bolt{opacity:0;animation:amb-bolt 7s linear var(--delay) infinite}@keyframes amb-bolt{0%{opacity:0}3%{opacity:.95}14%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.amb-beacon,.amb-bolt,.amb-engine,.amb-layer{animation:none}.amb-bolt{opacity:.3}}.pmap-key-live{border:2px solid #6ee787;box-shadow:0 0 0 3px rgba(110,231,135,.25)}.pmap-tag.is-live{display:inline-flex;align-items:center;gap:4px;color:#6ee787}.pmap-tag.is-live .live-dot{width:6px;height:6px;background:#6ee787}.term-label.is-live{color:#6ee787}.galaxy-live-list{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-direction:column;gap:6px}.galaxy-live-list>li{display:flex;align-items:center;gap:8px}.galaxy-live-info{flex:1 1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px}.galaxy-live-names{overflow-wrap:anywhere}.term-stat{display:inline-flex;align-items:center;gap:6px}.term-mark{display:inline-block;width:11px;height:11px;border-radius:50%;flex:0 0 auto}.term-hotspots{margin-top:4px;padding-top:8px;border-top:1px dashed color-mix(in srgb,var(--term-dim) 70%,transparent);min-width:0}.term-hotspots>.term-label{margin:0}.term-hotspots .pmap-chip{min-height:36px;padding:4px 10px;font-size:12px;letter-spacing:.04em;color:var(--term-green);background:rgba(5,8,10,.6);border:1px solid var(--term-dim)}.term-hotspots .pmap-chip:hover,.term-hotspots .pmap-chip[aria-pressed=true]{border-color:var(--term-green);box-shadow:0 0 0 1px var(--term-green) inset}.galaxy-wanted-btn{width:auto;padding:0 9px;font-size:11px;letter-spacing:.14em;color:var(--term-green)}.galaxy-wanted-btn[aria-pressed=true]{border-color:var(--term-green);box-shadow:0 0 10px color-mix(in srgb,var(--term-green) 35%,transparent)}.galaxy-wanted{position:absolute;z-index:4;left:10px;top:52px;width:clamp(240px,28%,330px);max-height:calc(100% - 62px);display:flex;pointer-events:none}.galaxy-wanted>.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 color-mix(in srgb,var(--term-green) 6%,transparent)}.galaxy-wanted .term-body{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.term-box-clear .galaxy-wanted .term-body{padding:4px 12px 10px}@media (max-width:899px){.galaxy-tools{right:12px;flex-wrap:wrap}.galaxy-wanted-btn{padding:0 7px;letter-spacing:.06em}.galaxy-wanted{top:auto;bottom:10px;left:10px;right:10px;width:auto;max-height:64%}.galaxy-preview .galaxy-wanted{display:none}}.wanted-poster{display:flex;flex-direction:column;gap:4px;margin:6px 0 2px;padding:10px 12px 12px;text-decoration:none;color:var(--term-green);border:1px solid color-mix(in srgb,var(--wanted) 70%,var(--term-dim));border-radius:4px;background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--wanted) 7%,transparent) 0 6px,transparent 6px 12px),rgba(5,8,10,.5);box-shadow:inset 0 0 24px color-mix(in srgb,var(--wanted) 18%,transparent)}.wanted-poster:focus-visible,.wanted-poster:hover{border-color:var(--wanted);outline:none;box-shadow:inset 0 0 24px color-mix(in srgb,var(--wanted) 28%,transparent),0 0 0 1px var(--wanted)}.wanted-stamp{align-self:flex-start;padding:1px 6px;font-size:10px;letter-spacing:.22em;color:hsl(38 90% 65%);border:1px solid hsl(38 90% 65%/.7);border-radius:2px;text-shadow:0 0 8px hsl(38 90% 65%/.35)}.wanted-name{display:block;min-width:0;font-size:17px;line-height:1.25;letter-spacing:.06em;color:#e6f7ff;text-shadow:0 0 10px color-mix(in srgb,var(--term-green) 45%,transparent)}.wanted-name .term-text{white-space:normal}.wanted-meta{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;font-size:12px;color:var(--term-soft)}.wanted-tally{display:flex;align-items:baseline;gap:8px;margin-top:4px;font-size:11px;letter-spacing:.12em}.wanted-wins{font-size:28px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:hsl(38 90% 65%);text-shadow:0 0 12px hsl(38 90% 65%/.4)}.wanted-record{color:var(--term-soft)}.wanted-cta{margin-top:6px;font-size:11px;letter-spacing:.16em}.wanted-poster:hover .wanted-cta{text-decoration:underline}.wanted-list{list-style:none;margin:0;padding:0}.wanted-list .term-row{min-height:36px;text-decoration:none;color:var(--term-green)}.wanted-rank{width:1.2em;color:var(--term-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wanted-row-name{display:flex;flex-direction:column;flex:1 1;min-width:0}.wanted-row-cmdr{font-size:11px;color:var(--term-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dossier-head .wanted-stamp{display:inline-block;margin:4px 0 2px}.term-entry.dossier-entry{flex-direction:row;align-items:center;gap:10px;padding:4px 6px}.dossier-result{flex:0 0 4.5em;font-size:11px;letter-spacing:.14em;color:var(--term-soft)}.dossier-result.is-win{color:hsl(38 90% 65%)}.dossier-result.is-loss{color:var(--term-dim)}.dossier-line{display:flex;flex-direction:column;flex:1 1;min-width:0}.dossier-entry .term-report{padding-left:0;align-self:center}