:root{--color-bg-primary: #0a0a0f;--color-bg-secondary: #12121a;--color-bg-tertiary: #1a1a26;--color-bg-card: #15151f;--color-bg-hover: #1e1e2c;--color-border: #2a2a3a;--color-border-light: #3a3a4a;--color-text-primary: #e8e6e3;--color-text-secondary: #9a9aaa;--color-text-muted: #6a6a7a;--color-gold: #c9a84c;--color-gold-dim: #a08030;--color-gold-bright: #e0c060;--color-red: #c04040;--color-red-bright: #e05050;--color-green: #40a040;--color-green-bright: #50c050;--color-blue: #4080c0;--color-blue-bright: #8bc4ff;--color-purple-bright: #c4a0ff;--color-red-ui: #ef4444;--gold-rgb: 201, 168, 76;--red-rgb: 192, 64, 64;--green-rgb: 64, 160, 64;--blue-rgb: 64, 128, 192;--purple-rgb: 144, 96, 208;--focus-ring: 0 0 0 2px rgba(var(--gold-rgb), .4);--color-role-battleline: #50c050;--color-role-character: #c9a84c;--color-role-vehicle: #c04040;--color-role-infantry: #e8e6e3;--color-role-epic-hero: #9060d0;--glass-bg: rgba(18, 18, 26, .6);--glass-bg-heavy: rgba(18, 18, 26, .8);--glass-bg-light: rgba(26, 26, 38, .4);--glass-border: rgba(255, 255, 255, .06);--glass-border-hover: rgba(255, 255, 255, .1);--glass-border-active: rgba(var(--gold-rgb), .3);--glass-blur: 16px;--glass-blur-heavy: 24px;--glass-blur-light: 8px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .15);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .4), 0 6px 10px rgba(0, 0, 0, .25);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .5), 0 10px 20px rgba(0, 0, 0, .3);--shadow-glow-gold: 0 0 20px rgba(var(--gold-rgb), .15), 0 0 40px rgba(var(--gold-rgb), .05);--shadow-glow-red: 0 0 20px rgba(var(--red-rgb), .2);--shadow-glow-green: 0 0 20px rgba(var(--green-rgb), .15);--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .03);--gradient-card: linear-gradient(135deg, rgba(21, 21, 31, .8) 0%, rgba(15, 15, 23, .9) 100%);--gradient-card-hover: linear-gradient(135deg, rgba(26, 26, 38, .85) 0%, rgba(18, 18, 28, .95) 100%);--gradient-header: linear-gradient(180deg, rgba(18, 18, 26, .95) 0%, rgba(12, 12, 18, .9) 100%);--gradient-sidebar: linear-gradient(180deg, rgba(14, 14, 22, .95) 0%, rgba(10, 10, 16, .98) 100%);--gradient-gold: linear-gradient(135deg, #c9a84c 0%, #a08030 100%);--gradient-gold-subtle: linear-gradient(135deg, rgba(var(--gold-rgb), .15) 0%, rgba(var(--gold-rgb), .05) 100%);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--text-xs: .694rem;--text-sm: .833rem;--text-base: 1rem;--text-md: 1.2rem;--text-lg: 1.44rem;--text-xl: 1.728rem;--text-2xl: 2.074rem;--z-base: 1;--z-dropdown: 10;--z-sticky: 20;--z-sidebar: 30;--z-modal-backdrop: 90;--z-modal: 100;--color-rank-battle-ready: var(--color-text-secondary);--color-rank-blooded: var(--color-green);--color-rank-battle-hardened: var(--color-blue);--color-rank-heroic: var(--color-purple-bright);--color-rank-legendary: var(--color-gold);--color-honour: var(--color-blue-bright);--color-scar: var(--color-red-bright);--font-display: "Orbitron", sans-serif;--font-body: "Inter", system-ui, sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.5;min-height:100vh;font-size:var(--text-base);background-image:radial-gradient(ellipse at 20% 50%,rgba(var(--gold-rgb),.03) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(var(--purple-rgb),.02) 0%,transparent 50%);background-attachment:fixed}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-gold);text-decoration:none}a:hover{color:var(--color-gold-bright)}button{font-family:var(--font-body);cursor:pointer}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;letter-spacing:.05em;text-transform:uppercase;line-height:1.2}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-md)}input,select,textarea{font-family:var(--font-body)}[data-theme=crimson-forge]{--color-bg-primary: #0f0a0a;--color-bg-secondary: #1a1214;--color-bg-tertiary: #261a1c;--color-bg-card: #1f1316;--color-bg-hover: #2c1e20;--color-border: #3a2a2c;--color-border-light: #4a3a3c;--color-gold: #c94c4c;--color-gold-dim: #a03030;--color-gold-bright: #e06060;--gold-rgb: 201, 76, 76;--focus-ring: 0 0 0 2px rgba(var(--gold-rgb), .4);--glass-bg: rgba(26, 18, 20, .6);--glass-bg-heavy: rgba(26, 18, 20, .8);--glass-bg-light: rgba(38, 26, 28, .4);--glass-border-active: rgba(var(--gold-rgb), .3);--shadow-glow-gold: 0 0 20px rgba(var(--gold-rgb), .15), 0 0 40px rgba(var(--gold-rgb), .05);--gradient-card: linear-gradient(135deg, rgba(31, 19, 22, .8) 0%, rgba(23, 15, 17, .9) 100%);--gradient-card-hover: linear-gradient(135deg, rgba(38, 26, 28, .85) 0%, rgba(28, 18, 20, .95) 100%);--gradient-header: linear-gradient(180deg, rgba(26, 18, 20, .95) 0%, rgba(18, 12, 14, .9) 100%);--gradient-sidebar: linear-gradient(180deg, rgba(22, 14, 16, .95) 0%, rgba(16, 10, 12, .98) 100%);--gradient-gold: linear-gradient(135deg, #c94c4c 0%, #a03030 100%);--gradient-gold-subtle: linear-gradient(135deg, rgba(var(--gold-rgb), .15) 0%, rgba(var(--gold-rgb), .05) 100%)}[data-theme=warpstorm]{--color-bg-primary: #0a0a14;--color-bg-secondary: #12121e;--color-bg-tertiary: #1a1a2e;--color-bg-card: #151524;--color-bg-hover: #1e1e34;--color-border: #2a2a44;--color-border-light: #3a3a54;--color-gold: #4cb8b8;--color-gold-dim: #308888;--color-gold-bright: #60d8d8;--gold-rgb: 76, 184, 184;--focus-ring: 0 0 0 2px rgba(var(--gold-rgb), .4);--glass-bg: rgba(18, 18, 30, .6);--glass-bg-heavy: rgba(18, 18, 30, .8);--glass-bg-light: rgba(26, 26, 46, .4);--glass-border-active: rgba(var(--gold-rgb), .3);--shadow-glow-gold: 0 0 20px rgba(var(--gold-rgb), .15), 0 0 40px rgba(var(--gold-rgb), .05);--gradient-card: linear-gradient(135deg, rgba(21, 21, 36, .8) 0%, rgba(15, 15, 28, .9) 100%);--gradient-card-hover: linear-gradient(135deg, rgba(26, 26, 46, .85) 0%, rgba(18, 18, 34, .95) 100%);--gradient-header: linear-gradient(180deg, rgba(18, 18, 30, .95) 0%, rgba(12, 12, 22, .9) 100%);--gradient-sidebar: linear-gradient(180deg, rgba(14, 14, 26, .95) 0%, rgba(10, 10, 20, .98) 100%);--gradient-gold: linear-gradient(135deg, #4cb8b8 0%, #308888 100%);--gradient-gold-subtle: linear-gradient(135deg, rgba(var(--gold-rgb), .15) 0%, rgba(var(--gold-rgb), .05) 100%)}[data-theme=iron-citadel]{--color-bg-primary: #0c0c10;--color-bg-secondary: #14141a;--color-bg-tertiary: #1c1c24;--color-bg-card: #171720;--color-bg-hover: #22222c;--color-border: #32323e;--color-border-light: #42424e;--color-gold: #6090b8;--color-gold-dim: #486888;--color-gold-bright: #80b0d8;--gold-rgb: 96, 144, 184;--focus-ring: 0 0 0 2px rgba(var(--gold-rgb), .4);--glass-bg: rgba(20, 20, 26, .6);--glass-bg-heavy: rgba(20, 20, 26, .8);--glass-bg-light: rgba(28, 28, 36, .4);--glass-border-active: rgba(var(--gold-rgb), .3);--shadow-glow-gold: 0 0 20px rgba(var(--gold-rgb), .15), 0 0 40px rgba(var(--gold-rgb), .05);--gradient-card: linear-gradient(135deg, rgba(23, 23, 32, .8) 0%, rgba(17, 17, 24, .9) 100%);--gradient-card-hover: linear-gradient(135deg, rgba(28, 28, 36, .85) 0%, rgba(20, 20, 28, .95) 100%);--gradient-header: linear-gradient(180deg, rgba(20, 20, 26, .95) 0%, rgba(14, 14, 18, .9) 100%);--gradient-sidebar: linear-gradient(180deg, rgba(16, 16, 22, .95) 0%, rgba(12, 12, 16, .98) 100%);--gradient-gold: linear-gradient(135deg, #6090b8 0%, #486888 100%);--gradient-gold-subtle: linear-gradient(135deg, rgba(var(--gold-rgb), .15) 0%, rgba(var(--gold-rgb), .05) 100%)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 8px rgba(var(--gold-rgb),.2)}50%{box-shadow:0 0 16px rgba(var(--gold-rgb),.4)}}@keyframes bar-fill{0%{width:0}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-bg-hover) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.skeleton--text{height:1em;width:60%;margin-bottom:var(--space-sm)}.skeleton--card{height:120px;width:100%}.skeleton--bar{height:10px;width:100%;border-radius:var(--radius-full)}.skeleton--header{height:2em;width:40%;margin-bottom:var(--space-md)}.skeleton-list{display:flex;flex-direction:column;gap:var(--space-md)}.skeleton-row{display:flex;gap:var(--space-md);align-items:center}.skeleton-row__main{flex:1}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-md),var(--shadow-inset)}.glass--heavy{background:var(--glass-bg-heavy);backdrop-filter:blur(var(--glass-blur-heavy));-webkit-backdrop-filter:blur(var(--glass-blur-heavy))}.glass--light{background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-light));-webkit-backdrop-filter:blur(var(--glass-blur-light))}.glass--interactive{transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal),background var(--transition-normal)}.glass--interactive:hover{border-color:var(--glass-border-hover);box-shadow:var(--shadow-lg),var(--shadow-inset);transform:translateY(-1px)}.glass--interactive:active{transform:translateY(0);box-shadow:var(--shadow-sm),var(--shadow-inset)}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-header{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);background:var(--gradient-header);backdrop-filter:blur(var(--glass-blur-heavy));-webkit-backdrop-filter:blur(var(--glass-blur-heavy));border-bottom:1px solid var(--glass-border);box-shadow:var(--shadow-lg)}.app-header__title{font-family:var(--font-display);font-size:var(--text-md);font-weight:900;color:var(--color-gold);letter-spacing:.1em;text-shadow:0 0 30px rgba(var(--gold-rgb),.2)}.app-header__nav{display:flex;gap:var(--space-xs)}.app-header__link{position:relative;font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);transition:color var(--transition-normal),background-color var(--transition-normal)}.app-header__link:hover{color:var(--color-text-primary);background-color:#ffffff0a}.app-header__link--active{color:var(--color-gold);background-color:rgba(var(--gold-rgb),.08)}.app-header__link--active:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:24px;height:2px;background:var(--color-gold);border-radius:var(--radius-full);box-shadow:0 0 8px rgba(var(--gold-rgb),.4)}.app-main{flex:1;padding:var(--space-xl) var(--space-lg);max-width:1280px;width:100%;margin:0 auto;animation:fadeInUp .4s ease}.app-main:has(.list-editor){max-width:100%;padding:0 var(--space-md);overflow:hidden}.card{position:relative;background:var(--gradient-card);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-md),var(--shadow-inset);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal)}.card:hover{border-color:var(--glass-border-hover);box-shadow:var(--shadow-lg),var(--shadow-inset)}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:10px 18px;font-size:var(--text-sm);font-weight:600;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-light));-webkit-backdrop-filter:blur(var(--glass-blur-light));color:var(--color-text-primary);transition:all var(--transition-normal);box-shadow:var(--shadow-sm);cursor:pointer}.btn:hover{background:var(--glass-bg-light);border-color:var(--glass-border-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn--primary{background:var(--gradient-gold);border-color:var(--color-gold);color:#0a0a0f;font-weight:700;box-shadow:var(--shadow-sm),var(--shadow-glow-gold)}.btn--primary:hover{box-shadow:var(--shadow-md),0 0 30px rgba(var(--gold-rgb),.25);transform:translateY(-1px)}.btn--danger{border-color:rgba(var(--red-rgb),.3);color:var(--color-red-bright);background:rgba(var(--red-rgb),.08)}.btn--danger:hover{background:rgba(var(--red-rgb),.2);border-color:var(--color-red);box-shadow:var(--shadow-sm),var(--shadow-glow-red)}.btn:disabled,.btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none;transform:none;box-shadow:none}.stat-line{display:flex;gap:3px;font-size:var(--text-sm);font-weight:600;font-family:var(--font-body)}.stat-line__item{display:flex;flex-direction:column;align-items:center;background:#0a0a0f80;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:6px 10px;min-width:44px;transition:border-color var(--transition-fast)}.stat-line__item:hover{border-color:var(--glass-border-hover)}.stat-line__label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}.stat-line__value{color:var(--color-text-primary);font-variant-numeric:tabular-nums}.points-bar-container{display:flex;flex-direction:column;gap:var(--space-xs)}.points-bar-labels{display:flex;justify-content:space-between;font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.points-bar{position:relative;width:100%;height:10px;background:#0a0a0f99;border:1px solid var(--glass-border);border-radius:var(--radius-full);overflow:hidden}.points-bar__fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,#40a040,#50c050);transition:width var(--transition-slow),background var(--transition-normal);box-shadow:0 0 12px rgba(var(--green-rgb),.3);animation:bar-fill .6s ease-out}.points-bar__fill--warning{background:linear-gradient(90deg,#c9a84c,#e0c060);box-shadow:0 0 12px rgba(var(--gold-rgb),.3)}.points-bar__fill--over{background:linear-gradient(90deg,#c04040,#e05050);box-shadow:0 0 16px rgba(var(--red-rgb),.4);animation:bar-fill .6s ease-out,glow-pulse 2s ease-in-out infinite}.role-badge{display:inline-flex;align-items:center;padding:3px 10px;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-full);border:1px solid;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.role-badge--battleline{color:var(--color-role-battleline);border-color:#50c0504d;background:#50c05014}.role-badge--character{color:var(--color-role-character);border-color:rgba(var(--gold-rgb),.3);background:rgba(var(--gold-rgb),.08)}.role-badge--epic_hero{color:var(--color-role-epic-hero);border-color:rgba(var(--purple-rgb),.3);background:rgba(var(--purple-rgb),.08)}.role-badge--vehicle,.role-badge--monster{color:var(--color-role-vehicle);border-color:rgba(var(--red-rgb),.3);background:rgba(var(--red-rgb),.08)}.role-badge--infantry{color:var(--color-role-infantry);border-color:#e8e6e333;background:#e8e6e30d}.role-badge--mounted,.role-badge--beast{color:var(--color-text-primary);border-color:#e8e6e333;background:#e8e6e30d}.role-badge--dedicated_transport,.role-badge--fortification{color:var(--color-text-secondary);border-color:#9a9aaa40;background:#9a9aaa0f}.role-badge--allied{color:var(--color-blue);border-color:rgba(var(--blue-rgb),.3);background:rgba(var(--blue-rgb),.08)}.ability-tag{display:inline-block;padding:3px 8px;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);border:1px solid;cursor:help;transition:border-color var(--transition-fast),background var(--transition-fast)}.ability-tag--core{color:var(--color-blue);border-color:rgba(var(--blue-rgb),.3);background:rgba(var(--blue-rgb),.08)}.ability-tag--core:hover{background:rgba(var(--blue-rgb),.15)}.ability-tag--faction{color:var(--color-gold);border-color:rgba(var(--gold-rgb),.3);background:rgba(var(--gold-rgb),.08)}.ability-tag--faction:hover{background:rgba(var(--gold-rgb),.15)}.ability-tag--unique{color:var(--color-text-primary);border-color:#ffffff1a;background:#ffffff0a}.ability-tag--unique:hover{background:#ffffff14}.ability-tag--invuln{color:var(--color-role-epic-hero);border-color:rgba(var(--purple-rgb),.3);background:rgba(var(--purple-rgb),.08)}.ability-tag--invuln:hover{background:rgba(var(--purple-rgb),.15)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em}.form-input,.form-select{padding:10px var(--space-md);background:#0a0a0f99;backdrop-filter:blur(var(--glass-blur-light));-webkit-backdrop-filter:blur(var(--glass-blur-light));border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px rgba(var(--gold-rgb),.1),var(--shadow-glow-gold)}*:focus{outline:none}*:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px;box-shadow:var(--focus-ring)}.form-input:focus-visible,.form-select:focus-visible{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px rgba(var(--gold-rgb),.1),var(--shadow-glow-gold)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);color:var(--color-text-muted);text-align:center;animation:fadeInUp .4s ease}.empty-state__icon{font-size:3rem;margin-bottom:var(--space-md);opacity:.5}.empty-state__title{font-size:var(--text-md);margin-bottom:var(--space-sm);color:var(--color-text-secondary)}.empty-state__description{font-size:var(--text-sm);color:var(--color-text-muted);max-width:320px;line-height:1.5}.empty-state__action{margin-top:var(--space-lg)}.roster__empty-state{margin:var(--space-md)}.validation-banner{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;backdrop-filter:blur(var(--glass-blur-light));-webkit-backdrop-filter:blur(var(--glass-blur-light));animation:fadeInUp .3s ease}.validation-banner--error{background:rgba(var(--red-rgb),.12);border:1px solid rgba(var(--red-rgb),.3);color:var(--color-red-bright);box-shadow:var(--shadow-glow-red)}.validation-banner--warning{background:rgba(var(--gold-rgb),.12);border:1px solid rgba(var(--gold-rgb),.3);color:var(--color-gold-bright);box-shadow:var(--shadow-glow-gold)}.datasheet{padding:var(--space-md)}.datasheet--compact{padding:var(--space-sm) var(--space-md)}.datasheet__stats-row{display:flex;align-items:flex-start;gap:var(--space-md)}.datasheet__section{padding:var(--space-sm) 0;border-top:1px solid rgba(255,255,255,.04)}.datasheet__section:first-child{border-top:none;padding-top:0}.datasheet__section-label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-gold-dim);margin-bottom:var(--space-xs)}.datasheet__invuln-shield{display:flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:52px;background:linear-gradient(135deg,rgba(var(--gold-rgb),.15),rgba(var(--gold-rgb),.05));border:2px solid rgba(var(--gold-rgb),.4);border-radius:50%/30% 30% 70% 70%;flex-shrink:0;cursor:default}.datasheet__invuln-value{font-family:var(--font-display);font-size:var(--text-lg);font-weight:900;color:var(--color-gold);line-height:1}.datasheet__invuln-label{font-size:8px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-gold-dim);line-height:1}.datasheet__core-abilities{display:flex;flex-wrap:wrap;gap:4px}.datasheet__core-chip{font-size:var(--text-xs);padding:2px 8px;border-radius:var(--radius-full);font-weight:600}.datasheet__core-chip--core{background:#64b4ff1f;border:1px solid rgba(100,180,255,.25);color:var(--color-blue-bright)}.datasheet__core-chip--faction{background:rgba(var(--gold-rgb),.1);border:1px solid rgba(var(--gold-rgb),.25);color:var(--color-gold)}.datasheet__ability-list{display:flex;flex-direction:column;gap:var(--space-xs)}.datasheet__ability-item{font-size:var(--text-sm);background:#ffffff05;border-radius:var(--radius-xs);padding:var(--space-xs)}.datasheet__ability-header{display:flex;align-items:center;gap:var(--space-xs)}.datasheet__ability-name{font-weight:600;color:var(--color-text-primary)}.datasheet__ability-desc{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px;line-height:1.4}.datasheet__weapons-group{margin-bottom:var(--space-xs)}.datasheet__weapons-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.datasheet__weapon-name{font-weight:600}.datasheet__weapon-keywords{display:flex;flex-wrap:wrap;gap:2px;margin-top:2px}.datasheet__weapon-kw-chip{font-size:9px;padding:0 4px;background:#b478ff1a;border:1px solid rgba(180,120,255,.2);border-radius:var(--radius-xs);color:var(--color-purple-bright);white-space:nowrap}.datasheet__keywords{display:flex;flex-wrap:wrap;gap:4px}.datasheet__keyword{font-size:var(--text-xs);padding:2px 6px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-xs);color:var(--color-text-secondary)}.detachment-rules{margin-top:var(--space-sm)}.detachment-rules__toggle{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:var(--glass-bg-light);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-gold);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.detachment-rules__toggle:hover{background:var(--glass-bg);border-color:var(--glass-border-hover)}.detachment-rules__arrow{font-size:var(--text-xs);color:var(--color-text-muted)}.detachment-rules__content{margin-top:var(--space-xs);padding:var(--space-md);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6;white-space:pre-wrap;max-height:300px;overflow-y:auto}.modal-backdrop{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);animation:fadeIn .2s ease;padding:var(--space-lg)}.modal-panel{position:relative;width:100%;background:var(--gradient-card);backdrop-filter:blur(var(--glass-blur-heavy));-webkit-backdrop-filter:blur(var(--glass-blur-heavy));border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-xl),var(--shadow-inset);animation:scaleIn .25s ease}.modal-panel--sm{max-width:450px}.modal-panel--md{max-width:600px}.modal-panel__title{font-size:var(--text-lg);color:var(--color-gold);margin-bottom:var(--space-lg)}.export-modal__tabs{display:flex;gap:2px;margin-bottom:var(--space-md);border-bottom:1px solid var(--glass-border)}.export-modal__tab{padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-muted);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.export-modal__tab:hover{color:var(--color-text-primary)}.export-modal__tab--active{color:var(--color-gold);border-bottom-color:var(--color-gold)}.export-modal__panel{max-height:80vh;display:flex;flex-direction:column}.export-modal__textarea{width:100%;min-height:300px;padding:var(--space-md);background-color:#0a0a0f99;border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:monospace;font-size:var(--text-sm);resize:vertical;flex:1}.export-modal__share-body{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-lg);padding:var(--space-xl)}.export-modal__help-text{font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center}.export-modal__help-text--spaced{margin-bottom:var(--space-md);text-align:left}.export-modal__share-url{padding:var(--space-md);background:#0a0a0f99;border:1px solid var(--glass-border);border-radius:var(--radius-md);font-family:monospace;font-size:var(--text-sm);color:var(--color-gold);word-break:break-all;text-align:center}.export-modal__qr{padding:var(--space-md);background:#0a0a0f66;border:1px solid var(--glass-border);border-radius:var(--radius-lg);display:inline-flex}.export-modal__format-toggle{display:flex;gap:2px;margin-bottom:var(--space-sm);background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:2px}.export-modal__format-btn{flex:1;padding:var(--space-xs) var(--space-md);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.export-modal__format-btn:hover{color:var(--color-text-primary)}.export-modal__format-btn--active{background:var(--color-bg-hover);color:var(--color-gold);box-shadow:var(--shadow-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.validation-banner--spaced{margin-top:var(--space-sm)}.validation-banner__detail{margin-top:var(--space-xs);font-size:var(--text-xs)}.modal-panel__actions{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-lg)}.confirm-dialog{background:var(--gradient-header);backdrop-filter:blur(var(--glass-blur-heavy));-webkit-backdrop-filter:blur(var(--glass-blur-heavy));border:1px solid var(--glass-border-active);border-radius:var(--radius-lg);padding:var(--space-xl);max-width:420px;width:90%;animation:fadeInUp .2s ease}.confirm-dialog__title{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--color-text-primary);margin:0 0 var(--space-sm)}.confirm-dialog__message{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5;margin:0 0 var(--space-lg)}.confirm-dialog__actions{display:flex;gap:var(--space-md);justify-content:flex-end}.feedback-form{display:flex;flex-direction:column;gap:var(--space-md)}.feedback-form__textarea{min-height:120px;resize:vertical}.feedback-form__error{font-size:var(--text-sm);color:#c04040;margin:0}.feedback-form__success{font-size:var(--text-sm);color:var(--color-gold);text-align:center;padding:var(--space-lg) 0}.app-header__feedback{font-size:var(--text-xs);padding:4px 12px;background:transparent;border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-normal),border-color var(--transition-normal)}.app-header__feedback:hover{color:var(--color-gold);border-color:var(--color-gold)}@media print{@page{margin:1cm;size:A4}body{background:#fff!important;color:#000!important;font-size:11px;font-family:Inter,system-ui,sans-serif;background-image:none!important}*{box-shadow:none!important;text-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.app-header,.list-editor__picker,.list-editor__detail,.list-editor__summary-actions,.list-editor__shortcuts-hint,.modal-backdrop,.roster-item__remove,.roster-item__expand,.game-tracker,.casualty-tracker,.points-bar,.btn,.shared-list__footer,.skeleton,.skeleton-list{display:none!important}.list-editor{display:block!important}.list-editor__roster{width:100%!important;height:auto!important;overflow:visible!important}.list-editor__summary,.shared-list__header{background:none!important;border:none!important;border-bottom:2px solid black!important;padding:0 0 8px!important;margin-bottom:12px!important;color:#000!important}.list-editor__army-name,.shared-list__header h2{color:#000!important;font-size:18px!important;font-family:Orbitron,sans-serif}.list-editor__detachment,.shared-list__header .list-editor__detachment{color:#333!important;font-size:11px}.list-editor__points-display{color:#000!important;font-size:16px!important;font-weight:700!important}.list-editor__points-limit{color:#333!important}.roster-section{break-inside:avoid;margin-bottom:8px}.roster-section__header{background:none!important;border:none!important;border-bottom:1px solid #999!important;color:#000!important;padding:4px 0!important;font-size:12px!important;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.roster-item{break-inside:avoid;background:none!important;border:none!important;border-bottom:1px solid #ddd!important;color:#000!important;padding:4px 0!important}.roster-item__name,.roster-item__points{color:#000!important;font-weight:600}.roster-item__enhancement{color:#333!important;font-style:italic}.role-badge{border:1px solid #999!important;color:#000!important;background:none!important}.stat-line{border-color:#ccc!important}.stat-line__box{background:none!important;border-color:#ccc!important;color:#000!important}.stat-line__label{color:#666!important}.roster-item__datasheet{break-inside:avoid}.datasheet__weapons-table th,.datasheet__weapons-table td{color:#000!important;border-color:#ccc!important;background:none!important}.shared-list{max-width:none!important}.list-editor__roster:after{content:"Printed from WarForge — warforge.app";display:block;text-align:center;margin-top:16px;padding-top:8px;border-top:1px solid #ccc;font-size:9px;color:#999;font-style:italic}}@media(max-width:1200px){.list-editor__detail{width:600px}.list-editor__picker{width:240px}}@media(max-width:1024px){.list-editor{flex-direction:column;height:auto}.list-editor__picker{width:100%;position:relative;top:auto;max-height:40vh}.list-editor__detail{width:100%;position:relative;top:auto;max-height:60vh;overflow-y:auto}.list-editor__roster{overflow-y:visible}.list-editor__summary{position:relative;top:auto}}@media(min-width:769px)and (max-width:1024px)and (orientation:landscape){.list-editor{flex-direction:row;flex-wrap:wrap;height:calc(100vh - 80px)}.list-editor__picker{width:100%;max-height:0;overflow:hidden;padding:0;border:none;margin:0}.list-editor__roster{flex:1;min-width:0;overflow-y:auto}.list-editor__detail{width:340px;max-height:none;position:sticky;top:80px;height:calc(100vh - 96px)}}@media(max-width:768px){.app-header{padding:var(--space-sm) var(--space-md)}.app-header__title{font-size:var(--text-base)}.app-main{padding:var(--space-sm)}.lists-page__grid{grid-template-columns:1fr}.lists-page__controls{flex-direction:column;align-items:stretch}.lists-page__search{max-width:none}.list-card__actions{opacity:1}.play-mode__header{flex-direction:column;gap:var(--space-sm)}.play-mode__header-actions{width:100%;justify-content:space-between}.game-tracker{gap:var(--space-sm);padding:var(--space-sm)}.game-tracker__section{flex:1;min-width:60px}.game-tracker__value--phase{min-width:60px;font-size:var(--text-xs)}.casualty-tracker__pip{width:28px;height:28px}.casualty-tracker__wound-btn{width:32px;height:32px;font-size:16px}.game-tracker__btn{width:36px;height:36px;font-size:16px}.datasheet__weapons-group{overflow-x:auto}.datasheet__weapons-table td,.datasheet__weapons-table th{font-size:var(--text-xs)}.export-modal__tabs{justify-content:stretch}.export-modal__tab{flex:1;text-align:center;padding:var(--space-sm)}.modal-panel--md{max-width:95vw}.shared-list{padding:0 var(--space-sm)}.btn{min-height:40px}.app-header__user{flex-direction:column;gap:var(--space-xs);align-items:flex-end}.app-header__email{max-width:120px;font-size:.65rem}.auth-page{padding:var(--space-md)}.auth-card{padding:var(--space-lg) var(--space-md)}}@media(max-width:480px){.app-header__nav{gap:var(--space-xs)}.app-header__link{font-size:var(--text-xs);padding:var(--space-xs) var(--space-sm)}.play-mode__title{font-size:var(--text-base)}.play-mode__unit-name{font-size:var(--text-sm)}.stat-line{gap:var(--space-xs)}.stat-line__item{min-width:28px;padding:var(--space-xs)}.modal-panel,.modal-panel--md,.modal-panel--sm{max-width:100vw;max-height:100vh;border-radius:0;margin:0}.modal-backdrop{padding:0}.export-modal__textarea{min-height:200px}.empty-state{padding:var(--space-lg)}.btn{min-height:44px}}.app-header__icon-link{display:flex;align-items:center;justify-content:center;padding:6px;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:color var(--transition-fast),background var(--transition-fast)}.app-header__icon-link:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.app-header__icon-link--active{color:var(--color-gold)}.theme-picker{position:relative}.theme-picker__trigger{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.theme-picker__trigger:hover{border-color:var(--glass-border-hover);color:var(--color-text-primary)}.theme-picker__swatch{display:block;width:12px;height:12px;border-radius:var(--radius-full);flex-shrink:0}.theme-picker__icon{flex-shrink:0}.theme-picker__dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background:var(--glass-bg-heavy);backdrop-filter:blur(var(--glass-blur-heavy));-webkit-backdrop-filter:blur(var(--glass-blur-heavy));border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-xs);z-index:var(--z-dropdown);animation:fadeIn var(--transition-fast)}.theme-picker__option{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.theme-picker__option:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.theme-picker__option--active{color:var(--color-gold)}.theme-picker__option-swatch{display:block;width:14px;height:14px;border-radius:var(--radius-full);flex-shrink:0;border:2px solid rgba(255,255,255,.1)}.theme-picker__option-label{flex:1;text-align:left}.theme-picker__check{flex-shrink:0;color:var(--color-gold)}.units-page__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.units-page__header h2{margin:0}.units-page__count{font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.units-page__filters{display:flex;gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap;padding:var(--space-md) var(--space-lg);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md),var(--shadow-inset)}.units-page__controls{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.units-page__role-chips{display:flex;gap:4px;flex-wrap:wrap}.units-page__role-chip{padding:3px 10px;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--glass-border);border-radius:var(--radius-full);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.units-page__role-chip:hover{border-color:var(--glass-border-active);color:var(--color-text-primary)}.units-page__role-chip--active{background:rgba(var(--gold-rgb),.15);border-color:rgba(var(--gold-rgb),.4);color:var(--color-gold)}.units-page__role-chip--epic_hero.units-page__role-chip--active{background:rgba(var(--gold-rgb),.15);border-color:rgba(var(--gold-rgb),.4);color:var(--color-role-epic-hero)}.units-page__role-chip--battleline.units-page__role-chip--active{background:#4caf501f;border-color:#4caf5059;color:var(--color-green)}.units-page__role-chip--character.units-page__role-chip--active{background:rgba(var(--gold-rgb),.12);border-color:rgba(var(--gold-rgb),.35);color:var(--color-gold)}.units-page__role-chip--vehicle.units-page__role-chip--active,.units-page__role-chip--monster.units-page__role-chip--active{background:#ef44441f;border-color:#ef444459;color:var(--color-red)}.units-page__sort{width:auto;min-width:180px}.units-page__list{display:flex;flex-direction:column;gap:var(--space-sm)}.unit-browser-card{position:relative;background:var(--gradient-card);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-md),var(--shadow-inset);cursor:pointer;transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.unit-browser-card:hover{border-color:var(--glass-border-hover);box-shadow:var(--shadow-lg),var(--shadow-inset)}.unit-browser-card--expanded{border-color:var(--glass-border-active)}.unit-browser-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md)}.unit-browser-card__left{flex:1;min-width:0}.unit-browser-card__title-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:4px}.unit-browser-card__name{font-size:var(--text-base);font-family:var(--font-display);font-weight:700;margin:0;text-transform:uppercase;letter-spacing:.03em}.unit-browser-card__unique{font-size:var(--text-xs);color:var(--color-role-epic-hero);font-style:italic}.unit-browser-card__quick-stats{display:flex;gap:var(--space-sm);font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.unit-browser-card__invuln{color:var(--color-gold);font-weight:600}.unit-browser-card__right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.unit-browser-card__points{font-size:var(--text-base);font-family:var(--font-display);font-weight:700;color:var(--color-gold);font-variant-numeric:tabular-nums}.unit-browser-card__tiers{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.unit-browser-card__expand{font-size:10px;color:var(--color-text-muted);margin-top:2px}.unit-browser-card__abilities{display:flex;flex-wrap:wrap;gap:4px;margin-top:var(--space-xs)}.unit-browser-card__datasheet{margin-top:var(--space-md);border-top:1px solid rgba(255,255,255,.06);cursor:default}.weapons-table{width:100%;font-size:var(--text-sm);border-collapse:separate;border-spacing:0;table-layout:fixed}.weapons-table thead th{padding:var(--space-sm);color:var(--color-text-muted);text-align:center;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--glass-border)}.weapons-table thead th:first-child{text-align:left;width:auto}.weapons-table thead th:not(:first-child){width:70px}.weapons-table tbody td{padding:var(--space-sm);border-bottom:1px solid rgba(255,255,255,.03);text-align:center}.weapons-table tbody td:first-child{text-align:left}.weapons-table tbody tr:hover td{background:#ffffff05}.shared-list{max-width:800px;margin:0 auto}.shared-list__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-md);gap:var(--space-md)}.shared-list__home-link{margin-top:var(--space-md)}.shared-list__roster{margin-top:var(--space-lg)}.shared-list__footer{text-align:center;margin-top:var(--space-xl);padding-bottom:var(--space-xl)}.roster-item[role=button]{cursor:pointer}.create-list-form{display:grid;gap:var(--space-md)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 80px);padding:var(--space-lg)}.auth-card{width:100%;max-width:420px;padding:var(--space-xl) var(--space-xl) var(--space-lg);text-align:center;animation:fadeInUp .4s ease}.auth-card__icon{font-size:3rem;margin-bottom:var(--space-md);opacity:.7}.auth-card__title{font-size:var(--text-xl);color:var(--color-gold);margin-bottom:var(--space-sm)}.auth-card__subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-lg);line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:var(--space-md);text-align:left}.auth-form .form-group label{display:block;font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs);font-weight:500}.auth-form .form-input{width:100%}.auth-card__submit{width:100%;margin-top:var(--space-sm)}.auth-card__toggle{margin-top:var(--space-lg);font-size:var(--text-sm);color:var(--color-text-muted)}.auth-card__toggle-btn{background:none;border:none;color:var(--color-gold);font-size:var(--text-sm);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-fast)}.auth-card__toggle-btn:hover{color:var(--color-gold-bright)}.app-header__user{display:flex;align-items:center;gap:var(--space-sm)}.app-header__email{font-size:var(--text-xs);color:var(--color-text-muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn--sm{padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs);min-height:auto}.app-header__signout{border-color:#ffffff1a;color:var(--color-text-muted)}.app-header__signout:hover{color:var(--color-text-primary);border-color:#fff3}.dashboard{max-width:1000px;margin:0 auto}.dashboard__title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-gold);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-lg)}.dashboard__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-md)}.dashboard__card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;animation:fadeInUp .3s ease}.dashboard__card--active-game{border-color:var(--color-gold-dim);grid-column:1 / -1}.dashboard__card-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);border-bottom:1px solid var(--glass-border)}.dashboard__card-icon{font-size:var(--text-lg)}.dashboard__card-title{font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.04em;flex:1}.dashboard__card-link{font-size:var(--text-xs);color:var(--color-gold);text-decoration:none}.dashboard__card-link:hover{text-decoration:underline}.dashboard__card-body{padding:var(--space-md)}.dashboard__empty{color:var(--color-text-muted);font-size:var(--text-sm)}.dashboard__empty a{color:var(--color-gold)}.dashboard__game-name{font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-xs)}.dashboard__game-opponent{color:var(--color-text-secondary);font-size:var(--text-sm)}.dashboard__game-status{color:var(--color-gold);font-size:var(--text-sm);margin-bottom:var(--space-md)}.dashboard__resume-btn{display:inline-block;text-decoration:none;text-align:center}.dashboard__stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);text-align:center}.dashboard__stat-value{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;display:block;color:var(--color-text-primary)}.dashboard__stat-value--win{color:var(--color-green-bright)}.dashboard__stat-value--loss{color:var(--color-red-bright)}.dashboard__stat-value--draw{color:var(--color-text-muted)}.dashboard__stat-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase}.dashboard__list-items{display:flex;flex-direction:column}.dashboard__list-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid rgba(255,255,255,.03);text-decoration:none;color:var(--color-text-primary);transition:color var(--transition-fast)}.dashboard__list-item:last-child{border-bottom:none}.dashboard__list-item:hover{color:var(--color-gold)}.dashboard__list-name{font-weight:500}.dashboard__list-meta{font-size:var(--text-xs);color:var(--color-text-muted)}.dashboard__empty-hint{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-sm)}.dashboard__quick-links{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.dashboard__quick-link{display:inline-block;padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);color:var(--color-text-secondary);background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);text-decoration:none;transition:color var(--transition-fast),border-color var(--transition-fast)}.dashboard__quick-link:hover{color:var(--color-gold);border-color:var(--color-gold-dim, rgba(201, 168, 76, .3))}@media(max-width:768px){.dashboard__grid{grid-template-columns:1fr}.dashboard__stats-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px)and (max-width:1024px){.collection-grid,.campaign-grid,.tournament-grid{grid-template-columns:repeat(2,1fr)}}.unit-card{position:relative;background:var(--gradient-card);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-md),var(--shadow-inset);transition:border-color var(--transition-normal),box-shadow var(--transition-normal);animation:fadeInUp .3s ease}.unit-card:hover{border-color:var(--glass-border-hover)}.unit-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md)}.unit-card__info{flex:1;min-width:0}.unit-card__title-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap}.unit-card__name{font-size:var(--text-base);font-family:var(--font-display);font-weight:700;letter-spacing:.04em;margin:0;text-transform:uppercase}.unit-card__unique-tag{font-size:var(--text-xs);color:var(--color-role-epic-hero);font-style:italic}.unit-card__limit-tag{font-size:var(--text-xs);background:rgba(var(--red-rgb),.15);color:var(--color-red-ui);padding:1px 6px;border-radius:var(--radius-sm)}.unit-card__actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-sm);flex-shrink:0}.unit-card__points{font-size:var(--text-md);font-weight:700;color:var(--color-gold);font-family:var(--font-display);text-shadow:0 0 20px rgba(var(--gold-rgb),.15)}.unit-card__points-detail{font-size:var(--text-xs);color:var(--color-text-muted)}.unit-card__remove-btn{opacity:.4;transition:opacity var(--transition-fast)}.unit-card:hover .unit-card__remove-btn{opacity:1}.unit-card__section{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid rgba(255,255,255,.04)}.unit-card__section-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-xs);display:block}.unit-card__enhancement-chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:4px 12px;background:var(--gradient-gold-subtle);border:1px solid rgba(var(--gold-rgb),.2);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-gold-bright)}.list-editor{display:flex;gap:var(--space-md);height:calc(100vh - 80px);animation:fadeIn .3s ease}.list-editor__picker{width:280px;flex-shrink:0;position:sticky;top:80px;max-height:calc(100vh - 96px);display:flex;flex-direction:column;background:var(--gradient-sidebar);backdrop-filter:blur(var(--glass-blur-heavy));-webkit-backdrop-filter:blur(var(--glass-blur-heavy));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),var(--shadow-inset);overflow:hidden;animation:fadeIn .3s ease}.list-editor__picker-header{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--glass-border);flex-shrink:0;display:flex;justify-content:space-between;align-items:center}.list-editor__picker-title{font-size:var(--text-sm);font-family:var(--font-display);font-weight:700;color:var(--color-gold);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-editor__picker-points{font-size:var(--text-sm);font-family:var(--font-display);font-weight:700;color:var(--color-text-primary);font-variant-numeric:tabular-nums;flex-shrink:0}.list-editor__picker-list{flex:1;overflow-y:auto}.list-editor__picker-list::-webkit-scrollbar,.list-editor__roster::-webkit-scrollbar,.list-editor__detail::-webkit-scrollbar{width:6px}.list-editor__picker-list::-webkit-scrollbar-track,.list-editor__roster::-webkit-scrollbar-track,.list-editor__detail::-webkit-scrollbar-track{background:transparent}.list-editor__picker-list::-webkit-scrollbar-thumb,.list-editor__roster::-webkit-scrollbar-thumb,.list-editor__detail::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:var(--radius-full)}.list-editor__picker-list::-webkit-scrollbar-thumb:hover,.list-editor__roster::-webkit-scrollbar-thumb:hover,.list-editor__detail::-webkit-scrollbar-thumb:hover{background:#ffffff26}.list-editor__picker-footer{padding:var(--space-xs) var(--space-sm);border-top:1px solid var(--glass-border);flex-shrink:0}.list-editor__picker-search{width:100%;font-size:var(--text-xs)!important;padding:6px 10px!important}.picker__legends-toggle{display:flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-xs);font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.picker__legends-toggle input[type=checkbox]{accent-color:var(--color-gold);cursor:pointer}.picker-section__header{padding:var(--space-xs) var(--space-sm);cursor:pointer;display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-primary);background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.04);-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.picker-section__header:hover{background:#ffffff0f}.picker-section__header--epic_hero{color:var(--color-role-epic_hero, #c9a84c)}.picker-section__header--character{color:var(--color-role-character, #c9a84c)}.picker-section__header--battleline{color:var(--color-role-battleline, #4ade80)}.picker-section__header--infantry{color:var(--color-text-primary)}.picker-section__header--vehicle{color:var(--color-role-vehicle, #ef4444)}.picker-section__header--monster{color:var(--color-role-monster, #ef4444)}.picker-section__header--mounted,.picker-section__header--beast{color:var(--color-text-primary)}.picker-section__header--fortification,.picker-section__header--dedicated_transport{color:var(--color-text-secondary)}.picker-section__header--allied{color:#60a5fa}.picker-section__arrow{font-size:8px;width:12px;text-align:center;color:var(--color-text-muted)}.picker-section__label{flex:1}.unit-picker-item{display:flex;justify-content:space-between;align-items:center;padding:4px var(--space-sm);cursor:pointer;transition:background var(--transition-fast);border-left:2px solid transparent}.unit-picker-item:hover{background:#ffffff0a}.unit-picker-item--disabled{opacity:.35;cursor:not-allowed}.unit-picker-item__info{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.unit-picker-item__points-inline{color:var(--color-gold);font-weight:600;font-size:var(--text-xs);font-variant-numeric:tabular-nums;min-width:28px;flex-shrink:0}.unit-picker-item__name{font-size:var(--text-xs);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unit-picker-item__count{font-size:10px;color:var(--color-text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0}.unit-picker-item__add{width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);font-size:14px;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.unit-picker-item__add:hover:not(:disabled){background:rgba(var(--gold-rgb),.15);border-color:var(--color-gold);color:var(--color-gold)}.unit-picker-item__add:disabled{opacity:.3;cursor:not-allowed}.list-editor__roster{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto}.list-editor__roster-list{display:flex;flex-direction:column;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden}.list-editor__save-status{text-align:center;font-size:var(--text-xs);padding:var(--space-xs) 0}.list-editor__save-status--saving{color:var(--color-gold)}.list-editor__save-status--saved{color:var(--color-text-muted);opacity:.6}.list-editor__shortcuts-hint{display:flex;justify-content:center;gap:var(--space-xs);padding:var(--space-sm);font-size:10px;color:var(--color-text-muted);opacity:.5}.list-editor__shortcuts-hint span{display:inline-block;padding:1px 4px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);font-family:monospace;font-size:9px;color:var(--color-text-secondary)}.roster-section{margin-bottom:2px}.roster-section__header{padding:var(--space-xs) var(--space-md);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-sm);margin:2px 0;background:#00b4b426;color:#5eead4}.roster-section__header--epic_hero{background:rgba(var(--gold-rgb),.15);color:var(--color-gold)}.roster-section__header--character{background:rgba(var(--gold-rgb),.12);color:#e8d48b}.roster-section__header--battleline{background:#4ade801f;color:#4ade80}.roster-section__header--infantry{background:#00b4b41f;color:#5eead4}.roster-section__header--vehicle,.roster-section__header--monster{background:#ef44441f;color:#f87171}.roster-section__header--mounted,.roster-section__header--beast{background:#a855f71f;color:#c084fc}.roster-section__header--fortification,.roster-section__header--dedicated_transport{background:#ffffff0f;color:var(--color-text-secondary)}.roster-section__header--allied{background:#60a5fa1f;color:#60a5fa}.roster-section__points{font-size:var(--text-xs);font-variant-numeric:tabular-nums}.roster-item{padding:var(--space-sm) var(--space-md);border-bottom:1px solid rgba(255,255,255,.04);cursor:pointer;transition:background var(--transition-fast);border-left:3px solid transparent}.roster-item:hover{background:#ffffff08}.roster-item--selected{background:rgba(var(--gold-rgb),.08);border-left-color:var(--color-gold)}.roster-item__row1{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm)}.roster-item__name{font-size:var(--text-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-item__right{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.roster-item__points{color:var(--color-gold);font-weight:600;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.roster-item__remove{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:14px;cursor:pointer;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.roster-item:hover .roster-item__remove{opacity:1}.roster-item__remove:hover{background:rgba(var(--red-rgb),.2);color:var(--color-red-bright)}.roster-item__drag-handle{display:flex;align-items:center;gap:2px;flex-shrink:0;cursor:grab;opacity:0;transition:opacity var(--transition-fast)}.roster-item:hover .roster-item__drag-handle{opacity:1}.roster-item__grip{color:var(--color-text-muted);font-size:12px;line-height:1;-webkit-user-select:none;user-select:none}.roster-item__movers{display:flex;flex-direction:column;gap:0}.roster-item__move-btn{width:16px;height:14px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-muted);font-size:10px;cursor:pointer;padding:0;line-height:1}.roster-item__move-btn:hover:not(:disabled){color:var(--color-gold)}.roster-item__move-btn:disabled{opacity:.2;cursor:default}.roster-item__drag-over{border-top:2px solid var(--color-gold)}.roster-item__row2{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px;margin-left:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster-item__enhancement{color:var(--color-gold);font-style:italic}.roster-item__expand{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:10px;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.roster-item__expand:hover{background:rgba(var(--gold-rgb),.15);color:var(--color-gold)}.roster-item--expanded{background:var(--gradient-card-hover);border-color:var(--glass-border-active)}.roster-item__datasheet{border-top:1px solid rgba(255,255,255,.04);margin-top:var(--space-xs)}.list-editor__detail{width:720px;flex-shrink:0;position:sticky;top:80px;max-height:calc(100vh - 96px);overflow-y:auto;background:var(--gradient-sidebar);backdrop-filter:blur(var(--glass-blur-heavy));-webkit-backdrop-filter:blur(var(--glass-blur-heavy));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),var(--shadow-inset);animation:fadeIn .3s ease}.detail-panel{padding:var(--space-md) var(--space-lg)}.detail-panel--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;padding:var(--space-xl);text-align:center}.detail-panel__empty-icon{font-size:48px;margin-bottom:var(--space-md);opacity:.2}.detail-panel__empty-text{color:var(--color-text-muted);font-size:var(--text-sm)}.detail-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-md)}.detail-panel__name{font-size:var(--text-base);font-family:var(--font-display);font-weight:700;margin:0;text-transform:uppercase;letter-spacing:.04em}.detail-panel__meta{display:flex;align-items:center;gap:var(--space-xs);margin-top:4px}.detail-panel__header-right{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.detail-panel__points{font-size:var(--text-base);font-family:var(--font-display);font-weight:700;color:var(--color-gold);font-variant-numeric:tabular-nums}.detail-panel__close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:18px;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.detail-panel__close:hover{background:#ffffff0f;color:var(--color-text-primary)}.detail-panel__section{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid rgba(255,255,255,.06)}.detail-panel__section--footer{border-top:none;padding-top:var(--space-sm)}.detail-panel__section .form-select,.detail-panel__section--footer .btn{width:100%}.detail-panel__section-label{font-size:var(--text-xs);text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.06em;margin-bottom:var(--space-xs);font-weight:600}.detail-panel__keywords{display:flex;flex-wrap:wrap;gap:4px}.detail-panel__keyword{font-size:var(--text-xs);padding:2px 8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.detail-panel__ability-list{display:flex;flex-direction:column;gap:var(--space-sm)}.detail-panel__ability-item{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);padding:var(--space-sm)}.detail-panel__ability-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:4px}.detail-panel__ability-header .ability-tag{font-size:9px;padding:1px 6px;flex-shrink:0;text-transform:uppercase;letter-spacing:.5px}.detail-panel__ability-name{font-weight:600;font-size:var(--text-sm);color:var(--color-text-primary)}.detail-panel__ability-desc{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.45;margin-top:2px}.detail-panel__weapons-group{margin-bottom:var(--space-sm)}.detail-panel__weapons-group:last-child{margin-bottom:0}.detail-panel__weapons-group-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted);font-weight:600;margin-bottom:4px}.weapons-table--compact{font-size:var(--text-xs)}.weapons-table--compact thead th{padding:4px 6px;font-size:10px}.weapons-table--compact tbody td{padding:4px 6px}.detail-panel__weapon-name{font-weight:500;color:var(--color-text-primary)}.detail-panel__weapon-keywords{font-size:10px;color:var(--color-text-muted);font-style:italic;margin-top:1px}.detail-panel__enhancement-detail{margin-top:var(--space-sm);padding:var(--space-sm);background:rgba(var(--gold-rgb),.06);border:1px solid rgba(var(--gold-rgb),.25);border-radius:var(--radius-sm)}.detail-panel__enhancement-name{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:var(--text-sm);color:var(--color-gold);margin-bottom:4px}.detail-panel__enhancement-desc{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.45;font-style:italic}.composition{display:flex;flex-direction:column;gap:var(--space-xs)}.detail-section{border-left:3px solid var(--glass-border);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-xs);background:#ffffff03;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.detail-section--leader-wargear{border-left-color:var(--color-gold)}.detail-section--composition{border-left-color:#4ade80}.detail-section--wargear{border-left-color:#60a5fa}.detail-section--leaders{border-left-color:#2dd4bf}.detail-section--enhancement{border-left-color:#a78bfa}.detail-section--loadout{border-left-color:#f472b6}.detail-section--abilities{border-left-color:#fb923c}.detail-section--models{border-left-color:#4ade80}.detail-section__header{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs)}.detail-section__icon{font-size:var(--text-sm);opacity:.6}.detail-section__title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-weight:600}.detail-section__badge{margin-left:auto;font-size:var(--text-xs);color:var(--color-gold);font-weight:700;font-variant-numeric:tabular-nums}.detail-section__content{display:flex;flex-direction:column;gap:var(--space-xs)}.wargear-toggle{margin-bottom:var(--space-xs)}.wargear-toggle__group-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:600;margin-bottom:4px}.wargear-toggle__switch-row{display:flex;gap:2px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--glass-border)}.wargear-toggle__switch-btn{flex:1;padding:6px 8px;background:var(--glass-bg);border:none;color:var(--color-text-secondary);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:4px}.wargear-toggle__switch-btn:hover{background:var(--glass-bg-light)}.wargear-toggle__switch-btn--active{background:rgba(var(--gold-rgb),.15);color:var(--color-gold);font-weight:600;box-shadow:inset 0 0 0 1px var(--color-gold-dim)}.wargear-toggle__radio-group{display:flex;flex-direction:column;gap:2px}.wargear-toggle__radio-card{display:flex;align-items:center;gap:var(--space-xs);padding:5px 8px;border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:var(--glass-bg)}.wargear-toggle__radio-card:hover{background:var(--glass-bg-light);border-color:var(--color-gold-dim)}.wargear-toggle__radio-card--active{background:rgba(var(--gold-rgb),.12);border-color:var(--color-gold-dim)}.wargear-toggle__radio-input{display:none}.wargear-toggle__radio-indicator{width:14px;height:14px;border-radius:50%;border:2px solid var(--glass-border);flex-shrink:0;position:relative;transition:all var(--transition-fast)}.wargear-toggle__radio-card--active .wargear-toggle__radio-indicator{border-color:var(--color-gold)}.wargear-toggle__radio-card--active .wargear-toggle__radio-indicator:after{content:"";position:absolute;inset:2px;border-radius:50%;background:var(--color-gold)}.wargear-toggle__check-label{display:flex;align-items:center;gap:var(--space-xs);padding:5px 8px;border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:var(--glass-bg)}.wargear-toggle__check-label:hover{background:var(--glass-bg-light)}.wargear-toggle__check-label input{display:none}.wargear-toggle__check-indicator{width:14px;height:14px;border:2px solid var(--glass-border);border-radius:var(--radius-sm);flex-shrink:0;position:relative;transition:all var(--transition-fast)}.wargear-toggle__check-label input:checked~.wargear-toggle__check-indicator{border-color:var(--color-gold);background:var(--color-gold)}.wargear-toggle__check-label input:checked~.wargear-toggle__check-indicator:after{content:"✓";position:absolute;top:-2px;left:1px;font-size:10px;color:var(--color-bg-primary);font-weight:700}.wargear-toggle__name{font-size:var(--text-xs);color:var(--color-text-primary)}.wargear-toggle__pts{font-size:10px;color:var(--color-gold);font-weight:600;margin-left:auto}.weapon-pool{display:flex;align-items:center;gap:var(--space-xs);padding:4px 0}.weapon-pool__bar{width:60px;height:6px;background:var(--glass-bg);border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--glass-border)}.weapon-pool__fill{height:100%;border-radius:var(--radius-sm);transition:width var(--transition-fast),background var(--transition-fast)}.pool--available .weapon-pool__fill{background:#4ade80}.pool--partial .weapon-pool__fill,.pool--full .weapon-pool__fill{background:var(--color-gold)}.pool--over .weapon-pool__fill{background:var(--color-danger)}.weapon-pool__label{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-weight:600}.pool--over .weapon-pool__label{color:var(--color-danger)}.variant-wargear__pools{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid rgba(255,255,255,.04);margin-bottom:var(--space-xs)}.comp__row{display:flex;align-items:center;gap:var(--space-sm);padding:3px 0}.comp__fixed{width:100px;text-align:center}.comp__fixed-count{font-size:var(--text-sm);font-weight:700;color:var(--color-text-muted)}.comp__controls{display:flex;align-items:center;gap:3px;font-variant-numeric:tabular-nums}.comp__bound{font-size:10px;color:var(--color-text-muted);opacity:.6;min-width:16px;text-align:center}.comp__btn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass-bg-light);color:var(--color-text-primary);cursor:pointer;font-size:12px;transition:background var(--transition-fast)}.comp__btn:hover:not(:disabled){background:rgba(var(--gold-rgb),.15);border-color:var(--color-gold-dim)}.comp__btn:disabled{opacity:.25;cursor:default}.comp__count{min-width:22px;text-align:center;font-weight:700;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.comp__count--min{color:var(--color-text-muted)}.comp__count--max{color:var(--color-gold)}.comp__name{flex:1;font-size:var(--text-xs);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.comp__bar{width:40px;height:4px;background:var(--glass-bg);border-radius:var(--radius-xs);overflow:hidden;flex-shrink:0}.comp__bar-fill{height:100%;background:#4ade80;border-radius:var(--radius-xs);transition:width var(--transition-fast)}.comp__group{margin-top:var(--space-xs)}.comp__group-header{display:flex;justify-content:space-between;align-items:center;padding:2px 0;margin-bottom:2px;border-bottom:1px solid rgba(255,255,255,.04)}.comp__group-name{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:600}.comp__group-count{font-size:10px;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.leader-card{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass-bg);transition:all var(--transition-fast)}.leader-card:hover{background:var(--glass-bg-light)}.leader-card--attached{border-color:var(--color-gold-dim);background:rgba(var(--gold-rgb),.08)}.leader-card--disabled{opacity:.45}.leader-card__info{display:flex;flex-direction:column;gap:2px;min-width:0}.leader-card__name{font-size:var(--text-xs);font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leader-card__stats{font-size:10px;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.leader-card__right{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.leader-card__pts{font-size:10px;color:var(--color-gold);font-weight:600;font-variant-numeric:tabular-nums}.leader-card__toggle{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid var(--glass-border);border-radius:50%;background:var(--glass-bg);color:var(--color-text-muted);cursor:pointer;font-size:12px;transition:all var(--transition-fast)}.leader-card__toggle:hover:not(:disabled){background:rgba(var(--gold-rgb),.15);border-color:var(--color-gold-dim);color:var(--color-gold)}.leader-card__toggle--active{background:var(--color-gold);border-color:var(--color-gold);color:var(--color-bg-primary)}.leader-card__toggle--active:hover:not(:disabled){background:var(--color-gold-dim)}.leader-card__toggle:disabled{cursor:default}.loadout__weapons-group{margin-bottom:var(--space-xs)}.loadout__weapons-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:600;margin-bottom:4px}.loadout__weapon-name{display:inline-flex;align-items:center;gap:4px}.loadout__weapon-count{font-size:10px;color:var(--color-gold);font-weight:700;background:rgba(var(--gold-rgb),.12);padding:0 4px;border-radius:var(--radius-sm)}.weapons-table--loadout{font-size:var(--text-xs)}.weapons-table__section-header td{padding:6px 8px 3px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);background:transparent;border-bottom:1px solid rgba(255,255,255,.06)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.constraint-violation{animation:shake .3s ease-in-out;box-shadow:0 0 8px #ef444466;border-color:var(--color-danger)!important}.list-editor__summary{flex-shrink:0;background:var(--gradient-header);backdrop-filter:blur(var(--glass-blur-heavy));-webkit-backdrop-filter:blur(var(--glass-blur-heavy));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-lg),var(--shadow-inset);display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-sm)}.list-editor__summary-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md)}.list-editor__army-name{font-size:var(--text-lg);font-family:var(--font-display);font-weight:700;margin:0}.list-editor__army-name--editable{cursor:text;border-bottom:1px dashed transparent;transition:border-color var(--transition-fast)}.list-editor__army-name--editable:hover{border-color:var(--color-gold-dim)}.list-editor__name-input{font-size:var(--text-lg);font-family:var(--font-display);font-weight:700;background:#0a0a0f99;border:1px solid var(--color-gold-dim);border-radius:var(--radius-sm);color:var(--color-text-primary);padding:2px 8px;width:100%;outline:none}.list-editor__name-input:focus{border-color:var(--color-gold);box-shadow:0 0 0 2px rgba(var(--gold-rgb),.15)}.list-editor__points-limit--editable{cursor:pointer;border-bottom:1px dashed transparent;transition:border-color var(--transition-fast)}.list-editor__points-limit--editable:hover{border-color:var(--color-gold-dim)}.list-editor__points-input{width:70px;font-size:inherit;font-family:var(--font-display);font-weight:inherit;background:#0a0a0f99;border:1px solid var(--color-gold-dim);border-radius:var(--radius-sm);color:var(--color-text-primary);padding:0 4px;text-align:center;outline:none}.list-editor__points-input:focus{border-color:var(--color-gold)}.list-editor__points-presets{display:flex;gap:4px;flex-wrap:wrap;margin-top:var(--space-xs)}.list-editor__points-preset{padding:2px 10px;font-size:var(--text-xs);font-family:var(--font-display);font-weight:600;border:1px solid var(--glass-border);border-radius:var(--radius-full);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.list-editor__points-preset:hover{border-color:var(--color-gold-dim);color:var(--color-gold)}.list-editor__points-preset--active{background:rgba(var(--gold-rgb),.15);border-color:rgba(var(--gold-rgb),.4);color:var(--color-gold)}.list-editor__detachment{font-size:var(--text-sm);color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-xs)}.list-editor__detachment-select{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);padding:2px var(--space-sm);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.list-editor__detachment-select:hover{border-color:rgba(var(--gold-rgb),.4);color:var(--color-gold-dim)}.list-editor__detachment-select:focus{outline:none;border-color:var(--color-gold)}.list-editor__summary-actions{display:flex;gap:var(--space-sm);flex-shrink:0}.list-editor__points-display{font-size:var(--text-lg);font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-gold)}.list-editor__points-display--over{color:var(--color-red-bright);text-shadow:0 0 20px rgba(var(--red-rgb),.3)}.list-editor__points-limit{font-size:var(--text-base);color:var(--color-text-secondary);font-weight:400}.list-editor__validations{display:flex;flex-direction:column;gap:var(--space-sm)}.list-editor__points-over{font-size:var(--text-sm);color:var(--color-red-bright)}.lists-page__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl)}.lists-page__title{font-size:var(--text-xl);margin:0}.lists-page__controls{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.lists-page__search{flex:1;min-width:200px;max-width:300px}.lists-page__sort{width:auto;min-width:160px}.lists-page__toggle{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap}.lists-page__toggle input{accent-color:var(--color-gold)}.lists-page__grouped{display:flex;flex-direction:column;gap:var(--space-lg)}.lists-page__faction-group{animation:fadeInUp .3s ease}.lists-page__faction-header{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-gold);padding-bottom:var(--space-sm);border-bottom:1px solid var(--glass-border);margin-bottom:var(--space-md)}.lists-page__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-md)}.list-card{position:relative;display:flex;align-items:center;background:var(--gradient-card);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-md),var(--shadow-inset);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal);color:inherit;animation:fadeInUp .3s ease;gap:var(--space-md)}.list-card:hover{border-color:var(--glass-border-active);box-shadow:var(--shadow-lg),var(--shadow-glow-gold),var(--shadow-inset);transform:translateY(-2px)}.list-card__link{display:flex;align-items:center;flex:1;min-width:0;gap:var(--space-md);text-decoration:none;color:inherit}.list-card__info{flex:1;min-width:0}.list-card__name{font-size:var(--text-base);font-family:var(--font-display);font-weight:700;margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-card__meta{font-size:var(--text-sm);color:var(--color-text-secondary)}.list-card__time{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;flex-shrink:0}.list-card__actions{display:flex;gap:var(--space-xs);opacity:0;transition:opacity var(--transition-fast);flex-shrink:0}.list-card:hover .list-card__actions{opacity:1}.btn--icon{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;font-size:14px}.battle-size-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.battle-size-picker__option{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-sm) var(--space-md);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.battle-size-picker__option:hover{border-color:var(--glass-border-hover);background:var(--glass-bg-heavy)}.battle-size-picker__option--active{border-color:var(--color-gold);background:rgba(var(--gold-rgb),.08);color:var(--color-gold);box-shadow:0 0 0 1px var(--color-gold)}.battle-size-picker__name{font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.battle-size-picker__points{font-size:var(--text-xs);opacity:.7}.list-editor__battle-size{color:var(--color-text-muted)}.transport-info{display:flex;flex-direction:column;gap:var(--space-sm)}.transport-info__capacity{display:flex;align-items:baseline;gap:var(--space-xs)}.transport-info__number{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-gold)}.transport-info__label{font-size:var(--text-sm);color:var(--color-text-secondary)}.transport-info__rule{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.transport-info__rule-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.transport-info__keyword{font-size:var(--text-xs);padding:1px 6px;border-radius:var(--radius-sm)}.transport-info__keyword--allowed{background:rgba(var(--green-rgb),.12);border:1px solid rgba(var(--green-rgb),.25);color:var(--color-green-bright)}.transport-info__keyword--excluded{background:rgba(var(--red-rgb),.12);border:1px solid rgba(var(--red-rgb),.25);color:var(--color-red-bright)}.validation-banner--info{background:rgba(var(--blue-rgb),.08);border:1px solid rgba(var(--blue-rgb),.2);color:var(--color-blue-bright)}@media(min-width:768px)and (max-width:1024px){.list-editor{gap:var(--space-sm)}.list-editor__picker{width:220px}.list-editor__detail{width:280px;min-width:280px}.unit-card{padding:var(--space-md)}.unit-card__name{font-size:var(--text-sm)}}@media(min-width:1024px)and (max-width:1280px){.list-editor__picker{width:240px}.list-editor__detail{width:300px;min-width:300px}}@media(max-width:768px){.list-editor{flex-direction:column;height:auto;min-height:calc(100vh - 60px);gap:0}.list-editor__mobile-tabs{display:flex;border-bottom:1px solid var(--glass-border);background:var(--glass-bg);position:sticky;top:0;z-index:10}.list-editor__mobile-tab{flex:1;padding:var(--space-sm) var(--space-md);background:none;border:none;color:var(--color-text-muted);font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:color var(--transition-fast);border-bottom:2px solid transparent}.list-editor__mobile-tab--active{color:var(--color-gold);border-bottom-color:var(--color-gold)}.list-editor__picker{display:none;width:100%;max-height:none;position:static;border-radius:0;border:none;box-shadow:none}.list-editor__picker--mobile-visible{display:flex;flex:1}.list-editor__roster{display:none;width:100%}.list-editor__roster--mobile-visible{display:flex}.list-editor__detail{display:none;width:100%;max-height:none;position:static;border-radius:0;border:none;box-shadow:none}.list-editor__detail--mobile-visible{display:block}.detail-panel--empty{display:none}.list-editor__detail-close{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:#ffffff08;color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;border:none;border-bottom:1px solid var(--glass-border);width:100%;text-align:left}.list-editor__detail-close:hover{color:var(--color-text-primary)}.list-editor__shortcuts-hint{display:none}.list-editor__save-status{font-size:10px}}@media(min-width:769px){.list-editor__mobile-tabs,.list-editor__detail-close{display:none}}@media(max-width:767px)and (orientation:landscape){.list-editor{height:calc(100vh - 60px)}.list-editor__roster{max-height:calc(100vh - 60px)}}@media print{@page{margin:1.5cm;size:auto}.app-header,.list-editor__picker,.list-editor__detail,.list-editor__shortcuts-hint,.list-editor__summary-actions,.list-editor__points-presets,.roster-item__remove,.roster-item__drag-handle,.roster-item__expand,.roster-item__move-btn,.roster-item__movers,.roster-item__grip,.validation-banner,.list-editor__validations,.points-bar,.btn{display:none!important}body{background:#fff!important;color:#000!important;font-size:11pt}.list-editor{display:block!important;height:auto!important;gap:0!important}.list-editor__roster{width:100%!important;overflow:visible!important;flex:none!important}.list-editor__roster-list{border:none!important;background:none!important}.list-editor__summary{background:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:none!important;border-bottom:2px solid #000!important;border-radius:0!important;box-shadow:none!important;padding:0 0 8pt!important;margin-bottom:12pt!important}.list-editor__summary-header{justify-content:flex-start!important}.list-editor__army-name{font-size:18pt!important;color:#000!important;cursor:default!important;border-bottom:none!important}.list-editor__detachment{color:#333!important;font-size:10pt!important}.list-editor__battle-size{color:#333!important}.list-editor__points-display{font-size:14pt!important;color:#000!important;text-shadow:none!important}.list-editor__points-display--over{color:#c00!important;text-shadow:none!important}.list-editor__points-limit{color:#444!important}.list-editor__points-over{color:#c00!important}.roster-section{margin-bottom:0!important;break-inside:avoid}.roster-section__header{background:#eee!important;color:#000!important;border-radius:0!important;margin:0!important;padding:4pt 8pt!important;font-size:10pt!important;border-bottom:1px solid #999!important}.roster-section__header--epic_hero,.roster-section__header--character,.roster-section__header--battleline,.roster-section__header--infantry,.roster-section__header--vehicle,.roster-section__header--monster,.roster-section__header--mounted,.roster-section__header--beast,.roster-section__header--fortification,.roster-section__header--dedicated_transport,.roster-section__header--allied{background:#eee!important;color:#000!important}.roster-section__points{color:#333!important}.roster-item{border-bottom:1px solid #ccc!important;border-left:none!important;background:none!important;padding:4pt 8pt!important;cursor:default!important;break-inside:avoid;page-break-inside:avoid}.roster-item:hover{background:none!important}.roster-item--selected{background:none!important;border-left:none!important}.roster-item__name{color:#000!important;font-size:10pt!important}.roster-item__points{color:#000!important;font-weight:700!important}.roster-item__row2{color:#444!important;margin-left:0!important}.roster-item__enhancement{color:#333!important;font-style:italic!important}.roster-item__datasheet{border-top:1px solid #ccc!important}.unit-card{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:1px solid #999!important;border-radius:4pt!important;box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}.unit-card__name{color:#000!important}.unit-card__points{color:#000!important;text-shadow:none!important}.unit-card__points-detail{color:#444!important}.unit-card__section{border-top-color:#ccc!important}.unit-card__section-label{color:#666!important}.unit-card__enhancement-chip{background:none!important;border:1px solid #999!important;color:#333!important}.unit-card__remove-btn{display:none!important}.detachment-rules__toggle{color:#000!important;background:none!important;border:none!important}.detachment-rules__content{color:#333!important}table{border-collapse:collapse!important}th,td{color:#000!important;border:1px solid #ccc!important}th{background:#eee!important}*,*:before,*:after{animation:none!important;transition:none!important;box-shadow:none!important;text-shadow:none!important}a{color:#000!important;text-decoration:none!important}}.list-verification{border-radius:var(--radius-md);font-size:var(--text-sm);overflow:hidden}.list-verification--loading{padding:var(--space-sm) var(--space-md);color:var(--color-text-muted);font-size:var(--text-xs)}.list-verification--full{background:rgba(var(--green-rgb),.08);border:1px solid rgba(var(--green-rgb),.2)}.list-verification--partial{background:rgba(var(--gold-rgb),.08);border:1px solid rgba(var(--gold-rgb),.2)}.list-verification--none{background:rgba(var(--red-rgb),.08);border:1px solid rgba(var(--red-rgb),.2)}.list-verification__header{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:none;border:none;cursor:pointer;font-family:var(--font-body);font-size:var(--text-xs);text-align:left}.list-verification--full .list-verification__header{color:var(--color-green-bright)}.list-verification--partial .list-verification__header{color:var(--color-gold)}.list-verification--none .list-verification__header{color:var(--color-red-bright)}.list-verification__icon{font-size:var(--text-sm);flex-shrink:0}.list-verification__text{flex:1}.list-verification__arrow{font-size:.6em;transition:transform .2s ease}.list-verification__arrow--open{transform:rotate(180deg)}.list-verification__details{padding:0 var(--space-md) var(--space-sm);display:flex;flex-direction:column;gap:var(--space-sm)}.list-verification__group-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.list-verification__group-label--missing{color:var(--color-red-bright)}.list-verification__group-label--matched{color:var(--color-green)}.list-verification__row{display:flex;justify-content:space-between;align-items:center;padding:2px 0;font-size:var(--text-xs)}.list-verification__row--missing{color:var(--color-text-primary)}.list-verification__row--matched{color:var(--color-text-muted)}.list-verification__unit-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-verification__count{flex-shrink:0;font-family:var(--font-display);margin-left:var(--space-sm)}.settings-page{max-width:720px;margin:0 auto;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg)}.settings-page__header{display:flex;align-items:center;justify-content:space-between}.settings-page__header h1{margin:0}.settings-section{padding:var(--space-lg)}.settings-section__title{font-size:var(--text-md);margin-bottom:var(--space-xs)}.settings-section__description{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-md)}.settings-section__body{display:flex;flex-direction:column;gap:var(--space-sm)}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 0;gap:var(--space-md)}.settings-row__label{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.settings-row__control{flex-shrink:0}.settings-row__control .form-select{min-width:180px}.toggle-setting{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 0;gap:var(--space-md);cursor:pointer;border-bottom:1px solid var(--color-border)}.toggle-setting:last-child{border-bottom:none}.toggle-setting__text{display:flex;flex-direction:column;gap:2px;min-width:0}.toggle-setting__label{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.toggle-setting__description{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.4}.toggle-setting__switch{position:relative;flex-shrink:0;width:44px;height:24px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);padding:0}.toggle-setting__switch--on{background:var(--color-gold);border-color:var(--color-gold)}.toggle-setting__thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--color-text-primary);border-radius:var(--radius-full);transition:transform var(--transition-fast)}.toggle-setting__switch--on .toggle-setting__thumb{transform:translate(20px);background:var(--color-bg-primary)}.settings-subheading{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-md);margin-bottom:var(--space-xs);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.custom-theme-editor__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-sm);margin-bottom:var(--space-md)}.custom-theme-editor__field{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.custom-theme-editor__label{font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap}.custom-theme-editor__input-wrap{display:flex;align-items:center;gap:var(--space-xs)}.custom-theme-editor__color-input{width:32px;height:32px;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;padding:0;background:none}.custom-theme-editor__color-input::-webkit-color-swatch-wrapper{padding:2px}.custom-theme-editor__color-input::-webkit-color-swatch{border:none;border-radius:var(--radius-xs)}.custom-theme-editor__hex{font-size:var(--text-xs);color:var(--color-text-muted);font-family:monospace;min-width:60px}.font-settings__row{margin-bottom:var(--space-sm)}.font-settings__label{display:block;font-size:var(--text-sm);color:var(--color-text-primary);margin-bottom:var(--space-xs)}.font-settings__slider{width:100%;accent-color:var(--color-gold)}.font-settings__range-labels{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--color-text-muted)}.theme-share__section{margin-bottom:var(--space-md)}.theme-share__section:last-child{margin-bottom:0}.theme-share__heading{font-size:var(--text-sm);color:var(--color-text-primary);margin-bottom:var(--space-xs)}.theme-share__hint{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.theme-share__textarea{width:100%;font-family:monospace;font-size:var(--text-xs);resize:vertical;margin-bottom:var(--space-sm)}.theme-share__error{font-size:var(--text-xs);color:var(--color-red-bright);margin-top:var(--space-xs)}.theme-share__success{font-size:var(--text-xs);color:var(--color-green-bright);margin-top:var(--space-xs)}.theme-picker__divider{height:1px;background:var(--color-border);margin:var(--space-xs) 0}.theme-picker__option-swatch--custom{background:conic-gradient(#c9a84c 0deg 90deg,#c94c4c 90deg 180deg,#4cb8b8 180deg 270deg,#6090b8 270deg 360deg)}@media(max-width:768px){.settings-page{padding:var(--space-md)}.settings-row{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.settings-row__control .form-select{min-width:unset;width:100%}}
