[data-tg-tour]{scroll-margin:30px 0}.tg-backdrop{position:absolute;align-items:center;justify-content:center;display:none;z-index:99;border-radius:7px;box-shadow:#212121cc 0 0 1px 2px,#212121cc 0 0 0 1000vh;border:1px solid rgba(193,192,232,.5);top:50vh;left:50vw;width:0;height:0}.tg-backdrop.tg-backdrop-animate{transition:all .3s}.tg-backdrop.allow-interaction{pointer-events:none}.tg-dialog{border-radius:12px;animation-delay:.1s;min-height:120px;background:#fff;color:#252525;max-width:340px;width:max-content;z-index:9999;display:none;position:absolute;top:0;left:0;padding:0;font-size:.9rem}.tg-dialog .tg-dialog-header{display:flex;align-items:center;padding:25px 25px 0}.tg-dialog .tg-dialog-header .tg-dialog-title{font-size:1rem;font-weight:700;margin-right:auto}.tg-dialog .tg-dialog-header .tg-dialog-title+.tg-dialog-body{padding:18.75px 25px}.tg-dialog .tg-dialog-header .tg-dialog-close-btn{width:12px;height:12px;margin-left:10px;opacity:.4;cursor:pointer;white-space:nowrap}.tg-dialog .tg-dialog-header .tg-dialog-close-btn:hover{opacity:8}.tg-dialog .tg-dialog-header .tg-dialog-close-btn:focus{opacity:1}.tg-dialog .tg-dialog-header .tg-dialog-spinner{display:none;opacity:.4;margin-top:-1px;-webkit-animation:tg-spin 1s linear infinite;-moz-animation:tg-spin 1s linear infinite;-o-animation:tg-spin 1s linear infinite;animation:tg-spin 1s linear infinite}@keyframes tg-spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.tg-dialog .tg-dialog-progress-bar{background:#f1f1f1;height:5px;display:block;margin-top:18.75px;position:relative}.tg-dialog .tg-dialog-progress-bar>.tg-bar{position:absolute;top:0;left:0;min-width:4px;background:#414144;height:100%;display:block;transition:all .3s}.tg-dialog .tg-dialog-body{padding:25px;font-weight:400}.tg-dialog .tg-dialog-dots{display:flex;align-items:center;justify-content:center;padding:15px 0;margin-bottom:10px;border-top:1px solid #dedee7;border-bottom:1px solid #dedee7}.tg-dialog .tg-dialog-dots>span.tg-dot{display:inline-block;width:9px;height:9px;background:#c2c7ce;border-radius:12px;margin:0 4px}.tg-dialog .tg-dialog-dots>span.tg-dot.tg-dot-active{background:#5362d9}.tg-dialog .tg-dialog-footer{padding:12.5px 25px 25px;display:flex;align-items:center}.tg-dialog .tg-dialog-footer button.tg-dialog-btn{padding:5px 10px;border:1px solid #cbcfd5;color:#6f727e;border-radius:4px;font-weight:500;font-size:.82rem;white-space:nowrap}.tg-dialog .tg-dialog-footer button.tg-dialog-btn+button{margin-left:auto}.tg-dialog .tg-dialog-footer button.tg-dialog-btn.disabled{pointer-events:none;opacity:.6}.tg-dialog .tg-dialog-footer button.tg-dialog-btn:hover{color:#464852;border:1px solid #b5b7c2;outline:none;box-shadow:none}.tg-dialog .tg-dialog-footer button.tg-dialog-btn:focus{outline:none;box-shadow:none}.tg-dialog .tg-dialog-footer button.tg-dialog-btn:active{color:#4655cb;background:#f1f2ff;border:1px solid #5362d9;outline:none;box-shadow:none}.tg-dialog .tg-dialog-footer .tg-dialog-footer-sup{margin:0 auto;padding:0 10px;text-align:center;line-height:1}.tg-dialog .tg-dialog-footer .tg-dialog-footer-sup .tg-step-progress{font-size:.78rem;font-weight:700;margin:0 auto;opacity:.4;letter-spacing:1px;display:inline-block}.tg-dialog .tg-dialog-footer .tg-dialog-footer-sup .tg-dialog-dots{padding:0;margin:0;border:none}.tg-dialog .tg-dialog-footer .tg-dialog-footer-sup .tg-dialog-dots>span.tg-dot{width:8px;height:8px;margin:0 3px}.tg-dialog .tg-dialog-footer .tg-dialog-footer-sup .tg-dialog-dots+.tg-step-progress{margin-top:10px;font-size:.68rem}.tg-dialog .tg-arrow{position:absolute;background:#fff;width:9px;height:9px;border-radius:1px;transform:rotate(45deg)}.tg-dialog.tg-dialog-fixed{transition:none;animation-delay:0ms}.tg-dialog.animate-position{transition:all .3s}.tg-dialog.tg-dialog-loading .tg-dialog-header .tg-dialog-title{opacity:.4}.tg-dialog.tg-dialog-loading .tg-dialog-header .tg-dialog-close-btn{display:none}.tg-dialog.tg-dialog-loading .tg-dialog-header .tg-dialog-spinner{display:inline-block}.tg-dialog.tg-dialog-loading .tg-dialog-body{opacity:.4;pointer-events:none}.tg-dialog.tg-dialog-loading .tg-dialog-footer{pointer-events:none;opacity:.4}.tg-no-interaction *{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important}.tg-no-interaction .tg-dialog,.tg-no-interaction .tg-active-element,.tg-dialog *,.tg-active-element *{pointer-events:auto!important;-webkit-user-select:text!important;user-select:text!important}@font-face{font-family:Cinzel;font-style:normal;font-weight:400 700;font-display:swap;src:url("./media/cinzel-latin-HB3QMI3R.woff2") format("woff2")}.builder-page .onboarding-placeholder-list-item{cursor:default;border:1px dashed rgba(212,175,55,.45);background:#d4af3714}.builder-page .onboarding-placeholder-list-item:hover{background:#d4af3714}.builder-page .placeholder-badge{width:fit-content;padding:.15rem .45rem;border:1px solid rgba(212,175,55,.45);border-radius:999px;color:var(--accent-gold);font-size:.62rem;font-weight:700;line-height:1.2;text-transform:uppercase}@font-face{font-family:Roboto;font-style:normal;font-weight:300 700;font-display:swap;src:url("./media/roboto-latin-3ZSHNGCF.woff2") format("woff2")}:root,:root[data-visual-theme=dev]{--bg-primary: #0a0a0a;--bg-secondary: #121212;--bg-tertiary: #1a1a1a;--bg-card: #151515;--text-primary: #e8e8e8;--text-secondary: #8a8a8a;--text-muted: #5a5a5a;--accent-gold: #d4af37;--accent-gold-dark: #a88a2d;--accent-red: #8b0000;--accent-red-light: #b22222;--accent-green: #228b22;--accent-blue: #1e4d6b;--theme-accent-rgb: 212 175 55;--theme-accent-contrast-rgb: 18 11 5;--theme-accent-border-rgb: 96 78 22;--theme-sidebar-bg: #121212;--theme-titlebar-bg: #121212;--theme-titlebar-symbol: #e8e8e8;--desktop-titlebar-height: 0px;--border-color: #2a2a2a;--border-gold: rgba(212, 175, 55, .3);--font-display: "Cinzel", serif;--font-body: "Roboto", sans-serif;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--transition-fast: .15s ease;--transition-normal: .25s ease}:root[data-visual-theme=loyalist],:root[data-visual-theme-family=loyalist]{--bg-primary: #efe7d4;--bg-secondary: #e3d5b8;--bg-tertiary: #d3c09a;--bg-card: #e3d5b8;--text-primary: #120b05;--text-secondary: #372817;--text-muted: #675739;--accent-gold: #b88735;--accent-gold-dark: #7d5f25;--accent-red: #7a1a15;--accent-red-light: #951f18;--accent-green: #4a6b2a;--accent-blue: #6b5839;--theme-accent-rgb: 122 26 21;--theme-accent-contrast-rgb: 255 255 255;--theme-accent-border-rgb: 72 17 13;--theme-sidebar-bg: #1a1612;--theme-titlebar-bg: #1a1612;--theme-titlebar-symbol: #f4ead0;--border-color: #b49864;--border-gold: rgba(138, 109, 52, .68);--font-display: "Cinzel", "Trajan Pro", serif;--font-body: "EB Garamond", Georgia, serif;--shadow-sm: 0 1px 0 rgba(0, 0, 0, .05);--shadow-md: 0 8px 24px -16px rgba(60, 40, 15, .35);--shadow-lg: 0 18px 42px -24px rgba(35, 20, 8, .48);--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}.title-gold{color:var(--accent-gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;text-decoration:none;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all var(--transition-fast)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-gold);color:var(--bg-primary);border-color:var(--accent-gold)}.btn-primary:hover:not(:disabled){background:var(--accent-gold-dark);border-color:var(--accent-gold-dark)}.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent-gold);color:var(--accent-gold)}.btn-danger{background:var(--accent-red);color:#fff;border-color:var(--accent-red)}.btn-danger:hover:not(:disabled){background:var(--accent-red-light);border-color:var(--accent-red-light)}.btn-icon{padding:.5rem;min-width:36px;min-height:36px}.icon-svg{display:block;width:16px;height:16px;margin:0 auto}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.card-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.card-header h2,.card-header h3{margin:0;font-size:1rem}.card-body{padding:1.25rem}.card-footer{padding:1rem 1.25rem;border-top:1px solid var(--border-color);background:#0003}.card-gold{border-color:var(--border-gold)}.card-gold .card-header{border-bottom-color:var(--border-gold);background:#d4af370d}.card-gold .card-header h2,.card-gold .card-header h3{color:var(--accent-gold)}.hh-onboarding-dialog.tg-dialog{width:min(420px,100vw - 2rem)!important;max-width:min(420px,100vw - 2rem)!important;max-height:calc(100vh - 1.5rem);overflow:auto;border:1px solid var(--border-gold);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-lg);font-family:var(--font-body)}.hh-onboarding-dialog .tg-dialog-header{padding:1.1rem 1.15rem 0}.hh-onboarding-dialog .tg-dialog-title{color:var(--accent-gold);font-family:var(--font-display);font-size:1.05rem;line-height:1.25}.hh-onboarding-dialog .tg-dialog-body{padding:1rem 1.15rem;color:var(--text-primary);font-size:.95rem;line-height:1.45}.hh-onboarding-dialog .tg-dialog-footer{padding:.85rem 1.15rem 1.1rem;gap:.75rem}.hh-onboarding-dialog .tg-dialog-footer button.tg-dialog-btn{min-width:88px;border-color:var(--border-color);border-radius:4px;background:transparent;color:var(--text-primary);font-family:var(--font-body)}.hh-onboarding-dialog .tg-dialog-footer button.tg-dialog-btn:hover:not(:disabled){border-color:var(--accent-gold);color:var(--accent-gold)}.hh-onboarding-dialog .tg-dialog-footer button.tg-dialog-btn:last-child{border-color:var(--accent-gold);background:var(--accent-gold);color:rgb(var(--theme-accent-contrast-rgb))}.hh-onboarding-dialog .tg-dialog-footer button.tg-dialog-btn:last-child:hover:not(:disabled){border-color:var(--accent-gold-dark);background:var(--accent-gold-dark);color:rgb(var(--theme-accent-contrast-rgb))}.hh-onboarding-dialog .tg-dialog-progress-bar .tg-bar,.hh-onboarding-dialog .tg-dot-active{background:var(--accent-gold)!important}.hh-onboarding-dialog .tg-dialog-close-btn{color:var(--text-secondary)}.hh-onboarding-dialog .tg-arrow{background:var(--bg-secondary);border-left:1px solid var(--border-gold);border-top:1px solid var(--border-gold)}.hh-onboarding-backdrop.tg-backdrop{border-color:var(--accent-gold);border-radius:6px;box-shadow:#0a0a0ad6 0 0 1px 2px,#0a0a0ad6 0 0 0 1000vh}.builder-confirm-backdrop{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.builder-confirm-modal{width:min(560px,100vw - 3rem);max-height:calc(100vh - 3rem);border-color:var(--border-gold);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.builder-confirm-header{display:flex;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-gold);background:#d4af370f}.builder-confirm-header h3{margin:0;color:var(--accent-gold);font-size:1.05rem}.builder-confirm-header p{margin:.45rem 0 0;color:var(--text-secondary);font-size:.9rem;line-height:1.45}.builder-confirm-icon{width:2rem;height:2rem;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(212,175,55,.45);border-radius:50%;color:var(--accent-gold);font-weight:700;line-height:1;background:#d4af371a}.builder-confirm-body{padding:1.25rem 1.5rem;overflow-y:auto}.builder-confirm-copy{margin:0;color:var(--text-secondary);font-size:.95rem;line-height:1.45}.builder-confirm-issues{display:flex;flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none}.builder-confirm-issue{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem;border:1px solid rgba(212,175,55,.22);border-radius:6px;background:#ffffff06;color:var(--text-primary);font-size:.9rem;line-height:1.45}.builder-confirm-issue.error{border-color:#c6282873;background:#c628281f}.builder-confirm-issue.warning{border-color:#d4af3747;background:#d4af3714}.builder-confirm-issue-marker{width:1.15rem;height:1.15rem;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;margin-top:.1rem;border-radius:50%;background:#d4af3724;color:var(--accent-gold);font-size:.75rem;font-weight:700;line-height:1}.builder-confirm-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:#0000002e}.builder-confirm-actions.three-actions{flex-wrap:nowrap}.builder-confirm-actions.three-actions .btn{flex:1 1 0;min-width:0;white-space:nowrap}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-control{width:100%;padding:.75rem 1rem;font-family:var(--font-body);font-size:.875rem;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;transition:border-color var(--transition-fast)}.form-control:focus{outline:none;border-color:var(--accent-gold)}.form-control::placeholder{color:var(--text-muted)}select.form-control{cursor:pointer}.faction-select{position:relative;width:100%}.faction-select-row{--faction-select-height: calc(1.25em + 1.5rem + 2px) ;align-items:stretch}.faction-select-row .faction-select{flex:1 1 auto;min-width:0}.faction-select-row .faction-select-trigger,.faction-select-row .faction-back-button{min-height:var(--faction-select-height)}.faction-select-row .faction-back-button{flex:0 0 var(--faction-select-height);width:var(--faction-select-height)!important;height:var(--faction-select-height)!important;min-width:var(--faction-select-height)!important;padding:0!important}.faction-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:.75rem;text-align:left;cursor:pointer;background:#e0d9cafa}.faction-select-menu{position:absolute;z-index:40;top:calc(100% + .25rem);left:0;right:0;max-height:min(20rem,55vh);overflow-y:auto;background:#e0d9cafa;border:1px solid rgba(0,0,0,.78);border-radius:6px;box-shadow:0 12px 24px #00000047}.faction-select-option{width:100%;padding:.65rem .85rem;border:0;border-bottom:1px solid rgba(0,0,0,.78);background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.faction-select-option:hover,.faction-select-option:focus-visible{background:var(--bg-secondary);outline:none}.faction-select-option:last-child{border-bottom:0}.new-army-modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1250}.new-army-modal{width:min(560px,100vw - 3rem);max-height:calc(100vh - 2rem);margin:0;display:flex;flex-direction:column;overflow:visible;pointer-events:auto}.new-army-modal-header{flex-shrink:0}.new-army-modal-body{flex:1 1 auto;min-height:0;overflow:visible;padding-right:1.5rem}@media (max-width: 640px),(max-height: 760px){.new-army-modal-backdrop{padding:.75rem}.new-army-modal{width:calc(100vw - 1.5rem);height:calc(100vh - 1.5rem);max-height:calc(100vh - 1.5rem);overflow:hidden}.new-army-modal-body{overflow-y:auto}}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.table th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);background:var(--bg-tertiary)}.table tr:hover td{background:#ffffff05}.unit-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;transition:transform var(--transition-fast)}.unit-card:hover{transform:translateY(-2px)}.unit-card-header{padding:1rem;background:linear-gradient(135deg,var(--bg-tertiary),var(--bg-secondary));border-bottom:1px solid var(--border-gold)}.unit-card-header .unit-name{font-family:var(--font-display);font-size:1.125rem;color:var(--accent-gold);margin:0}.unit-card-header .unit-type{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.unit-card-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border-color);padding:1px}.unit-card-stats .stat{background:var(--bg-secondary);padding:.5rem;text-align:center}.unit-card-stats .stat .stat-label{font-size:.625rem;color:var(--text-secondary);text-transform:uppercase}.unit-card-stats .stat .stat-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.unit-card-wounds{padding:1rem;display:flex;align-items:center;justify-content:space-between}.unit-card-wounds .wounds-display{font-size:1.5rem;font-weight:700}.unit-card-wounds .wounds-display .current{color:var(--accent-gold)}.unit-card-wounds .wounds-display .separator{color:var(--text-muted);margin:0 .25rem}.unit-card-wounds .wounds-display .max{color:var(--text-secondary)}.unit-card-wounds .wounds-controls{display:flex;gap:.5rem}.unit-card-wounds .wounds-controls button{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);font-size:1.25rem;cursor:pointer;transition:all var(--transition-fast)}.unit-card-wounds .wounds-controls button:hover{border-color:var(--accent-gold);color:var(--accent-gold)}.unit-card-wounds .wounds-controls button.decrease:hover{border-color:var(--accent-red);color:var(--accent-red)}.unit-card.destroyed{opacity:.5;border-color:var(--accent-red)}.unit-card.destroyed .unit-card-header{background:linear-gradient(135deg,rgba(139,0,0,.3),var(--bg-secondary))}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:700;border-radius:0;text-transform:uppercase;letter-spacing:.5px}.badge-active{background:#228b2233;color:var(--accent-green);border:1px solid var(--accent-green)}.badge-activated{background:#d4af3733;color:var(--accent-gold);border:1px solid var(--accent-gold)}.badge-destroyed{background:#8b000033;color:var(--accent-red-light);border:1px solid var(--accent-red)}.points-display{display:flex;align-items:baseline;gap:.25rem}.points-display .points-value{font-size:1.5rem;font-weight:700;color:var(--accent-gold)}.points-display .points-max{font-size:.875rem;color:var(--text-secondary)}.points-display.over-limit .points-value{color:var(--accent-red)}.progress-bar{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.progress-bar .progress-fill{height:100%;background:var(--accent-gold);border-radius:4px;transition:width var(--transition-normal)}.progress-bar.over-limit .progress-fill{background:var(--accent-red)}.text-gold{color:var(--accent-gold)}.text-red{color:var(--accent-red-light)}.text-green{color:var(--accent-green)}.text-muted{color:var(--text-secondary)}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.panel-header-actions{display:flex;align-items:center;gap:.75rem}.unit-editor-details-btn{margin-left:auto}.prime-editor-section{border:1px solid rgba(212,175,55,.35);border-radius:4px;padding:.75rem;background:#d4af370d}.prime-editor-summary{display:flex;align-items:center;gap:.5rem;margin-bottom:.65rem;color:var(--text-secondary);font-size:.8rem}.prime-editor-section .unit-prime-badge,.unit-main-line .unit-prime-badge,.unit-main-line .unit-prime-trait,.unit-main-line .unit-prime-warning{border-radius:999px;font-size:.625rem;font-weight:700;line-height:1;padding:.25rem .4rem}.prime-editor-section .unit-prime-badge,.unit-main-line .unit-prime-badge{border:1px solid var(--accent-gold);color:var(--accent-gold)}.unit-main-line .unit-prime-trait{background:#d4af371f;color:var(--text-primary)}.unit-main-line .unit-prime-warning{border:1px solid #ff0000;color:red}.prime-editor-description{color:var(--text-secondary);font-size:.78rem;line-height:1.4;margin-top:.5rem}.prime-benefit-slot{margin-top:.75rem;margin-bottom:0}.available-units{max-height:400px;overflow-y:auto}.available-units .unit-option{display:flex;align-items:center;padding:.75rem;border-bottom:1px solid var(--border-color);gap:.75rem}.available-units .unit-option .unit-option-main{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;padding:0;border:none;background:transparent;color:inherit;cursor:pointer;text-align:left;transition:all var(--transition-fast)}.available-units .unit-option .unit-option-main:hover{color:var(--accent-gold)}.available-units .unit-option .unit-name{flex:1;min-width:0}.available-units .unit-option .unit-slot-tag{font-size:.625rem;padding:.125rem .375rem;background:var(--bg-primary);border-radius:2px;color:var(--text-secondary);text-transform:uppercase}.available-units .unit-option .unit-points{color:var(--accent-gold);font-size:.875rem}.available-units .unit-option .unit-option-details{flex-shrink:0}.slot-info-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#d4af371a;border:1px solid var(--accent-gold);border-radius:4px;margin-bottom:.75rem;font-size:.75rem;color:var(--accent-gold)}.slot-info-banner .slot-info-icon{font-size:1rem}.unit-details-modal-backdrop{position:fixed;inset:0;background:#04060ac7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem}.unit-details-modal{width:min(1100px,100%);max-height:calc(100vh - 4rem);display:flex;flex-direction:column;overflow:hidden}.unit-details-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.unit-details-subtitle{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem;color:var(--text-secondary);font-size:.875rem}.unit-details-body{overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.unit-details-state{padding:1rem;border:1px solid var(--border-color);border-radius:6px;background:#ffffff05;color:var(--text-secondary)}.unit-details-section{display:flex;flex-direction:column;gap:.85rem}.unit-details-section-heading{margin:0;color:var(--accent-gold);font-size:1rem}.unit-details-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.unit-details-meta-card{display:flex;flex-direction:column;gap:.35rem;padding:.85rem;border-radius:6px;background:var(--bg-tertiary);border:1px solid var(--border-color)}.unit-details-meta-label{color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.unit-details-meta-value{font-size:1rem;font-weight:600}.unit-details-chip-row{display:flex;flex-wrap:wrap;gap:.5rem}.unit-details-chip{padding:.35rem .65rem;border-radius:999px;background:#d4af371f;border:1px solid rgba(212,175,55,.35);color:var(--accent-gold);font-size:.75rem;line-height:1.2}.unit-details-reference-block,.unit-details-info-section{display:flex;flex-direction:column;gap:.65rem}.unit-details-section-label{font-size:.875rem;font-weight:600}.unit-details-reference-list,.unit-details-rule-list{display:grid;gap:.65rem}.unit-details-reference-item,.unit-details-rule-card,.unit-details-entry{display:flex;flex-direction:column;gap:.5rem;padding:.85rem;border-radius:6px;background:#ffffff05;border:1px solid var(--border-color)}.unit-details-reference-item{flex-direction:row;align-items:center;justify-content:space-between}.unit-details-table-wrap{display:flex;flex-direction:column;gap:.65rem;overflow-x:auto}.unit-details-table{width:100%;border-collapse:collapse;min-width:420px}.unit-details-table th,.unit-details-table td{padding:.65rem .75rem;border:1px solid var(--border-color);text-align:left;vertical-align:top}.unit-details-table th{background:#d4af3714;color:var(--accent-gold);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.unit-details-entry-title,.unit-details-rule-title{font-weight:600}.unit-details-entry-grid{display:grid;gap:.5rem}.unit-details-entry-row{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:.75rem;align-items:start}.unit-details-entry-label{color:var(--text-secondary);font-size:.8125rem}.unit-details-entry-value,.unit-details-rule-description{white-space:pre-wrap;line-height:1.5}@media (max-width: 900px){.unit-details-modal-backdrop{padding:1rem}.unit-details-modal{max-height:calc(100vh - 2rem)}.unit-details-entry-row{grid-template-columns:1fr;gap:.25rem}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:root[data-visual-theme=loyalist],:root[data-visual-theme-family=loyalist]{color-scheme:light}:root[data-visual-theme=loyalist] body,:root[data-visual-theme-family=loyalist] body{color:var(--text-primary);background:radial-gradient(ellipse at 18% 8%,rgba(120,90,50,.08) 0%,transparent 48%),radial-gradient(ellipse at 82% 92%,rgba(140,100,60,.07) 0%,transparent 52%),linear-gradient(90deg,rgba(80,60,32,.03) 0 1px,transparent 1px 42px),var(--bg-primary)}:root[data-visual-theme=loyalist] ::selection,:root[data-visual-theme-family=loyalist] ::selection{background:rgb(var(--theme-accent-rgb)/.24);color:var(--text-primary)}:root[data-visual-theme=loyalist] .app-container,:root[data-visual-theme-family=loyalist] .app-container{background:#0a0806}:root[data-visual-theme=loyalist] .main-content,:root[data-visual-theme-family=loyalist] .main-content{color:var(--text-primary);background-color:var(--bg-primary);background-image:radial-gradient(ellipse at 20% 10%,rgba(120,90,50,.065) 0%,transparent 55%),radial-gradient(ellipse at 80% 90%,rgba(140,100,60,.055) 0%,transparent 60%),linear-gradient(90deg,rgba(60,40,20,.025) 0 1px,transparent 1px 44px);padding:2.65rem 3.5rem!important;box-shadow:inset 18px 0 32px -28px #20160c73}:root[data-visual-theme=loyalist] .sidebar,:root[data-visual-theme-family=loyalist] .sidebar{width:280px!important;padding:0!important;color:#cdbf9a;background-color:var(--theme-sidebar-bg);background-image:radial-gradient(ellipse at 30% 0%,rgba(80,60,30,.18) 0%,transparent 60%),radial-gradient(ellipse at 70% 100%,rgba(40,28,12,.48) 0%,transparent 70%);border-right:1px solid #000;box-shadow:inset -1px 0 #000,4px 0 24px -10px #0000009e}:root[data-visual-theme=loyalist] .logo,:root[data-visual-theme-family=loyalist] .logo{padding:2.65rem 1.7rem 1.75rem!important;border-bottom-color:#3a301f}:root[data-visual-theme=loyalist] .logo .logo-mark,:root[data-visual-theme-family=loyalist] .logo .logo-mark{width:min(190px,100%)!important;height:auto!important;object-fit:contain;padding:0;margin-bottom:0!important;background:none;border:0;box-shadow:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.82)) drop-shadow(0 0 12px rgba(214,178,113,.18))}:root[data-visual-theme=loyalist] .logo h1,:root[data-visual-theme-family=loyalist] .logo h1{display:none;color:#d6b271;font-variant:small-caps;letter-spacing:.06em;text-shadow:0 1px 0 #000}:root[data-visual-theme=loyalist] .logo .subtitle,:root[data-visual-theme-family=loyalist] .logo .subtitle{display:none;color:#8a7c5f;letter-spacing:.22em}:root[data-visual-theme=loyalist] .nav-links,:root[data-visual-theme-family=loyalist] .nav-links{display:flex!important;flex-direction:column!important;gap:.12rem!important;padding:1.45rem 1rem!important}:root[data-visual-theme=loyalist] .nav-links li a,:root[data-visual-theme-family=loyalist] .nav-links li a{display:grid!important;grid-template-columns:28px minmax(0,1fr) auto!important;gap:.95rem!important;align-items:center!important;min-height:3.05rem!important;padding:.8rem .9rem!important;color:#cdbf9a!important;font-family:var(--font-display);font-variant:small-caps;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border-left-width:2px!important;border-left-color:transparent!important}:root[data-visual-theme=loyalist] .nav-links li a:hover,:root[data-visual-theme-family=loyalist] .nav-links li a:hover{color:#d6b271!important;background:#b8924c12!important}:root[data-visual-theme=loyalist] .nav-links li a.active,:root[data-visual-theme-family=loyalist] .nav-links li a.active{color:rgb(var(--theme-accent-contrast-rgb))!important;background:linear-gradient(to right,rgb(var(--theme-accent-rgb)/.45),rgb(var(--theme-accent-rgb)/.08) 62%,transparent)!important;border-left-color:var(--accent-red-light)!important}:root[data-visual-theme=loyalist] .nav-links li a.active .icon,:root[data-visual-theme=loyalist] .nav-links li a.active .nav-icon-svg,:root[data-visual-theme-family=loyalist] .nav-links li a.active .icon,:root[data-visual-theme-family=loyalist] .nav-links li a.active .nav-icon-svg{color:#d6b271!important}:root[data-visual-theme=loyalist] .nav-links .nav-label,:root[data-visual-theme-family=loyalist] .nav-links .nav-label{color:inherit!important;min-width:0}:root[data-visual-theme=loyalist] .nav-links .nav-icon-svg,:root[data-visual-theme=loyalist] .nav-links .icon,:root[data-visual-theme-family=loyalist] .nav-links .nav-icon-svg,:root[data-visual-theme-family=loyalist] .nav-links .icon{width:1.15rem!important;height:1.15rem!important;color:#8a7c5f!important;font-size:1.05rem!important}:root[data-visual-theme=loyalist] .nav-links .nav-count,:root[data-visual-theme-family=loyalist] .nav-links .nav-count{min-width:1.3rem;padding:.05rem .28rem!important;color:#8a7c5f!important;border-color:#3a301f!important;background:#0000001f;text-align:center}:root[data-visual-theme=loyalist] .language-switcher,:root[data-visual-theme-family=loyalist] .language-switcher{justify-content:flex-start!important;padding:1rem 1.45rem!important;border-top:1px solid rgba(58,48,31,.75)}:root[data-visual-theme=loyalist] .language-switcher .lang-btn,:root[data-visual-theme-family=loyalist] .language-switcher .lang-btn{flex:0 0 48px!important;color:#cdbf9a!important;background:#00000029!important;border-color:#3a301f!important;font-family:var(--font-display);letter-spacing:.08em}:root[data-visual-theme=loyalist] .language-switcher .lang-btn:hover,:root[data-visual-theme-family=loyalist] .language-switcher .lang-btn:hover{color:#d6b271!important;border-color:#8a6d34!important}:root[data-visual-theme=loyalist] .language-switcher .lang-btn.active,:root[data-visual-theme-family=loyalist] .language-switcher .lang-btn.active{color:rgb(var(--theme-accent-contrast-rgb))!important;background:var(--accent-red)!important;border-color:var(--accent-red-light)!important}:root[data-visual-theme=loyalist] .sidebar-footer,:root[data-visual-theme-family=loyalist] .sidebar-footer{padding:.8rem 1.45rem 1.15rem!important;border-top-color:#3a301f}:root[data-visual-theme=loyalist] .sidebar-footer .version,:root[data-visual-theme-family=loyalist] .sidebar-footer .version{color:#8a7c5f}:root[data-visual-theme=loyalist] h1,:root[data-visual-theme=loyalist] h2,:root[data-visual-theme=loyalist] h3,:root[data-visual-theme=loyalist] h4,:root[data-visual-theme=loyalist] h5,:root[data-visual-theme=loyalist] h6,:root[data-visual-theme-family=loyalist] h1,:root[data-visual-theme-family=loyalist] h2,:root[data-visual-theme-family=loyalist] h3,:root[data-visual-theme-family=loyalist] h4,:root[data-visual-theme-family=loyalist] h5,:root[data-visual-theme-family=loyalist] h6{color:var(--text-primary);font-variant:small-caps;letter-spacing:.04em}:root[data-visual-theme=loyalist] .title-gold,:root[data-visual-theme=loyalist] .text-gold,:root[data-visual-theme-family=loyalist] .title-gold,:root[data-visual-theme-family=loyalist] .text-gold{color:var(--accent-red)}:root[data-visual-theme=loyalist] .text-muted,:root[data-visual-theme=loyalist] .muted,:root[data-visual-theme-family=loyalist] .text-muted,:root[data-visual-theme-family=loyalist] .muted{color:var(--text-secondary)}:root[data-visual-theme=loyalist] .text-red,:root[data-visual-theme-family=loyalist] .text-red{color:var(--accent-red)}:root[data-visual-theme=loyalist] .page-header,:root[data-visual-theme-family=loyalist] .page-header{border-bottom:1px solid rgba(107,88,57,.34);padding-bottom:1.15rem}:root[data-visual-theme=loyalist] .page-header .title-gold,:root[data-visual-theme-family=loyalist] .page-header .title-gold{color:var(--text-primary);font-size:2.25rem;line-height:1}:root[data-visual-theme=loyalist] .page-header p,:root[data-visual-theme-family=loyalist] .page-header p{color:var(--text-secondary)}:root[data-visual-theme=loyalist] .card,:root[data-visual-theme=loyalist] .unit-card,:root[data-visual-theme=loyalist] .modal-card,:root[data-visual-theme=loyalist] .builder-confirm-modal,:root[data-visual-theme=loyalist] .unit-details-modal,:root[data-visual-theme-family=loyalist] .card,:root[data-visual-theme-family=loyalist] .unit-card,:root[data-visual-theme-family=loyalist] .modal-card,:root[data-visual-theme-family=loyalist] .builder-confirm-modal,:root[data-visual-theme-family=loyalist] .unit-details-modal{position:relative;color:var(--text-primary);background:linear-gradient(to right,rgb(var(--theme-accent-rgb)/.045),transparent 32%),#e4d6ba;border:1px solid #b89a6a;border-radius:4px;box-shadow:var(--shadow-md)}:root[data-visual-theme=loyalist] .card:before,:root[data-visual-theme=loyalist] .unit-card:before,:root[data-visual-theme=loyalist] .modal-card:before,:root[data-visual-theme=loyalist] .builder-confirm-modal:before,:root[data-visual-theme=loyalist] .unit-details-modal:before,:root[data-visual-theme-family=loyalist] .card:before,:root[data-visual-theme-family=loyalist] .unit-card:before,:root[data-visual-theme-family=loyalist] .modal-card:before,:root[data-visual-theme-family=loyalist] .builder-confirm-modal:before,:root[data-visual-theme-family=loyalist] .unit-details-modal:before{content:"";position:absolute;inset:4px;border:1px solid rgba(154,126,77,.48);pointer-events:none}:root[data-visual-theme=loyalist] .card-header,:root[data-visual-theme=loyalist] .card-body,:root[data-visual-theme=loyalist] .card-footer,:root[data-visual-theme=loyalist] .modal-card>*,:root[data-visual-theme=loyalist] .builder-confirm-modal>*,:root[data-visual-theme=loyalist] .unit-details-modal>*,:root[data-visual-theme-family=loyalist] .card-header,:root[data-visual-theme-family=loyalist] .card-body,:root[data-visual-theme-family=loyalist] .card-footer,:root[data-visual-theme-family=loyalist] .modal-card>*,:root[data-visual-theme-family=loyalist] .builder-confirm-modal>*,:root[data-visual-theme-family=loyalist] .unit-details-modal>*{position:relative;z-index:1}:root[data-visual-theme=loyalist] .card-header,:root[data-visual-theme=loyalist] .card-footer,:root[data-visual-theme=loyalist] .builder-confirm-header,:root[data-visual-theme=loyalist] .builder-confirm-actions,:root[data-visual-theme-family=loyalist] .card-header,:root[data-visual-theme-family=loyalist] .card-footer,:root[data-visual-theme-family=loyalist] .builder-confirm-header,:root[data-visual-theme-family=loyalist] .builder-confirm-actions{background:#c7b38747;border-color:#b89a6a}:root[data-visual-theme=loyalist] .card-header h2,:root[data-visual-theme=loyalist] .card-header h3,:root[data-visual-theme-family=loyalist] .card-header h2,:root[data-visual-theme-family=loyalist] .card-header h3{color:var(--text-primary)}:root[data-visual-theme=loyalist] .card-gold,:root[data-visual-theme-family=loyalist] .card-gold{border-color:#8a6d34b8}:root[data-visual-theme=loyalist] .card-gold .card-header,:root[data-visual-theme-family=loyalist] .card-gold .card-header{border-bottom-color:#8a6d348c;background:#b8924c29}:root[data-visual-theme=loyalist] .card-gold .card-header h2,:root[data-visual-theme=loyalist] .card-gold .card-header h3,:root[data-visual-theme-family=loyalist] .card-gold .card-header h2,:root[data-visual-theme-family=loyalist] .card-gold .card-header h3{color:var(--text-primary)}:root[data-visual-theme=loyalist] .btn,:root[data-visual-theme-family=loyalist] .btn{border-radius:2px;font-family:var(--font-display);font-variant:small-caps;font-weight:700;letter-spacing:.08em;text-transform:uppercase}:root[data-visual-theme=loyalist] .btn-primary,:root[data-visual-theme-family=loyalist] .btn-primary{color:rgb(var(--theme-accent-contrast-rgb));background:linear-gradient(to bottom,var(--accent-red-light),var(--accent-red));border-color:rgb(var(--theme-accent-border-rgb)/.95);box-shadow:inset 0 1px #ffdcaa2e,inset 0 0 0 1px #0003,0 1px #0000002e}:root[data-visual-theme=loyalist] .btn-primary:hover:not(:disabled),:root[data-visual-theme-family=loyalist] .btn-primary:hover:not(:disabled){color:rgb(var(--theme-accent-contrast-rgb));background:linear-gradient(to bottom,var(--accent-red),var(--accent-red-light));border-color:rgb(var(--theme-accent-border-rgb)/1)}:root[data-visual-theme=loyalist] .btn-secondary,:root[data-visual-theme-family=loyalist] .btn-secondary{color:var(--text-primary);background:#f5ecd870;border-color:#5f482b}:root[data-visual-theme=loyalist] .btn-secondary:hover:not(:disabled),:root[data-visual-theme-family=loyalist] .btn-secondary:hover:not(:disabled){color:var(--accent-red);background:rgb(var(--theme-accent-rgb)/.06);border-color:var(--accent-red)}:root[data-visual-theme=loyalist] .btn-icon,:root[data-visual-theme-family=loyalist] .btn-icon{width:2.35rem;height:2.35rem;min-width:2.35rem;min-height:2.35rem;padding:0!important;color:#24170b;background:#efe7d494;border-color:#5f482b}:root[data-visual-theme=loyalist] .btn-icon .icon-svg,:root[data-visual-theme-family=loyalist] .btn-icon .icon-svg{width:1rem;height:1rem;color:currentColor}:root[data-visual-theme=loyalist] .btn-icon:disabled,:root[data-visual-theme-family=loyalist] .btn-icon:disabled{color:#9b907a;border-color:#5f482b61;background:#efe7d452}:root[data-visual-theme=loyalist] .btn-danger,:root[data-visual-theme-family=loyalist] .btn-danger{color:rgb(var(--theme-accent-contrast-rgb));background:var(--accent-red);border-color:rgb(var(--theme-accent-border-rgb)/.95)}:root[data-visual-theme=loyalist] .form-label,:root[data-visual-theme=loyalist] label,:root[data-visual-theme-family=loyalist] .form-label,:root[data-visual-theme-family=loyalist] label{color:var(--text-secondary)}:root[data-visual-theme=loyalist] .form-control,:root[data-visual-theme=loyalist] input,:root[data-visual-theme=loyalist] select,:root[data-visual-theme=loyalist] textarea,:root[data-visual-theme-family=loyalist] .form-control,:root[data-visual-theme-family=loyalist] input,:root[data-visual-theme-family=loyalist] select,:root[data-visual-theme-family=loyalist] textarea{color:var(--text-primary);background:#efe7d4a3;border-color:var(--accent-blue);border-radius:2px;font-family:var(--font-body)}:root[data-visual-theme=loyalist] .form-control:focus,:root[data-visual-theme=loyalist] input:focus,:root[data-visual-theme=loyalist] select:focus,:root[data-visual-theme=loyalist] textarea:focus,:root[data-visual-theme-family=loyalist] .form-control:focus,:root[data-visual-theme-family=loyalist] input:focus,:root[data-visual-theme-family=loyalist] select:focus,:root[data-visual-theme-family=loyalist] textarea:focus{border-color:var(--accent-red);box-shadow:0 0 0 2px rgb(var(--theme-accent-rgb)/.14)}:root[data-visual-theme=loyalist] .form-control::placeholder,:root[data-visual-theme=loyalist] input::placeholder,:root[data-visual-theme=loyalist] select::placeholder,:root[data-visual-theme=loyalist] textarea::placeholder,:root[data-visual-theme-family=loyalist] .form-control::placeholder,:root[data-visual-theme-family=loyalist] input::placeholder,:root[data-visual-theme-family=loyalist] select::placeholder,:root[data-visual-theme-family=loyalist] textarea::placeholder{color:var(--text-muted)}:root[data-visual-theme=loyalist] input[type=checkbox],:root[data-visual-theme=loyalist] input[type=radio],:root[data-visual-theme-family=loyalist] input[type=checkbox],:root[data-visual-theme-family=loyalist] input[type=radio]{accent-color:var(--accent-red)}:root[data-visual-theme=loyalist] .table,:root[data-visual-theme=loyalist] .data-table,:root[data-visual-theme=loyalist] .unit-details-table,:root[data-visual-theme-family=loyalist] .table,:root[data-visual-theme-family=loyalist] .data-table,:root[data-visual-theme-family=loyalist] .unit-details-table{color:var(--text-primary)}:root[data-visual-theme=loyalist] .table th,:root[data-visual-theme=loyalist] .data-table th,:root[data-visual-theme=loyalist] .unit-details-table th,:root[data-visual-theme-family=loyalist] .table th,:root[data-visual-theme-family=loyalist] .data-table th,:root[data-visual-theme-family=loyalist] .unit-details-table th{color:var(--accent-red);background:#c9bb9547;border-color:var(--border-color);font-family:var(--font-display);font-variant:small-caps;letter-spacing:.08em}:root[data-visual-theme=loyalist] .table td,:root[data-visual-theme=loyalist] .data-table td,:root[data-visual-theme=loyalist] .unit-details-table td,:root[data-visual-theme-family=loyalist] .table td,:root[data-visual-theme-family=loyalist] .data-table td,:root[data-visual-theme-family=loyalist] .unit-details-table td{border-color:#6b583947}:root[data-visual-theme=loyalist] .table tr:hover td,:root[data-visual-theme=loyalist] .data-table tr:hover td,:root[data-visual-theme=loyalist] .unit-details-table tr:hover td,:root[data-visual-theme-family=loyalist] .table tr:hover td,:root[data-visual-theme-family=loyalist] .data-table tr:hover td,:root[data-visual-theme-family=loyalist] .unit-details-table tr:hover td{background:rgb(var(--theme-accent-rgb)/.035)}:root[data-visual-theme=loyalist] .badge,:root[data-visual-theme-family=loyalist] .badge{border-radius:0;font-family:var(--font-display);font-variant:small-caps;letter-spacing:.08em}:root[data-visual-theme=loyalist] .badge-active,:root[data-visual-theme=loyalist] .badge-activated,:root[data-visual-theme-family=loyalist] .badge-active,:root[data-visual-theme-family=loyalist] .badge-activated{background:#4a6b2a1f;color:#3f5f24;border-color:#4a6b2a}:root[data-visual-theme=loyalist] .badge-destroyed,:root[data-visual-theme-family=loyalist] .badge-destroyed{background:#ff000014;color:red;border-color:red}:root[data-visual-theme=loyalist] .progress-bar,:root[data-visual-theme=loyalist] .progress,:root[data-visual-theme-family=loyalist] .progress-bar,:root[data-visual-theme-family=loyalist] .progress{background:#5f482b40;border:1px solid rgba(95,72,43,.34)}:root[data-visual-theme=loyalist] .progress-fill,:root[data-visual-theme=loyalist] .fill,:root[data-visual-theme-family=loyalist] .progress-fill,:root[data-visual-theme-family=loyalist] .fill{background:linear-gradient(90deg,#7d5f25,#c49a45)}:root[data-visual-theme=loyalist] .progress-bar.over-limit .progress-fill,:root[data-visual-theme-family=loyalist] .progress-bar.over-limit .progress-fill{background:linear-gradient(90deg,var(--accent-red) 0%,var(--accent-red-light) 100%)}:root[data-visual-theme=loyalist] .points-display .points-value,:root[data-visual-theme=loyalist] .points-display .points-max,:root[data-visual-theme=loyalist] .unit-points,:root[data-visual-theme=loyalist] .detachment-points,:root[data-visual-theme-family=loyalist] .points-display .points-value,:root[data-visual-theme-family=loyalist] .points-display .points-max,:root[data-visual-theme-family=loyalist] .unit-points,:root[data-visual-theme-family=loyalist] .detachment-points{color:var(--text-primary)}:root[data-visual-theme=loyalist] .points-display .points-value,:root[data-visual-theme-family=loyalist] .points-display .points-value{font-family:var(--font-display);color:var(--text-primary)}:root[data-visual-theme=loyalist] .points-display.over-limit .points-value,:root[data-visual-theme-family=loyalist] .points-display.over-limit .points-value{color:var(--accent-red)}:root[data-visual-theme=loyalist] .modal,:root[data-visual-theme=loyalist] .modal-backdrop,:root[data-visual-theme=loyalist] .builder-confirm-backdrop,:root[data-visual-theme=loyalist] .unit-details-modal-backdrop,:root[data-visual-theme-family=loyalist] .modal,:root[data-visual-theme-family=loyalist] .modal-backdrop,:root[data-visual-theme-family=loyalist] .builder-confirm-backdrop,:root[data-visual-theme-family=loyalist] .unit-details-modal-backdrop{background:#0c0906b8}:root[data-visual-theme=loyalist] .global-loader-panel,:root[data-visual-theme-family=loyalist] .global-loader-panel{background:var(--bg-secondary);border-color:var(--accent-gold)}:root[data-visual-theme=loyalist] .global-loader-spinner,:root[data-visual-theme-family=loyalist] .global-loader-spinner{border-color:rgb(var(--theme-accent-rgb)/.18);border-top-color:var(--accent-red)}:root[data-visual-theme=loyalist] .builder-page,:root[data-visual-theme-family=loyalist] .builder-page{color:var(--text-primary)}:root[data-visual-theme=loyalist] .builder-page .page-header,:root[data-visual-theme-family=loyalist] .builder-page .page-header{margin-bottom:1.4rem}:root[data-visual-theme=loyalist] .builder-page .page-header-main,:root[data-visual-theme-family=loyalist] .builder-page .page-header-main{align-items:flex-start!important}:root[data-visual-theme=loyalist] .builder-page .page-header .title-gold,:root[data-visual-theme-family=loyalist] .builder-page .page-header .title-gold{font-size:2.65rem}:root[data-visual-theme=loyalist] .builder-header-actions,:root[data-visual-theme-family=loyalist] .builder-header-actions{align-items:center}:root[data-visual-theme=loyalist] .editor-topbar,:root[data-visual-theme-family=loyalist] .editor-topbar{padding-bottom:1rem;border-bottom:1px solid rgba(107,88,57,.28)}:root[data-visual-theme=loyalist] .editor-topbar h2,:root[data-visual-theme-family=loyalist] .editor-topbar h2{color:var(--text-primary);font-size:1.65rem}:root[data-visual-theme=loyalist] .editor-kicker,:root[data-visual-theme-family=loyalist] .editor-kicker{color:var(--accent-red);font-family:var(--font-display);font-variant:small-caps;letter-spacing:.18em}:root[data-visual-theme=loyalist] .json-io-feedback,:root[data-visual-theme=loyalist] .catalog-status,:root[data-visual-theme=loyalist] .slot-info-banner,:root[data-visual-theme=loyalist] .sync-feedback,:root[data-visual-theme-family=loyalist] .json-io-feedback,:root[data-visual-theme-family=loyalist] .catalog-status,:root[data-visual-theme-family=loyalist] .slot-info-banner,:root[data-visual-theme-family=loyalist] .sync-feedback{color:var(--text-primary);background:#b8924c1f;border-color:#b8924c61}:root[data-visual-theme=loyalist] .json-io-feedback.success,:root[data-visual-theme=loyalist] .catalog-status.success,:root[data-visual-theme=loyalist] .sync-feedback.success,:root[data-visual-theme-family=loyalist] .json-io-feedback.success,:root[data-visual-theme-family=loyalist] .catalog-status.success,:root[data-visual-theme-family=loyalist] .sync-feedback.success{background:#4a6b2a1f;border-color:#4a6b2a61}:root[data-visual-theme=loyalist] .json-io-feedback.error,:root[data-visual-theme=loyalist] .catalog-status.error,:root[data-visual-theme=loyalist] .sync-feedback.error,:root[data-visual-theme-family=loyalist] .json-io-feedback.error,:root[data-visual-theme-family=loyalist] .catalog-status.error,:root[data-visual-theme-family=loyalist] .sync-feedback.error{color:var(--accent-red);background:rgb(var(--theme-accent-rgb)/.1);border-color:rgb(var(--theme-accent-rgb)/.36)}:root[data-visual-theme=loyalist] .points-bar .card-body,:root[data-visual-theme-family=loyalist] .points-bar .card-body{background:linear-gradient(to bottom,rgba(255,255,255,.18),transparent),#e5d7b9c7;padding:1.55rem 1.7rem!important}:root[data-visual-theme=loyalist] .points-bar,:root[data-visual-theme-family=loyalist] .points-bar{border-color:#c6a66d!important}:root[data-visual-theme=loyalist] .points-bar .points-remaining,:root[data-visual-theme-family=loyalist] .points-bar .points-remaining{color:var(--accent-red);font-family:var(--font-display);font-size:1rem;font-variant:small-caps;font-weight:700;letter-spacing:.08em}:root[data-visual-theme=loyalist] .points-bar .points-display .points-value,:root[data-visual-theme-family=loyalist] .points-bar .points-display .points-value{font-size:2.9rem!important;line-height:1!important}:root[data-visual-theme=loyalist] .points-bar .points-display .points-max,:root[data-visual-theme-family=loyalist] .points-bar .points-display .points-max{font-size:1.55rem!important;color:var(--text-secondary)!important}:root[data-visual-theme=loyalist] .points-bar .limits-row,:root[data-visual-theme-family=loyalist] .points-bar .limits-row{gap:2.2rem!important;row-gap:.65rem!important;font-size:.95rem!important}:root[data-visual-theme=loyalist] .limits-row .limit-label,:root[data-visual-theme=loyalist] .limits-row .limit-detail,:root[data-visual-theme-family=loyalist] .limits-row .limit-label,:root[data-visual-theme-family=loyalist] .limits-row .limit-detail{color:var(--text-secondary)}:root[data-visual-theme=loyalist] .points-bar .limits-row .limit-detail,:root[data-visual-theme-family=loyalist] .points-bar .limits-row .limit-detail{font-size:.9rem!important}:root[data-visual-theme=loyalist] .list-item,:root[data-visual-theme=loyalist] .export-army-row,:root[data-visual-theme=loyalist] .detachment-option,:root[data-visual-theme=loyalist] .unit-option,:root[data-visual-theme=loyalist] .unit-details-reference-item,:root[data-visual-theme=loyalist] .unit-details-rule-card,:root[data-visual-theme=loyalist] .unit-details-entry,:root[data-visual-theme=loyalist] .unit-details-meta-card,:root[data-visual-theme-family=loyalist] .list-item,:root[data-visual-theme-family=loyalist] .export-army-row,:root[data-visual-theme-family=loyalist] .detachment-option,:root[data-visual-theme-family=loyalist] .unit-option,:root[data-visual-theme-family=loyalist] .unit-details-reference-item,:root[data-visual-theme-family=loyalist] .unit-details-rule-card,:root[data-visual-theme-family=loyalist] .unit-details-entry,:root[data-visual-theme-family=loyalist] .unit-details-meta-card{color:var(--text-primary);background:#ebe0c6c2;border:1px solid #b89a6a;border-radius:2px}:root[data-visual-theme=loyalist] .list-item:hover,:root[data-visual-theme=loyalist] .export-army-row:hover,:root[data-visual-theme=loyalist] .detachment-option:hover,:root[data-visual-theme=loyalist] .unit-option:hover,:root[data-visual-theme-family=loyalist] .list-item:hover,:root[data-visual-theme-family=loyalist] .export-army-row:hover,:root[data-visual-theme-family=loyalist] .detachment-option:hover,:root[data-visual-theme-family=loyalist] .unit-option:hover{background:rgb(var(--theme-accent-rgb)/.07);border-color:rgb(var(--theme-accent-rgb)/.55)}:root[data-visual-theme=loyalist] .list-item.active,:root[data-visual-theme=loyalist] .detachment-card.selected,:root[data-visual-theme=loyalist] .unit-row.selected,:root[data-visual-theme-family=loyalist] .list-item.active,:root[data-visual-theme-family=loyalist] .detachment-card.selected,:root[data-visual-theme-family=loyalist] .unit-row.selected{background:rgb(var(--theme-accent-rgb)/.08);border-color:var(--accent-red)}:root[data-visual-theme=loyalist] .builder-page .lists-panel,:root[data-visual-theme-family=loyalist] .builder-page .lists-panel{width:min(720px,100%)!important;max-width:720px!important}:root[data-visual-theme=loyalist] .builder-layout.listing-mode .lists-panel,:root[data-visual-theme-family=loyalist] .builder-layout.listing-mode .lists-panel{width:min(720px,100%)!important;max-width:720px!important}:root[data-visual-theme=loyalist] .builder-page .list-item,:root[data-visual-theme-family=loyalist] .builder-page .list-item{min-height:5.8rem;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:.9rem!important;align-items:center!important;padding:1rem 1.15rem!important;margin-bottom:.65rem!important}:root[data-visual-theme=loyalist] .builder-page .list-info,:root[data-visual-theme-family=loyalist] .builder-page .list-info{gap:.28rem!important}:root[data-visual-theme=loyalist] .builder-page .list-name,:root[data-visual-theme-family=loyalist] .builder-page .list-name{color:#120b05;font-family:var(--font-body);font-size:1.08rem;font-weight:600!important}:root[data-visual-theme=loyalist] .builder-page .list-meta,:root[data-visual-theme-family=loyalist] .builder-page .list-meta{color:#2f2111!important;font-size:.86rem!important}:root[data-visual-theme=loyalist] .builder-page .list-points,:root[data-visual-theme-family=loyalist] .builder-page .list-points{color:#8a6d34!important;font-size:.82rem!important}:root[data-visual-theme=loyalist] .allegiance-badge.loyalist,:root[data-visual-theme-family=loyalist] .allegiance-badge.loyalist{color:#f4ead0;background:#6b5839}:root[data-visual-theme=loyalist] .allegiance-badge.traitor,:root[data-visual-theme-family=loyalist] .allegiance-badge.traitor{color:#f4ead0;background:var(--accent-red)}:root[data-visual-theme=loyalist] .detachment-card .card-header,:root[data-visual-theme-family=loyalist] .detachment-card .card-header{min-height:4rem;padding:1.15rem 1.65rem!important;background:#c7b38757;border-bottom-color:#b89a6a!important}:root[data-visual-theme=loyalist] .detachment-card .card-header .detachment-title,:root[data-visual-theme-family=loyalist] .detachment-card .card-header .detachment-title{align-items:flex-start!important}:root[data-visual-theme=loyalist] .detachment-card .card-header h3,:root[data-visual-theme-family=loyalist] .detachment-card .card-header h3{max-width:24ch;font-size:1.5rem!important;line-height:1.08!important;color:var(--text-primary)!important}:root[data-visual-theme=loyalist] .detachment-card .card-header .detachment-points,:root[data-visual-theme-family=loyalist] .detachment-card .card-header .detachment-points{color:#8a6d34!important;font-family:var(--font-body);font-size:.95rem!important;font-weight:600!important}:root[data-visual-theme=loyalist] .detachment-type-badge,:root[data-visual-theme-family=loyalist] .detachment-type-badge{border-radius:0;font-family:var(--font-display);font-variant:small-caps;letter-spacing:.08em}:root[data-visual-theme=loyalist] .detachment-type-badge.primary,:root[data-visual-theme-family=loyalist] .detachment-type-badge.primary{color:rgb(var(--theme-accent-contrast-rgb));background:var(--accent-red);border:1px solid rgb(var(--theme-accent-border-rgb)/.95)}:root[data-visual-theme=loyalist] .detachment-type-badge.auxiliary,:root[data-visual-theme-family=loyalist] .detachment-type-badge.auxiliary{color:#f4ead0;background:#4a6b2a}:root[data-visual-theme=loyalist] .detachment-type-badge.apex,:root[data-visual-theme-family=loyalist] .detachment-type-badge.apex{color:#f4ead0;background:#6b5839}:root[data-visual-theme=loyalist] .detachment-type-badge.allied,:root[data-visual-theme-family=loyalist] .detachment-type-badge.allied{color:#f4ead0;background:#5b6a74}:root[data-visual-theme=loyalist] .detachment-type-badge.lord_of_war,:root[data-visual-theme=loyalist] .detachment-type-badge.lord_of_battles,:root[data-visual-theme-family=loyalist] .detachment-type-badge.lord_of_war,:root[data-visual-theme-family=loyalist] .detachment-type-badge.lord_of_battles{color:#f4ead0;background:#5a120f}:root[data-visual-theme=loyalist] .slot-item,:root[data-visual-theme-family=loyalist] .slot-item{display:grid!important;grid-template-rows:2.35rem 4.05rem 1.45rem 1rem;align-items:center!important;justify-items:center!important;min-height:10.15rem!important;padding:1.2rem .75rem .9rem!important;gap:.05rem!important;position:relative!important;overflow:hidden;color:#746b60;background:linear-gradient(180deg,#e6e0d3f0,#dbd3c3e6);border:1px solid rgba(104,58,50,.42);border-radius:2px;box-shadow:inset 0 1px #ffffff57,0 1px #3c2a1c14}:root[data-visual-theme=loyalist] .slot-item:before,:root[data-visual-theme-family=loyalist] .slot-item:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:rgb(var(--theme-accent-rgb)/.7);opacity:.42}:root[data-visual-theme=loyalist] .slot-item:hover,:root[data-visual-theme-family=loyalist] .slot-item:hover{color:#17110a;background:linear-gradient(180deg,#e2dccffa,#d7cebdf0);border-color:rgb(var(--theme-accent-border-rgb)/.72)}:root[data-visual-theme=loyalist] .slot-item:hover:before,:root[data-visual-theme-family=loyalist] .slot-item:hover:before{opacity:.72}:root[data-visual-theme=loyalist] .slot-item.has-units,:root[data-visual-theme-family=loyalist] .slot-item.has-units{color:#17110a;background:linear-gradient(180deg,#e2dbccfa,#d4cab8f2);border-color:rgb(var(--theme-accent-border-rgb)/.86);box-shadow:inset 0 0 0 1px rgb(var(--theme-accent-rgb)/.13),inset 0 1px #ffffff47}:root[data-visual-theme=loyalist] .slot-item.has-units:before,:root[data-visual-theme-family=loyalist] .slot-item.has-units:before{height:4px;opacity:.9}:root[data-visual-theme=loyalist] .slot-item.is-primary,:root[data-visual-theme-family=loyalist] .slot-item.is-primary{color:#17110a;background:linear-gradient(180deg,#e0d9cafa,#d1c7b5f2);border-color:rgb(var(--theme-accent-border-rgb)/.9);box-shadow:inset 0 0 0 1px rgb(var(--theme-accent-rgb)/.16),inset 0 1px #ffffff47}:root[data-visual-theme=loyalist] .slot-item.is-primary:before,:root[data-visual-theme-family=loyalist] .slot-item.is-primary:before{height:4px;opacity:.96}:root[data-visual-theme=loyalist] .slot-item.has-units.is-primary,:root[data-visual-theme-family=loyalist] .slot-item.has-units.is-primary{background:linear-gradient(180deg,#ded6c6,#ccc1aef5);border-color:rgb(var(--theme-accent-border-rgb)/1)}:root[data-visual-theme=loyalist] .slot-item .slot-name,:root[data-visual-theme=loyalist] .slot-item .slot-count,:root[data-visual-theme=loyalist] .slot-item .slot-prime-count,:root[data-visual-theme-family=loyalist] .slot-item .slot-name,:root[data-visual-theme-family=loyalist] .slot-item .slot-count,:root[data-visual-theme-family=loyalist] .slot-item .slot-prime-count{color:currentColor!important}:root[data-visual-theme=loyalist] .slot-item .slot-icon,:root[data-visual-theme-family=loyalist] .slot-item .slot-icon{grid-row:1;color:currentColor!important;width:2.15rem;height:2.15rem;display:grid;place-items:center;font-weight:500;line-height:1!important;margin-bottom:0!important}:root[data-visual-theme=loyalist] .slot-item .slot-icon svg,:root[data-visual-theme-family=loyalist] .slot-item .slot-icon svg{width:1.85rem;height:1.85rem;display:block}:root[data-visual-theme=loyalist] .slot-item .slot-icon[data-slot=transport] svg,:root[data-visual-theme=loyalist] .slot-item .slot-icon[data-slot=heavy_transport] svg,:root[data-visual-theme=loyalist] .slot-item .slot-icon[data-slot=war_engine] svg,:root[data-visual-theme=loyalist] .slot-item .slot-icon[data-slot=armoured] svg,:root[data-visual-theme-family=loyalist] .slot-item .slot-icon[data-slot=transport] svg,:root[data-visual-theme-family=loyalist] .slot-item .slot-icon[data-slot=heavy_transport] svg,:root[data-visual-theme-family=loyalist] .slot-item .slot-icon[data-slot=war_engine] svg,:root[data-visual-theme-family=loyalist] .slot-item .slot-icon[data-slot=armoured] svg{width:2.05rem}:root[data-visual-theme=loyalist] .slot-item .slot-name,:root[data-visual-theme-family=loyalist] .slot-item .slot-name{grid-row:2;width:100%;min-height:4.05rem;display:flex!important;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.5rem!important;line-height:1.1!important;font-variant:small-caps;font-weight:700;text-align:center;overflow-wrap:anywhere}:root[data-visual-theme=loyalist] .slot-item .slot-count,:root[data-visual-theme-family=loyalist] .slot-item .slot-count{grid-row:3;color:currentColor!important;margin-top:0!important;font-size:1.08rem!important;font-weight:700!important}:root[data-visual-theme=loyalist] .slot-item.has-units .slot-count,:root[data-visual-theme-family=loyalist] .slot-item.has-units .slot-count{color:#110c07!important;font-size:1.08rem!important;font-weight:700!important}:root[data-visual-theme=loyalist] .slot-item .slot-primary-badge,:root[data-visual-theme-family=loyalist] .slot-item .slot-primary-badge{top:.45rem!important;right:.55rem!important;color:rgb(var(--theme-accent-contrast-rgb))!important;-webkit-text-fill-color:rgb(var(--theme-accent-contrast-rgb))!important;border-color:rgb(var(--theme-accent-border-rgb)/.9)!important;background:rgb(var(--theme-accent-rgb)/.92);box-shadow:none;font-size:.52rem!important;letter-spacing:.03em}:root[data-visual-theme=loyalist] .slot-item .slot-prime-count,:root[data-visual-theme-family=loyalist] .slot-item .slot-prime-count{grid-row:4;color:rgb(var(--theme-accent-border-rgb)/.78)!important;font-weight:500;margin-top:0!important}:root[data-visual-theme=loyalist] .slot-item.slot-full:hover,:root[data-visual-theme-family=loyalist] .slot-item.slot-full:hover{background:linear-gradient(180deg,#e6e0d3f0,#dbd3c3e6)}:root[data-visual-theme=loyalist] .slots-grid,:root[data-visual-theme-family=loyalist] .slots-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))!important;gap:.85rem!important}:root[data-visual-theme=loyalist] .detachment-units,:root[data-visual-theme-family=loyalist] .detachment-units{border-top-color:#6b583947;margin-top:1rem!important;padding-top:1.15rem!important}:root[data-visual-theme=loyalist] .unit-row,:root[data-visual-theme-family=loyalist] .unit-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;min-height:5.15rem;margin-bottom:.55rem;padding:1.05rem 1.2rem!important;border:1px solid transparent;border-radius:2px;background:#ebe0c6ad}:root[data-visual-theme=loyalist] .unit-row:hover,:root[data-visual-theme-family=loyalist] .unit-row:hover{background:rgb(var(--theme-accent-rgb)/.045)}:root[data-visual-theme=loyalist] .unit-row .unit-main-line .unit-slot,:root[data-visual-theme-family=loyalist] .unit-row .unit-main-line .unit-slot{min-width:7.5rem;display:inline-flex;align-items:center;justify-content:center;padding:.32rem .62rem!important;color:#120b05!important;-webkit-text-fill-color:#120b05!important;background:linear-gradient(180deg,rgb(var(--theme-accent-rgb)/.94),rgb(var(--theme-accent-rgb)/.82));border:1px solid rgb(var(--theme-accent-border-rgb)/.95);box-shadow:inset 0 1px rgb(var(--theme-accent-contrast-rgb)/.16),0 1px #ffffff29;font-size:.78rem!important;font-family:var(--font-display);font-variant:small-caps;font-weight:700;line-height:1!important;letter-spacing:.02em;text-align:center;text-shadow:none}:root[data-visual-theme=loyalist] .unit-row .unit-main-line .unit-name,:root[data-visual-theme-family=loyalist] .unit-row .unit-main-line .unit-name{color:var(--text-primary);font-weight:600;font-size:1.14rem!important;line-height:1.22!important}:root[data-visual-theme=loyalist] .unit-row .unit-subgroups,:root[data-visual-theme-family=loyalist] .unit-row .unit-subgroups{margin-top:.16rem;font-size:.92rem!important;line-height:1.32!important}:root[data-visual-theme=loyalist] .unit-row .unit-subgroup-line,:root[data-visual-theme-family=loyalist] .unit-row .unit-subgroup-line{line-height:1.32!important}:root[data-visual-theme=loyalist] .unit-row .unit-points,:root[data-visual-theme-family=loyalist] .unit-row .unit-points{min-width:5.8rem;color:#8a6d34!important;font-size:.98rem!important;font-weight:600;text-align:right}:root[data-visual-theme=loyalist] .unit-row .unit-actions,:root[data-visual-theme-family=loyalist] .unit-row .unit-actions{justify-content:flex-end;gap:.55rem}:root[data-visual-theme=loyalist] .unit-row .unit-actions .unit-prime-choice,:root[data-visual-theme-family=loyalist] .unit-row .unit-actions .unit-prime-choice{color:#24170b}:root[data-visual-theme=loyalist] .unit-row .unit-actions .unit-prime-choice.current,:root[data-visual-theme=loyalist] .unit-row .unit-actions .unit-prime-choice.active,:root[data-visual-theme-family=loyalist] .unit-row .unit-actions .unit-prime-choice.current,:root[data-visual-theme-family=loyalist] .unit-row .unit-actions .unit-prime-choice.active{color:rgb(var(--theme-accent-contrast-rgb));background:rgb(var(--theme-accent-rgb)/.92);border-color:rgb(var(--theme-accent-border-rgb)/.95)}:root[data-visual-theme=loyalist] .unit-row .unit-actions .unit-prime-choice.current .prime-star,:root[data-visual-theme=loyalist] .unit-row .unit-actions .unit-prime-choice.active .prime-star,:root[data-visual-theme-family=loyalist] .unit-row .unit-actions .unit-prime-choice.current .prime-star,:root[data-visual-theme-family=loyalist] .unit-row .unit-actions .unit-prime-choice.active .prime-star{fill:currentColor}:root[data-visual-theme=loyalist] .unit-prime-badge,:root[data-visual-theme=loyalist] .unit-prime-trait,:root[data-visual-theme=loyalist] .unit-prime-warning,:root[data-visual-theme-family=loyalist] .unit-prime-badge,:root[data-visual-theme-family=loyalist] .unit-prime-trait,:root[data-visual-theme-family=loyalist] .unit-prime-warning{border-radius:2px;font-size:.72rem}:root[data-visual-theme=loyalist] .available-units .unit-option,:root[data-visual-theme=loyalist] .detachment-option,:root[data-visual-theme-family=loyalist] .available-units .unit-option,:root[data-visual-theme-family=loyalist] .detachment-option{margin-bottom:.45rem}:root[data-visual-theme=loyalist] .unit-option-main:hover,:root[data-visual-theme=loyalist] .model-group-toggle:hover .model-group-title,:root[data-visual-theme-family=loyalist] .unit-option-main:hover,:root[data-visual-theme-family=loyalist] .model-group-toggle:hover .model-group-title{color:var(--accent-red-light)}:root[data-visual-theme=loyalist] .unit-slot-tag,:root[data-visual-theme=loyalist] .unit-option-note,:root[data-visual-theme=loyalist] .unit-subgroups,:root[data-visual-theme=loyalist] .model-count-cost,:root[data-visual-theme=loyalist] .model-group-summary,:root[data-visual-theme=loyalist] .prime-editor-summary,:root[data-visual-theme=loyalist] .prime-editor-description,:root[data-visual-theme-family=loyalist] .unit-slot-tag,:root[data-visual-theme-family=loyalist] .unit-option-note,:root[data-visual-theme-family=loyalist] .unit-subgroups,:root[data-visual-theme-family=loyalist] .model-count-cost,:root[data-visual-theme-family=loyalist] .model-group-summary,:root[data-visual-theme-family=loyalist] .prime-editor-summary,:root[data-visual-theme-family=loyalist] .prime-editor-description{color:var(--text-secondary)}:root[data-visual-theme=loyalist] .unit-editor-title,:root[data-visual-theme=loyalist] .option-group .option-group-limit,:root[data-visual-theme=loyalist] .option-cost,:root[data-visual-theme=loyalist] .model-group-title,:root[data-visual-theme=loyalist] .unit-details-section-heading,:root[data-visual-theme=loyalist] .unit-details-chip,:root[data-visual-theme=loyalist] .unit-details-meta-value,:root[data-visual-theme-family=loyalist] .unit-editor-title,:root[data-visual-theme-family=loyalist] .option-group .option-group-limit,:root[data-visual-theme-family=loyalist] .option-cost,:root[data-visual-theme-family=loyalist] .model-group-title,:root[data-visual-theme-family=loyalist] .unit-details-section-heading,:root[data-visual-theme-family=loyalist] .unit-details-chip,:root[data-visual-theme-family=loyalist] .unit-details-meta-value{color:var(--accent-red)}:root[data-visual-theme=loyalist] .detachment-option .det-slots,:root[data-visual-theme-family=loyalist] .detachment-option .det-slots{color:#1a1612}:root[data-visual-theme=loyalist] .option-item .option-cost,:root[data-visual-theme-family=loyalist] .option-item .option-cost{font-size:1rem!important;line-height:1.2}:root[data-visual-theme=loyalist] .unit-editor-footer,:root[data-visual-theme=loyalist] .option-group .option-group-name,:root[data-visual-theme=loyalist] .unit-editor-summary .summary-total,:root[data-visual-theme-family=loyalist] .unit-editor-footer,:root[data-visual-theme-family=loyalist] .option-group .option-group-name,:root[data-visual-theme-family=loyalist] .unit-editor-summary .summary-total{border-color:#6b583952}:root[data-visual-theme=loyalist] .option-item,:root[data-visual-theme-family=loyalist] .option-item{border:1px solid transparent;border-radius:2px}:root[data-visual-theme=loyalist] .option-item:hover,:root[data-visual-theme-family=loyalist] .option-item:hover{background:rgb(var(--theme-accent-rgb)/.045);border-color:rgb(var(--theme-accent-rgb)/.18)}:root[data-visual-theme=loyalist] .option-item .option-details-button:hover,:root[data-visual-theme-family=loyalist] .option-item .option-details-button:hover{color:var(--accent-red);border-color:rgb(var(--theme-accent-rgb)/.32);background:rgb(var(--theme-accent-rgb)/.07)}:root[data-visual-theme=loyalist] .model-group-card,:root[data-visual-theme=loyalist] .unit-editor-summary,:root[data-visual-theme=loyalist] .prime-editor-section,:root[data-visual-theme=loyalist] .editor-default-loadout-item,:root[data-visual-theme-family=loyalist] .model-group-card,:root[data-visual-theme-family=loyalist] .unit-editor-summary,:root[data-visual-theme-family=loyalist] .prime-editor-section,:root[data-visual-theme-family=loyalist] .editor-default-loadout-item{background:#ebe0c6ad;border-color:#b89a6a;border-radius:2px}:root[data-visual-theme=loyalist] .model-group-card.collapsed,:root[data-visual-theme-family=loyalist] .model-group-card.collapsed{background:#efe7d447}:root[data-visual-theme=loyalist] .model-group-chevron,:root[data-visual-theme-family=loyalist] .model-group-chevron{color:var(--accent-red);border-color:rgb(var(--theme-accent-rgb)/.34);background:rgb(var(--theme-accent-rgb)/.06)}:root[data-visual-theme=loyalist] .units-panel>.card,:root[data-visual-theme-family=loyalist] .units-panel>.card{background:var(--bg-secondary);box-shadow:-16px 0 36px -32px #20160cb3,var(--shadow-md)}:root[data-visual-theme=loyalist] .unit-details-chip,:root[data-visual-theme-family=loyalist] .unit-details-chip{background:rgb(var(--theme-accent-rgb)/.07);border-color:rgb(var(--theme-accent-rgb)/.22)}:root[data-visual-theme=loyalist] .options-page .theme-option,:root[data-visual-theme-family=loyalist] .options-page .theme-option{background:#efe7d46b;border-color:#6b583952;border-radius:2px}:root[data-visual-theme=loyalist] .options-page .theme-option:hover:not(:disabled),:root[data-visual-theme=loyalist] .options-page .theme-option:focus-visible,:root[data-visual-theme-family=loyalist] .options-page .theme-option:hover:not(:disabled),:root[data-visual-theme-family=loyalist] .options-page .theme-option:focus-visible{background:rgb(var(--theme-accent-rgb)/.055);border-color:var(--accent-red)}:root[data-visual-theme=loyalist] .options-page .theme-option.active,:root[data-visual-theme-family=loyalist] .options-page .theme-option.active{background:rgb(var(--theme-accent-rgb)/.08);border-color:var(--accent-red)}:root[data-visual-theme=loyalist] .options-page .theme-preview,:root[data-visual-theme-family=loyalist] .options-page .theme-preview{background:radial-gradient(ellipse at center,rgba(120,90,50,.16),transparent 62%),repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 12px),#1a1612;border-color:#b8924c6b;border-radius:2px}:root[data-visual-theme=loyalist] .options-page .theme-logo,:root[data-visual-theme-family=loyalist] .options-page .theme-logo{padding:.12rem;background:transparent;border:0;filter:drop-shadow(0 1px 1px rgba(0,0,0,.82)) drop-shadow(0 0 8px rgba(214,178,113,.16))}:root[data-visual-theme=loyalist] .options-page .theme-name,:root[data-visual-theme=loyalist] .options-page .theme-active-badge,:root[data-visual-theme-family=loyalist] .options-page .theme-name,:root[data-visual-theme-family=loyalist] .options-page .theme-active-badge{color:var(--accent-red);border-color:var(--accent-red)}:root[data-visual-theme=loyalist] .options-feedback,:root[data-visual-theme-family=loyalist] .options-feedback{background:#4a6b2a1f;border-color:#4a6b2a61;color:#3f5f24}:root[data-visual-theme=loyalist] .options-feedback.error,:root[data-visual-theme-family=loyalist] .options-feedback.error{background:rgb(var(--theme-accent-rgb)/.1);border-color:rgb(var(--theme-accent-rgb)/.36);color:var(--accent-red)}:root[data-visual-theme=loyalist] .export-army-name,:root[data-visual-theme=loyalist] .export-modal-army,:root[data-visual-theme-family=loyalist] .export-army-name,:root[data-visual-theme-family=loyalist] .export-modal-army{color:var(--text-primary);font-family:var(--font-display);font-variant:small-caps;letter-spacing:.04em}:root[data-visual-theme=loyalist] .export-progress,:root[data-visual-theme-family=loyalist] .export-progress{background:#b8924c1f;border-color:#b8924c59}:root[data-visual-theme=loyalist] .export-spinner,:root[data-visual-theme=loyalist] .sync-spinner,:root[data-visual-theme-family=loyalist] .export-spinner,:root[data-visual-theme-family=loyalist] .sync-spinner{border-color:rgb(var(--theme-accent-rgb)/.18);border-top-color:var(--accent-red)}:root[data-visual-theme=loyalist] .collections-page .box,:root[data-visual-theme=loyalist] .collections-page .chip,:root[data-visual-theme=loyalist] .collections-page .list-item,:root[data-visual-theme-family=loyalist] .collections-page .box,:root[data-visual-theme-family=loyalist] .collections-page .chip,:root[data-visual-theme-family=loyalist] .collections-page .list-item{background:#efe7d46b;border-color:#6b583947;border-radius:2px}:root[data-visual-theme=loyalist] .collections-page .chip,:root[data-visual-theme-family=loyalist] .collections-page .chip{color:var(--text-primary)}:root[data-visual-theme=loyalist] .collections-page .list-item.active,:root[data-visual-theme-family=loyalist] .collections-page .list-item.active{background:rgb(var(--theme-accent-rgb)/.08);border-color:var(--accent-red)}:root[data-visual-theme=loyalist] .game-page .session-list button,:root[data-visual-theme=loyalist] .game-page .session-info,:root[data-visual-theme=loyalist] .game-page .battlefield,:root[data-visual-theme=loyalist] .admin-page .sync-status,:root[data-visual-theme=loyalist] .admin-page .sync-progress,:root[data-visual-theme=loyalist] .admin-page .sync-errors,:root[data-visual-theme-family=loyalist] .game-page .session-list button,:root[data-visual-theme-family=loyalist] .game-page .session-info,:root[data-visual-theme-family=loyalist] .game-page .battlefield,:root[data-visual-theme-family=loyalist] .admin-page .sync-status,:root[data-visual-theme-family=loyalist] .admin-page .sync-progress,:root[data-visual-theme-family=loyalist] .admin-page .sync-errors{background:#efe7d46b;border-color:#6b583947;color:var(--text-primary)}:root[data-visual-theme=loyalist] .unit-card-header,:root[data-visual-theme-family=loyalist] .unit-card-header{background:#c9bb9542;border-bottom-color:#b8924c6b}:root[data-visual-theme=loyalist] .unit-card-header .unit-name,:root[data-visual-theme-family=loyalist] .unit-card-header .unit-name{color:var(--text-primary)}:root[data-visual-theme=loyalist] .unit-card-header .unit-type,:root[data-visual-theme-family=loyalist] .unit-card-header .unit-type{color:var(--text-secondary)}:root[data-visual-theme=loyalist] .unit-card-stats,:root[data-visual-theme-family=loyalist] .unit-card-stats{background:#6b583947}:root[data-visual-theme=loyalist] .unit-card-stats .stat,:root[data-visual-theme-family=loyalist] .unit-card-stats .stat{background:#efe7d494}:root[data-visual-theme=loyalist] .unit-card-wounds .wounds-display .current,:root[data-visual-theme-family=loyalist] .unit-card-wounds .wounds-display .current{color:var(--accent-red)}:root[data-visual-theme=loyalist] .unit-card-wounds .wounds-controls button,:root[data-visual-theme-family=loyalist] .unit-card-wounds .wounds-controls button{color:var(--text-primary);background:#efe7d46b;border-color:#6b583952}:root[data-visual-theme=loyalist] .unit-card.destroyed,:root[data-visual-theme-family=loyalist] .unit-card.destroyed{border-color:var(--accent-red)}:root[data-visual-theme=loyalist] ::-webkit-scrollbar-track,:root[data-visual-theme-family=loyalist] ::-webkit-scrollbar-track{background:#e8dec6}:root[data-visual-theme=loyalist] ::-webkit-scrollbar-thumb,:root[data-visual-theme-family=loyalist] ::-webkit-scrollbar-thumb{background:#8a7c5f}:root[data-visual-theme=loyalist] ::-webkit-scrollbar-thumb:hover,:root[data-visual-theme-family=loyalist] ::-webkit-scrollbar-thumb:hover{background:#6b5839}.web-shell{min-height:100vh;display:flex;background:var(--bg-primary);color:var(--text-primary)}.web-shell>.global-loader{position:fixed;inset:0;z-index:10060;display:grid;place-items:center;padding:1.5rem;background:#0000009e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.web-shell>.global-loader .global-loader-panel{display:flex;flex-direction:column;align-items:center;gap:.85rem;max-width:min(420px,100vw - 3rem);padding:1.25rem 1.5rem;border:1px solid var(--border-gold);border-radius:6px;background:var(--bg-secondary);box-shadow:var(--shadow-lg);color:var(--text-primary);text-align:center}.web-shell>.global-loader .global-loader-spinner{width:48px;height:48px;flex:0 0 auto;border:4px solid rgb(var(--theme-accent-rgb)/.2);border-top-color:var(--accent-gold);border-radius:50%;animation:web-global-loader-spin .8s linear infinite}.web-shell>.global-loader .global-loader-message{font-size:.95rem;font-weight:600;line-height:1.3}@keyframes web-global-loader-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.web-shell>.global-loader .global-loader-spinner{animation:none}}.web-sidebar{position:sticky;top:0;z-index:1000;width:240px;height:100vh;flex:0 0 240px;display:flex;flex-direction:column;padding:0;border-right:1px solid #3a301f;background:linear-gradient(180deg,#ffffff06,#fff0),var(--theme-sidebar-bg, #1a1612);box-shadow:18px 0 40px -34px #000000e6}.web-sidebar-header{flex:0 0 auto}.web-sidebar-brand{display:flex;flex-direction:column;align-items:center;padding:2.65rem 1.7rem 1.75rem;border-bottom:1px solid #3a301f;color:var(--accent-gold);text-align:center;text-decoration:none}.web-sidebar-logo{width:min(190px,100%);height:auto;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,0,0,.82)) drop-shadow(0 0 12px rgba(214,178,113,.18))}.web-menu-toggle{display:none}.web-sidebar-menu{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.web-nav{flex:1 1 auto;min-height:0;margin:0;padding:1.45rem 1rem;list-style:none}.web-nav a{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:.95rem;min-height:3.05rem;padding:.8rem .9rem;border-left:2px solid transparent;color:#cdbf9a;font-family:var(--font-display);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-decoration:none;text-transform:uppercase;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.web-nav a:hover,.web-nav a.active{color:#d6b271;background:#b8924c12}.web-nav a.active{color:rgb(var(--theme-accent-contrast-rgb));background:linear-gradient(to right,rgb(var(--theme-accent-rgb)/.45),rgb(var(--theme-accent-rgb)/.08) 62%,transparent);border-left-color:var(--accent-red-light)}.web-nav-icon{width:1.15rem;height:1.15rem;flex:0 0 auto;color:#8a7c5f}.web-nav a:hover .web-nav-icon,.web-nav a.active .web-nav-icon{color:#d6b271}.web-language-switcher{display:flex;gap:.5rem;justify-content:flex-start;margin-top:auto;padding:1rem 1.45rem;border-top:1px solid rgba(58,48,31,.75)}.web-lang-btn{flex:0 0 48px;min-height:36px;border:1px solid #3a301f;border-radius:4px;background:#00000029;color:#cdbf9a;cursor:pointer;font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.08em;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.web-lang-btn:hover,.web-lang-btn.active{color:#d6b271;border-color:#8a6d34}.web-lang-btn.active{color:rgb(var(--theme-accent-contrast-rgb));border-color:var(--accent-red-light);background:var(--accent-red)}.web-sidebar-footer{padding:.8rem 1.45rem 1.15rem;border-top:1px solid #3a301f;display:flex;flex-direction:column;gap:.45rem}.web-version{color:#8a7c5f;font-size:.72rem}.web-acknowledgements-link{width:fit-content;padding:0;border:0;background:transparent;color:var(--accent-gold);cursor:pointer;font:inherit;font-size:.75rem;text-align:left;text-decoration:underline;text-underline-offset:.18rem}.web-acknowledgements-link:hover,.web-acknowledgements-link:focus-visible{color:#d6b271;outline:none}.web-main{flex:1 1 auto;min-width:0;min-height:100vh;padding:2rem;overflow-y:auto;background:radial-gradient(circle at 82% 14%,rgba(255,255,255,.18),transparent 27rem),radial-gradient(circle at 24% 94%,rgba(var(--theme-accent-rgb),.08),transparent 30rem),var(--bg-primary)}.web-auth-card{width:min(470px,100vw - 3rem);margin:12vh auto 0;padding:1.35rem 1.5rem 1.45rem;border:1px solid rgba(138,109,52,.82);border-radius:4px;background:var(--bg-secondary);box-shadow:0 22px 54px -34px #231408e6}.web-auth-card h1{margin:0 0 1.2rem;color:var(--text-primary);font-family:var(--font-display);font-size:1.35rem;letter-spacing:0;text-transform:uppercase}.web-form-stack{display:flex;flex-direction:column;gap:1rem}.web-form-stack label{display:flex;flex-direction:column;gap:.38rem;color:var(--text-secondary);font-size:.92rem;font-weight:600}.web-form-stack input{box-sizing:border-box;width:100%;min-height:34px;padding:.2rem;border-color:#120b05b3;background:#efe7d4bd;color:var(--text-primary)}.web-auth-links{display:flex;flex-direction:column;gap:.35rem}.web-recaptcha{width:304px;max-width:100%;min-height:78px;transform-origin:top left}.web-auth-confirmation{margin:0;color:var(--text-primary)}.web-auth-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.2rem}.web-auth-actions a{color:var(--accent-gold-dark);font-weight:700;text-underline-offset:.16rem}@media (max-width: 860px){.web-shell{display:block}.web-sidebar{position:sticky;top:0;width:100%;height:auto;min-height:0;flex-basis:auto;padding:0;border-right:0;border-bottom:1px solid #3a301f}.web-sidebar-header{min-height:4.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1rem}.web-sidebar-brand{flex:0 1 auto;padding:0;border-bottom:0}.web-sidebar-logo{width:52px;height:52px}.web-menu-toggle{width:48px;height:48px;flex:0 0 48px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0;border:1px solid #6f5b37;border-radius:4px;background:#0003;color:#d6b271;cursor:pointer}.web-menu-toggle span{width:23px;height:2px;border-radius:999px;background:currentColor;transition:transform var(--transition-fast),opacity var(--transition-fast)}.web-menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.web-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.web-menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.web-menu-toggle:focus-visible{outline:2px solid var(--accent-gold);outline-offset:3px}.web-sidebar-menu{display:none;max-height:calc(100vh - 4.5rem);overflow-y:auto;border-top:1px solid #3a301f}.web-sidebar-menu.open{display:flex}.web-nav{flex:0 0 auto;display:grid;gap:.25rem;padding:.75rem;overflow:visible}.web-nav>li{min-width:0}.web-nav a{border-left:0;border-bottom:2px solid transparent;padding:.75rem .9rem;white-space:normal}.web-nav a.active,.web-nav a:hover{border-left-color:transparent;border-bottom-color:var(--accent-gold)}.web-language-switcher{justify-content:center;margin-top:0}.web-lang-btn{flex:0 0 56px}.web-main{min-height:calc(100vh - 150px);padding:1rem}.web-auth-card{margin-top:2rem}.web-sidebar-footer{align-items:center;padding:.75rem 1rem}}@media (max-width: 640px){.web-shell .points-bar .card-body{padding:1.15rem!important}.web-shell .points-bar-summary{display:grid!important;grid-template-columns:minmax(0,1fr);justify-items:start;gap:.7rem}.web-shell .points-display{min-width:0;flex-wrap:wrap}.web-shell .points-display .points-max{white-space:nowrap}.web-shell .points-bar .points-remaining{min-width:0;max-width:100%;line-height:1.35;text-align:left;overflow-wrap:anywhere}.web-shell .unit-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"info" "points" "actions";align-items:stretch!important;gap:.8rem!important;padding:.9rem!important}.web-shell .unit-row .unit-info{grid-area:info;width:100%;min-width:0}.web-shell .unit-row .unit-main-line{width:100%;min-width:0;display:grid;justify-items:start;align-items:start;gap:.5rem}.web-shell .unit-row .unit-main-line .unit-slot{max-width:100%}.web-shell .unit-row .unit-main-line .unit-name,.web-shell .unit-row .unit-subgroups,.web-shell .unit-row .unit-subgroup-line{width:100%;min-width:0;overflow-wrap:anywhere}.web-shell .unit-row .unit-points{grid-area:points;width:100%;min-width:0;text-align:left}.web-shell .unit-row .unit-actions{grid-area:actions;width:100%;min-width:0;justify-content:flex-start;flex-wrap:wrap}}@media (max-width: 400px){.web-recaptcha{transform:scale(.85);margin-bottom:-12px}}.app-modal-backdrop{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#0a0a0ab8}.app-modal-panel{width:min(520px,100vw - 2rem);border:1px solid var(--border-gold);border-radius:4px;background:var(--bg-secondary);box-shadow:var(--shadow-lg)}.app-modal-header,.app-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid var(--border-color)}.app-modal-header h2{margin:0;color:var(--text-primary);font-size:1.15rem}.app-modal-body{display:grid;gap:.75rem;padding:1rem 1.15rem;color:var(--text-secondary)}.app-modal-body p{margin:0}.app-modal-actions{justify-content:flex-end;border-top:1px solid var(--border-color);border-bottom:0}
