.attack-banner{position:sticky;top:0;z-index:200;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;background-color:#b91c1c;color:#fff;border-bottom:2px solid #7f1d1d}.attack-banner-content{display:flex;flex-direction:column;gap:.15rem}.attack-banner-title{font-size:1rem;font-weight:700}.attack-banner-description{font-size:.875rem;opacity:.9}.attack-banner-detail{margin:.3rem 0 0;padding:0 0 0 1.1rem;list-style:disc;font-size:.8rem;opacity:.9;line-height:1.6}.attack-banner-acknowledge{flex-shrink:0;padding:.4rem .9rem;border:2px solid #fff;border-radius:4px;background:transparent;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer}.attack-banner-acknowledge:hover{background-color:#ffffff26}@media (max-width: 600px){.attack-banner{flex-direction:column;align-items:flex-start;gap:.5rem}}.phase-screen{display:flex;align-items:center;justify-content:center;min-height:80vh;padding:var(--spacing-lg);text-align:center}.phase-screen-content{max-width:520px;width:100%}.phase-screen-title{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.phase-screen-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-md);margin:0 0 var(--spacing-xl) 0;line-height:1.5}.phase-countdown-block{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);margin:var(--spacing-xl) 0}.phase-countdown-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.countdown-timer{font-size:var(--font-size-xl);font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.phase-actions{display:flex;justify-content:center;gap:var(--spacing-md);margin:var(--spacing-lg) 0}.phase-action-btn{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);border-radius:8px;background:var(--color-accent, #6366f1);color:#fff;text-decoration:none;font-weight:600;transition:opacity .15s}.phase-action-btn:hover{opacity:.85}.phase-chat-hint{color:var(--color-text-tertiary, var(--color-text-secondary));font-size:var(--font-size-sm);margin-top:var(--spacing-xl)}.phase-race-info{color:var(--color-text-secondary);font-size:var(--font-size-md);margin:var(--spacing-sm) 0 var(--spacing-lg) 0}.guest-banner{background:#f59e0b1f;border-bottom:1px solid rgba(245,158,11,.3);padding:6px var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center}.guest-banner-warning{color:var(--color-warning, #f59e0b);font-weight:600}.guest-banner-turns{color:var(--color-text-secondary)}.guest-banner-convert-link{color:var(--color-optimal);text-decoration:underline;font-weight:600;white-space:nowrap}.guest-banner-convert-link:hover{opacity:.8}.guest-expired-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9990;backdrop-filter:blur(4px)}.guest-expired-modal{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;padding:32px;max-width:480px;width:90vw;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;gap:16px;text-align:center}.guest-expired-modal h2{margin:0;font-size:var(--font-size-xl);color:var(--color-text-primary)}.guest-expired-modal p{margin:0;color:var(--color-text-secondary);line-height:1.5}.guest-leave-btn{background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;text-decoration:underline;padding:4px}.guest-leave-btn:hover{color:var(--color-deficit)}.turn-summary-panel{margin-top:.75rem;padding:.75rem 1rem;border:1px solid var(--border-color, #444);border-radius:6px;background:var(--card-bg, #1e1e2e);font-size:.875rem}.turn-summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.turn-summary-title{font-weight:600;font-size:.9rem}.turn-summary-dismiss{background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:0 .15rem;color:var(--text-muted, #888)}.turn-summary-dismiss:hover{color:var(--text-color, #fff)}.turn-summary-turns{margin:0 0 .5rem;font-size:.8rem;color:var(--text-muted, #888)}.turn-summary-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.turn-summary-row{display:flex;justify-content:space-between;gap:1rem}.turn-summary-label{color:var(--text-muted, #aaa)}.turn-summary-value{font-weight:600;font-variant-numeric:tabular-nums}.delta-positive .turn-summary-value{color:var(--color-success, #4caf50)}.delta-negative .turn-summary-value{color:var(--color-danger, #f44336)}.turn-summary-empty{margin:0;color:var(--text-muted, #888);font-size:.8rem}.info-banner{background:linear-gradient(135deg,#2d6a4f,#1b4332);color:#fff;padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem;box-shadow:0 2px 8px #00000026}.info-banner__content{display:flex;align-items:flex-start;gap:.75rem}.info-banner__icon{font-size:1.1rem;flex-shrink:0;margin-top:.1rem}.info-banner__text{flex:1;font-size:.95rem;line-height:1.4;opacity:.95}.info-banner__close{background:#fff3;color:#fff;border:none;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background .2s;flex-shrink:0;line-height:1}.info-banner__close:hover{background:#ffffff59}@media (max-width: 640px){.info-banner__content{flex-wrap:wrap}.info-banner__close{margin-left:auto}}.magic-section{padding:var(--spacing-sm) 0}.magic-section-embedded{padding:0}.magic-grid{display:flex;flex-direction:column;gap:10px}.magic-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;padding:10px 12px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;transition:transform .15s ease,box-shadow .15s ease}.magic-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000014}.magic-descriptors{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1 1 auto;min-width:240px}.magic-header{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;flex:0 0 236px;min-width:236px}.magic-header .magic-button{margin-left:auto}.magic-icon{font-size:18px;flex-shrink:0}.magic-header h3{margin:0;font-size:var(--font-size-base);color:var(--color-text-primary);flex-shrink:0}.magic-description{display:none}.magic-cost{font-size:10px;color:var(--color-text-secondary);font-weight:700;letter-spacing:.02em;white-space:nowrap;display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg-secondary)}.magic-cost--insufficient{color:var(--color-deficit)}.magic-status{font-size:10px;font-weight:600;color:var(--color-text-secondary);white-space:nowrap;display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg-secondary)}.magic-status.active{color:var(--color-surplus)}.magic-button{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;border:none;padding:6px 10px;border-radius:6px;min-height:30px;min-width:44px;font-size:11px;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s;line-height:1}.magic-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.magic-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.magic-feedback{font-size:var(--font-size-xs);font-weight:600;padding:4px 8px;border-radius:4px;flex-basis:100%}.magic-feedback.success{color:var(--color-surplus);background:#4caf501a}.magic-feedback.error{color:var(--color-deficit);background:#f443361a}.age-progress-bar{width:100%;height:8px;border-radius:4px;appearance:none;-webkit-appearance:none;background:var(--color-bg-secondary);border:1px solid var(--color-border)}.age-progress-bar::-webkit-progress-bar{background:var(--color-bg-secondary);border-radius:4px}.age-progress-bar::-webkit-progress-value{background:#ffc107;border-radius:4px}.age-progress-bar::-moz-progress-bar{background:#ffc107;border-radius:4px}@media (max-width: 768px){.magic-card{align-items:stretch;gap:6px}.magic-header{flex:1 1 100%;min-width:0}.magic-descriptors{min-width:0}}.magic-target-card{border-color:#1f7a8c66}.magic-intel-results{display:grid;gap:.35rem;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.clan-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.clan-section-header h2{margin:0}.clan-subtitle{margin:4px 0 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.clan-onboarding-banner{background:#2196f30d;border:1px solid rgba(33,150,243,.18);border-radius:10px;padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-md)}.clan-onboarding-title{font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.clan-onboarding-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0;line-height:1.4}.clan-onboarding-benefits{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.clan-onboarding-benefits li{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.4}.clan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md)}.clan-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:var(--spacing-md)}.clan-card h3{margin-top:0}.clan-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.clan-form label{display:flex;flex-direction:column;gap:6px;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.clan-checkbox-row{flex-direction:row!important;align-items:center;gap:6px}.clan-form input,.clan-form select{padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:var(--font-size-base)}.clan-form button{border:none;border-radius:6px;padding:10px 12px;background:var(--color-optimal);color:#fff;font-weight:600;cursor:pointer}.secondary-button{background:var(--color-text-secondary)!important}.clan-alert{border-radius:6px;padding:10px 12px;font-size:var(--font-size-sm)}.clan-alert-error{background:#f443361a;color:var(--color-deficit)}.clan-alert-success{background:#4caf501f;color:var(--color-surplus)}.clan-stack{display:flex;flex-direction:column;gap:var(--spacing-md)}.clan-summary-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-primary)}.clan-summary-identity{display:flex;flex-direction:column;gap:4px;min-width:0}.clan-summary-title{display:flex;align-items:baseline;gap:8px;font-size:var(--font-size-lg);color:var(--color-text-primary)}.clan-summary-title strong{font-size:var(--font-size-lg)}.clan-id{margin:0;font-size:var(--font-size-xs);color:var(--color-text-secondary);word-break:break-all}.clan-summary-stats{display:flex;flex-wrap:wrap;gap:6px 14px;flex:1;min-width:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.clan-summary-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.clan-summary-actions button{border:none;border-radius:6px;padding:8px 12px;background:var(--color-optimal);color:#fff;font-weight:600;cursor:pointer;font-size:var(--font-size-sm)}.clan-block{border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-primary);overflow:hidden}.clan-block-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.clan-block-title{flex:1;min-width:0}.clan-block-title h3{margin:0;font-size:var(--font-size-base);color:var(--color-text-primary)}.clan-block-title .clan-subtitle{font-size:var(--font-size-xs);margin:2px 0 0}.clan-block-stats{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.clan-inline-form{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center}.clan-inline-form input[type=text],.clan-inline-form input:not([type]){padding:6px 10px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--font-size-sm);min-width:220px}.clan-inline-form button[type=submit]{border:none;border-radius:6px;padding:6px 12px;background:var(--color-optimal);color:#fff;font-weight:600;cursor:pointer;font-size:var(--font-size-sm)}.clan-inline-form label{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.clan-inline-form-wide{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md)}.clan-inline-form-wide label{display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-xs);color:var(--color-text-secondary);min-width:180px}.clan-inline-form-wide select{padding:6px 10px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--font-size-sm)}.clan-inline-form-wide button[type=submit]{border:none;border-radius:6px;padding:8px 14px;background:var(--color-optimal);color:#fff;font-weight:600;cursor:pointer;font-size:var(--font-size-sm)}.clan-row-list{display:flex;flex-direction:column}.clan-row-list>.clan-empty-state{padding:var(--spacing-sm) var(--spacing-lg);margin:0}.clan-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);border-top:1px solid var(--color-border);min-height:44px}.clan-row:first-child{border-top:none}.clan-row-clickable{cursor:pointer}.clan-row-clickable:hover{background:#ffffff0a}.clan-row-war{background:#c628280a}.clan-row-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--color-bg-secondary);border:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:capitalize;flex-shrink:0;min-width:90px;justify-content:center}.clan-row-badge-war{background:#c628281f;border-color:#c628284d;color:var(--color-deficit)}.clan-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.clan-row-headline{display:flex;align-items:center;gap:8px;color:var(--color-text-primary)}.clan-row-headline strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clan-row-tag{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.clan-row-tag-link{cursor:pointer}.clan-row-tag-link:hover{color:var(--color-text-primary)}.clan-row-meta{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--color-text-secondary);font-size:var(--font-size-sm);min-width:0}.clan-row-action{border:none;border-radius:6px;padding:6px 12px;background:var(--color-text-secondary);color:#fff;font-weight:600;font-size:var(--font-size-sm);cursor:pointer;flex-shrink:0}.clan-row-action-btn{border:none;border-radius:6px;padding:4px 10px;font-weight:600;font-size:var(--font-size-xs);cursor:pointer;flex-shrink:0}.clan-row-action-btn-danger{background:#c6282826;color:var(--color-deficit);border:1px solid rgba(198,40,40,.3)}.clan-row-action-btn-danger:hover{background:#c6282840}.clan-row-pill{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:600;text-transform:capitalize;flex-shrink:0}.clan-row-pill-on{color:var(--color-surplus);border-color:#4caf5066}.clan-row-pill-role-leader{color:var(--color-warning);border-color:#ffc10766}.clan-row-pill-role-co_leader,.clan-row-pill-role-foreign_affairs_officer{color:var(--color-optimal);border-color:#2196f366}.clan-shared-defense-toggle{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.clan-shared-defense-toggle:hover{border-color:var(--color-accent, var(--color-text-primary))}.clan-shared-defense-toggle[aria-pressed=true]{background:var(--color-accent, rgba(33, 150, 243, .25));border-color:var(--color-accent, rgba(33, 150, 243, .5));color:var(--color-text-on-accent, var(--color-text-primary))}.clan-empty-state{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-lg)}.clan-collapsible-header{width:100%;text-align:left;background:var(--color-bg-secondary);border:none;cursor:pointer;font:inherit;color:inherit}.clan-collapsible-header:hover{background:var(--color-bg-primary)}.clan-chat-body{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg)}.clan-chat-messages{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:320px;overflow-y:auto;padding-right:4px}.clan-chat-message{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-radius:6px;background:var(--color-bg-secondary);border:1px solid var(--color-border)}.clan-chat-message-meta{display:flex;gap:8px;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.clan-chat-message-body{font-size:var(--font-size-sm);color:var(--color-text-primary);word-break:break-word}@media (max-width: 768px){.clan-summary-bar,.clan-block-header,.clan-row{flex-direction:column;align-items:flex-start}.clan-row-badge{min-width:auto}.clan-summary-actions{width:100%}}.banking-section{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.banking-section-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.banking-max-loan{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.banking-max-loan-value{font-weight:600;color:var(--color-text-primary)}.banking-controls{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"borrow-label repay-label" "borrow-input repay-input" "interest     interest" "borrow-btn   repay-btn";column-gap:var(--spacing-md);row-gap:var(--spacing-sm);max-width:380px}.bc-borrow-label{grid-area:borrow-label}.bc-borrow-input{grid-area:borrow-input}.bc-interest{grid-area:interest}.bc-borrow-btn{grid-area:borrow-btn}.bc-repay-label{grid-area:repay-label}.bc-repay-input{grid-area:repay-input}.bc-repay-btn{grid-area:repay-btn}.bc-borrow-label,.bc-repay-label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);align-self:end}.banking-input{width:100%;box-sizing:border-box;padding:6px 8px;font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text-primary);text-align:right}.banking-input:disabled{opacity:.5;cursor:not-allowed}.bc-interest{font-size:var(--font-size-sm);color:var(--color-text-secondary);min-height:0}.bc-interest strong{color:var(--color-text-primary);font-weight:600}.bc-interest strong.deficit{color:var(--color-deficit)}.banking-btn{width:100%;box-sizing:border-box;padding:7px 0;font-size:var(--font-size-sm);font-weight:600;border:none;border-radius:4px;cursor:pointer;text-align:center}.banking-btn:disabled{opacity:.6;cursor:not-allowed}.banking-btn-primary{background:var(--color-optimal);color:#fff}.banking-btn-gem{margin-top:var(--spacing-sm);background:#6d28d9;color:#fff}@media (max-width: 420px){.banking-controls{grid-template-columns:1fr;grid-template-areas:"borrow-label" "borrow-input" "interest" "borrow-btn" "repay-label" "repay-input" "repay-btn";max-width:100%}}.banking-loan-info{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.banking-loan-info-item strong{color:var(--color-text-primary);font-weight:600}.banking-loan-info-item .deficit{color:var(--color-deficit)}.banking-loan-info-item .warning{color:var(--color-warning)}.banking-feedback{padding:6px 10px;border-radius:4px;font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.banking-feedback.error{background:#f443361a;border:1px solid var(--color-deficit);color:var(--color-deficit)}.banking-feedback.success{background:#4caf501a;border:1px solid var(--color-surplus);color:var(--color-surplus)}.onboarding-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9998;backdrop-filter:blur(4px)}.onboarding-modal{background:#fff;border-radius:12px;padding:40px;max-width:500px;width:90vw;position:relative;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.onboarding-close{position:absolute;top:16px;right:16px;width:32px;height:32px;padding:0;border:none;background:transparent;font-size:24px;cursor:pointer;color:#666;transition:color .2s;border-radius:4px}.onboarding-close:hover{color:#333}.onboarding-close:focus{outline:2px solid #3b82f6;outline-offset:2px}.onboarding-content{text-align:center;margin-bottom:32px}.onboarding-content h1{font-size:28px;font-weight:700;margin:0 0 16px;color:#1f2937;line-height:1.2}.onboarding-content p{font-size:16px;color:#666;line-height:1.6;margin:0 0 24px}.onboarding-steps-indicator{display:flex;justify-content:center;gap:8px}.step-dot{width:8px;height:8px;border-radius:50%;background:#ddd;transition:all .3s}.step-dot.active{background:#3b82f6;width:24px;border-radius:4px}.onboarding-actions{display:flex;gap:12px;margin-bottom:16px}.onboarding-btn{flex:1;padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.onboarding-btn:disabled{opacity:.5;cursor:not-allowed}.onboarding-btn-primary{background:#3b82f6;color:#fff}.onboarding-btn-primary:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f64d}.onboarding-btn-primary:focus{outline:2px solid #3b82f6;outline-offset:2px}.onboarding-btn-secondary{background:#e5e7eb;color:#333}.onboarding-btn-secondary:hover:not(:disabled){background:#d1d5db}.onboarding-btn-secondary:focus{outline:2px solid #9ca3af;outline-offset:2px}.onboarding-btn-skip{width:100%;padding:8px;border:none;background:transparent;color:#9ca3af;font-size:13px;cursor:pointer;text-decoration:underline;transition:color .2s}.onboarding-btn-skip:hover{color:#6b7280}@media (max-width: 640px){.onboarding-modal{padding:24px;max-width:95vw}.onboarding-content h1{font-size:22px}.onboarding-content p{font-size:14px}.onboarding-actions{flex-direction:column}.onboarding-btn{padding:10px 16px}}.first-session-banner{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem;border-radius:4px;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000026}.first-session-banner__content{display:flex;justify-content:space-between;align-items:center;gap:1rem}.first-session-banner__tip{display:flex;gap:1rem;flex:1}.first-session-banner__icon{font-size:1.5rem;flex-shrink:0}.first-session-banner__text h3{margin:0 0 .25rem;font-size:1.1rem;font-weight:600}.first-session-banner__text p{margin:0;font-size:.95rem;opacity:.95}.first-session-banner__controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.first-session-banner__nav{background:#fff3;color:#fff;border:none;padding:.5rem .75rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:background .2s}.first-session-banner__nav:hover:not(:disabled){background:#ffffff4d}.first-session-banner__nav:disabled{opacity:.5;cursor:not-allowed}.first-session-banner__indicator{font-size:.85rem;min-width:50px;text-align:center}.first-session-banner__close{background:#fff3;color:#fff;border:none;padding:.5rem;border-radius:4px;cursor:pointer;font-size:1.2rem;transition:background .2s;flex-shrink:0}.first-session-banner__close:hover{background:#ffffff4d}@media (max-width: 640px){.first-session-banner__content{flex-direction:column;align-items:flex-start}.first-session-banner__controls{width:100%;justify-content:space-between}}.empire-news-pane{border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-primary);margin-bottom:1rem;overflow:hidden}.empire-news-pane__header{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.empire-news-pane__title{font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.empire-news-pane__badge{background:var(--color-btn-bg);color:var(--color-btn-text);border-radius:999px;font-size:var(--font-size-sm);font-weight:700;padding:.1rem .4rem;line-height:1.4}.empire-news-pane__events{list-style:none;margin:0;padding:0}.empire-news-pane__event{display:flex;align-items:baseline;gap:.5rem;padding:.3rem .75rem;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);line-height:1.4}.empire-news-pane__event:last-child{border-bottom:none}.empire-news-pane__event-icon{font-size:var(--font-size-sm);flex-shrink:0}.empire-news-pane__event-body{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .4rem}.empire-news-pane__event-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.empire-news-pane__event-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.empire-news-pane__event-time{font-size:var(--font-size-sm);color:var(--color-neutral);white-space:nowrap}.empire-news-pane__footer{display:flex;justify-content:flex-end;padding:.4rem .75rem;border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.empire-news-pane__acknowledge{padding:.25rem .7rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-btn-bg);color:var(--color-btn-text);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background .15s}.empire-news-pane__acknowledge:hover{background:var(--color-btn-bg-hover)}.empire-news-pane__acknowledge:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}@media (max-width: 600px){.empire-news-pane__event{flex-wrap:wrap}}.news-screen{max-width:880px;margin:0 auto;padding:1.5rem}.news-header{margin-bottom:1.25rem}.news-header h1{margin:0;color:var(--color-text-primary)}.news-header p{margin:.35rem 0 0;color:var(--color-text-secondary)}.news-dead-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;border:1px solid color-mix(in srgb,var(--color-critical) 35%,var(--color-border));border-radius:12px;background:color-mix(in srgb,var(--color-critical) 10%,var(--color-bg-secondary));padding:1rem 1.25rem}.news-dead-banner h2{margin:0;color:var(--color-text-primary);font-size:1.05rem}.news-dead-banner p{margin:.35rem 0 0;color:var(--color-text-secondary);line-height:1.5}.news-dead-banner-action{flex-shrink:0;border-radius:999px;background:var(--color-critical);color:#fff;padding:.7rem 1rem;font-weight:600;text-decoration:none}.news-dead-banner-action:hover,.news-dead-banner-action:focus-visible{filter:brightness(1.05)}.news-list{display:grid;gap:.85rem}.news-item{border:1px solid var(--color-border);border-left-width:4px;border-radius:12px;background:var(--color-bg-secondary);padding:1rem}.news-item-attack{border-left-color:#c0392b}.news-item-defense{border-left-color:#2f855a}.news-item-aid{border-left-color:#1f7a8c}.news-item-desertion{border-left-color:#c77d00}.news-item-meta{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.5rem;color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em}.news-item p{margin:0;color:var(--color-text-primary);line-height:1.5;overflow-wrap:break-word;word-break:break-word}.news-item--unread p{color:#e53e3e}.news-item-detail{margin:.35rem 0 0;padding:0 0 0 1.1rem;list-style:disc;color:var(--color-text-secondary);font-size:.82em;line-height:1.6}.news-empty,.news-error{border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg-secondary);padding:1.25rem;text-align:center}.news-error{color:var(--color-critical)}@media (max-width: 768px){.news-screen{padding:1rem}.news-item-meta{flex-direction:column;gap:.25rem}.news-dead-banner{flex-direction:column;align-items:stretch}.news-dead-banner-action{text-align:center}}.intel-screen{display:grid;gap:1rem}.intel-screen-header h1{margin:0;font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary)}.intel-screen-header p{margin:.4rem 0 0;color:var(--color-text-secondary)}.intel-loading,.intel-error,.intel-empty{padding:1rem;border-radius:10px;background:var(--color-bg-secondary)}.intel-error{color:var(--color-deficit)}.intel-empty-title{margin:0;font-weight:700}.intel-empty-hint{margin:.35rem 0 0}.intel-report-list{display:grid;gap:.9rem}.intel-report-card{border:1px solid var(--color-border);border-radius:12px;padding:.9rem;background:var(--color-bg-secondary)}.intel-report-head h2{margin:0;font-size:1.05rem;color:var(--color-text-primary)}.intel-report-head p,.intel-report-meta p{margin:.2rem 0 0;color:var(--color-text-secondary)}.intel-report-meta{margin-top:.6rem}.intel-report-card--clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s}.intel-report-card--clickable:hover,.intel-report-card--clickable:focus-visible{border-color:var(--color-accent, #6c8ebf);box-shadow:0 0 0 2px var(--color-accent-muted, rgba(108, 142, 191, .25));outline:none}.intel-report-nav-hint{font-size:.8rem;color:var(--color-accent, #6c8ebf);margin-top:.25rem!important}.intel-report-grid{margin-top:.75rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.35rem .8rem;font-size:.95rem;color:var(--color-text-primary)}@media (max-width: 768px){.intel-screen-header h1{font-size:var(--font-size-xl)}}.toast-container{position:fixed;bottom:24px;right:24px;max-width:400px;display:flex;flex-direction:column;gap:12px;z-index:9999;pointer-events:none}.toast{background:#fff;border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px #00000026;border-left:4px solid;font-size:14px;font-weight:500;pointer-events:auto;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast.removing{animation:slideOut .3s ease-in forwards}.toast-success{border-left-color:#22c55e;background:#f0fdf4;color:#15803d}.toast-error{border-left-color:#ef4444;background:#fef2f2;color:#991b1b}.toast-info{border-left-color:#3b82f6;background:#eff6ff;color:#1e40af}.toast-icon{font-weight:700;flex-shrink:0;font-size:16px}.toast-message{flex:1;line-height:1.5;word-break:break-word}.toast-dismiss{flex-shrink:0;width:24px;height:24px;padding:0;border:none;background:transparent;color:inherit;cursor:pointer;font-size:18px;line-height:1;opacity:.6;transition:opacity .2s}.toast-dismiss:hover{opacity:1}.toast-dismiss:focus{outline:2px solid currentColor;outline-offset:2px;border-radius:4px}@media (max-width: 600px){.toast-container{bottom:16px;right:16px;left:16px;max-width:none}.toast{font-size:13px}}.management-screen{min-height:100vh;background:var(--color-bg-primary)}.management-shell{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg) 1.5rem;box-sizing:border-box;width:100%}.management-screen.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--spacing-lg);text-align:center}.management-screen.error h1{color:var(--color-deficit)}.management-screen.error p{color:var(--color-text-secondary);max-width:400px}.create-empire-dialog{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#00000080}.dialog-content{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 20px 60px #0000004d;padding:calc(var(--spacing-lg) * 2);width:100%;max-width:960px;margin:var(--spacing-lg)}.dialog-content h1{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0;text-align:center}.dialog-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;margin:0 0 var(--spacing-lg) 0;line-height:1.5}.dialog-subtitle.destroyed-message{color:var(--color-text-primary);font-weight:600}.dialog-content .form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.management-race-picker{margin:var(--spacing-md) 0}.management-race-picker h2{margin:0;font-size:var(--font-size-lg)}.management-race-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin:var(--spacing-sm) 0 var(--spacing-sm)}.management-race-option{border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg-secondary);padding:6px 14px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s,color .15s}.management-race-option:hover:not(:disabled){border-color:var(--color-optimal);background:#2196f31a}.management-race-option.selected{border-color:var(--color-optimal);color:#fff;background:var(--color-optimal, #2196f3);box-shadow:0 0 0 1px #2196f366}.management-race-selected-detail{border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-secondary);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md)}.management-race-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5;margin:0 0 var(--spacing-sm)}.management-race-summary{display:flex;flex-wrap:wrap;gap:4px}.management-race-chip{border-radius:999px;padding:2px 6px;font-size:10px;font-weight:700}.management-race-chip.positive,.management-race-value.positive{color:#198b3c;background:#e8e8e8}.management-race-chip.negative,.management-race-value.negative{color:#d32f2f;background:#e8e8e8}.management-race-chip.neutral,.management-race-value.neutral{color:#000;background:#e8e8e8}.management-race-details{border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-secondary);padding:var(--spacing-sm)}.management-race-details h3{margin:0 0 var(--spacing-sm);font-size:var(--font-size-base)}.management-race-details table{width:100%;border-collapse:collapse;font-size:var(--font-size-xs)}.management-race-details th,.management-race-details td{border-top:1px solid var(--color-border);padding:6px;text-align:left;vertical-align:top}.management-race-details th{font-weight:700}.management-race-value{display:inline-flex;align-items:center;justify-content:center;min-width:56px;border-radius:999px;padding:2px 8px;font-weight:700}.dialog-content label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.dialog-content input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:6px;font-size:var(--font-size-base);transition:border-color .2s}.dialog-content input:focus{outline:none;border-color:var(--color-optimal);box-shadow:0 0 0 3px #2196f31a}.create-button{background:var(--color-optimal);color:#fff;border:none;padding:var(--spacing-md) var(--spacing-lg);border-radius:6px;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:background .2s;width:100%}.create-button:hover:not(:disabled){background:#1976d2}.create-button:disabled{opacity:.6;cursor:not-allowed}.spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top:4px solid var(--color-optimal);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.retry-button{background:var(--color-optimal);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:4px;cursor:pointer;font-size:var(--font-size-base);font-weight:600;transition:background .2s}.retry-button:hover{background:#1976d2}.management-warnings{max-width:1200px;margin:0 auto var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.management-warning{display:flex;align-items:center;gap:var(--spacing-sm);padding:10px var(--spacing-md);border-radius:8px;font-size:var(--font-size-sm);font-weight:500;line-height:1.4}.management-warning-icon{font-size:16px;flex-shrink:0}.management-warning-info{background:#2196f312;border:1px solid rgba(33,150,243,.2);color:var(--color-optimal)}.management-warning-caution{background:#ff980014;border:1px solid rgba(255,152,0,.25);color:#e65100}.management-warning-critical{background:#f4433612;border:1px solid rgba(244,67,54,.2);color:var(--color-deficit)}.management-first-action-hint{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:8px;background:#2196f30f;border:1px solid rgba(33,150,243,.18);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5;margin-bottom:var(--spacing-md)}.management-first-action-icon{font-size:20px;flex-shrink:0;line-height:1.4}.management-self-spells-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--spacing-sm)}.management-self-spell-button{border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-primary);border-radius:8px;padding:5px 8px;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;cursor:pointer}.management-self-spell-button:hover:not(:disabled){background:var(--color-bg-secondary)}.management-self-spell-button:disabled{opacity:.55;cursor:not-allowed}.management-self-spell-icon{font-size:14px;line-height:1}.management-self-spell-text{line-height:1}.management-self-spell-feedback{margin:0 0 var(--spacing-sm);font-size:12px;color:var(--color-surplus)}.management-combat-progress{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-primary)}.management-combat-progress-kicker{margin:0 0 4px;font-size:var(--font-size-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary)}.management-combat-progress-title{margin:0;font-size:var(--font-size-base)}.management-combat-progress-metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-md)}.management-combat-progress-metric{display:flex;flex-direction:column;gap:2px;min-width:120px;text-align:right}.management-combat-progress-label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.portal-status-indicator{margin:var(--spacing-xs) 0;font-size:13px;padding:4px 10px;border-radius:6px;display:inline-block}.portal-status-open{color:#4caf50}.portal-status-closed{color:#9e9e9e}.portal-time-remaining{color:#ffc107}.management-actions-workspace{display:flex;flex-direction:column;gap:var(--spacing-md)}.management-workspace-block{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-secondary);scroll-margin-top:84px}.management-workspace-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-sm)}.management-workspace-kicker{margin:0 0 4px;font-size:var(--font-size-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary)}.management-workspace-title{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.management-clan-status{display:flex;justify-content:space-between;gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-border);border-radius:10px;background:linear-gradient(135deg,#c6282814,#2196f30f);max-width:1200px;margin:0 auto var(--spacing-md)}.management-clan-status h2{margin:0;font-size:var(--font-size-base)}.management-clan-status p{margin:4px 0 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.management-clan-status-label{margin:0;font-size:var(--font-size-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary)}.management-clan-status-metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:flex-start;gap:var(--spacing-xs)}.management-clan-status-metrics span,.management-clan-status-toggle{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:600}.management-clan-status-toggle{cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease}.management-clan-status-toggle:hover{border-color:var(--color-accent, var(--color-text-primary))}.management-clan-status-toggle[aria-pressed=true]{background:var(--color-accent, rgba(33, 150, 243, .25));border-color:var(--color-accent, rgba(33, 150, 243, .5));color:var(--color-text-on-accent, var(--color-text-primary))}.management-tabbed-layout{display:flex;max-width:1200px;margin:0 auto;padding:0;gap:var(--spacing-md);min-height:calc(100vh - 200px)}.management-tabs{display:flex;flex-direction:column;gap:4px;width:72px;flex-shrink:0;padding:var(--spacing-sm) 0}.management-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--spacing-sm) 4px;border:none;border-radius:8px;background:transparent;cursor:pointer;transition:background .15s,color .15s;color:var(--color-text-secondary)}.management-tab:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.management-tab.active{background:var(--color-optimal);color:#fff}.management-tab-icon{font-size:1.4rem;line-height:1}.management-tab-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;line-height:1.2}.management-tab-content{flex:1;min-width:0;padding:var(--spacing-sm) 0}@media (max-width: 768px){.dialog-content{max-width:100%;margin:var(--spacing-sm);padding:var(--spacing-md)}.management-clan-status{flex-direction:column;margin:0 var(--spacing-sm) var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.management-clan-status-metrics{justify-content:flex-start}.management-tabbed-layout{flex-direction:column-reverse;padding:0 0 64px;min-height:auto}.management-tabs{position:fixed;bottom:0;left:0;right:0;z-index:100;flex-direction:row;width:100%;height:56px;padding:4px 0;background:var(--color-bg-primary);border-top:1px solid var(--color-border);justify-content:space-around;gap:0}.management-tab{flex:1;padding:4px 0;border-radius:0;min-width:0}.management-tab-icon{font-size:1.2rem}.management-tab-label{font-size:.55rem}.management-tab-content{padding:var(--spacing-sm) 0 0}.management-combat-progress{flex-direction:column}.management-combat-progress-metrics{width:100%;justify-content:space-between}.management-combat-progress-metric{text-align:left}.management-workspace-block{padding:var(--spacing-sm)}}.management-tab:focus-visible{outline:2px solid var(--color-optimal);outline-offset:2px}.management-discover-panel{margin-top:var(--spacing-lg);padding:var(--spacing-md) 0 0;border-top:1px solid var(--color-border)}.management-discover-title{font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.management-discover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-sm)}.management-discover-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-secondary);cursor:pointer;text-align:left;transition:border-color .15s,background .15s;min-height:44px}.management-discover-card:hover{border-color:var(--color-optimal);background:#2196f30a}.management-discover-card:focus-visible{outline:2px solid var(--color-optimal);outline-offset:2px}.management-discover-icon{font-size:1.4rem;line-height:1}.management-discover-label{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary)}.management-discover-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.4}@media (max-width: 768px){.management-discover-grid{grid-template-columns:1fr 1fr}}@media (max-width: 767px){.management-shell{padding:0 var(--spacing-md) 1rem}}@media print{.management-screen{background:#fff}.empire-header,.resources-section,.buildings-section,.civilization-section,.action-progression-section{page-break-inside:avoid}}.management-race-info{margin:var(--spacing-sm) 0;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.management-race-info-row{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:none;cursor:pointer;font-size:var(--font-size-sm)}.management-race-info-label{font-weight:600;color:var(--color-text-secondary)}.management-race-info-value{font-weight:600;color:var(--color-text-primary)}.management-race-info-chevron{margin-left:var(--spacing-xs);font-size:var(--font-size-xs)}.management-race-modifier-panel{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary)}.management-race-modifier-panel table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.management-race-modifier-panel th,.management-race-modifier-panel td{text-align:left;padding:4px 8px;border-bottom:1px solid var(--color-border)}.management-race-modifier-panel th{font-weight:600;color:var(--color-text-secondary)}.management-reset-panel{margin-top:var(--spacing-lg);border:1px solid rgba(244,67,54,.35);border-radius:10px;background:#f443360f;padding:var(--spacing-md)}.management-reset-title{margin:0 0 var(--spacing-xs);font-size:var(--font-size-base);font-weight:700;color:var(--color-deficit)}.management-reset-description{margin:0 0 var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.management-reset-warning{margin:0 0 var(--spacing-sm);font-size:var(--font-size-sm);font-weight:700;letter-spacing:.02em;color:var(--color-deficit)}.management-reset-name-mode{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.management-reset-name-mode label{display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);color:var(--color-text-primary);text-transform:none;letter-spacing:normal}.management-reset-name-mode input[type=radio]{margin:0}.management-reset-button{margin-top:var(--spacing-sm)}.management-guest-convert-panel{margin-top:var(--spacing-lg);border:1px solid rgba(33,150,243,.35);border-radius:10px;background:#2196f30f;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.management-guest-convert-title{margin:0 0 var(--spacing-xs);font-size:var(--font-size-base);font-weight:700;color:var(--color-optimal)}.management-mobile-controls{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.management-mobile-controls-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin-bottom:4px}.management-mobile-tax-row{display:flex;align-items:center;gap:6px}.management-mobile-tax-input{width:56px;padding:4px 6px;font-size:11px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-primary);color:var(--color-text-primary);text-align:right}.management-mobile-tax-pct{font-size:11px;color:var(--color-text-secondary)}.management-mobile-apply-btn{padding:4px 10px;font-size:11px;font-weight:600;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer}.management-mobile-apply-btn:disabled{opacity:.5;cursor:not-allowed}.management-mobile-training-fields{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.management-mobile-training-field{display:flex;align-items:center;gap:3px;font-size:11px}.management-mobile-training-field-label{color:var(--color-text-secondary);min-width:24px}.management-mobile-training-input{width:36px;padding:4px;font-size:11px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-primary);color:var(--color-text-primary);text-align:right}.management-mobile-training-suffix{font-size:11px;color:var(--color-text-secondary)}.management-mobile-training-total{font-size:11px;color:var(--color-text-secondary);margin-left:4px}.management-mobile-training-total.over-limit{color:var(--color-deficit);font-weight:700}.management-mobile-error{font-size:11px;color:var(--color-deficit);margin-top:4px}.management-mobile-success{font-size:11px;color:var(--color-surplus);margin-top:4px}.empire-header{position:sticky;top:48px;z-index:10;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);box-shadow:0 2px 4px #0000000d}.empire-header-row{display:flex;align-items:flex-start;justify-content:space-between;max-width:1200px;margin:0 auto;gap:var(--spacing-lg)}.empire-name{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);margin:0;flex-shrink:0}.empire-header-stats{display:flex;gap:1.25rem;align-items:flex-start}.empire-stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.stat-subvalue{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.empire-stat-ticks .stat-value{color:var(--color-optimal)}.morale-good{color:var(--color-surplus)}.morale-warning{color:var(--color-warning)}.morale-critical{color:var(--color-deficit)}.stat-net{font-size:var(--font-size-xs);font-weight:500}.stat-net-positive{color:var(--color-surplus)}.stat-net-negative{color:var(--color-deficit)}.empire-levels{max-width:1200px;margin:6px auto 0;display:flex;flex-wrap:wrap;gap:6px}.empire-level-chip{display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg-secondary);padding:3px 8px;font-size:11px;font-weight:600;color:var(--color-text-primary)}@media (max-width: 768px){.empire-header{top:44px;padding:var(--spacing-sm)}.empire-header-row{flex-wrap:wrap;gap:var(--spacing-sm)}.empire-header-stats{gap:var(--spacing-md);flex-wrap:wrap}.empire-name{font-size:var(--font-size-xl)}.empire-levels{margin-top:4px}}.empire-name-group{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.empire-header-toggle{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-base);padding:2px 4px;line-height:1;flex-shrink:0}.empire-header-toggle:hover{color:var(--color-text-primary)}.empire-race-badge{display:inline-block;font-size:var(--font-size-xs);font-weight:600;padding:2px 8px;border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border);white-space:nowrap}.empire-age-badge{display:inline-block;font-size:var(--font-size-xs);font-weight:600;padding:2px 8px;border-radius:4px;background:#ffc1071a;color:#ffc107;border:1px solid rgba(255,193,7,.2);white-space:nowrap}.resources-section{background:transparent;border-radius:0;padding:0;margin-bottom:0}.resources-section h2{display:none}.resources-rows{display:grid;gap:var(--spacing-sm)}.resources-row{display:grid;gap:8px}.resources-row-four{grid-template-columns:repeat(4,minmax(0,1fr))}.resources-row-two{grid-template-columns:repeat(2,minmax(0,1fr))}.resources-row-troops{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.resources-row-troops .resource-card{flex:0 0 auto;width:max-content}.resource-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;padding:6px 8px;display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:6px;transition:transform .2s,box-shadow .2s}.resource-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.resource-label{font-size:9px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.4px;font-weight:600}.resource-value{font-size:20px;font-weight:700;color:var(--color-text-primary);line-height:1.05}.resource-delta{font-size:11px;font-weight:600;justify-self:end}.resource-delta.surplus{color:var(--color-surplus)}.resource-delta.deficit{color:var(--color-deficit)}.resource-delta.neutral{color:var(--color-text-secondary)}.resource-ratio{font-size:10px;color:var(--color-text-secondary);justify-self:end}.resource-training-line{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;padding:7px 9px;display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--color-text-secondary);align-items:center}.resource-training-label{color:var(--color-text-primary);font-weight:700}.resource-training-field{display:inline-flex;align-items:center;gap:4px}.resource-training-field-label{font-size:11px}.resource-training-input{width:38px;border:1px solid var(--color-border);border-radius:4px;padding:2px 4px;background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:11px;text-align:right}.resource-training-input:focus-visible{outline:2px solid var(--color-optimal);outline-offset:1px}.resource-training-suffix{font-size:11px}.resource-training-total{font-weight:700;color:var(--color-text-primary)}.resource-training-total.over-limit{color:var(--color-deficit)}.resource-training-save{border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:11px;font-weight:600;padding:3px 8px;cursor:pointer}.resource-training-save:disabled{opacity:.6;cursor:not-allowed}.resource-training-error{color:var(--color-deficit);font-size:11px;font-weight:600}.resource-training-success{color:var(--color-surplus);font-size:11px;font-weight:600}.resource-land-breakdown{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;padding:7px 9px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:11px;color:var(--color-text-secondary)}.resource-land-breakdown-title{font-weight:700;color:var(--color-text-primary);white-space:nowrap}.resource-land-pill{display:inline-flex;align-items:center;gap:3px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:4px;padding:2px 6px}.resource-land-pill-pct{font-weight:600;color:var(--color-text-primary)}.resource-upkeep-panel{margin-top:var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:var(--spacing-md);display:grid;gap:10px}.resource-upkeep-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);font-size:var(--font-size-sm)}.resource-upkeep-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.resource-upkeep-warning{margin:0;padding:10px 12px;border-radius:8px;border:1px solid rgba(244,67,54,.2);background:#f4433614;color:var(--color-deficit);font-size:var(--font-size-sm);font-weight:600}@media (max-width: 768px){.resources-section{padding:var(--spacing-md)}.resources-row-four,.resources-row-two{grid-template-columns:repeat(2,1fr)}.resource-card{grid-template-columns:1fr;align-items:flex-start;gap:1px;padding:6px}.resource-value{font-size:18px}.resource-delta{justify-self:start}}@media (max-width: 480px){.resources-row-four,.resources-row-two{grid-template-columns:1fr}}.buildings-section{background:transparent;border-radius:0;padding:0;margin-bottom:0}.buildings-section h2{display:none}.buildings-mode-toggle{display:flex;gap:8px;margin-bottom:10px}.buildings-header-strip{display:flex;gap:8px;padding:10px 12px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;margin-bottom:10px;font-size:11px;color:var(--color-text-secondary);flex-wrap:wrap}.buildings-header-strip>strong,.buildings-header-strip>span{display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg-secondary);white-space:nowrap}.buildings-header-strip strong{color:var(--color-text-primary)}.buildings-list{display:flex;flex-direction:column;gap:10px}.building-row-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;transition:transform .2s,box-shadow .2s}.building-row-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.building-row-main{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.building-title{display:flex;align-items:center;gap:8px;flex:0 0 200px;min-width:200px}.building-icon{font-size:20px;line-height:1;flex-shrink:0}.building-title h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin:0}.building-current-total{font-size:11px;font-weight:700;color:var(--color-text-secondary);white-space:nowrap;display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg-secondary)}.building-row-descriptors{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.building-descriptor-pill{font-size:10px;color:var(--color-text-secondary);font-weight:700;letter-spacing:.02em;white-space:nowrap;display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg-secondary)}.build-quantity{width:56px;padding:4px 6px;border:1px solid var(--color-border);border-radius:4px;font-size:var(--font-size-xs);background:var(--color-bg-secondary);color:var(--color-text-primary);text-align:center;appearance:textfield}.build-quantity::-webkit-outer-spin-button,.build-quantity::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.build-quantity:focus-visible{outline:2px solid var(--color-optimal);outline-offset:1px}.build-quantity.is-invalid{border-color:var(--color-error, #d32f2f);box-shadow:0 0 0 1px #d32f2f2e}.build-validation-error{margin:0;font-size:11px;line-height:1.4;color:var(--color-error, #d32f2f)}.build-button{padding:6px 10px;min-height:30px;min-width:44px;border:none;border-radius:6px;background:var(--color-optimal);color:#fff;font-weight:600;font-size:11px;cursor:pointer;transition:background .15s,opacity .15s;line-height:1}.build-button:hover:not(:disabled){filter:brightness(1.1)}.build-button:disabled{background:var(--color-border);color:var(--color-text-secondary);opacity:.7;cursor:not-allowed;box-shadow:inset 0 0 0 1px var(--color-border)}.build-footer{display:flex;flex-direction:column;gap:8px;padding:12px;margin-top:10px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;align-items:center}.build-footer.has-error{border-color:var(--color-error, #d32f2f)}.build-footer-stats{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:100%}.build-footer-total,.build-footer-ticks,.build-footer-cost{font-size:11px;font-weight:700;color:var(--color-text-secondary);white-space:nowrap;display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg-secondary)}.build-footer-total.over-budget{color:var(--color-warning, #ed6c02);border-color:var(--color-warning, #ed6c02)}.build-all-button{min-width:120px;padding:8px 16px;font-size:13px}@media (max-width: 768px){.buildings-section{padding:0}.building-title{flex:1 1 100%;min-width:0}.building-row-main{gap:6px}.building-current-total{order:5}.buildings-header-strip{gap:6px;padding:8px 10px}}.civilization-section{background:transparent;border-radius:0;padding:0;margin-bottom:0}.civilization-section h2{display:none}.civilization-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.civ-stat{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;padding:var(--spacing-md)}.civ-stat label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.civ-value{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.civ-percentage{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-left:8px}.civ-capacity{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tax-control{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.tax-label{display:block;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.tax-indicator{display:inline-block;padding:6px 12px;border-radius:4px;font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-md)}.tax-good{background:#4caf501a;color:var(--color-surplus)}.tax-warning{background:#ff98001a;color:var(--color-warning)}.tax-critical{background:#f443361a;color:var(--color-deficit)}.tax-input-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.tax-input{width:72px;padding:6px 8px;font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text-primary);text-align:right}.tax-input:disabled{opacity:.6;cursor:not-allowed}.tax-input-pct{font-size:var(--font-size-base);color:var(--color-text-secondary)}.tax-apply-btn{padding:6px 14px;font-size:var(--font-size-sm);font-weight:600;border:none;border-radius:4px;background:var(--color-optimal);color:#fff;cursor:pointer}.tax-apply-btn:disabled{opacity:.6;cursor:not-allowed}.tax-error{margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-deficit)}.tax-effects{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;padding:var(--spacing-md)}.effect-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:var(--font-size-base);color:var(--color-text-primary)}.effect-row:not(:last-child){border-bottom:1px solid var(--color-border)}.effect-value{font-weight:600;font-size:var(--font-size-lg)}.effect-value.surplus{color:var(--color-surplus)}.effect-value.deficit{color:var(--color-deficit)}.loading-indicator{margin-top:var(--spacing-md);padding:8px 12px;background:#2196f31a;border:1px solid var(--color-optimal);border-radius:4px;color:var(--color-optimal);font-size:var(--font-size-sm);text-align:center}@media (max-width: 768px){.civilization-section{padding:var(--spacing-md)}.civilization-stats{grid-template-columns:1fr}.tax-steps{font-size:11px}}.action-progression-section{background:transparent;border-radius:0;padding:0;margin-bottom:0}.action-progression-section h2{display:none}.actions-grid{display:flex;flex-direction:column;gap:10px}.action-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;transition:transform .2s,box-shadow .2s}.action-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.action-header{display:flex;align-items:center;gap:8px;min-width:120px}.action-icon{font-size:18px;line-height:1}.action-card h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin:0}.action-row-main{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.action-primary{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.action-descriptors{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.tick-controls{display:flex;align-items:center;gap:4px;margin-bottom:0}.tick-input{width:52px;padding:4px 6px;border:1px solid var(--color-border);border-radius:4px;font-size:var(--font-size-xs);background:var(--color-bg-secondary);color:var(--color-text-primary);text-align:center;-moz-appearance:textfield;appearance:textfield}.tick-input::-webkit-outer-spin-button,.tick-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tick-input:focus{outline:none;border-color:var(--color-optimal)}.action-button{padding:6px 10px;min-height:30px;min-width:44px;border:none;border-radius:6px;background:var(--color-optimal);color:#fff;font-weight:600;font-size:11px;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap;line-height:1}.action-button:hover:not(:disabled){filter:brightness(1.1)}.action-button:disabled{opacity:.5;cursor:not-allowed}.action-feedback{font-size:var(--font-size-xs);padding:4px 8px;border-radius:4px;text-align:left;animation:feedbackFade .3s ease-in}.action-feedback.success{background:#4caf5026;color:var(--color-optimal)}.action-feedback.error{background:#f4433626;color:var(--color-critical)}@keyframes feedbackFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.action-stats{display:flex;gap:4px;padding:0;border:0;flex-wrap:wrap}.action-stat-pill{display:inline-flex;align-items:center;gap:3px;padding:3px 6px;border-radius:999px;background:var(--color-bg-secondary);border:1px solid var(--color-border);line-height:1}.action-stat-label{font-size:9px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.action-stat-value{font-size:11px;font-weight:700;color:var(--color-text-primary)}.xp-bar{width:100%;height:8px;background:var(--color-border);border-radius:999px;overflow:hidden;margin-top:0}.xp-fill{height:100%;background:linear-gradient(90deg,var(--color-optimal),var(--color-surplus));transition:width .3s ease}.xp-text{font-size:11px;color:var(--color-text-secondary);text-align:left;display:block;margin-top:0}.action-progress-inline{display:flex;flex-direction:row;align-items:center;gap:6px}.action-progress-inline .xp-bar{width:72px}.action-progress-inline .xp-text{font-size:10px;white-space:nowrap}.tick-status-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-xs);padding:10px var(--spacing-md);border-radius:8px;margin-bottom:var(--spacing-md);border:1px solid transparent;font-size:var(--font-size-sm)}.tick-status-ok{background:#4caf5012;border-color:#4caf5033}.tick-status-low{background:#ff980014;border-color:#ff980040}.tick-status-empty{background:#f4433612;border-color:#f4433633}.tick-status-main{display:flex;align-items:center;gap:var(--spacing-xs)}.tick-status-icon{font-size:16px}.tick-status-count{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary)}.tick-status-cap{font-size:var(--font-size-sm);font-weight:400;color:var(--color-text-secondary)}.tick-status-box{display:inline-flex;align-items:center;gap:2px;font-size:var(--font-size-sm);color:var(--color-optimal);background:#2196f314;border:1px solid rgba(33,150,243,.2);border-radius:4px;padding:2px 6px}.tick-status-regen{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tick-status-warning{color:var(--color-warning);font-weight:600}.tick-status-empty .tick-status-warning{color:var(--color-deficit)}.tick-empty-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-radius:6px;margin-bottom:var(--spacing-md);line-height:1.5}.action-predicted-output{font-size:var(--font-size-xs);color:var(--color-optimal);font-weight:700;margin:0;white-space:nowrap}.action-card-idle{opacity:.65}.stat-value-decay{color:var(--color-warning)}.spells-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.spells-section h3{font-size:var(--font-size-lg);margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary)}.spells-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md)}.spell-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.spell-header{display:flex;align-items:center;gap:var(--spacing-sm)}.spell-header h4{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary)}.spell-button{background:var(--color-surplus)}@media (max-width: 768px){.action-progression-section{padding:var(--spacing-md)}.action-row-main{grid-template-columns:1fr;align-items:stretch;gap:8px}.action-header{min-width:0}.tick-controls{flex-wrap:wrap}.actions-grid{grid-template-columns:1fr}.action-card{padding:var(--spacing-sm)}.action-header{margin-bottom:0}.spells-grid{grid-template-columns:1fr}}.auto-loan-toggle{display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-md);margin-bottom:var(--spacing-md);cursor:pointer;user-select:none}.auto-loan-toggle input[type=checkbox]{cursor:pointer;width:14px;height:14px;accent-color:var(--color-optimal)}.auto-loan-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0;line-height:1.4}.combat-section{background:transparent;border-radius:0;padding:0;margin-bottom:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.combat-section h2{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.target-controls{display:flex;gap:var(--spacing-sm)}.target-input{flex:1;padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:var(--font-size-sm);background:var(--color-bg-primary);color:var(--color-text-primary)}.target-button{padding:8px 16px;border:none;border-radius:6px;background:var(--color-surplus);color:#fff;font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:background .15s,opacity .15s}.target-button:hover:not(:disabled){filter:brightness(1.1)}.target-button:disabled{opacity:.5;cursor:not-allowed}.intel-card,.troop-builder,.combat-result{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;padding:var(--spacing-md)}.intel-card h3,.troop-builder h3,.combat-result h3{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-base);color:var(--color-text-primary)}.intel-name{margin:0;font-weight:600;color:var(--color-text-primary)}.intel-clan{margin:6px 0 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.intel-meta{margin:4px 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.intel-refreshing{opacity:.6;transition:opacity .15s ease}.attack-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.attack-row{display:grid;grid-template-columns:1fr 2fr 1fr;gap:var(--spacing-md);align-items:start;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:var(--spacing-md)}.attack-row.collapsed{grid-template-columns:1fr}.attack-toggle{border:none;background:transparent;padding:0;margin:0;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);width:100%;text-align:left;cursor:pointer}.attack-toggle:hover .attack-title{text-decoration:underline}.attack-expand-indicator{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:600}.attack-info{display:flex;flex-direction:column;gap:8px}.attack-title{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary)}.attack-description{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.troop-controls{display:flex;flex-direction:column;gap:var(--spacing-sm)}.troop-hint{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:8px 12px;background:#0000000d;border-radius:6px}.troop-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.troop-slider-row{display:flex;flex-direction:column;gap:4px}.troop-slider-row label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500}.slider-container{display:flex;align-items:center;gap:8px}.troop-slider{flex:1;height:6px;border-radius:3px;background:linear-gradient(to right,var(--color-border),var(--color-surplus));outline:none;-webkit-appearance:none;appearance:none}.troop-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-surplus);cursor:pointer;border:2px solid #fff;box-shadow:0 2px 4px #0003}.troop-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--color-surplus);cursor:pointer;border:2px solid #fff;box-shadow:0 2px 4px #0003}.troop-count{min-width:40px;text-align:right;color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:600}.attack-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:stretch}.action-controls{display:flex;flex-direction:column;gap:8px}.max-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary);user-select:none}.max-checkbox input{cursor:pointer;width:16px;height:16px}.max-checkbox span{padding:6px 12px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;font-weight:600;transition:background .15s,border-color .15s}.max-checkbox input:checked~span{background:var(--color-surplus);color:#fff;border-color:var(--color-surplus)}.action-button{padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.action-button.primary{background:#e53935;color:#fff;border:none;flex:1;padding:10px 16px}.action-button.primary:hover:not(:disabled){filter:brightness(1.1)}.action-button.primary:disabled{opacity:.5;cursor:not-allowed}.action-button.primary.small{flex:none;width:fit-content;padding:8px 16px;align-self:flex-start}.attack-result-banner{margin-top:8px;border:1px solid var(--color-border);border-radius:6px;padding:10px 12px;background:var(--color-bg-primary)}.attack-result-banner.success{border-color:#2e7d32;background:#2e7d3214}.attack-result-banner.failure{border-color:#c62828;background:#c6282814}.attack-result-title{margin:0 0 6px;font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-primary)}.attack-result-lines{display:flex;flex-direction:column;gap:4px}.attack-result-lines p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.kill-message{margin-top:8px!important;padding-top:8px;border-top:1px solid rgba(46,125,50,.3);font-weight:700!important;color:var(--color-text-primary)!important;font-size:var(--font-size-sm)}.combat-warning{font-size:var(--font-size-sm);color:var(--color-critical);margin:var(--spacing-sm) 0 0 0}.combat-error{background:#f443361f;color:var(--color-critical);padding:8px 12px;border-radius:6px;font-size:var(--font-size-sm)}.result-stats{display:flex;flex-direction:column;gap:6px}.result-row{display:flex;justify-content:space-between;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.result-value{font-weight:600;color:var(--color-text-primary)}.result-value.good{color:var(--color-optimal)}.result-value.bad{color:var(--color-critical)}@media (max-width: 768px){.target-controls{flex-direction:column}.attack-row{grid-template-columns:1fr;gap:var(--spacing-sm)}.attack-info{gap:4px}.attack-title{font-size:var(--font-size-sm)}.troop-input-grid{grid-template-columns:1fr}.action-buttons{flex-direction:row}.action-button{padding:8px 12px;font-size:var(--font-size-xs)}}.auth-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg-secondary);padding:var(--spacing-md)}.auth-container{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 12px 30px #0003;padding:calc(var(--spacing-lg) * 2);width:100%;max-width:400px}.auth-container h1{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;text-align:center}.auth-container .subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);text-align:center;margin:0 0 var(--spacing-lg) 0}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.form-group input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-primary);border-radius:6px;font-size:var(--font-size-base);transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--color-focus-ring);box-shadow:0 0 0 2px var(--color-focus-ring)}.form-group input:disabled{background:var(--color-bg-secondary);cursor:not-allowed}.error-message{background:#f443361a;border:1px solid var(--color-deficit);color:var(--color-deficit);padding:var(--spacing-sm) var(--spacing-md);border-radius:6px;font-size:var(--font-size-sm);text-align:center}.submit-button{background:var(--color-btn-bg);color:var(--color-btn-text);border:none;padding:var(--spacing-md) var(--spacing-lg);border-radius:6px;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:var(--spacing-sm)}.submit-button:hover:not(:disabled){transform:translateY(-2px);background:var(--color-btn-bg-hover);box-shadow:0 8px 18px #00000038}.submit-button:disabled{opacity:.6;cursor:not-allowed}.auth-toggle{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.toggle-button{background:none;border:none;color:var(--color-optimal);cursor:pointer;font-weight:600;padding:0;text-decoration:underline;transition:color .2s}.toggle-button:hover:not(:disabled){color:var(--color-btn-bg-hover)}.toggle-button:disabled{opacity:.6;cursor:not-allowed}.auth-public-links{display:flex;justify-content:center;padding-top:var(--spacing-md);border-top:1px solid var(--color-border);margin-top:var(--spacing-md)}.auth-public-link{font-size:var(--font-size-sm);color:var(--color-optimal);text-decoration:none;font-weight:600}.auth-public-link:hover{color:var(--color-btn-bg-hover);text-decoration:underline}@media (max-width: 480px){.auth-container{padding:var(--spacing-lg)}.auth-container h1{font-size:var(--font-size-xl)}}.chat-screen{max-width:900px;margin:0 auto;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.chat-header{display:flex;align-items:center;padding-bottom:var(--spacing-xs);border-bottom:2px solid var(--color-border)}.chat-back-btn{background:transparent;border:none;color:var(--color-optimal);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-xs) 0}.chat-back-btn:hover{text-decoration:underline}.chat-screen-header{display:flex;align-items:center;justify-content:space-between}.chat-screen-header h1{margin:0;font-size:var(--font-size-xl)}.chat-back-link{color:var(--color-optimal);text-decoration:none;font-size:var(--font-size-sm)}.chat-back-link:hover{text-decoration:underline}.chat-tabs{display:flex;gap:var(--spacing-xs);border-bottom:2px solid var(--color-border);padding-bottom:var(--spacing-xs)}.chat-tab{padding:var(--spacing-xs) var(--spacing-md);border:none;border-radius:4px 4px 0 0;background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);position:relative}.chat-tab:hover{background:var(--color-bg-secondary)}.chat-tab.active{color:var(--color-optimal);border-bottom:2px solid var(--color-optimal);margin-bottom:-2px;font-weight:600}.chat-tab-badge{display:inline-block;background:var(--color-deficit);color:#fff;font-size:10px;border-radius:8px;padding:1px 5px;margin-left:4px;min-width:16px;text-align:center}.chat-messages{flex:1;min-height:300px;max-height:500px;overflow-y:auto;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.chat-loading,.chat-empty{text-align:center;color:var(--color-text-secondary);padding:var(--spacing-lg)}.chat-message{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-xs);border-radius:4px}.chat-message:hover{background:var(--color-bg-primary)}.chat-message-header{display:flex;align-items:baseline;gap:var(--spacing-xs)}.chat-message-sender{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-primary)}.chat-message-time{font-size:11px;color:var(--color-text-secondary)}.chat-message-body{font-size:var(--font-size-sm);color:var(--color-text-primary);word-break:break-word}.chat-message-actions{display:flex;gap:var(--spacing-xs);opacity:0;transition:opacity .15s}.chat-message:hover .chat-message-actions{opacity:1}.chat-message-action-btn{border:none;background:none;color:var(--color-text-secondary);cursor:pointer;font-size:11px;padding:2px 4px;border-radius:3px}.chat-message-action-btn:hover{background:var(--color-border);color:var(--color-text-primary)}.chat-message-action-btn:disabled{opacity:.5;cursor:not-allowed}.chat-input-area{display:flex;gap:var(--spacing-xs)}.chat-input{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:6px;font-size:var(--font-size-sm);outline:none}.chat-input:focus{border-color:var(--color-optimal)}.chat-send-btn{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-optimal);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:var(--font-size-sm);font-weight:600}.chat-send-btn:hover{opacity:.9}.chat-send-btn:disabled{opacity:.5;cursor:default}.chat-error{background:#fef2f2;border:1px solid var(--color-deficit);color:var(--color-deficit);padding:var(--spacing-xs) var(--spacing-sm);border-radius:6px;font-size:var(--font-size-sm)}.chat-muted-users{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;padding:var(--spacing-xs) var(--spacing-sm)}.chat-muted-users-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.chat-dm-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.chat-dm-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;cursor:pointer}.chat-dm-item:hover{background:var(--color-bg-secondary)}.chat-dm-info{display:flex;flex-direction:column;gap:2px}.chat-dm-partner{font-weight:600;font-size:var(--font-size-sm)}.chat-dm-preview{font-size:12px;color:var(--color-text-secondary);max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-dm-badge{background:var(--color-deficit);color:#fff;font-size:11px;border-radius:10px;padding:2px 8px;min-width:20px;text-align:center}.chat-empty-state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;text-align:center;background-color:var(--bg-light, #0f1535);border:1px dashed var(--border-color, #1a2349);border-radius:.5rem;margin:1rem 0}.chat-empty-icon{font-size:2.5rem;margin:0}.chat-empty-title{font-size:1.25rem;font-weight:600;color:var(--text-primary, #e1e8ed);margin:0}.chat-empty-hint{color:var(--text-secondary, #a0aec0);font-size:.95rem;margin:0;max-width:350px}.chat-empty-cta{padding:.75rem 1.5rem;background-color:var(--accent, #64b5f6);color:var(--bg-dark, #0a0e27);border:none;border-radius:.4rem;font-weight:500;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.chat-empty-cta:hover{background-color:#42a5f5;transform:translateY(-2px)}.social-screen{max-width:900px;margin:0 auto;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.social-screen-header{display:flex;align-items:center;justify-content:space-between}.social-screen-header h1{margin:0;font-size:var(--font-size-xl)}.social-back-link{color:var(--color-optimal);text-decoration:none;font-size:var(--font-size-sm)}.social-back-link:hover{text-decoration:underline}.social-tabs{display:flex;gap:var(--spacing-xs);border-bottom:2px solid var(--color-border);padding-bottom:var(--spacing-xs)}.social-tab{padding:var(--spacing-xs) var(--spacing-md);border:none;border-radius:4px 4px 0 0;background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm)}.social-tab:hover{background:var(--color-bg-secondary)}.social-tab.active{color:var(--color-optimal);border-bottom:2px solid var(--color-optimal);margin-bottom:-2px;font-weight:600}.social-search-bar{display:flex;gap:var(--spacing-xs)}.social-search-input{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:6px;font-size:var(--font-size-sm);outline:none}.social-search-input:focus{border-color:var(--color-optimal)}.social-search-btn{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-optimal);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:var(--font-size-sm)}.social-search-btn:hover{opacity:.9}.social-results{display:flex;flex-direction:column;gap:var(--spacing-xs)}.social-result-card{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px}.social-result-info{display:flex;flex-direction:column;gap:2px}.social-result-name{font-weight:600;font-size:var(--font-size-sm)}.social-result-detail{font-size:12px;color:var(--color-text-secondary)}.social-result-action{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-primary);cursor:pointer;font-size:12px}.social-result-action:hover{background:var(--color-border)}.social-empty{text-align:center;color:var(--color-text-secondary);padding:var(--spacing-lg)}.social-error{background:#fef2f2;border:1px solid var(--color-deficit);color:var(--color-deficit);padding:var(--spacing-xs) var(--spacing-sm);border-radius:6px;font-size:var(--font-size-sm)}.social-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.social-list-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px}.social-list-name{font-weight:600;font-size:var(--font-size-sm)}.social-remove-btn{padding:2px var(--spacing-xs);border:1px solid var(--color-deficit);background:transparent;color:var(--color-deficit);border-radius:4px;cursor:pointer;font-size:12px}.social-remove-btn:hover{background:var(--color-deficit);color:#fff}.social-activity-feed{display:flex;flex-direction:column;gap:var(--spacing-xs)}.social-activity-item{display:flex;align-items:baseline;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border-radius:4px;font-size:var(--font-size-sm)}.social-activity-time{font-size:11px;color:var(--color-text-secondary);white-space:nowrap}.social-activity-text{color:var(--color-text-primary)}.skip-to-content{position:absolute;top:-100%;left:var(--spacing-sm);z-index:9999;background:var(--color-optimal);color:#fff;padding:8px 16px;border-radius:0 0 6px 6px;font-size:var(--font-size-base);font-weight:600;text-decoration:none;transition:top .15s}.skip-to-content:focus{top:0}.app-shell{display:flex;flex-direction:column;min-height:100vh;padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.app-shell-content{flex:1;padding-bottom:0}.app-nav{display:flex;align-items:center;justify-content:space-between;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);padding:0 var(--spacing-lg);height:48px;position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #0000000f}.app-nav-brand{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary);text-decoration:none;white-space:nowrap;letter-spacing:-.01em;transition:color .2s}.app-nav-brand.under-attack{color:#dc2626}.app-nav-links{display:flex;gap:4px;align-items:center}.app-nav-link{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;font-size:var(--font-size-base);font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:background .15s,color .15s;white-space:nowrap;border:none;background:none;cursor:pointer;font-family:inherit}.app-nav-link:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.app-nav-link.active{background:#2196f314;color:var(--color-optimal);font-weight:600}.app-nav-link .nav-icon{font-size:16px;line-height:1}.nav-icon--badged{position:relative;display:inline-flex;align-items:center}.nav-badge{position:absolute;top:-6px;font-size:9px;font-weight:700;line-height:1;min-width:14px;height:14px;padding:0 3px;border-radius:7px;display:flex;align-items:center;justify-content:center;pointer-events:none}.nav-badge--dm{left:-4px;background:#2196f3;color:#fff}.nav-badge--ann{right:-4px;background:#f59e0b;color:#fff}.app-nav-right{display:flex;align-items:center;gap:var(--spacing-sm)}.app-nav-stat{display:flex;align-items:center;gap:4px;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.app-nav-stat .stat-icon{font-size:14px}.app-nav-stat .stat-value{font-weight:600;color:var(--color-text-primary)}.app-nav-settings{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;box-shadow:none;background:var(--color-bg-primary);border-radius:6px;font-size:16px;line-height:1;text-decoration:none;color:var(--color-text-secondary);cursor:pointer;transition:background .15s,color .15s}[data-theme=dark] .app-nav-settings,[data-theme=high_contrast] .app-nav-settings{background:var(--color-bg-surface);color:var(--color-text-primary)}[data-theme=dark] .app-nav-settings:hover,[data-theme=high_contrast] .app-nav-settings:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}[data-theme=dark] .app-nav-settings.active,[data-theme=high_contrast] .app-nav-settings.active{background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:0 0 0 2px var(--color-optimal)}.app-nav-settings:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.app-nav-settings.active{background:#2196f314;color:var(--color-optimal)}.app-nav-logout{background:none;border:1px solid var(--color-border);border-radius:6px;padding:4px 10px;font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.app-nav-logout:hover{background:#f443360f;color:var(--color-deficit);border-color:var(--color-deficit)}.app-nav-back{background:none;border:1px solid var(--color-border);border-radius:6px;padding:4px 10px;font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.app-nav-back:hover{background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-text-secondary)}.app-install-btn{background:#2196f31f;border:1px solid rgba(33,150,243,.35);border-radius:6px;padding:4px 10px;font-size:var(--font-size-sm);color:#14528f;cursor:pointer;transition:background .15s,border-color .15s}.app-install-btn:hover{background:#2196f333;border-color:#2196f38c}.app-install-banner,.ios-install-helper,.app-bottom-nav{display:none}@media (min-width: 768px) and (max-width: 1023px){.app-nav{padding:0 var(--spacing-md);height:48px}.app-nav-links{gap:2px}.app-nav-link{padding:6px 10px;font-size:13px;gap:4px}.app-nav-link .nav-icon{font-size:14px}.app-nav-link,.app-nav-logout,.app-install-btn,.gem-balance-btn,.app-nav-settings{min-height:44px;display:flex;align-items:center}.app-install-btn{font-size:12px;padding:6px 12px}.gem-balance-btn{min-width:44px}}@media (max-width: 767px){.app-nav{padding:0 var(--spacing-sm);height:44px;backdrop-filter:blur(8px);background:var(--color-bg-primary)}.app-nav-links,.app-nav-right .app-nav-stat,.app-nav-settings{display:none}.app-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--color-bg-primary);border-top:1px solid var(--color-border);box-shadow:0 -1px 4px #0000000f;padding:4px 0;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px))}.app-bottom-nav-link{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:10px;font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color .15s;-webkit-tap-highlight-color:transparent;border:none;background:none;cursor:pointer;font-family:inherit}.app-bottom-nav-link:hover{color:var(--color-text-primary)}.app-bottom-nav-link.active{color:var(--color-optimal);font-weight:600}.app-bottom-nav-link .nav-icon{font-size:20px;line-height:1}.app-bottom-nav-link .nav-badge{top:-7px;min-width:16px;height:16px;font-size:10px;border-radius:8px}.app-shell-content{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))}.app-install-btn{display:none}.app-install-banner{position:fixed;left:var(--spacing-sm);right:var(--spacing-sm);bottom:calc(60px + env(safe-area-inset-bottom,0px));z-index:110;display:block;background:linear-gradient(135deg,#f1f7ff,#e6f0ff);border:1px solid #b9d4f8;border-radius:12px;padding:10px 12px;box-shadow:0 8px 24px #0e1e251f}.ios-install-helper{position:fixed;left:var(--spacing-sm);right:var(--spacing-sm);bottom:calc(60px + env(safe-area-inset-bottom,0px));z-index:111;display:block;background:linear-gradient(160deg,#fff6e7,#ffecc7);border:1px solid #efc774;border-radius:12px;padding:10px 12px;box-shadow:0 8px 24px #0e1e251f}.ios-install-title{margin:0;font-size:12px;font-weight:700;color:#6b4a12}.ios-install-helper ol{margin:8px 0 0 18px;padding:0;color:#6b4a12;font-size:12px;line-height:1.35}.ios-install-helper-actions{margin-top:10px;display:flex;justify-content:flex-end}.app-install-banner p{margin:0;font-size:12px;color:#24486f;line-height:1.35}.app-install-banner-actions{display:flex;gap:8px;margin-top:10px}.app-install-primary,.app-install-secondary{min-height:40px;border-radius:8px;border:1px solid transparent;padding:0 12px;font-size:12px;font-weight:600;cursor:pointer}.app-install-primary{background:#1f4f91;color:#fff;border-color:#1f4f91}.app-install-secondary{background:#fff;color:#355c86;border-color:#b9d4f8}}.app-page{max-width:1200px;margin:0 auto;padding:var(--spacing-lg)}.route-recovery-links{list-style:none;display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding:0}.route-recovery-links a{display:inline-block;border:1px solid var(--color-border);border-radius:6px;padding:8px 12px;color:var(--color-text-primary);text-decoration:none;background:var(--color-bg-secondary)}.route-recovery-links a:hover{border-color:var(--color-optimal);color:var(--color-optimal)}.route-skeleton-row{height:14px;border-radius:6px;background:linear-gradient(90deg,#f1f3f5,#e9ecef,#f1f3f5);background-size:200% 100%;animation:routeSkeletonPulse 1.2s ease-in-out infinite;margin-top:10px}.route-skeleton-row.short{width:60%}@keyframes routeSkeletonPulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 767px){.app-page{padding:var(--spacing-md)}}.info-tooltip{position:relative;display:inline-flex;align-items:center;vertical-align:middle}.info-tooltip-trigger{background:none;border:none;padding:0 3px;cursor:help;color:var(--color-text-secondary);font-size:11px;font-style:normal;line-height:1;border-radius:2px;opacity:.65;transition:opacity .15s,color .15s}.info-tooltip-trigger:hover,.info-tooltip-trigger:focus-visible{opacity:1;color:var(--color-optimal)}.info-tooltip-trigger:focus-visible{outline:2px solid var(--color-optimal);outline-offset:2px}.info-tooltip-bubble{position:absolute;z-index:1200;background:#1e2535;color:#f0f4f8;font-size:12px;font-weight:400;line-height:1.5;padding:8px 12px;border-radius:6px;box-shadow:0 4px 14px #00000047;width:230px;pointer-events:none;opacity:0;transition:opacity .15s;white-space:normal;text-align:left}.info-tooltip-above .info-tooltip-bubble{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.info-tooltip-below .info-tooltip-bubble{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.info-tooltip-right .info-tooltip-bubble{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.info-tooltip:hover .info-tooltip-bubble,.info-tooltip:focus-within .info-tooltip-bubble{opacity:1}.gem-pack-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}.gem-pack-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg-secondary)}.gem-pack-info{display:flex;flex-direction:column;gap:4px}.gem-pack-price{font-weight:700;color:var(--color-text-primary)}.gem-pack-buy-btn{padding:10px 14px;border:none;border-radius:8px;background:var(--color-btn-bg);color:var(--color-btn-text);font-weight:600;cursor:pointer}.gem-pack-buy-btn:hover{opacity:.9}.gem-confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9998;backdrop-filter:blur(4px)}.gem-confirm-dialog{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;padding:32px;max-width:420px;width:90vw;box-shadow:0 20px 60px #00000040}.gem-confirm-dialog h2{margin:0 0 12px;font-size:var(--font-size-xl);color:var(--color-text-primary)}.gem-confirm-dialog p{margin:0 0 20px;color:var(--color-text-secondary);line-height:1.5}.gem-confirm-actions{display:flex;flex-direction:column;gap:10px}.gem-confirm-btn{padding:10px 16px;background:var(--color-btn-bg);color:var(--color-btn-text);border:none;border-radius:6px;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:opacity .15s}.gem-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.gem-confirm-btn:hover:not(:disabled){opacity:.85}.gem-cancel-btn{padding:10px 16px;background:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:6px;font-size:var(--font-size-base);cursor:pointer;transition:background .15s}.gem-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.gem-cancel-btn:hover:not(:disabled){background:var(--color-bg-secondary)}.gem-spend-feedback{margin:12px 0 0;font-size:var(--font-size-sm);color:var(--color-surplus);text-align:center}.payment-modal-dialog{max-width:560px;max-height:calc(100vh - 48px);overflow-y:auto}.payment-modal-actions{margin-top:16px;position:sticky;bottom:0;background:var(--color-bg-primary);padding-top:12px}.payment-modal-dialog form{margin-top:8px;padding:8px;border-radius:8px;display:flex;flex-direction:column;min-height:0}.payment-element-scroll{min-height:220px;max-height:50vh;overflow-y:auto;padding-right:4px}.tick-count-stat{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:none;border:1px solid var(--color-border);border-radius:999px;font-size:var(--font-size-sm);color:var(--color-text-primary)}.gem-balance-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:none;border:1px solid var(--color-border);border-radius:999px;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary);transition:background .15s}.gem-balance-btn:hover{background:var(--color-bg-surface)}.guide-screen{padding:var(--spacing-md);max-width:1200px;margin:0 auto;color:var(--color-text-primary)}.guide-title{font-size:var(--font-size-2xl);font-weight:700;margin:0 0 4px;color:var(--color-text-primary)}.guide-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-lg)}.guide-layout{display:flex;gap:var(--spacing-md);min-height:calc(100vh - 240px)}.guide-tabs{display:flex;flex-direction:column;gap:4px;width:88px;flex-shrink:0;padding:var(--spacing-sm) 0}.guide-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--spacing-sm) 4px;border:none;border-radius:8px;background:transparent;cursor:pointer;transition:background .15s,color .15s;color:var(--color-text-secondary);font-family:var(--font-family)}.guide-tab:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.guide-tab.active{background:var(--color-optimal);color:#fff}.guide-tab:focus-visible{outline:2px solid var(--color-optimal);outline-offset:2px}.guide-tab-icon{font-size:1.4rem;line-height:1}.guide-tab-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;line-height:1.2}.guide-content{flex:1;min-width:0;padding:var(--spacing-sm) 0}.guide-panel{animation:guideSlideIn .2s ease-out}@keyframes guideSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.guide-panel h2{font-size:var(--font-size-xl);font-weight:700;margin:0 0 var(--spacing-sm);color:var(--color-text-primary)}.guide-panel>p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-md);line-height:1.5}.guide-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.guide-card h3{font-size:var(--font-size-lg);font-weight:600;margin:0 0 var(--spacing-xs);color:var(--color-text-primary)}.guide-card p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;line-height:1.5}.guide-list{margin:var(--spacing-xs) 0 0;padding-left:var(--spacing-lg);color:var(--color-text-secondary);line-height:1.7}.guide-list li{margin-bottom:4px}.guide-resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.guide-resource-item{display:flex;align-items:flex-start;gap:var(--spacing-xs)}.guide-resource-icon{font-size:1.5rem;line-height:1;flex-shrink:0;margin-top:2px}.guide-resource-item strong{display:block;color:var(--color-text-primary);font-size:var(--font-size-base);margin-bottom:2px}.guide-resource-item p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.4}.guide-table-wrapper{overflow-x:auto;margin-bottom:var(--spacing-md)}.guide-table{width:100%;border-collapse:collapse;font-size:var(--font-size-base)}.guide-table th{text-align:left;background:var(--color-bg-surface);color:var(--color-text-secondary);font-weight:600;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.03em;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:2px solid var(--color-border)}.guide-table td{padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);vertical-align:top}.guide-table td strong{color:var(--color-text-primary)}.guide-table tbody tr:hover{background:var(--color-bg-secondary)}.guide-tip-card{border-left:3px solid var(--color-optimal)}.guide-mobile-scroll{display:flex;flex-direction:column;gap:var(--spacing-lg)}.guide-mobile-scroll .guide-panel{animation:none}@media (max-width: 767px){.guide-screen{padding:var(--spacing-sm)}.guide-title{font-size:var(--font-size-xl)}.guide-resource-grid{grid-template-columns:1fr}.guide-table{font-size:var(--font-size-sm)}}.guide-table-group-header td{background:var(--color-bg-surface);color:var(--color-text-primary);font-weight:600;border-top:2px solid var(--color-border);padding:var(--spacing-xs) var(--spacing-sm)}.guide-stat-positive{color:var(--color-optimal);font-weight:600}.guide-stat-negative{color:var(--color-deficit);font-weight:600}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}:root,[data-theme=classic]{--color-bg-primary: #ffffff;--color-bg-secondary: #fafafa;--color-bg-surface: #f5f5f5;--color-text-primary: #333333;--color-text-secondary: #666666;--color-border: #eeeeee;--color-surplus: #4caf50;--color-deficit: #f44336;--color-optimal: #2196f3;--color-neutral: #9e9e9e;--color-warning: #ff9800;--color-btn-bg: #2196f3;--color-btn-text: #ffffff;--color-btn-bg-hover: #1976d2;--color-focus-ring: #2196f3;--color-ally-bg: rgba(76, 175, 80, .15);--color-enemy-bg: rgba(244, 67, 54, .15);--ally-color: #4caf50;--enemy-color: #f44336;--font-family: system-ui, -apple-system, sans-serif;--bg-dark: #ffffff;--bg-light: #f5f5f5;--text-primary: #333333;--text-secondary: #666666;--border-color: #dddddd;--accent: #2196f3;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 24px;--font-size-xs: 10px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 24px;--breakpoint-mobile-max: 767px;--breakpoint-tablet-min: 768px;--breakpoint-tablet-max: 1023px;--breakpoint-desktop-min: 1024px}[data-theme=dark]{--color-bg-primary: #1a1a2e;--color-bg-secondary: #16213e;--color-bg-surface: #0f3460;--color-text-primary: #e0e0e0;--color-text-secondary: #a0a0b0;--color-border: #2a2a4a;--color-surplus: #66bb6a;--color-deficit: #ef5350;--color-optimal: #42a5f5;--color-neutral: #757590;--color-warning: #ffa726;--color-btn-bg: #0f3460;--color-btn-text: #e0e0e0;--color-btn-bg-hover: #1a5296;--color-focus-ring: #42a5f5;--color-ally-bg: rgba(102, 187, 106, .18);--color-enemy-bg: rgba(239, 83, 80, .18);--ally-color: #66bb6a;--enemy-color: #ef5350;--bg-dark: #1a1a2e;--bg-light: #0f3460;--text-primary: #e0e0e0;--text-secondary: #a0a0b0;--border-color: #2a2a4a;--accent: #42a5f5}[data-theme=high_contrast]{--color-bg-primary: #000000;--color-bg-secondary: #0a0a0a;--color-bg-surface: #111111;--color-text-primary: #ffffff;--color-text-secondary: #dddddd;--color-border: #ffffff;--color-surplus: #00e676;--color-deficit: #ff6d6d;--color-optimal: #69c8ff;--color-neutral: #bbbbbb;--color-warning: #ffeb3b;--color-btn-bg: #ffffff;--color-btn-text: #000000;--color-btn-bg-hover: #dddddd;--color-focus-ring: #ffeb3b;--color-ally-bg: rgba(0, 230, 118, .2);--color-enemy-bg: rgba(255, 109, 109, .2);--ally-color: #00e676;--enemy-color: #ff6d6d;--bg-dark: #000000;--bg-light: #111111;--text-primary: #ffffff;--text-secondary: #dddddd;--border-color: #ffffff;--accent: #69c8ff}@media (max-width: 767px){:root,[data-theme=classic],[data-theme=dark],[data-theme=high_contrast]{--font-size-xl: var(--font-size-lg)}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:contain}button,a,input,select,textarea{touch-action:manipulation}*:focus:not(:focus-visible){outline:none}*:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xs)}.settings-close-btn{background:none;border:1px solid var(--color-border);border-radius:6px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-base);color:var(--color-text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.settings-close-btn:hover{background:#f443360f;color:var(--color-deficit);border-color:var(--color-deficit)}.settings-fieldset{padding:16px;margin-bottom:var(--spacing-sm)}.settings-fieldset label{display:block;margin-right:6px;margin-bottom:6px}.settings-toggle-label input{margin-right:6px}.settings-fieldset select{margin-left:6px;margin-bottom:4px}.settings-hint{margin-top:4px;margin-bottom:10px}.settings-fieldset[disabled]{opacity:.55;pointer-events:none}.settings-install-shortcut{margin-top:var(--spacing-sm)}.settings-install-btn{cursor:pointer}.custom-theme-editor{margin-top:var(--spacing-sm)}.custom-theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xs) var(--spacing-md);margin-top:var(--spacing-xs)}@media (max-width: 500px){.custom-theme-grid{grid-template-columns:1fr}}.custom-theme-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.custom-theme-font-row{margin-top:var(--spacing-sm);grid-column:1 / -1}.custom-theme-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-theme-swatch-wrap{display:flex;align-items:center;gap:6px}.custom-theme-color-input{width:36px;height:28px;padding:2px;border:1px solid var(--color-border);border-radius:4px;background:none;cursor:pointer}.custom-theme-hex-input{width:70px;font-size:var(--font-size-sm);font-family:Courier New,monospace;background:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:4px;padding:3px 6px}.custom-theme-font-select{flex:1;min-width:160px}
