:root{--color-primary: #000000;--color-primary-dark: #0b0d10;--color-primary-light: #1a1a1a;--color-background: #ffffff;--color-surface: #ffffff;--color-surface-variant: #f5f5f5;--color-text-primary: #000000;--color-text-secondary: #616161;--color-text-disabled: #9e9e9e;--color-text-hint: #bdbdbd;--color-text-on-dark: #ffffff;--color-text-on-dark-secondary: rgba(255, 255, 255, .7);--color-border: rgba(0, 0, 0, .12);--color-border-light: rgba(0, 0, 0, .08);--color-border-subtle: rgba(0, 0, 0, .05);--color-border-dark: rgba(255, 255, 255, .1);--color-hover: rgba(0, 0, 0, .04);--color-hover-dark: rgba(255, 255, 255, .08);--color-active: rgba(0, 0, 0, .08);--color-active-dark: rgba(255, 255, 255, .12);--color-focus: rgba(0, 0, 0, .12);--color-selected: rgba(0, 0, 0, .08);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--elevation-0: none;--elevation-1: none;--elevation-2: none;--elevation-3: none;--elevation-4: none;--elevation-6: none;--elevation-8: none;--elevation-12: none;--elevation-16: none;--elevation-24: none;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--transition-short: .15s cubic-bezier(.4, 0, .2, 1);--transition-standard: .25s cubic-bezier(.4, 0, .2, 1);--transition-complex: 375ms cubic-bezier(.4, 0, .2, 1);--transition-entering: 225ms cubic-bezier(0, 0, .2, 1);--transition-leaving: 195ms cubic-bezier(.4, 0, 1, 1);--sidebar-width: 280px;--topbar-height: 80px;--blur-amount: 20px;--color-warning-bg: #fff8e1;--color-warning-text: #b08d00;--color-warning-border: #ffecb3;--color-error: #d32f2f;--color-success: #2e7d32;--color-info: #1976d2;--color-bg-dark: var(--color-primary-dark);--color-bg-light: var(--color-background);--color-text-dark: var(--color-text-primary);--color-hover-white: var(--color-hover-dark);--color-active-white: var(--color-active-dark);--transition-fast: var(--transition-standard)}body{margin:0;padding:0;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);background-color:var(--color-background);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dashboard-container{display:flex;min-height:100vh}.dashboard-sidebar{width:var(--sidebar-width);background-color:var(--color-primary-dark);color:var(--color-text-on-dark);display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:50;border-right:1px solid var(--color-border-dark);box-shadow:var(--elevation-4)}.sidebar-header{height:150px;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.sidebar-logo-container{margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-md)}.sidebar-logo-text{font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);letter-spacing:.1em;color:var(--color-text-on-dark);margin:0;text-transform:uppercase}.sidebar-nav{padding:0 var(--spacing-md);flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.nav-item{text-decoration:none;color:var(--color-text-on-dark-secondary);display:block;transition:var(--transition-standard)}.nav-item-content{display:flex;align-items:center;padding:10px 28px;border-radius:10px;transition:var(--transition-standard);min-height:48px}.nav-item:hover .nav-item-content{background-color:var(--color-hover-dark);color:var(--color-text-on-dark)}.nav-item.active .nav-item-content{background-color:var(--color-active-dark);color:var(--color-text-on-dark);box-shadow:var(--elevation-1)}.nav-icon{margin-right:var(--spacing-md);font-size:24px;min-width:24px;display:flex;align-items:center;justify-content:center}.nav-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:.01em}.nav-item.active .nav-text{font-weight:var(--font-weight-semibold)}.nav-section-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#fff6;padding:16px 16px 8px;margin-top:8px}.main-wrapper{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;background-color:var(--color-surface-variant);min-height:100vh}.dashboard-topbar{height:var(--topbar-height);background-color:#ffffffd9;backdrop-filter:blur(var(--blur-amount));-webkit-backdrop-filter:blur(var(--blur-amount));border-bottom:1px solid var(--color-border-light);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-xl);position:sticky;top:0;z-index:40;box-shadow:var(--elevation-1)}.topbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.action-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:50%;color:#666;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.action-btn:hover{background-color:#0000000d;color:var(--color-text-dark)}.topbar-divider{height:20px;width:1px;background-color:#e0e0e0;margin:0 8px}.user-profile-menu{position:relative;margin-left:4px}.profile-btn{background:none;border:none;padding:4px;cursor:pointer;border-radius:50%}.avatar-container{width:32px;height:32px;border-radius:50%;overflow:hidden;border:2px solid #000;position:relative;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-fallback{font-weight:600;font-size:12px;color:#000;display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-transform:uppercase}.profile-dropdown-content{display:none;position:absolute;right:0;top:100%;margin-top:8px;background-color:#fff;min-width:220px;box-shadow:none;border:1px solid var(--color-border-light);border-radius:8px;z-index:100;padding:8px 0}.profile-dropdown-content.show{display:block;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:6px 12px;display:flex;flex-direction:column}.customer-name{font-weight:600;font-size:.95rem;color:var(--color-text-dark)}.customer-email{font-size:.8rem;color:var(--color-text-secondary);margin-top:2px}.dropdown-divider{height:1px;background-color:var(--color-gray-200);margin:8px 0}.dropdown-item{display:flex;align-items:center;padding:6px 12px;color:var(--color-text-dark);text-decoration:none;font-size:.9rem;transition:background-color .2s}.dropdown-item:hover{background-color:var(--color-gray-100)}.dropdown-item .material-symbols-outlined{font-size:20px;margin-right:8px;color:var(--color-text-secondary)}.dashboard-content{padding:var(--spacing-xl);flex:1;max-width:100%;box-sizing:border-box}.card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--elevation-1);transition:var(--transition-standard)}.card:hover{box-shadow:var(--elevation-2)}.card-header{margin-bottom:var(--spacing-lg);border-bottom:none;padding-bottom:0}.card-title{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;color:var(--color-text-primary);line-height:var(--line-height-tight)}.card-body{padding:0}.access-blocker-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.modal-content{background:var(--color-surface);padding:var(--spacing-2xl);border-radius:var(--radius-xl);text-align:center;max-width:480px;width:100%;box-shadow:var(--elevation-24);border:1px solid var(--color-border-subtle)}.modal-icon{font-size:48px;color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.modal-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary);line-height:var(--line-height-tight)}.modal-text{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);line-height:var(--line-height-normal);font-size:var(--font-size-base)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);background-color:var(--color-primary);color:var(--color-text-on-dark);padding:10px 16px;border-radius:var(--radius-md);border:none;text-decoration:none;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:var(--font-family);line-height:1.5;letter-spacing:.02857em;text-transform:uppercase;min-height:40px;cursor:pointer;transition:var(--transition-standard);box-shadow:none}.btn-primary:hover{background-color:var(--color-primary-light);box-shadow:var(--elevation-4)}.btn-primary:active{box-shadow:var(--elevation-1)}.btn-primary:disabled{opacity:.38;cursor:not-allowed;box-shadow:var(--elevation-0)}.access-warning-banner{background-color:var(--color-warning-bg);border-bottom:1px solid var(--color-warning-border);color:var(--color-warning-text);padding:10px 20px;display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box}.warning-content{display:flex;align-items:center;gap:12px}.warning-text{font-weight:500;font-size:.9rem}.btn-sm-primary{background-color:var(--color-warning-text);color:#fff;padding:4px 10px;border-radius:6px;text-decoration:none;font-size:.85rem;font-weight:600;white-space:nowrap}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--spacing-xl);gap:var(--spacing-lg)}.page-header-content{flex:1}.page-title{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);letter-spacing:-.03em;color:var(--color-text-primary);line-height:var(--line-height-tight)}.page-subtitle{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.page-actions{display:flex;gap:var(--spacing-md);align-items:flex-start}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);background-color:var(--color-surface);color:var(--color-text-primary);padding:10px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:var(--font-family);line-height:1.5;letter-spacing:.02857em;text-transform:uppercase;min-height:40px;cursor:pointer;transition:var(--transition-standard);box-shadow:none}.btn-secondary:hover{background-color:var(--color-hover);border-color:var(--color-text-primary);box-shadow:var(--elevation-1)}.btn-secondary:active{background-color:var(--color-active)}.btn-secondary .material-symbols-outlined{font-size:20px}.btn-primary{display:inline-flex;align-items:center;gap:8px}.btn-primary .material-symbols-outlined{font-size:20px}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);background-color:transparent;color:var(--color-text-primary);padding:10px 16px;border:2px solid var(--color-primary);border-radius:var(--radius-md);text-decoration:none;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:var(--font-family);line-height:1.5;letter-spacing:.02857em;text-transform:uppercase;min-height:40px;cursor:pointer;transition:var(--transition-standard);box-shadow:none}.btn-outline:hover{background-color:var(--color-primary);color:var(--color-text-on-dark);box-shadow:var(--elevation-2)}.btn-outline:active{box-shadow:var(--elevation-1)}.btn-outline .material-symbols-outlined{font-size:18px}.btn-danger-outline{display:inline-flex;align-items:center;gap:8px;background-color:transparent;color:#dc3545;padding:10px 20px;border:2px solid #dc3545;border-radius:10px;text-decoration:none;font-weight:600;font-size:.9rem;cursor:pointer;transition:var(--transition-fast)}.btn-danger-outline:hover{background-color:#dc3545;color:#fff}.btn-danger-outline .material-symbols-outlined{font-size:18px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl) var(--spacing-2xl);text-align:center;background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--elevation-0)}.empty-state-icon{width:80px;height:80px;border-radius:var(--radius-full);background:var(--color-surface-variant);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-lg);box-shadow:var(--elevation-1)}.empty-state-icon .material-symbols-outlined{font-size:40px;color:var(--color-text-secondary)}.empty-state-title{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.empty-state-text{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);max-width:400px;line-height:var(--line-height-relaxed)}.profile-header-card{background:#fff;border-radius:20px;overflow:hidden;margin-bottom:24px;box-shadow:none}.profile-cover{height:120px;background:linear-gradient(135deg,#0b0d10,#1a1a1a,#2d2d2d);position:relative}.profile-cover:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,rgba(0,0,0,.2),transparent)}.profile-header-content{display:flex;align-items:flex-start;gap:24px;padding:0 32px 32px;margin-top:-50px;position:relative}.profile-avatar-large{width:100px;height:100px;border-radius:50%;background:var(--color-bg-dark);display:flex;align-items:center;justify-content:center;border:4px solid #ffffff;box-shadow:none;flex-shrink:0}.avatar-initials{font-size:2rem;font-weight:700;color:#fff;text-transform:uppercase}.profile-info{flex:1;padding-top:56px}.profile-name{margin:0 0 4px;font-size:1.75rem;font-weight:800;color:var(--color-text-dark);letter-spacing:-.02em}.profile-email{margin:0 0 12px;font-size:.95rem;color:var(--color-text-secondary)}.profile-meta{display:flex;gap:20px}.meta-item{display:flex;flex-direction:row;align-items:center;gap:4px;font-size:.85rem;color:var(--color-text-secondary)}.meta-item .material-symbols-outlined{font-size:18px}.profile-actions{padding-top:56px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.stat-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md);box-shadow:var(--elevation-1);border:1px solid var(--color-border-subtle);transition:var(--transition-standard);cursor:pointer}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--elevation-4);border-color:var(--color-border)}.stat-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--elevation-2)}.stat-icon.campaigns,.stat-icon.scenarios,.stat-icon.achievements,.stat-icon.streak{background:var(--color-primary)}.stat-icon .material-symbols-outlined{font-size:28px;color:var(--color-text-on-dark)}.stat-content{display:flex;flex-direction:column;flex:1}.stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);color:var(--color-text-primary);line-height:var(--line-height-tight);letter-spacing:-.02em}.stat-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-top:var(--spacing-xs);letter-spacing:.01em}.action-list{display:flex;flex-direction:column;gap:8px}.action-item{display:flex;align-items:center;padding:16px;border-radius:12px;text-decoration:none;transition:var(--transition-fast);gap:16px}.action-item:hover{background-color:#f8f9fa}.action-icon{width:44px;height:44px;border-radius:12px;background:var(--color-bg-dark);display:flex;align-items:center;justify-content:center}.action-icon .material-symbols-outlined{font-size:22px;color:#fff}.action-content{flex:1;display:flex;flex-direction:column}.action-title{font-weight:600;color:var(--color-text-dark);font-size:.95rem}.action-desc{font-size:.8rem;color:var(--color-text-secondary);margin-top:2px}.action-arrow{font-size:20px;color:var(--color-text-secondary)}.danger-zone{border:1px solid rgba(220,53,69,.2)}.danger-zone .card-title{color:#dc3545}.danger-actions{display:flex;gap:12px}@media (min-width: 600px){.dashboard-content{padding:var(--spacing-xl) var(--spacing-2xl)}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 960px){.dashboard-content{padding:var(--spacing-xl)}}@media (max-width: 599px){.dashboard-sidebar{transform:translate(-100%);transition:transform var(--transition-standard)}.main-wrapper{margin-left:0}.dashboard-content{padding:var(--spacing-md)}.page-header{flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.page-actions{width:100%}.page-actions .btn-primary,.page-actions .btn-secondary{flex:1;justify-content:center;width:100%}.profile-header-content{flex-direction:column;align-items:center;text-align:center;padding:0 var(--spacing-lg) var(--spacing-lg)}.profile-info{padding-top:var(--spacing-md)}.profile-meta{justify-content:center;flex-wrap:wrap}.profile-actions{padding-top:var(--spacing-md);width:100%}.stats-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.campaign-card{flex-direction:column;align-items:flex-start;padding:var(--spacing-md)}.campaign-card-actions{align-self:flex-end}.tabs-nav{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-btn{white-space:nowrap;min-width:auto;padding:var(--spacing-md) var(--spacing-md)}.campaign-detail-top{flex-direction:column;gap:var(--spacing-lg)}.campaign-detail-right{align-items:center}.campaign-detail-stats{width:100%;justify-content:space-around}.stat-box{flex:1;min-width:0}.scenarios-grid,.scenario-grid,.forces-section,.deployment-zones,.warband-stats-grid{grid-template-columns:1fr}.topbar-actions{gap:var(--spacing-sm)}.dashboard-topbar{padding:0 var(--spacing-md)}}@media (min-width: 600px) and (max-width: 959px){.dashboard-content{padding:var(--spacing-lg)}.stats-grid,.scenarios-grid{grid-template-columns:repeat(2,1fr)}}.flow-container{max-width:900px;margin:0 auto}.flow-progress{display:flex;align-items:center;justify-content:center;margin-bottom:32px;padding:0 20px}.progress-step{display:flex;flex-direction:column;align-items:center;gap:8px}.step-number{width:36px;height:36px;border-radius:50%;background:#e0e0e0;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;transition:var(--transition-fast)}.progress-step.active .step-number,.progress-step.completed .step-number{background:#333;color:#fff}.progress-step.completed .step-number .material-symbols-outlined{font-size:18px}.step-label{font-size:.75rem;color:#999;font-weight:500;text-align:center;max-width:80px}.progress-step.active .step-label,.progress-step.completed .step-label{color:#333}.progress-line{flex:1;height:2px;background:#ddd;margin:0 16px 20px;max-width:80px}.progress-line.completed{background:#333}.flow-step{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.saga-form{display:flex;flex-direction:column;gap:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 640px){.form-row{grid-template-columns:1fr;gap:24px}}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.875rem;font-weight:500;color:#222;line-height:1.4}.form-group label .required{color:#d32f2f;margin-left:2px}.form-group input,.form-group select,.form-group textarea{height:48px;padding:0 var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:var(--font-family);font-weight:var(--font-weight-regular);background:var(--color-surface);color:var(--color-text-primary);transition:var(--transition-standard);box-sizing:border-box;width:100%}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-hint);opacity:1}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);border-width:2px;padding:0 calc(var(--spacing-md) - 1px);box-shadow:none}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--color-text-primary)}.form-group select{cursor:pointer;padding-right:40px}.form-group textarea{height:auto;min-height:96px;padding:12px 16px;line-height:1.5;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px;padding-top:24px}.form-section{background:#f5f5f5;border-radius:8px;padding:24px;margin-top:4px}.form-section-title{font-size:.9375rem;font-weight:600;color:#222;margin:0 0 4px}.form-section-desc{font-size:.875rem;color:#666;margin:0 0 24px;line-height:1.5}.form-section .form-group+.form-group{margin-top:20px}.helper-text{font-size:.8125rem;color:#666;margin-top:6px;line-height:1.4}.radio-group{display:flex;gap:12px;flex-wrap:wrap}.radio-group.gender-buttons{margin-top:0}.radio-btn{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:48px;padding:0 20px;background:#fff;border:1px solid #d0d0d0;border-radius:6px;transition:border-color .15s ease}.radio-btn:hover{border-color:#999}.radio-btn input[type=radio]{width:18px;height:18px;margin:0;cursor:pointer;accent-color:#222}.radio-btn .radio-label{font-size:1rem;color:#444}.radio-btn:has(input[type=radio]:checked){border-color:#222;background:#fafafa}.radio-btn:has(input[type=radio]:checked) .radio-label{color:#222;font-weight:500}.battle-header{margin-bottom:24px}.battle-header .card-body{padding:24px 28px}.jarl-greeting{font-size:1.125rem;font-weight:500;margin:0 0 20px;line-height:1.5;color:#222}.jarl-greeting .jarl-name{font-weight:600}.jarl-greeting .hall-name{font-style:italic}.companions-ready{display:flex;flex-wrap:wrap;gap:12px}.companion-tag{display:inline-flex;align-items:center;gap:8px;background:#f5f5f5;min-height:44px;padding:0 16px;border-radius:6px;font-size:.9375rem}.companion-tag .companion-name{font-weight:600;color:#222}.companion-tag .companion-archetype{color:#666;font-size:.875rem;background:none;padding:0}.situation-card{border-left:3px solid #222}.situation-card .card-body{padding:24px 28px}.narrative-text{font-size:1.0625rem;line-height:1.7;color:#333}.narrative-text p{margin:0}.choice-btn{display:flex;align-items:center;gap:16px;min-height:64px;padding:16px 20px;background:#fff;border:1px solid #d0d0d0;border-radius:8px;cursor:pointer;text-align:left;transition:border-color .15s ease}.choice-btn:hover{border-color:#999}.choice-btn.selected{border-color:#222;background:#fafafa}.choice-btn .material-symbols-outlined{font-size:24px;color:#888;flex-shrink:0}.choice-btn.selected .material-symbols-outlined{color:#222}.choice-content{display:flex;flex-direction:column;gap:4px;flex:1}.choice-label{font-size:1rem;font-weight:500;color:#222;line-height:1.3}.choice-sublabel{font-size:.875rem;color:#666;line-height:1.4}.own-path-input{margin-bottom:24px;padding:20px;background:#f5f5f5;border-radius:8px}.own-path-input .form-group{margin:0}.own-path-input label{font-size:.875rem;font-weight:500;color:#222;margin-bottom:8px;display:block}.own-path-input textarea{background:#fff;border:1px solid #d0d0d0;min-height:96px}.char-count{display:block;text-align:right;font-size:.8125rem;color:#888;margin-top:8px}.char-count #char-count{font-weight:500;color:#444}.flow-container .card{border:1px solid #e5e5e5;box-shadow:none;border-radius:10px;overflow:hidden;background:#fff}.flow-container .card-header{padding:28px 28px 24px;background:#fff;border-bottom:1px solid #eee}.flow-container .card-title{font-size:1.375rem;font-weight:600;margin:0;color:#222;line-height:1.3}.flow-container .card-subtitle{font-size:1rem;color:#555;margin-top:12px;line-height:1.6}.flow-container .card-body{padding:28px}.choice-card .card-header{padding:24px 28px 16px;border:none}.choice-card .card-title{font-size:1.125rem;font-weight:600}.btn-large{min-height:52px;padding:0 32px;font-size:1rem;font-weight:600;border-radius:6px;border:none;cursor:pointer;transition:opacity .15s ease}.btn-large:hover:not(:disabled){opacity:.85}.btn-large:disabled{opacity:.4;cursor:not-allowed}.btn-loading{display:inline-flex;align-items:center;justify-content:center;gap:10px}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.card-subtitle{font-size:.95rem;color:var(--color-text-secondary);margin-top:8px}.companion-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-bottom:24px}.companion-card{background:#f8f9fa;border:2px solid transparent;border-radius:12px;padding:20px;transition:var(--transition-fast);cursor:pointer}.companion-card:hover{border-color:#0000001a}.companion-card.selected{border-color:var(--color-bg-dark);background:#0b0d1008}.companion-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.companion-name{margin:0;font-size:1.1rem;font-weight:700}.companion-archetype{font-size:.75rem;font-weight:600;background:var(--color-bg-dark);color:#fff;padding:4px 10px;border-radius:20px}.companion-description{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:16px;line-height:1.5}.btn-select{width:100%;padding:10px;border:1px solid rgba(0,0,0,.1);background:#fff;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:var(--transition-fast)}.btn-select:hover{background:#f0f0f0}.companion-card.selected .btn-select{background:var(--color-bg-dark);color:#fff;border-color:var(--color-bg-dark)}.companion-bindings{background:#f8f9fa;border-radius:12px;padding:24px;margin-bottom:24px}.companion-bindings h3{margin:0 0 16px;font-size:1rem}#loading-state{justify-content:center}.loading-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center;background:#fff;border-radius:20px;box-shadow:none;max-width:500px;width:100%;margin:0 auto}.success-checkmark{display:flex;align-items:center;justify-content:center;margin-bottom:24px;animation:checkmarkAppear .5s ease-out}@keyframes checkmarkAppear{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.loading-spinner-large{width:60px;height:60px;border:4px solid rgba(0,0,0,.1);border-top-color:var(--color-bg-dark);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:24px}.loading-card h2{margin:0 0 8px;font-size:1.5rem}.loading-subtext{color:var(--color-text-secondary);margin:0}.loading-hint{font-size:.85rem;color:var(--color-text-secondary);margin-top:16px}.error-card{text-align:center;padding:60px 40px}.error-icon{font-size:64px;color:#dc3545;margin-bottom:16px}.narrative-text{font-size:1.1rem;line-height:1.8;color:var(--color-text-dark)}.narrative-card{background:linear-gradient(135deg,#fafafa,#f5f5f5);border-left:4px solid var(--color-bg-dark)}.advice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:24px}.advice-card{background:#fff;border-radius:12px;padding:20px;box-shadow:none}.advice-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.advice-header h3{margin:0;font-size:1rem}.advice-header .material-symbols-outlined{background:var(--color-bg-dark);color:#fff;padding:6px;border-radius:50%;font-size:18px}.advice-text{font-style:italic;color:var(--color-text-dark);margin:0 0 8px;line-height:1.6}.advice-suggestion{font-size:.85rem;color:var(--color-text-secondary)}.choice-options{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.choice-btn{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff;border:2px solid rgba(0,0,0,.1);border-radius:12px;font-size:1rem;font-weight:500;cursor:pointer;transition:var(--transition-fast);text-align:left}.choice-btn:hover{border-color:#0003;background:#fafafa}.choice-btn.selected{border-color:var(--color-bg-dark);background:#0b0d1008}.choice-btn .material-symbols-outlined{font-size:24px;color:var(--color-text-secondary)}.choice-btn.selected .material-symbols-outlined{color:var(--color-bg-dark)}.own-path-input{margin-bottom:24px;animation:fadeIn .3s ease-out}.scenario-container{max-width:1000px;margin:0 auto}.scenario-header{text-align:center;margin-bottom:32px}.scenario-badge{display:inline-block;background:var(--color-bg-dark);color:#fff;padding:6px 16px;border-radius:20px;font-size:.85rem;font-weight:600;margin-bottom:16px}.scenario-title{margin:0;font-size:2.5rem;font-weight:800;letter-spacing:-.03em}.scenario-actions-top{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px}.scenario-actions-top .btn-secondary,.scenario-actions-top .btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:1rem;font-weight:600;border-radius:12px;text-decoration:none;transition:all .2s ease;min-height:40px;padding:10px 16px}.scenario-actions-top .btn-secondary{background:#fff;border:2px solid #1a1a1a;min-height:60px;color:#1a1a1a}.scenario-actions-top .btn-secondary:hover{background:#1a1a1a;color:#fff}.scenario-actions-top .btn-primary{background:#1a1a1a;border:2px solid #1a1a1a;color:#fff}.scenario-actions-top .btn-primary:hover{background:#333;border-color:#333;transform:translateY(-2px);box-shadow:none}.scenario-actions-top .material-symbols-outlined{font-size:20px}.scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.map-info{display:flex;gap:24px;margin-bottom:16px}.map-detail{display:flex;flex-direction:column;gap:4px}.detail-label{display:flex;flex-direction:row;align-items:center;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.detail-value{font-size:1rem;font-weight:600;color:var(--color-text-dark)}.terrain-description{color:var(--color-text-secondary);margin-bottom:12px}.key-terrain{display:flex;flex-wrap:wrap;gap:8px}.terrain-tag{background:#f0f0f0;padding:4px 12px;border-radius:16px;font-size:.85rem;font-weight:500}.objectives-list{display:flex;flex-direction:column;gap:12px}.objective-item{padding:16px;border-radius:10px;background:#f8f9fa;display:flex;flex-direction:column;gap:6px}.objective-item.primary{background:#0b0d100d;border-left:3px solid var(--color-bg-dark)}.objective-type{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--color-text-secondary)}.objective-item.primary .objective-type{color:var(--color-bg-dark)}.objective-text{font-size:.95rem;color:var(--color-text-dark)}.opposition-header{display:flex;gap:32px;margin-bottom:20px}.enemy-units-grid,.warband-units-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.unit-card{background:#f8f9fa;border-radius:10px;padding:14px;text-align:center}.unit-card.enemy{border-left:3px solid #dc3545}.unit-card.friendly{border-left:3px solid var(--color-bg-dark)}.unit-card.wounded{opacity:.7}.unit-name{font-weight:700;font-size:.95rem;margin-bottom:4px}.unit-type{font-size:.8rem;color:var(--color-text-secondary)}.unit-count{font-size:.85rem;font-weight:600;color:var(--color-text-secondary);margin-top:4px}.unit-status{display:inline-block;font-size:.7rem;background:#fff3cd;color:#856404;padding:2px 8px;border-radius:10px;margin-top:6px}.unit-xp{font-size:.75rem;color:var(--color-text-secondary);margin-top:4px}.rules-list{margin:0;padding-left:20px}.rules-list li{margin-bottom:8px;color:var(--color-text-dark)}.twist-card{background:linear-gradient(135deg,#1a1a2e,#0f3460);color:#fff}.twist-card .card-title{color:#fff}.twist-name{margin:0 0 8px;font-size:1.25rem}.twist-effect{margin:0;opacity:.9;line-height:1.6}.battle-setup-card{background:#fff;border:1px solid #e5e5e5}.battle-setup-card .card-body{padding:0}.first-turn-banner{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px 28px;background:linear-gradient(135deg,#1a1a1a,#333);color:#fff;font-size:1.1rem;font-weight:600}.first-turn-banner .material-symbols-outlined{font-size:24px}.first-turn-banner .first-turn-label{opacity:.8}.first-turn-banner .first-turn-value{font-weight:800;font-size:1.2rem;text-transform:uppercase;letter-spacing:.05em}.first-turn-banner.enemy-first{background:linear-gradient(135deg,#8b0000,#c0392b)}.first-turn-banner.enemy-first .first-turn-value{color:gold}.battle-section{padding:24px 28px;border-bottom:1px solid #f0f0f0}.battle-section:last-child{border-bottom:none}.battle-section-title{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:1rem;font-weight:700;color:#1a1a1a;text-transform:uppercase;letter-spacing:.03em}.battle-section-title .material-symbols-outlined{font-size:20px;opacity:.7}.battlefield-meta{display:flex;gap:32px;margin-bottom:16px}.meta-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#888}.meta-value{font-size:1rem;font-weight:600;color:#1a1a1a;text-transform:capitalize}.deployment-zones{display:grid;grid-template-columns:1fr 1fr;gap:16px}.deployment-zone{padding:20px;border-radius:12px;background:#f8f9fa;border:2px solid #e5e5e5}.deployment-zone.player-zone{border-left:4px solid #1a1a1a}.deployment-zone.enemy-zone{border-left:4px solid #dc3545}.zone-header{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#666;margin-bottom:10px}.zone-header .material-symbols-outlined{font-size:18px}.zone-text{margin:0;font-size:.95rem;line-height:1.6;color:#333}.forces-section{display:flex;flex-direction:column;gap:24px;margin-bottom:24px}.force-card{border:1px solid #e5e5e5}.force-card.player-force{border-top:4px solid #1a1a1a}.force-card.enemy-force{border-top:4px solid #dc3545}.force-card .card-header{display:flex;justify-content:space-between;align-items:center}.force-count{font-size:.85rem;font-weight:700;background:#1a1a1a;color:#fff;padding:4px 12px;border-radius:20px}.force-count.enemy{background:#dc3545}.force-roster{width:100%}.roster-table{width:100%;border-collapse:collapse;font-size:.9rem}.roster-table thead{background:#f5f5f5}.roster-table th{padding:10px 8px;text-align:left;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#666;border-bottom:2px solid #e5e5e5}.roster-table td{padding:12px 8px;border-bottom:1px solid #f0f0f0;vertical-align:top}.roster-table tbody tr:hover{background:#fafafa}.roster-table .col-name{min-width:140px}.roster-table .col-count{width:40px;text-align:center;font-weight:700;color:#1a1a1a}.roster-table .col-stat{width:36px;text-align:center;font-weight:600;font-family:monospace;font-size:.95rem}.roster-table .col-equip{font-size:.8rem;color:#666;text-transform:capitalize}.unit-name-cell{display:flex;flex-direction:column;gap:2px}.unit-name-cell .unit-name{font-weight:700;color:#1a1a1a}.unit-name-cell .unit-type{font-size:.75rem;color:#888}.unit-name-cell .unit-abilities{font-size:.75rem;color:#6f42c1;font-style:italic}.enemy-roster thead{background:#fff5f5}.enemy-roster th{color:#8b0000}.enemy-force-summary{margin-bottom:20px}.enemy-stat-row{display:flex;gap:32px}.enemy-stat{display:flex;flex-direction:column;gap:4px}.enemy-stat-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#888}.enemy-stat-value{font-size:1.5rem;font-weight:800;color:#1a1a1a}.enemy-composition{margin-top:16px;padding:16px;background:#f8f9fa;border-radius:10px;border-left:3px solid #dc3545}.composition-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#888;margin-bottom:12px}.composition-list{display:flex;flex-direction:column;gap:8px}.composition-item{display:flex;align-items:center;gap:12px}.comp-count{font-weight:700;font-size:1rem;color:#dc3545;min-width:40px}.comp-type{font-size:.95rem;color:#333}.opposition-info{margin-bottom:16px}.opposition-faction-name{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin-bottom:12px}.opposition-stats-row{display:flex;gap:24px}.opp-stat{display:flex;flex-direction:column;gap:4px}.opp-stat-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#888}.opp-stat-value{font-size:1.1rem;font-weight:700;color:#1a1a1a}.section-icon{font-size:1rem}.deployment-info{display:flex;flex-direction:column;gap:16px}.deployment-block{padding:16px;border-radius:10px;background:#f8f9fa}.deployment-block.friendly{border-left:3px solid var(--color-bg-dark)}.deployment-block.enemy{border-left:3px solid #dc3545}.deployment-label{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:8px}.deployment-label .material-symbols-outlined{font-size:18px}.deployment-text{margin:0;font-size:.95rem;color:var(--color-text-dark);line-height:1.5}.first-turn-box{display:flex;flex-direction:column;align-items:center;padding:16px;background:#f0f8f0;border-radius:10px;border:2px solid #28a745}.first-turn-box.enemy-first{background:#fff5f5;border-color:#dc3545}.first-turn-value{font-size:1.25rem;font-weight:700;color:#28a745}.first-turn-box.enemy-first .first-turn-value{color:#dc3545}.objective-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.objective-id{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);background:#0000000d;padding:2px 8px;border-radius:4px}.objective-condition{font-size:.85rem;color:var(--color-text-secondary);margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.08);line-height:1.5}.objective-weight{font-size:.8rem;font-weight:600;color:var(--color-bg-dark);margin-top:8px}.objective-reward{font-size:.85rem;color:#28a745;margin-top:8px;font-style:italic}.opposition-stats{display:flex;gap:24px}.opposition-stat{display:flex;flex-direction:column;gap:4px}.faction-name{font-size:1.1rem}.ai-routines{margin-top:20px;padding-top:20px;border-top:1px solid rgba(0,0,0,.08)}.ai-routines-header{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:12px}.ai-routines-header .material-symbols-outlined{font-size:18px}.ai-routines-list{margin:0;padding-left:20px}.ai-routines-list li{font-size:.9rem;color:var(--color-text-dark);margin-bottom:8px;line-height:1.5}.units-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.unit-card{background:#f8f9fa;border-radius:10px;padding:16px;text-align:left}.unit-header{margin-bottom:12px}.unit-card .unit-name{font-weight:700;font-size:1rem;margin-bottom:2px}.unit-card .unit-type{font-size:.8rem;color:var(--color-text-secondary)}.unit-card .unit-count{display:inline-block;font-size:.8rem;font-weight:600;background:var(--color-bg-dark);color:#fff;padding:2px 8px;border-radius:10px;margin-top:4px}.unit-stats{display:flex;gap:8px;margin-bottom:10px;padding:8px;background:#00000008;border-radius:6px}.unit-stats .stat{display:flex;flex-direction:column;align-items:center;flex:1}.unit-stats .stat-label{font-size:.65rem;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase}.unit-stats .stat-value{font-size:.95rem;font-weight:700;color:var(--color-text-dark)}.unit-abilities{font-size:.8rem;color:#6f42c1;font-weight:500;margin-bottom:6px}.unit-equipment{font-size:.8rem;color:var(--color-text-secondary);text-transform:capitalize}.unit-status-badge{display:inline-block;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:10px;margin-top:8px}.unit-status-badge.wounded{background:#fff3cd;color:#856404}.unit-card.dead{opacity:.5;filter:grayscale(1)}.warband-content{display:flex;flex-direction:column;gap:24px}.warband-section{padding-bottom:20px;border-bottom:1px solid rgba(0,0,0,.08)}.warband-section:last-child{padding-bottom:0;border-bottom:none}.warband-section-title{font-size:1rem;font-weight:700;color:var(--color-text-dark);margin:0 0 16px;display:flex;align-items:center;gap:8px}.choices-list{display:flex;flex-direction:column;gap:16px}.choice-card{padding:20px;border-radius:12px;background:#f8f9fa;border:2px solid transparent;transition:var(--transition-fast);cursor:pointer}.choice-card:hover{border-color:var(--color-bg-dark);background:#fff}.choice-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.choice-id{font-size:.75rem;font-weight:700;background:var(--color-bg-dark);color:#fff;padding:4px 10px;border-radius:6px}.choice-text{font-size:1.1rem;font-weight:700;color:var(--color-text-dark)}.choice-description{margin:0;font-size:.95rem;color:var(--color-text-secondary);line-height:1.6}.heirloom-card{background:linear-gradient(135deg,#1a1a2e,#3d1a6e);color:#fff}.heirloom-card .card-title{color:#fff}.heirloom-name{margin:0 0 12px;font-size:1.25rem;color:gold}.heirloom-effect{margin:0 0 12px;font-size:.95rem;opacity:.95;line-height:1.5}.heirloom-lore{margin:0;font-size:.85rem;opacity:.75;font-style:italic;line-height:1.6;padding-top:12px;border-top:1px solid rgba(255,255,255,.2)}.no-data{color:var(--color-text-secondary);font-style:italic}.scenario-actions{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:32px}.scenario-actions .btn-secondary,.scenario-actions .btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:1rem;font-weight:600;border-radius:12px;text-decoration:none;transition:all .2s ease;min-height:52px}.scenario-actions .btn-secondary{background:#fff;border:2px solid #1a1a1a;color:#1a1a1a}.scenario-actions .btn-secondary:hover{background:#1a1a1a;color:#fff}.scenario-actions .btn-primary{background:#1a1a1a;border:2px solid #1a1a1a;color:#fff}.scenario-actions .btn-primary:hover{background:#333;border-color:#333;transform:translateY(-2px);box-shadow:none}.scenario-actions .material-symbols-outlined{font-size:20px}.stat-block{margin-top:12px;padding:12px;background:#f8f9fa;border-radius:8px;border:1px solid #e5e5e5}.stat-block-header{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#666;margin-bottom:8px}.stat-block-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px;margin-bottom:8px}.stat-item{display:flex;flex-direction:column;align-items:center;padding:6px;background:#fff;border-radius:4px;border:1px solid #e0e0e0}.stat-label{font-size:.7rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.stat-value{font-size:1rem;font-weight:700;color:#1a1a1a}.stat-abilities{margin-top:8px;padding-top:8px;border-top:1px solid #e0e0e0;font-size:.85rem;color:#555;font-style:italic}.stats-table-container{margin-top:24px;padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e5e5e5}.stats-table-title{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#333;margin-bottom:12px}.stats-table{width:100%;border-collapse:collapse;background:#fff;border-radius:4px;overflow:hidden;font-size:.875rem}.stats-table thead{background:#2c3e50;color:#fff}.stats-table th{padding:10px 8px;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;border-right:1px solid rgba(255,255,255,.1)}.stats-table th:last-child{border-right:none}.stats-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s}.stats-table tbody tr:hover{background-color:#f5f5f5}.stats-table tbody tr.highlight-row{background-color:#fff9e6;border-left:3px solid #ffc107}.stats-table tbody tr.highlight-row:hover{background-color:#fff4cc}.stats-table tbody tr:last-child{border-bottom:none}.stats-table td{padding:10px 8px;border-right:1px solid #e0e0e0;vertical-align:top}.stats-table td:last-child{border-right:none}.stats-table td:first-child{font-weight:600;color:#1a1a1a}@media (max-width: 768px){.stats-table{font-size:.75rem}.stats-table th,.stats-table td{padding:8px 4px}.stats-table-container{overflow-x:auto}}@media print{.stat-block{page-break-inside:avoid;border:1pt solid #ccc;background:#fff!important}.stat-block-grid{grid-template-columns:repeat(4,1fr)}.stats-table{page-break-inside:avoid;border:1pt solid #ccc}.stats-table thead{background:#000!important;color:#fff!important}}.kills-grid{display:flex;flex-direction:column;gap:24px}.kills-grid .form-group{margin-bottom:0}.kills-input{width:100%;padding:12px 16px;font-size:1rem;border:2px solid #e5e5e5;border-radius:8px;background:#fff;transition:border-color .2s ease}.kills-input:focus{outline:none;border-color:#1a1a1a}.kills-input:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.rules-reference-card{margin-top:24px}.rules-reference-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.rules-section{padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e5e5e5}.rules-section-title{font-size:1rem;font-weight:700;color:#1a1a1a;margin:0 0 12px;text-transform:uppercase;letter-spacing:.03em}.turn-sequence-list{margin:0;padding-left:20px;list-style:decimal}.turn-sequence-list li{margin-bottom:8px;line-height:1.6;color:#333}.rules-list{margin:0;padding-left:20px;list-style:disc}.rules-list li{margin-bottom:6px;line-height:1.6;color:#333}.rules-note{margin-top:12px;padding:8px 12px;background:#fff8e1;border-left:3px solid #ffc107;font-size:.875rem;color:#666;line-height:1.5}.weapon-rules{margin-top:12px;padding-top:12px;border-top:1px solid #e0e0e0}.weapon-rules-header{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#666;margin-bottom:8px}.weapon-rule-item{font-size:.85rem;color:#555;margin-bottom:6px;line-height:1.5}.weapon-rule-item strong{color:#1a1a1a}.behavior-procedures-section{margin-top:24px}.behavior-note{font-size:.875rem;color:#666;font-style:italic;margin-bottom:16px;line-height:1.6}.behavior-procedure-card{margin-bottom:20px;padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e5e5e5}.behavior-procedure-header{margin-bottom:12px}.behavior-steps-list{margin:0;padding-left:20px;list-style:decimal}.behavior-steps-list li{margin-bottom:10px;line-height:1.6;color:#333;font-size:.9rem}.tie-breaker-note{margin-top:20px;padding:12px;background:#fff8e1;border-left:3px solid #ffc107;border-radius:4px;font-size:.875rem;color:#666;line-height:1.6}.card-title .material-symbols-outlined{vertical-align:middle;margin-right:8px;font-size:1.25rem}.flow-breadcrumb{margin-bottom:24px}.breadcrumb-link{display:inline-flex;align-items:center;gap:6px;color:var(--color-text-secondary);text-decoration:none;font-size:.9rem;font-weight:500;transition:var(--transition-fast)}.breadcrumb-link:hover{color:var(--color-text-dark)}.breadcrumb-link .material-symbols-outlined{font-size:18px}.campaign-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--spacing-lg) var(--spacing-xl);margin-bottom:var(--spacing-md);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);box-shadow:var(--elevation-1);transition:var(--transition-standard);position:relative;overflow:hidden}.campaign-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-primary)}.campaign-card:hover{box-shadow:var(--elevation-4);border-color:var(--color-border);transform:translateY(-2px)}.campaign-info{flex:1;padding-left:8px}.campaign-name{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);color:var(--color-text-primary);letter-spacing:-.02em;line-height:var(--line-height-tight)}.campaign-meta{display:flex;align-items:center;gap:12px;margin-bottom:6px}.campaign-scenario{font-size:.85rem;font-weight:700;color:var(--color-text-dark);background:#f0f0f0;padding:4px 12px;border-radius:6px}.campaign-status{font-size:.7rem;font-weight:700;padding:4px 12px;border-radius:6px;text-transform:uppercase;letter-spacing:.05em}.campaign-status.status-active{background:var(--color-bg-dark);color:#fff}.campaign-status.status-onboarding{background:#e0e0e0;color:#333}.campaign-status.status-completed{background:#f5f5f5;color:#666}.campaign-date{margin:0;font-size:.8rem;color:var(--color-text-secondary)}.campaign-actions{display:flex;gap:12px}.loading-inline{display:flex;align-items:center;gap:12px;padding:24px;color:var(--color-text-secondary)}.loading-inline .spinner{border-color:#0000001a;border-top-color:var(--color-bg-dark)}.error-text{color:#dc3545}.campaign-card-link{text-decoration:none;display:block;color:inherit;flex:1;min-width:0}.campaign-card-link:hover,.campaign-card-link:visited,.campaign-card-link:active{text-decoration:none;color:inherit}.campaign-card-link .campaign-name{color:var(--color-text-dark)}.campaign-card-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.campaign-action-btn{width:40px;height:40px;border-radius:50%;background:#f5f5f5;border:none;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast);flex-shrink:0;text-decoration:none;color:var(--color-text-secondary);cursor:pointer}.campaign-action-btn .material-symbols-outlined{font-size:24px}.campaign-action-btn.campaign-arrow-link{color:var(--color-text-secondary)}.campaign-action-btn.campaign-arrow-link:hover{color:#fff}.campaign-action-btn.campaign-delete-btn{color:#c62828}.campaign-action-btn.campaign-delete-btn:hover{background:#c62828;color:#fff}.campaign-action-btn.campaign-delete-btn:hover .material-symbols-outlined{color:#fff}.campaign-card:hover .campaign-action-btn{background:var(--color-bg-dark);color:#fff}.campaign-card:hover .campaign-action-btn .material-symbols-outlined{color:#fff;transform:translate(0)}.campaign-card:hover .campaign-action-btn.campaign-arrow-link .material-symbols-outlined{transform:translate(2px)}.campaign-action-btn.campaign-delete-btn:focus{outline:2px solid #c62828;outline-offset:2px}.campaign-view-container{max-width:1000px;margin:0 auto}.campaign-header{background:#fff;border-radius:16px;padding:32px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;box-shadow:none}.campaign-header-info{flex:1}.campaign-jarl-name{margin:0 0 12px;font-size:2rem;font-weight:800;letter-spacing:-.02em}.campaign-header-meta{display:flex;align-items:center;gap:12px}.meta-tag{font-size:.9rem;color:var(--color-text-secondary)}.campaign-header-stats{display:flex;gap:24px}.stat-mini{text-align:center;padding:12px 20px;background:#f8f9fa;border-radius:12px}.stat-mini-value{display:block;font-size:1.5rem;font-weight:800;color:var(--color-text-dark)}.stat-mini-label{font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.warband-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.unit-mini{background:#f8f9fa;border-radius:8px;padding:12px;text-align:center;position:relative}.unit-mini.wounded{opacity:.7}.unit-mini-name{display:block;font-weight:600;font-size:.9rem;margin-bottom:4px}.unit-mini-type{font-size:.75rem;color:var(--color-text-secondary)}.unit-mini-status{position:absolute;top:8px;right:8px;font-size:.75rem}.scenario-list-item{display:flex;align-items:center;justify-content:space-between;padding:20px;border-radius:12px;background:#f8f9fa;margin-bottom:12px;gap:16px;transition:var(--transition-fast)}.scenario-list-item:hover{background:#f0f0f0}.scenario-list-item.latest{background:#0b0d1008;border:1px solid var(--color-bg-dark)}.scenario-list-item.completed{opacity:.8}.scenario-list-info{display:flex;align-items:center;gap:16px;flex:1}.scenario-list-number{width:48px;height:48px;border-radius:12px;background:var(--color-bg-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}.scenario-num{color:#fff;font-size:1.25rem;font-weight:800}.scenario-list-details{flex:1}.scenario-list-title{margin:0 0 6px;font-size:1rem;font-weight:600}.scenario-list-meta{display:flex;align-items:center;gap:10px}.scenario-list-status{font-size:.7rem;font-weight:600;padding:3px 8px;border-radius:10px;text-transform:capitalize}.scenario-list-status.status-pending_results,.scenario-list-status.status-active,.scenario-card-status.status-pending_results,.scenario-card-status.status-active{background:var(--color-bg-dark);color:#fff}.scenario-list-status.status-completed,.scenario-card-status.status-completed{background:#e9ecef;color:#495057}.scenario-list-actions{display:flex;gap:8px}.btn-sm{padding:4px 10px;font-size:.85rem}.btn-sm .material-symbols-outlined{font-size:16px}.empty-inline{padding:32px;text-align:center;color:var(--color-text-secondary)}.scenarios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.scenario-card{background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:16px;padding:20px;transition:var(--transition-fast)}.scenario-card:hover{box-shadow:none}.scenario-card.latest{border-color:var(--color-bg-dark)}.scenario-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.scenario-card-campaign{font-size:.8rem;font-weight:600;color:var(--color-text-secondary)}.scenario-card-number{font-size:.75rem;font-weight:700;background:var(--color-bg-dark);color:#fff;padding:4px 10px;border-radius:12px}.scenario-card-title{margin:0 0 12px;font-size:1.1rem;font-weight:700}.scenario-card-meta{display:flex;align-items:center;gap:10px;margin-bottom:16px}.scenario-card-status{font-size:.7rem;font-weight:600;padding:3px 8px;border-radius:10px;text-transform:capitalize}.scenario-card-outcome{font-size:.8rem;font-weight:500}.scenario-card-outcome,.scenario-list-outcome{font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:6px;text-transform:capitalize}.scenario-card-outcome.outcome-victory,.scenario-list-outcome.outcome-victory{background:#d4edda;color:#155724}.scenario-card-outcome.outcome-defeat,.scenario-list-outcome.outcome-defeat{background:#f8d7da;color:#721c24}.scenario-card-outcome.outcome-draw,.scenario-list-outcome.outcome-draw{background:#fff3cd;color:#856404}.scenario-card-outcome.outcome-partial-victory,.scenario-list-outcome.outcome-partial-victory{background:#e2e3e5;color:#383d41}.scenario-card-actions{display:flex;gap:8px}.outcome-options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.outcome-option{cursor:pointer}.outcome-option input{display:none}.outcome-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 20px;border:2px solid #e5e5e5;border-radius:16px;transition:all .2s ease;text-align:center;background:#fafafa;position:relative;overflow:hidden}.outcome-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:transparent;transition:background .2s ease}.outcome-card .material-symbols-outlined{font-size:40px;transition:transform .2s ease}.outcome-card span:last-child{font-weight:700;font-size:1rem;letter-spacing:.02em}.outcome-card:hover{border-color:#ccc;transform:translateY(-2px);box-shadow:none}.outcome-card:hover .material-symbols-outlined{transform:scale(1.1)}.outcome-option input:checked+.outcome-card.victory{border-color:#1a1a1a;background:#1a1a1a;color:#fff;box-shadow:none}.outcome-option input:checked+.outcome-card.victory:before{background:#28a745}.outcome-option input:checked+.outcome-card.draw{border-color:#1a1a1a;background:#1a1a1a;color:#fff;box-shadow:none}.outcome-option input:checked+.outcome-card.draw:before{background:#ffc107}.outcome-option input:checked+.outcome-card.defeat{border-color:#1a1a1a;background:#1a1a1a;color:#fff;box-shadow:none}.outcome-option input:checked+.outcome-card.defeat:before{background:#dc3545}.outcome-option input:checked+.outcome-card:hover{transform:translateY(-2px)}.outcome-option input:checked+.outcome-card:after{content:"\2713";position:absolute;top:12px;right:12px;width:24px;height:24px;background:#fff;color:#1a1a1a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.objectives-checkboxes{display:flex;flex-direction:column;gap:12px}.objective-checkbox{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:#fafafa;border:2px solid #e5e5e5;border-radius:12px;cursor:pointer;transition:all .2s ease}.objective-checkbox:hover{border-color:#ccc;background:#fff}.objective-checkbox input{width:20px;height:20px;margin-top:2px;accent-color:#1a1a1a;cursor:pointer}.objective-checkbox input:checked~span{color:#1a1a1a;font-weight:500}.objective-checkbox:has(input:checked){border-color:#1a1a1a;background:#1a1a1a08}.objective-checkbox span{flex:1;font-size:.95rem;line-height:1.5;color:#555}.success-card{text-align:center;padding:80px 48px;background:linear-gradient(180deg,#fff,#f8f9fa);border-radius:20px;border:1px solid #e5e5e5}.success-card h2{font-size:1.75rem;font-weight:800;margin:0 0 12px;color:#1a1a1a}.success-card p{color:#666;font-size:1.05rem;margin:0}.success-icon{font-size:72px;color:#1a1a1a;margin-bottom:24px;display:inline-block;animation:successPop .4s ease-out}@keyframes successPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.success-actions{display:flex;gap:16px;justify-content:center;margin-top:32px}.success-actions .btn-primary{background:#1a1a1a;border-color:#1a1a1a;padding:10px 16px;font-weight:600}.success-actions .btn-primary:hover{background:#333;transform:translateY(-2px);box-shadow:none}.success-actions .btn-secondary{background:#fff;border:2px solid #e5e5e5;color:#1a1a1a;padding:10px 16px;font-weight:600}.success-actions .btn-secondary:hover{border-color:#1a1a1a;background:#fafafa}#result-form-container .card{background:#fff;border:none;border-radius:24px;box-shadow:0 1px 3px #0000000a,0 8px 24px #0000000f;overflow:hidden}#result-form-container .card-header{padding:40px 40px 32px;background:#fff;border-bottom:1px solid #f0f0f0}#result-form-container .card-title{font-size:1.75rem;font-weight:800;color:#1a1a1a;margin:0 0 8px;letter-spacing:-.02em}#result-form-container .card-subtitle{color:#666;font-size:1rem;margin:0}#result-form-container .card-body{padding:40px}#result-form .form-group{margin-bottom:32px}#result-form .form-group:last-of-type{margin-bottom:0}#result-form .form-group>label:first-child{font-size:.9rem;font-weight:700;color:#1a1a1a;display:block;text-transform:uppercase;letter-spacing:.04em}#result-form .required{color:#dc3545}#result-form select{appearance:none;-webkit-appearance:none;width:100%;padding:16px 48px 16px 18px;border:2px solid #e5e5e5;border-radius:12px;font-size:1rem;font-weight:500;color:#1a1a1a;background:#fafafa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center;background-size:20px;cursor:pointer;transition:all .2s ease}#result-form select:hover{border-color:#ccc;background-color:#fff}#result-form select:focus{outline:none;border-color:#1a1a1a;background-color:#fff;box-shadow:none}#result-form select option{padding:12px}#result-form input[type=text]{width:100%;padding:16px 18px;border:2px solid #e5e5e5;border-radius:12px;font-size:1rem;font-weight:500;color:#1a1a1a;background:#fafafa;transition:all .2s ease}#result-form input[type=text]:hover{border-color:#ccc;background-color:#fff}#result-form input[type=text]:focus{outline:none;border-color:#1a1a1a;background-color:#fff;box-shadow:none}#result-form input[type=text]::placeholder{color:#999;font-weight:400}#result-form textarea{width:100%;padding:18px;border:2px solid #e5e5e5;border-radius:12px;font-size:1rem;font-weight:500;color:#1a1a1a;background:#fafafa;resize:vertical;min-height:120px;transition:all .2s ease;font-family:inherit;line-height:1.6}#result-form textarea:hover{border-color:#ccc;background-color:#fff}#result-form textarea:focus{outline:none;border-color:#1a1a1a;background-color:#fff;box-shadow:none}#result-form textarea::placeholder{color:#999;font-weight:400}#result-form .form-actions{margin-top:40px;padding-top:32px;border-top:1px solid #f0f0f0}#result-form .btn-large{width:100%;padding:10px 20px;font-size:1.05rem;font-weight:700;border-radius:14px;background:#1a1a1a;border:none;color:#fff;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:10px}#result-form .btn-large:hover{background:#333;transform:translateY(-2px);box-shadow:0 8px 24px #00000026}#result-form .btn-large:active{transform:translateY(0)}#result-form .btn-large:disabled{background:#ccc;transform:none;box-shadow:none;cursor:not-allowed}#result-form .spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}#result-form .btn-loading{display:inline-flex;align-items:center;gap:10px}@media (max-width: 768px){.form-row,.scenario-grid{grid-template-columns:1fr}.progress-line{max-width:60px;margin:0 8px 24px}.step-label{font-size:.7rem;max-width:80px}.scenario-title{font-size:1.75rem}.campaign-card{flex-direction:column;align-items:flex-start}.campaign-actions{width:100%}.campaign-actions .btn-primary{flex:1;justify-content:center}.campaign-header{flex-direction:column}.campaign-header-stats{width:100%;justify-content:center}.scenario-list-item{flex-direction:column;align-items:flex-start}.scenario-list-actions{width:100%;margin-top:12px}.scenario-list-actions .btn-sm{flex:1;justify-content:center}.scenarios-grid{grid-template-columns:1fr}.outcome-options{grid-template-columns:1fr;gap:12px}.outcome-card{padding:24px 16px;flex-direction:row;gap:16px}.outcome-card .material-symbols-outlined{font-size:32px}.outcome-option input:checked+.outcome-card:after{top:50%;transform:translateY(-50%)}#result-form-container .card-header,#result-form-container .card-body{padding:24px}#result-form-container .card-title{font-size:1.4rem}.success-actions{flex-direction:column}.units-grid{grid-template-columns:1fr}.unit-stats{gap:4px}.opposition-header{flex-direction:column;gap:16px}.opposition-stats{flex-direction:row;gap:16px}.map-info,.battlefield-meta{flex-direction:column;gap:12px}.scenario-actions{flex-direction:column}.scenario-actions .btn-secondary,.scenario-actions .btn-primary{width:100%;justify-content:center}.choice-header{flex-direction:column;align-items:flex-start;gap:8px}.forces-section,.deployment-zones{grid-template-columns:1fr}.first-turn-banner{padding:16px 20px;font-size:1rem}.battle-section{padding:20px}.roster-table{font-size:.8rem}.roster-table .col-equip{display:none}.roster-table th,.roster-table td{padding:8px 4px}.roster-table .col-stat{width:28px;font-size:.85rem}}.campaign-detail-header{background:#fff;border-radius:20px;overflow:hidden;margin-bottom:24px;box-shadow:none}.campaign-detail-top{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);gap:var(--spacing-xl);border-bottom:1px solid var(--color-border-subtle)}.campaign-detail-info{flex:1;min-width:0}.campaign-detail-right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-md);flex-shrink:0}.campaign-detail-meta{display:flex;align-items:center;gap:12px;margin-bottom:12px}.campaign-date-badge{font-size:.85rem;color:var(--color-text-secondary)}.campaign-detail-title{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);letter-spacing:-.02em;color:var(--color-text-primary);line-height:var(--line-height-tight)}.campaign-detail-subtitle{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.campaign-detail-stats{display:flex;gap:16px}.campaign-detail-actions{flex-shrink:0}#campaign-view-refresh-btn .material-symbols-outlined.spin{display:inline-block;animation:spin .8s linear infinite}.stat-box{text-align:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface-variant);border-radius:var(--radius-lg);min-width:80px;box-shadow:var(--elevation-0);border:1px solid var(--color-border-subtle)}.stat-box-value{display:block;font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);color:var(--color-text-primary);line-height:var(--line-height-tight);letter-spacing:-.02em}.stat-box-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--spacing-xs);display:block}.tabs-container{background:#fff;border-radius:20px;overflow:hidden;box-shadow:none}.tabs-nav{display:flex;border-bottom:1px solid rgba(0,0,0,.05);padding:0 8px}.tab-btn{display:inline-flex;align-items:center;gap:8px;padding:16px 24px;background:none;border:none;border-bottom:3px solid transparent;font-size:.95rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast);margin-bottom:-1px}.tab-btn:hover{color:var(--color-text-dark);background:#00000005}.tab-btn.active{color:var(--color-bg-dark);border-bottom-color:var(--color-bg-dark)}.tab-btn .material-symbols-outlined{font-size:20px}.tab-content{display:none;padding:var(--spacing-lg)}.tab-content.active{display:block;animation:fadeIn var(--transition-entering) ease-out}.warband-section{display:none;margin-bottom:32px}.section-header{margin-bottom:20px}.section-title{margin:0;font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:10px;color:var(--color-text-dark)}.section-title .material-symbols-outlined{font-size:22px;color:var(--color-text-secondary)}.jarl-card{background:linear-gradient(135deg,#0b0d10,#1a1d23);border-radius:16px;overflow:hidden}.jarl-card-content{display:flex;align-items:center;gap:20px;padding:24px;color:#fff}.jarl-avatar{width:64px;height:64px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.jarl-avatar .material-symbols-outlined{font-size:32px;color:#fff}.jarl-info{flex:1}.jarl-name{margin:0 0 8px;font-size:1.25rem;font-weight:700}.jarl-meta{display:flex;align-items:center;gap:12px}.jarl-alias{font-size:.9rem;font-style:italic;color:#ffffffb3}.jarl-status{font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:12px;text-transform:capitalize}.jarl-status.status-healthy,.jarl-status.status-active{background:#ffffff26;color:#fff}.jarl-status.status-wounded{background:#ffffff1a;color:#ccc}.jarl-status.status-dead{background:#ffffff1a;color:#999}.jarl-injury{margin:8px 0 0;font-size:.85rem;color:#fff9;font-style:italic}.jarl-stats{display:flex;gap:20px}.jarl-stat{text-align:center}.jarl-stat-value{display:block;font-size:1.5rem;font-weight:800;line-height:1}.jarl-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#fff9;margin-top:4px;display:block}.warband-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.warband-stat-card{display:flex;align-items:center;gap:14px;padding:20px;background:#f8f9fa;border-radius:12px}.warband-stat-icon{width:48px;height:48px;border-radius:12px;background:var(--color-bg-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}.warband-stat-icon .material-symbols-outlined{font-size:24px;color:#fff}.warband-stat-icon.wounded{background:#e0e0e0}.warband-stat-icon.wounded .material-symbols-outlined{color:#666}.warband-stat-info{display:flex;flex-direction:column}.warband-stat-value{font-size:1.5rem;font-weight:800;line-height:1;color:var(--color-text-dark)}.warband-stat-label{font-size:.8rem;color:var(--color-text-secondary);margin-top:4px}.companions-list{display:flex;flex-direction:column;gap:16px}.companion-force-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;overflow:hidden}.companion-force-card:last-child{margin-bottom:0}.companion-header{display:flex;align-items:center;gap:16px;padding:20px;background:#f8f9fa;margin:0;border-radius:16px 16px 0 0}.companion-avatar{width:52px;height:52px;border-radius:50%;background:var(--color-bg-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}.companion-avatar .material-symbols-outlined{font-size:26px;color:#fff}.companion-info{flex:1}.companion-name{margin:0 0 6px;font-size:1.1rem;font-weight:700}.companion-meta{display:flex;align-items:center;gap:10px}.companion-type{font-size:.8rem;font-weight:500;color:var(--color-text-secondary)}.companion-status{font-size:.7rem;font-weight:600;padding:3px 8px;border-radius:10px;text-transform:capitalize}.companion-status.status-healthy,.companion-status.status-active{background:var(--color-bg-dark);color:#fff}.companion-status.status-wounded{background:#e0e0e0;color:#333}.companion-status.status-dead{background:#f5f5f5;color:#999}.companion-injury{margin:6px 0 0;font-size:.8rem;color:var(--color-text-secondary);font-style:italic}.companion-stats{display:flex;gap:16px;flex-shrink:0}.companion-stat{font-size:.85rem;font-weight:600;color:var(--color-text-secondary);background:#0000000d;padding:6px 12px;border-radius:8px}.companion-force{padding:16px 20px;border-top:1px solid rgba(0,0,0,.05)}.force-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:12px}.force-units{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.force-unit{display:flex;flex-direction:column;padding:12px;background:#f8f9fa;border-radius:8px;border-left:3px solid var(--color-bg-dark)}.force-unit.wounded{border-left-color:#ffc107;opacity:.8}.force-unit.dead{border-left-color:#dc3545;opacity:.5;text-decoration:line-through}.force-unit-name{font-weight:600;font-size:.9rem;text-align:center}.force-unit-type{font-size:.75rem;color:var(--color-text-secondary);text-align:center}.force-unit-count{font-size:.85rem;font-weight:600;color:var(--color-text-dark);margin-top:4px;text-align:center}.empty-inline{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--color-text-secondary)}.empty-inline .material-symbols-outlined{font-size:48px;margin-bottom:16px;opacity:.4}.empty-inline p{margin:0;max-width:300px}@media (max-width: 992px){.campaign-detail-top{flex-direction:column;gap:24px;align-items:stretch}.campaign-detail-right{align-items:center}.campaign-detail-stats{width:100%;justify-content:center}.warband-stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.tabs-nav{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-btn{padding:14px 16px;font-size:.85rem;white-space:nowrap}.campaign-detail-title{font-size:1.5rem}.stat-box{padding:12px 16px;min-width:60px}.stat-box-value{font-size:1.25rem}.jarl-card-content{flex-direction:column;text-align:center;padding:20px}.jarl-meta,.jarl-stats{justify-content:center}.warband-stats-grid{grid-template-columns:1fr 1fr;gap:12px}.warband-stat-card{padding:16px}.companion-header{flex-direction:column;text-align:center;gap:12px}.companion-meta,.companion-stats{justify-content:center}.force-units{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.no-print{display:block}@media print{.no-print,.dashboard-sidebar,.dashboard-topbar,.flow-breadcrumb,.scenario-actions,.scenario-actions-top,.access-blocker-modal,.access-warning-banner{display:none!important}body,.scenario-container,.scenario-container *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{background:#fff!important}.main-wrapper{margin-left:0!important;min-height:auto!important}.dashboard-content{padding:0!important;max-width:100%!important}.scenario-container{max-width:100%!important;margin:0!important;padding:0!important}.card{box-shadow:none!important;page-break-inside:avoid;margin-bottom:8pt!important;padding:10pt!important}.card-header{margin-bottom:6pt!important;padding-bottom:4pt!important}.card-body{padding:0!important}.scenario-header{margin-bottom:12pt!important}.scenario-grid{gap:10pt!important;margin-bottom:10pt!important}.scenario-grid>.card{margin-bottom:8pt!important}.forces-section{gap:10pt!important;margin-bottom:10pt!important}.narrative-card{margin-bottom:8pt!important}.battle-setup-card .card-body{padding:0!important}.battle-section{padding:12pt 14pt!important;border-bottom:1px solid #f0f0f0}.first-turn-banner{padding:12pt 16pt!important}.deployment-zones{gap:10pt!important}.deployment-zone{padding:12pt!important}.objectives-list{gap:6pt!important}.objective-item{padding:8pt 10pt!important;margin-bottom:4pt!important}.rules-reference-content{gap:12pt!important}.rules-section{padding:10pt!important}.warband-narrative{gap:6pt!important}.warband-unit-card{margin-bottom:4pt!important}.enemy-units-grid,.warband-units-grid{gap:6pt!important}.map-info{gap:10pt!important;margin-bottom:8pt!important}.terrain-description{margin-bottom:6pt!important}.key-terrain{gap:4pt!important}.opposition-header{margin-bottom:8pt!important;gap:12pt!important}#loading-state,#error-state{display:none!important}}.warband-narrative{display:flex;flex-direction:column;gap:1rem}.warband-unit-card{background:#fff;border-radius:8px;border:1px solid #e5e5e5;overflow:hidden;transition:box-shadow .2s ease}.warband-unit-card:hover{box-shadow:0 2px 8px #00000014}.unit-card-header{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#f8f9fa;border-bottom:1px solid #e5e5e5}.unit-card-header .material-symbols-outlined{font-size:1.25rem;color:#666;flex-shrink:0}.unit-card-name{margin:0;font-size:1rem;font-weight:600;color:#1a1a1a;flex:1}.unit-card-type{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.05em;font-weight:500;margin-left:auto}.unit-count{font-weight:700;color:#d4af37;min-width:2rem;font-size:.95rem}.unit-card-body{padding:.875rem 1rem;display:flex;flex-direction:column;gap:.625rem}.unit-card-detail{display:flex;gap:.5rem;font-size:.875rem;line-height:1.4}.unit-card-detail .detail-label{font-weight:600;color:#666;min-width:80px;flex-shrink:0}.unit-card-detail .detail-value{color:#1a1a1a;flex:1}.warband-leader{border-left:4px solid #d4af37}.warband-leader .unit-card-header{background:#fffbf0;border-bottom-color:#f0e6d2}.warband-leader .unit-card-header .material-symbols-outlined{color:#d4af37;font-size:1.5rem}.warband-companion{border-left:3px solid #6c757d}.warband-companion .unit-card-header{background:#f8f9fa}.warband-wounded-badge{padding:.5rem 1rem;background:#fff3e0;border-bottom:1px solid #ffcc80;font-size:.8125rem;font-weight:600;color:#e65100;display:flex;align-items:center;gap:.35rem}.warband-unit-cannot-enter{border-left-color:#e65100;opacity:.92}.warband-unit-cannot-enter .unit-card-header{background:#fff8f0}.warband-unit-cannot-enter.warband-leader .unit-card-header{background:#fff3e6}.unit-card-subunits{margin-top:.5rem;padding-top:.75rem;border-top:1px solid #e5e5e5}.subunits-label{font-size:.75rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.subunit-item{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .75rem;margin-bottom:.375rem;background:#f8f9fa;border-radius:4px;font-size:.875rem;line-height:1.5}.subunit-item:last-child{margin-bottom:0}.subunit-count{font-weight:700;color:#d4af37;min-width:2rem;flex-shrink:0}.subunit-type{font-weight:500;color:#1a1a1a;min-width:120px;flex-shrink:0}.subunit-name{color:#666;font-style:italic;flex:1}.subunit-equipment{color:#666;font-size:.8rem;margin-left:auto;text-align:right}.warband-unit-group{border-left:3px solid #6c757d}.warband-unit-group .unit-card-header{background:#f8f9fa}.enemy-units-list{display:flex;flex-direction:column;gap:.5rem}.enemy-unit-item{background:var(--surface-secondary);border-radius:6px;padding:.75rem;border-left:3px solid var(--color-error)}.enemy-unit-main{display:flex;align-items:center;gap:.5rem}.enemy-unit-count{font-weight:700;color:var(--color-error);min-width:2rem}.enemy-unit-name{font-weight:500;color:var(--text-primary);flex:1}.enemy-unit-type{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.base-type-badge{font-size:.7rem;background:var(--color-error-light, rgba(220, 53, 69, .15));color:var(--color-error);padding:.15rem .4rem;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.behavior-profile-badge{font-size:.65rem;padding:.2rem .5rem;border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:help}.behavior-aggressive{background:#dc354533;color:#dc3545;border:1px solid rgba(220,53,69,.4)}.behavior-defensive{background:#007bff33;color:#007bff;border:1px solid rgba(0,123,255,.4)}.behavior-objective{background:#ffc10733;color:#ffc107;border:1px solid rgba(255,193,7,.4)}.behavior-hunter{background:#6c757d33;color:#6c757d;border:1px solid rgba(108,117,125,.4)}.behavior-cautious{background:#28a74533;color:#28a745;border:1px solid rgba(40,167,69,.4)}.behavior-shifts{margin-top:.25rem;font-size:.7rem;color:var(--text-secondary);font-style:italic}.enemy-unit-equip{font-size:.75rem;color:var(--text-tertiary)}.jarl-bodyguard{color:#fff;padding-left:30px;margin-bottom:20px;border-top:1px solid var(--border-color);display:flex;align-items:center;gap:.5rem}.bodyguard-label{font-size:.8rem;color:var(--text-tertiary)}.bodyguard-count{font-size:.85rem;font-weight:600;color:var(--text-primary)}.jarl-abilities,.companion-abilities{font-size:.8rem;color:var(--accent-gold);margin-top:.25rem}.force-unit{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.force-unit-count{font-weight:600;color:var(--accent-gold);min-width:1.5rem}.force-unit-type{font-weight:500;color:var(--text-primary)}.force-unit-name{color:var(--text-tertiary);font-size:.85rem}.result-page{max-width:680px;margin:0 auto;padding:24px 20px 60px}.result-breadcrumb{margin-bottom:24px}.result-header{text-align:center;margin-bottom:32px}.result-header h1{font-size:1.75rem;font-weight:800;color:#1a1a1a;margin:0 0 8px}.scenario-subtitle{font-size:1rem;color:#666;margin:0}.loading-state{text-align:center;padding:60px 20px}.spinner-large{width:40px;height:40px;border:3px solid #e5e5e5;border-top-color:#1a1a1a;border-radius:50%;margin:0 auto 16px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-section{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:24px;margin-bottom:20px}.section-label{display:flex;align-items:center;gap:10px;margin-bottom:8px}.section-label .material-symbols-outlined{font-size:22px;color:#1a1a1a}.section-label h2{font-size:1.1rem;font-weight:700;color:#1a1a1a;margin:0}.section-label.warning .material-symbols-outlined{color:#dc3545}.required-marker{font-size:.7rem;font-weight:600;text-transform:uppercase;color:#dc3545;margin-left:auto}.optional-marker{font-size:.7rem;font-weight:600;text-transform:uppercase;color:#888;margin-left:auto}.section-hint{font-size:.9rem;color:#666;margin:0 0 16px}.section-hint.warning{color:#dc3545}.choice-select-wrapper{position:relative}.choice-select-wrapper select{width:100%;padding:14px 40px 14px 16px;border:2px solid #e5e5e5;border-radius:10px;font-size:1rem;background:#fafafa;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;transition:all .15s ease}.choice-select-wrapper select:hover{border-color:#ccc;background-color:#fff}.choice-select-wrapper select:focus{outline:none;border-color:#1a1a1a;background-color:#fff}.choice-description-box{margin-top:12px;padding:16px;background:#f8f9fa;border:1px solid #e5e5e5;border-left:4px solid #1a1a1a;border-radius:8px}.choice-desc-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:#1a1a1a}.choice-desc-header .material-symbols-outlined{font-size:18px;color:#666}.choice-desc-header strong{font-size:.9rem;font-weight:700}.choice-desc-text{font-size:.9rem;color:#555;line-height:1.5;margin:0}.choices-radio-list{display:flex;flex-direction:column;gap:10px}.choice-radio-item{display:flex;align-items:flex-start;gap:14px;padding:16px;background:#fafafa;border:2px solid #e5e5e5;border-radius:10px;cursor:pointer;transition:all .15s ease}.choice-radio-item:hover{border-color:#ccc;background:#fff}.choice-radio-item input{margin-top:3px;width:18px;height:18px;accent-color:#1a1a1a;flex-shrink:0}.choice-radio-item:has(input:checked){border-color:#1a1a1a;background:#fff}.choice-content{flex:1}.choice-id{display:inline-block;font-size:.75rem;font-weight:700;color:#888;margin-bottom:4px}.choice-text{display:block;font-size:.95rem;font-weight:600;color:#1a1a1a;margin-bottom:4px}.choice-desc{display:block;font-size:.85rem;color:#666;line-height:1.4}.choice-input-fallback label{display:block;font-size:.9rem;font-weight:600;color:#333;margin-bottom:10px}.choice-input-fallback input{width:100%;padding:14px 16px;border:2px solid #e5e5e5;border-radius:10px;font-size:1rem;box-sizing:border-box}.choice-input-fallback input:focus{outline:none;border-color:#1a1a1a}.outcome-radio-group{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.outcome-radio{cursor:pointer}.outcome-radio input{display:none}.outcome-box{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;border:2px solid #e5e5e5;border-radius:12px;background:#fafafa;transition:all .15s ease}.outcome-box .material-symbols-outlined{font-size:32px}.outcome-text{font-size:.9rem;font-weight:700}.outcome-box.victory{color:#28a745}.outcome-box.draw{color:#ffc107}.outcome-box.defeat{color:#dc3545}.outcome-radio:hover .outcome-box{border-color:#ccc;background:#fff}.outcome-radio input:checked+.outcome-box{border-color:#1a1a1a;background:#1a1a1a;color:#fff}.outcome-radio input:checked+.outcome-box.victory{border-color:#28a745;background:#28a745}.outcome-radio input:checked+.outcome-box.draw{border-color:#ffc107;background:#ffc107;color:#333}.outcome-radio input:checked+.outcome-box.defeat{border-color:#dc3545;background:#dc3545}.objectives-checkbox-list{display:flex;flex-direction:column;gap:10px}.objective-checkbox-item{display:flex;align-items:flex-start;gap:0;background:#fafafa;border:2px solid #e5e5e5;border-radius:10px;cursor:pointer;transition:all .15s ease;overflow:hidden}.objective-checkbox-item:hover{border-color:#ccc;background:#fff}.objective-checkbox-item input{display:none}.objective-checkbox-item .objective-content{flex:1;padding:16px}.objective-checkbox-item .objective-type{display:inline-block;font-size:.65rem;font-weight:700;padding:3px 8px;border-radius:4px;text-transform:uppercase;margin-bottom:6px}.objective-type.primary{background:#1a1a1a;color:#fff}.objective-type.secondary{background:#e0e0e0;color:#555}.objective-checkbox-item .objective-text{display:block;font-size:.9rem;color:#333;line-height:1.4}.objective-checkbox-item .objective-condition{display:block;font-size:.8rem;color:#888;margin-top:6px;font-style:italic}.objective-check-icon{display:flex;align-items:center;justify-content:center;width:48px;background:#e5e5e5;align-self:stretch}.objective-check-icon .material-symbols-outlined{font-size:24px;color:transparent}.objective-checkbox-item:has(input:checked){border-color:#1a1a1a;background:#fff}.objective-checkbox-item:has(input:checked) .objective-check-icon{background:#1a1a1a}.objective-checkbox-item:has(input:checked) .objective-check-icon .material-symbols-outlined{color:#fff}.objective-checkbox-item.primary:has(input:checked){border-color:#28a745}.objective-checkbox-item.primary:has(input:checked) .objective-check-icon{background:#28a745}.objectives-toggle-list{display:flex;flex-direction:column;gap:12px}.objective-item{display:flex;align-items:stretch;justify-content:space-between;gap:16px;padding:16px 20px;background:#fafafa;border:2px solid #e5e5e5;border-radius:12px;transition:all .15s ease}.objective-item:hover{border-color:#ccc;background:#fff}.objective-item.primary{border-left:4px solid #1a1a1a}.objective-item.secondary{border-left:4px solid #888}.objective-item:has(input:checked){background:#fff;border-color:#28a745}.objective-item.primary:has(input:checked){border-left-color:#28a745}.objective-item.secondary:has(input:checked){border-color:#1a1a1a;border-left-color:#1a1a1a}.objective-content{flex:1;min-width:0}.objective-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.objective-id{font-size:.75rem;font-weight:700;color:#666;background:#e5e5e5;padding:2px 8px;border-radius:4px}.objective-type-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;padding:3px 8px;border-radius:4px;letter-spacing:.03em}.objective-type-badge.primary{background:#1a1a1a;color:#fff}.objective-type-badge.secondary{background:#e0e0e0;color:#555}.objective-weight{display:flex;align-items:center;gap:10px;margin-bottom:8px}.objective-weight-bar{flex:1;max-width:100px;height:6px;background:#e5e5e5;border-radius:3px;overflow:hidden}.objective-weight-fill{height:100%;background:linear-gradient(90deg,#1a1a1a,#444);border-radius:3px;transition:width .3s ease}.objective-weight-label{font-size:.75rem;font-weight:600;color:#666}.objective-text{font-size:.95rem;color:#333;line-height:1.5;font-weight:500}.objective-condition{font-size:.85rem;color:#888;margin-top:6px;font-style:italic}.objective-reward{font-size:.8rem;color:#28a745;margin-top:8px;font-weight:600}.objective-switch-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:80px}.objective-status-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:all .2s ease}.objective-status-label.fail{color:#dc3545}.objective-status-label.success{color:#28a745}.objective-switch{position:relative;display:inline-block;width:52px;height:28px;flex-shrink:0}.objective-switch input{opacity:0;width:0;height:0}.objective-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#dc3545;transition:.2s ease;border-radius:28px}.objective-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:.2s ease;border-radius:50%;box-shadow:none}.objective-switch input:checked+.objective-slider{background-color:#28a745}.objective-switch input:checked+.objective-slider:before{transform:translate(24px)}.objective-switch input:focus+.objective-slider{box-shadow:none}#refresh-campaigns-btn{min-height:60px}#refresh-campaigns-btn .material-symbols-outlined.spin{display:inline-block;animation:spin .8s linear infinite}.campaign-card-wrapper{margin-bottom:var(--spacing-md)}.confirm-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.confirm-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;cursor:pointer}.confirm-modal-content{position:relative;background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-xl);max-width:400px;width:100%;box-shadow:var(--elevation-8);border:1px solid var(--color-border-light)}.confirm-modal-title{margin:0 0 var(--spacing-sm);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.confirm-modal-message{margin:0 0 var(--spacing-lg);font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.confirm-modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.btn-danger{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:10px 20px;border:none;border-radius:var(--radius-md);background:#c62828;color:#fff;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color .15s ease}.btn-danger:hover:not(:disabled){background:#b71c1c}.btn-danger:disabled{opacity:.7;cursor:not-allowed}.btn-danger .material-symbols-outlined{font-size:20px}.casualties-select-wrapper{margin-bottom:24px}.casualties-select-wrapper select{width:100%;padding:14px 16px;border:2px solid #e5e5e5;border-radius:10px;font-size:1rem;background:#fafafa;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.casualties-select-wrapper select:focus{outline:none;border-color:#1a1a1a;background-color:#fff}.character-casualties{padding-top:20px;border-top:1px solid #e5e5e5}.subsection-title{font-size:.85rem;font-weight:700;text-transform:uppercase;color:#888;margin:0 0 16px;letter-spacing:.03em}.character-status-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 16px;background:#fafafa;border:1px solid #e5e5e5;border-radius:10px;margin-bottom:10px}.char-info{display:flex;align-items:center;gap:10px;min-width:150px}.char-name{font-weight:700;color:#1a1a1a}.char-role{font-size:.7rem;font-weight:600;padding:3px 8px;background:#e5e5e5;border-radius:4px;color:#666;text-transform:uppercase}.char-status-options{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.status-pill{cursor:pointer}.status-pill input{display:none}.pill{display:inline-block;padding:8px 14px;border:2px solid #e5e5e5;border-radius:20px;font-size:.8rem;font-weight:600;transition:all .15s ease}.pill.unharmed{color:#28a745;border-color:#c3e6cb}.pill.wounded{color:#ffc107;border-color:#ffeeba}.pill.fallen{color:#dc3545;border-color:#f5c6cb}.status-pill input:checked+.pill.unharmed{background:#d4edda;border-color:#28a745}.status-pill input:checked+.pill.wounded{background:#fff3cd;border-color:#ffc107}.status-pill input:checked+.pill.fallen{background:#f8d7da;border-color:#dc3545}.succession-radio-list{display:flex;flex-wrap:wrap;gap:10px}.succession-radio-item{cursor:pointer}.succession-radio-item input{display:none}.successor-name{display:inline-block;padding:12px 20px;border:2px solid #e5e5e5;border-radius:10px;font-size:.9rem;font-weight:600;color:#333;background:#fafafa;transition:all .15s ease}.succession-radio-item:hover .successor-name{border-color:#ccc;background:#fff}.succession-radio-item input:checked+.successor-name{border-color:#1a1a1a;background:#1a1a1a;color:#fff}.custom-successor input{width:100%;padding:14px 16px;border:2px solid #e5e5e5;border-radius:10px;font-size:1rem;margin-top:12px;box-sizing:border-box}.custom-successor input:focus{outline:none;border-color:#1a1a1a}#result-form textarea{width:100%;padding:14px 16px;border:2px solid #e5e5e5;border-radius:10px;font-size:.95rem;line-height:1.5;resize:vertical;min-height:100px;font-family:inherit;box-sizing:border-box}#result-form textarea:focus{outline:none;border-color:#1a1a1a}#result-form textarea::placeholder{color:#999}.form-submit{margin-top:24px}.submit-btn{width:100%;display:flex;align-items:center;justify-content:center;padding:10px 20px;background:#1a1a1a;color:#fff;border:none;border-radius:12px;font-size:1.05rem;font-weight:700;cursor:pointer;transition:all .2s ease}.submit-btn:hover{background:#333;transform:translateY(-2px);box-shadow:none}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-label,.btn-loading{display:inline-flex;align-items:center;gap:10px}.submit-btn .spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.result-state{min-height:50vh;display:flex;align-items:center;justify-content:center;padding:40px 20px}.state-content{text-align:center;max-width:400px}.state-content .state-icon{font-size:64px;margin-bottom:20px}.state-content.success .state-icon{color:#28a745}.state-content.error .state-icon{color:#dc3545}.state-content h2{font-size:1.5rem;font-weight:800;margin:0 0 12px;color:#1a1a1a}.state-content p{font-size:1rem;color:#666;margin:0}.state-actions{display:flex;gap:12px;justify-content:center;margin-top:28px;flex-wrap:wrap}.state-actions .btn-primary,.state-actions .btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;font-weight:600;text-decoration:none;transition:all .15s ease}.state-actions .btn-primary{background:#1a1a1a;color:#fff}.state-actions .btn-primary:hover{background:#333}.state-actions .btn-secondary{background:#fff;color:#1a1a1a;border:2px solid #e5e5e5}.state-actions .btn-secondary:hover{border-color:#1a1a1a}@media (max-width: 640px){.result-page{padding:16px 16px 48px}.result-header h1{font-size:1.5rem}.form-section{padding:20px}.outcome-radio-group{grid-template-columns:1fr;gap:10px}.outcome-box{flex-direction:row;padding:16px;gap:12px}.outcome-box .material-symbols-outlined{font-size:24px}.character-status-row{flex-direction:column;align-items:flex-start}.char-status-options{margin-left:0;width:100%}.pill{flex:1;text-align:center}.succession-radio-list{flex-direction:column}.successor-name{width:100%;text-align:center}}
/*# sourceMappingURL=/cdn/shop/t/4/assets/dashboard.css.map */
