:root{--bg:#0f1114;--surface:#171a1f;--surface-muted:#111419;--border:#272c34;--border-strong:#3a404b;--text:#f3f4f6;--muted:#9aa2ad;--muted-soft:#6f7783;--error-bg:#2b1b1e;--error-border:#5c2a33;--error-text:#f0b4be;--mono:"SFMono-Regular", "IBM Plex Mono", "Cascadia Code", Consolas, monospace;color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Avenir Next,Segoe UI Variable Text,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{min-height:100%}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0}button,textarea,code,pre{font:inherit}code,pre{font-family:var(--mono)}a{color:inherit}h1,h2,h3,p{margin:0}#root{min-height:100svh}.app-shell{min-height:100svh;padding:20px}.page{gap:16px;width:min(1120px,100%);margin:0 auto;display:grid}.surface-card{border:1px solid var(--border);background:var(--surface);border-radius:16px}.search-panel,.army-section,.info-card{padding:14px}.search-panel,.army-section{align-content:start;gap:12px;display:grid}.panel-header,.section-header,.unit-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.panel-heading{gap:4px;display:grid}.panel-heading h1{font-size:1.1rem;font-weight:650}.unit-group,.field-label,.section-header span,.empty-state{color:var(--muted)}.field-label{font-size:.86rem}.meta-list,.button-row{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.button-row{justify-content:flex-end}.meta-chip,.count-pill{border:1px solid var(--border);background:var(--surface-muted);color:var(--muted);border-radius:999px;align-items:center;padding:5px 10px;font-size:.86rem;display:inline-flex}.army-input{border:1px solid var(--border-strong);background:var(--surface-muted);width:100%;color:var(--text);font-family:var(--mono);resize:vertical;border-radius:12px;min-height:96px;padding:12px 14px}.army-input:focus{border-color:var(--text);outline:0}.primary-button,.secondary-button{cursor:pointer;border-radius:12px;min-height:40px;padding:0 14px;font-weight:600}.secondary-button{border:1px solid var(--border-strong);background:var(--surface-muted);color:var(--text)}.secondary-button:disabled{cursor:not-allowed;opacity:.55}.status-message{border:1px solid var(--error-border);background:var(--error-bg);color:var(--error-text);border-radius:12px;margin:0;padding:12px 14px}.message-list{margin:0;padding-left:18px}.results-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-content:start;gap:16px;display:grid}.hero-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.hero-card{align-content:start}.hero-loadout-grid{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.hero-loadout-grid>.hero-slot:first-child{grid-column:1/-1}.hero-slot{gap:4px;display:grid}.hero-slot-label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.72rem}.hero-slot-value{border:1px solid var(--border);background:var(--surface);min-height:38px;color:var(--text);border-radius:10px;align-items:center;padding:7px 10px;font-size:.82rem;line-height:1.25;display:flex}.hero-slot-value-empty{color:var(--muted)}.hero-slot-value-warning{border-color:var(--error-border);background:var(--error-bg);color:var(--error-text)}.section-heading h2{font-size:.95rem;font-weight:600}.section-header span{font-size:.88rem}.castle-groups{align-content:start;gap:12px;display:grid}.castle-group{gap:8px;display:grid}.castle-group-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.78rem}.unit-grid{align-content:start;gap:10px;display:grid}.unit-card{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:12px;display:grid}.unit-icon{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--muted);font-family:var(--mono);text-transform:uppercase;border-radius:10px;place-items:center;font-size:.82rem;display:grid}.unit-icon-spell{color:#9cc9ff}.unit-icon-troop{color:#bfe28e}.unit-icon-siege{color:#d7b27a}.unit-icon-hero{color:#f2c14e}.unit-body{gap:6px;min-width:0;display:grid}.unit-copy{gap:2px;min-width:0;display:grid}.unit-name{color:var(--text);font-size:.94rem;line-height:1.25}.unit-subline{flex-wrap:wrap;align-items:center;gap:2px 8px;min-width:0;display:flex}.unit-count-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.unit-group{margin:0;font-size:.82rem}.unit-meta-inline{color:var(--muted-soft);font-size:.78rem;line-height:1.3}.unit-space-inline{align-items:center;gap:.25rem;display:inline-flex}.unit-space-icon{fill:none;stroke:currentColor;stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round;width:.8rem;height:.8rem;transform:translateY(.04rem)}.unit-space-icon-troop{color:#bfe28e}.unit-space-icon-spell{color:#9cc9ff}.unit-space-icon-siege{color:#d7b27a}.summary-chip,.summary-space-inline,.summary-list{align-items:center;display:inline-flex}.summary-chip{gap:.38rem}.summary-space-inline{gap:.22rem}.summary-list{flex-wrap:wrap;gap:.28rem}.unit-meta-inline-warning{color:var(--error-text)}@media (width<=720px){.app-shell{padding:14px}.panel-header,.section-header,.unit-title-row,.results-grid{grid-template-columns:1fr;display:grid}.unit-count-row{justify-content:flex-start}}
