@import url(https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700;800&display=swap);:root{--surface-0:#101e2e;--surface-1:#162b3b;--surface-2:#ffffff0f;--surface-3:#ffffff17;--surface-glass:#0a1220e0;--accent:#1a6aff;--accent-light:#00b4ff;--accent-gradient:linear-gradient(135deg,#1a6aff,#00b4ff);--accent-subtle:#00b4ff1f;--brand-gradient:linear-gradient(90deg,#4facfe,#00f2fe);--border:#ffffff14;--border-accent:#00b4ff40;--text-primary:#fff;--text-secondary:#fff9;--text-muted:#ffffff59;--color-success:#22c55e;--color-warning:#f59e0b;--color-danger:#ef4444;--color-special:#a78bfa;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--shadow-md:0 4px 20px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 16px #00b4ff26}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--surface-1);color:var(--text-primary);font-family:Barlow,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}select{appearance:none;-webkit-appearance:none}select,select option{background-color:var(--surface-0);color:var(--text-primary)}#root{min-height:100vh}.server-selector{margin:0 auto;max-width:1200px;padding:40px 20px}.selector-header{margin-bottom:36px;text-align:center}.selector-header h2{color:var(--text-primary);font-size:22px;font-weight:700;margin:0 0 8px}.selector-header p{color:var(--text-secondary);font-size:14px;margin:0}.server-search{background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:Barlow,sans-serif;font-size:14px;margin-top:16px;max-width:340px;outline:none;padding:9px 14px;transition:border-color .15s,box-shadow .15s;width:100%}.server-search::placeholder{color:var(--text-muted)}.server-search:focus{border-color:var(--accent-light);box-shadow:0 0 0 3px #00b4ff1f}.invite-btn{background:var(--accent-gradient);border-radius:var(--radius-md);color:#fff;display:inline-block;font-family:Barlow,sans-serif;font-size:13px;font-weight:700;margin-top:12px;padding:8px 18px;text-decoration:none;transition:opacity .15s}.invite-btn:hover{opacity:.85}.no-results{color:var(--text-muted);font-size:14px;grid-column:1/-1;padding:40px 0;text-align:center}.guild-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.guild-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:24px 16px;text-align:center;transition:all .15s ease}.guild-card:hover{background:var(--surface-3);border-color:#ffffff24;box-shadow:var(--shadow-md)}.guild-card.selected{background:#00b4ff14;border-color:var(--accent-light);box-shadow:0 0 0 1px #00b4ff33,var(--shadow-glow)}.guild-icon{height:72px;object-fit:cover;width:72px}.guild-icon-placeholder{align-items:center;background:var(--accent-gradient);border-radius:50%;color:#fff;display:flex;font-size:28px;font-weight:800;height:72px;justify-content:center;width:72px}.guild-info h3{font-size:15px;font-weight:700;word-break:break-word}.empty-state{padding:60px 20px;text-align:center}.empty-state h2{color:var(--text-primary);font-size:22px;font-weight:700;margin:0 0 12px}.empty-state p{color:var(--text-secondary);font-size:14px;margin:8px 0}.btn-retry{background:var(--accent-gradient);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-family:Barlow,sans-serif;font-size:14px;font-weight:700;margin-top:20px;padding:9px 22px;transition:opacity .15s}.btn-retry:hover{opacity:.85}.loading{padding:60px 20px}.spinner{border-top:3px solid var(--border);margin-bottom:16px}.loading p{color:var(--text-secondary);font-size:14px}@media (max-width:768px){.guild-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.optional{color:var(--text-muted);font-size:.8em;font-weight:400}.input-readonly{background:var(--surface-0)!important;cursor:not-allowed;opacity:.6}.wizard-overlay{align-items:center;background:#000000a6;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.wizard-container{background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:100%}.wizard-header{border-bottom:1px solid var(--border);padding:25px}.wizard-header h2{color:var(--text-primary);font-size:24px;margin:0 0 20px}.wizard-steps{display:flex;gap:10px}.wizard-steps .step{background:var(--border);border-radius:4px;color:var(--text-muted);flex:1 1;font-size:13px;font-weight:600;padding:10px;text-align:center;transition:all .2s}.wizard-steps .step.active{background:var(--accent-gradient);color:#fff}.wizard-steps .step.complete,.wizard-steps .step.completed{background:var(--color-success)}.wizard-content{flex:1 1;overflow-y:auto;padding:25px}.wizard-step{display:flex;flex-direction:column;gap:20px}.wizard-step h3{color:var(--text-primary);font-size:20px;margin:0 0 15px}.wizard-step h4{color:var(--text-primary);font-size:16px;margin:15px 0 10px}.form-group input,.form-group select{background:var(--surface-0);border:1px solid var(--border)}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group select:focus{border-color:var(--accent-light);box-shadow:0 0 0 3px #00b4ff1f}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.armor-section{background:var(--surface-1);border-radius:6px;padding:15px}.armor-section h4{margin-top:0}.calculated-stats{background:var(--surface-1);border-radius:6px;padding:15px}.stats-preview{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(4,1fr)}.stat-preview{background:var(--surface-2);border-radius:4px;padding:12px;text-align:center}.stat-preview label{color:var(--text-secondary);display:block;font-size:12px;margin-bottom:5px}.stat-preview span{color:var(--text-primary);display:block;font-size:20px;font-weight:600}.aa-builder,.weapon-builder{background:var(--surface-1);border-radius:6px;padding:15px}.btn-add{border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:10px;padding:10px;width:100%}.btn-add,.btn-add:hover{background:var(--color-success)}.btn-add:hover{opacity:.85}.aa-list-preview,.weapons-list-preview{background:var(--surface-1);border-radius:6px;padding:15px}.empty-message{color:var(--text-muted);font-style:italic;padding:20px;text-align:center}.aa-cards,.weapon-cards{display:flex;flex-direction:column;gap:8px;margin-top:10px}.aa-card-preview,.weapon-card-preview{align-items:center;background:var(--surface-2);border-left:3px solid var(--accent);border-radius:4px;display:flex;justify-content:space-between;padding:12px}.aa-card-preview{border-left-color:var(--color-warning)}.aa-card-preview strong,.weapon-card-preview strong{color:var(--text-primary);display:block;font-size:14px}.aa-meta,.weapon-meta{color:var(--text-secondary);display:block;font-size:12px;margin-top:2px}.btn-remove{align-items:center;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:28px;justify-content:center;line-height:1;width:28px}.btn-remove,.btn-remove:hover{background:var(--color-danger)}.btn-remove:hover{opacity:.85}.mount-group-input-row{align-items:center;display:flex;gap:6px;margin-bottom:8px}.mount-count-input{background:var(--surface-0);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:14px;padding:6px 4px;text-align:center;width:30px}.mount-count-input:focus{border-color:var(--accent-light);box-shadow:0 0 0 3px #00b4ff1f;outline:none}.mount-x{color:var(--text-secondary);font-size:16px;font-weight:700}.mount-config-select{background:var(--surface-0);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);flex:1 1;font-size:14px;min-width:150px;padding:6px 8px}.mount-config-select:focus{border-color:var(--accent-light);box-shadow:0 0 0 3px #00b4ff1f;outline:none}.btn-add-mount{background:var(--accent);border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px;white-space:nowrap}.btn-add-mount:hover{background:var(--accent);opacity:.85}.mount-groups-list{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.mount-group-tag{align-items:center;background:var(--surface-2);border:1px solid var(--accent);border-radius:12px;color:var(--text-primary);display:flex;font-size:12px;gap:4px;padding:3px 8px 3px 10px}.mount-group-tag button{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.mount-group-tag button:hover{color:var(--color-danger)}.mount-groups-total{color:var(--text-secondary);font-size:12px;margin-top:4px;width:100%}.mount-groups-total strong{color:var(--color-success)}.weapon-stats-preview{background:var(--surface-0);border-left:3px solid var(--color-success);border-radius:4px;display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;padding:8px 12px}.weapon-stats-preview span{color:var(--text-secondary);font-size:12px;font-weight:600}.weapon-stats-line{color:var(--text-muted);display:block;font-size:11px;margin-top:3px}.info-box{background:var(--surface-1);border-left:3px solid var(--accent);border-radius:6px;padding:15px}.info-box p{color:var(--text-secondary);font-size:14px;margin:8px 0}.info-box strong{color:var(--text-primary)}.note{color:var(--text-muted);font-size:13px;font-style:italic;margin-top:15px}.wizard-footer{align-items:center;border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:20px 25px}.wizard-nav{display:flex;gap:10px}.btn-cancel,.btn-next,.btn-prev,.btn-submit{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-cancel{background:var(--surface-2);color:#fff}.btn-cancel:hover{background:var(--surface-3)}.btn-prev{background:var(--surface-2);color:#fff}.btn-prev:hover{background:var(--surface-3)}.btn-next{background:var(--accent);color:#fff}.btn-next:hover{background:var(--accent);opacity:.85}.btn-submit{color:#fff}.btn-submit,.btn-submit:hover{background:var(--color-success)}.btn-submit:hover{opacity:.85}@media (max-width:768px){.wizard-container{max-width:100%}.stats-preview{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.wizard-steps .step{font-size:11px;padding:8px 5px}}.aircraft-config{display:flex;flex-direction:column;gap:12px;margin-top:12px}.aircraft-config-row{align-items:center;display:flex;gap:14px}.aircraft-type-label{color:var(--text-secondary);flex-shrink:0;font-size:.95rem;font-weight:600;width:140px}.aircraft-name-input{background:var(--surface-0);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);flex:1 1;font-size:.95rem;padding:8px 12px}.aircraft-name-input::placeholder{color:var(--text-muted)}.aircraft-name-input:focus{border-color:var(--accent-light);box-shadow:0 0 0 3px #00b4ff1f;outline:none}.recon-aircraft-section{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.recon-aircraft-section h4{color:var(--text-primary);font-size:1rem;margin:0 0 4px}.recon-aircraft-section .section-note{color:var(--text-muted);font-size:.85rem;margin:0 0 14px}.character-manager{display:flex;flex-direction:column;gap:30px}.manager-section{background:var(--surface-0);border-radius:8px;padding:25px}.manager-section h3{color:var(--text-primary);font-size:20px;margin:0 0 20px}.section-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.section-desc{color:var(--text-secondary);font-size:14px;margin:5px 0 0}.btn-create-wizard{background:var(--color-success);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s;white-space:nowrap}.btn-create-wizard:hover{background:var(--color-success);box-shadow:0 4px 8px #0003;filter:brightness(.85);transform:translateY(-1px)}.character-form{gap:15px}.character-form,.form-group{display:flex;flex-direction:column}.form-group{gap:5px}.form-group label{font-weight:600}.form-group input,.form-group select{background:var(--surface-2);border:1px solid var(--surface-0);border-radius:4px;color:var(--text-primary);font-size:14px;padding:10px}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.form-actions{display:flex;gap:10px;margin-top:10px}.btn-primary{background:var(--accent);border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px}.btn-primary:hover{background:var(--accent);filter:brightness(.85)}.btn-secondary{background:var(--surface-3);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:12px 24px}.btn-secondary:hover{filter:brightness(1.2)}.loading,.no-data{color:var(--text-secondary);font-size:16px;padding:40px;text-align:center}.character-list{display:flex;flex-direction:column;gap:10px}.character-card{background:var(--surface-2);border-radius:6px;overflow:hidden}.character-card.collapsed .character-header{padding-bottom:0}.character-card.expanded{align-items:stretch;display:flex;flex-direction:column;gap:0}.character-header{align-items:flex-start;border-bottom:1px solid var(--surface-0);display:flex;justify-content:space-between;padding:15px;transition:background .15s}.character-card.collapsed .character-header{border-bottom:none;padding-bottom:15px}.character-header:hover{background:var(--surface-3)}.card-toggle-arrow{color:var(--text-secondary);display:inline-block;font-size:10px;margin-left:8px;transition:transform .2s;vertical-align:middle}.card-toggle-arrow.open{transform:rotate(90deg)}.character-card.expanded .char-section-wrapper{display:flex;flex-direction:column;gap:15px;padding:0 15px 15px}.character-title h4{color:var(--text-primary);font-size:20px;margin:0 0 5px}.char-class{font-size:15px;margin:5px 0}.character-info h4{color:var(--text-primary);font-size:18px;margin:0 0 5px}.character-info p{color:var(--text-secondary);font-size:14px;margin:3px 0}.char-meta{font-size:13px}.char-meta,.char-user{color:var(--text-muted)}.char-user{font-family:monospace;font-size:12px}.badge-active{background:var(--color-success);border-radius:3px;color:#fff;font-size:12px;font-weight:600;margin-left:8px;padding:2px 8px}.character-actions{display:flex;gap:8px}.btn-delete,.btn-edit{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px}.btn-edit{background:var(--accent);color:#fff}.btn-edit:hover{background:var(--accent);filter:brightness(.85)}.btn-delete{background:#ef444426;border:1px solid #ef44444d;color:var(--color-danger)}.btn-delete:hover{background:var(--color-danger);color:#fff}.btn-opfor-toggle{background:var(--surface-3);border:1px solid #666;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.btn-opfor-toggle:hover{background:var(--surface-3);filter:brightness(1.2)}.btn-opfor-toggle.opfor-active{background:#ef444440;border-color:var(--color-danger);color:var(--color-danger)}.char-section{background:var(--surface-1);border-radius:6px;padding:15px}.char-section h5{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 12px}.char-section h6{color:var(--text-secondary);font-size:14px;font-weight:600;margin:10px 0 8px}.spec-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.spec-item{align-items:center;background:var(--surface-2);border-radius:4px;display:flex;justify-content:space-between;padding:8px 12px}.spec-item label{color:var(--text-secondary);font-size:13px;font-weight:600}.spec-item span{color:var(--text-primary);font-size:14px}.stats-grid{gap:10px}.stat-item,.stats-grid{display:flex;flex-direction:column}.stat-item{gap:5px}.stat-item label{color:var(--text-secondary);font-size:13px;font-weight:600}.stat-bar{align-items:center;background:var(--surface-0);border-radius:4px;display:flex;height:28px;overflow:hidden;position:relative}.stat-fill{border-radius:4px;height:100%;left:0;position:absolute;top:0;transition:width .3s ease}.stat-fill.health{background:linear-gradient(90deg,var(--color-danger),var(--color-danger))}.stat-fill.armor{background:var(--accent-gradient)}.stat-fill.speed{background:linear-gradient(90deg,var(--color-success),var(--color-success))}.stat-fill.evasion{background:linear-gradient(90deg,var(--color-warning),var(--color-warning))}.stat-value{color:var(--text-primary);font-size:14px;font-weight:600;padding-left:10px;position:relative;z-index:1}.weapons-list{display:flex;flex-direction:column;gap:10px}.weapon-item{background:var(--surface-2);border-left:3px solid var(--accent);border-radius:4px;padding:12px}.weapon-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.weapon-header strong{color:var(--text-primary);font-size:15px}.weapon-type{background:var(--accent);border-radius:3px;color:#fff;font-size:11px;font-weight:600;padding:3px 8px;text-transform:uppercase}.weapon-stats{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:13px;gap:12px}.weapon-stats span{align-items:center;display:flex;gap:4px}.hangar-info{color:var(--text-secondary);font-size:13px;margin-bottom:12px}.aircraft-available,.squadrons-active{margin-top:12px}.aircraft-list,.squadron-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:8px}.aircraft-item,.squadron-item{background:var(--surface-2);border-left:3px solid var(--color-success);border-radius:4px;padding:10px}.aircraft-item strong,.squadron-item strong{color:var(--text-primary);display:block;font-size:14px;margin-bottom:6px}.aircraft-item span,.squadron-item span{color:var(--text-secondary);display:block;font-size:12px;margin:2px 0}.aa-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.aa-item{background:var(--surface-2);border-left:3px solid var(--color-warning);border-radius:4px;padding:10px}.aa-item strong{color:var(--text-primary);display:block;font-size:14px;margin-bottom:6px}.aa-item span{color:var(--text-secondary);display:block;font-size:12px;margin:2px 0}.progress-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.progress-item{align-items:center;background:var(--surface-2);border-radius:4px;display:flex;justify-content:space-between;padding:8px 12px}.progress-item label{color:var(--text-secondary);font-size:13px;font-weight:600}.progress-item span{color:var(--text-primary);font-size:14px;font-weight:600}.gm-adjust-section{border-top:1px solid var(--border);margin-top:8px}.adjust-row{align-items:center;display:flex;gap:8px;padding:6px 0}.adjust-label{color:var(--text-secondary);flex-shrink:0;font-size:13px;font-weight:600;width:60px}.adjust-current{font-weight:700;min-width:70px}.adjust-current,.adjust-input{color:var(--text-primary);font-size:13px}.adjust-input{background:var(--surface-2);border:1px solid var(--text-muted);border-radius:4px;padding:4px 8px;text-align:center;width:80px}.btn-adjust-add,.btn-adjust-remove{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;padding:4px 12px;transition:opacity .15s}.btn-adjust-add{background:var(--color-success);color:var(--text-primary)}.btn-adjust-add:hover:not(:disabled){background:var(--color-success);filter:brightness(.85)}.btn-adjust-remove{background:var(--color-danger);color:var(--text-primary)}.btn-adjust-remove:hover:not(:disabled){background:var(--color-danger);filter:brightness(.85)}.btn-adjust-add:disabled,.btn-adjust-remove:disabled{cursor:not-allowed;opacity:.5}.adjust-flash{border-radius:3px;font-size:12px;font-weight:600;padding:2px 6px}.adjust-flash.ok{color:var(--color-success)}.adjust-flash.err{color:var(--color-danger)}.upgrades-list{display:flex;flex-direction:column;gap:6px}.upgrade-row{align-items:center;background:#0f1623;background:var(--surface-2,#0f1623);border:1px solid #1e2533;border:1px solid var(--border,#1e2533);border-radius:6px;display:flex;gap:10px;padding:8px 10px}.upgrade-emoji{flex-shrink:0;font-size:16px}.upgrade-info{flex:1 1;min-width:0}.upgrade-name{color:#e2e8f0;color:var(--text-primary,#e2e8f0);font-size:12px;font-weight:600}.upgrade-desc{color:#64748b;color:var(--text-secondary,#64748b);font-size:11px;margin-top:1px}.toggle-wrap{align-items:center;display:flex;flex-shrink:0;gap:6px}.toggle-switch{display:inline-block;flex-shrink:0;height:20px;position:relative;width:38px}.toggle-switch input{height:0;opacity:0;position:absolute;width:0}.toggle-slider{background:#374151;border-radius:10px;cursor:pointer;inset:0;position:absolute;transition:background .2s}.toggle-slider:before{background:#fff;border-radius:50%;content:"";height:16px;left:2px;position:absolute;top:2px;transition:transform .2s;width:16px}.toggle-switch input:checked+.toggle-slider{background:#10b981}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(18px)}.toggle-switch input:disabled+.toggle-slider{cursor:not-allowed;opacity:.5}.toggle-switch input:focus-visible+.toggle-slider{outline:2px solid #10b981;outline-offset:2px}.toggle-label{color:#64748b;color:var(--text-secondary,#64748b);font-size:11px;min-width:44px}.toggle-label.active{color:#10b981}.lock-badge{background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:10px;color:#f59e0b;flex-shrink:0;font-size:10px;padding:2px 7px;white-space:nowrap}.upgrades-battle-note{background:#f59e0b14;border:1px solid #f59e0b33;border-radius:4px;color:#64748b;color:var(--text-secondary,#64748b);font-size:11px;margin-top:8px;padding:6px 10px}.inv-list{display:flex;flex-direction:column;gap:6px}.inv-row{align-items:center;background:#ffffff0a;border-radius:6px;display:flex;gap:10px;padding:7px 10px}.inv-emoji{flex-shrink:0;font-size:1.2rem}.inv-info{flex:1 1;min-width:0}.inv-name{color:#e2e8f0;font-size:.85rem;font-weight:600}.inv-desc{color:#94a3b8;font-size:.75rem;margin-top:1px}.inv-qty{color:#fbbf24;font-size:.85rem;font-weight:700;white-space:nowrap}.inv-delete-btn{background:none;border:none;border-radius:4px;cursor:pointer;flex-shrink:0;font-size:1rem;opacity:.5;padding:2px 4px;transition:opacity .15s,background .15s}.inv-delete-btn:hover{background:#ef444433;opacity:1}.modal-overlay{align-items:center;background:#000000a6;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-box{background:#1e293b;border:1px solid #334155;border-radius:10px;box-shadow:0 20px 60px #00000080;max-width:420px;padding:28px 32px;width:90%}.modal-box h3{color:#f1f5f9;font-size:1.1rem;margin:0 0 12px}.modal-box p{color:#cbd5e1;font-size:.9rem;line-height:1.5;margin:0 0 10px}.modal-refund-note{color:#fbbf24!important;font-size:.85rem!important}.modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.btn-refund{background:#16a34a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px;transition:background .15s}.btn-refund:hover{background:#15803d}.btn-no-refund{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px;transition:background .15s}.btn-no-refund:hover{background:#b91c1c}.btn-cancel{background:#334155;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:.85rem;margin-left:auto;padding:8px 16px;transition:background .15s}.btn-cancel:hover{background:#475569;color:#e2e8f0}.map-maker{color:var(--text-primary);padding:20px}.map-maker-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.map-maker-header h3{color:var(--text-primary);font-size:20px;margin:0}.btn-new-map{background:var(--accent);border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;padding:9px 18px;transition:background .15s}.btn-new-map:hover{background:var(--accent);filter:brightness(.85)}.no-maps{background:var(--surface-0);border-radius:8px;color:var(--text-muted);padding:40px;text-align:center}.map-list-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr;margin-bottom:24px}.map-card{align-items:center;background:var(--surface-0);border:1px solid var(--border);border-radius:8px;display:flex;gap:14px;padding:14px 16px;transition:border-color .15s}.map-card:hover{border-color:var(--accent)}.map-card.template{border-left:3px solid var(--color-warning);opacity:.85}.map-card-icon{flex-shrink:0;font-size:28px}.map-card-info{flex:1 1;min-width:0}.map-card-info h4{color:var(--text-primary);font-size:15px;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-card-info p{color:var(--text-muted);font-size:12px;margin:0}.map-meta{color:var(--accent)!important;font-size:11px!important;margin-top:3px!important}.map-card-actions{display:flex;flex-shrink:0;gap:6px}.map-card-actions button{background:var(--surface-2);border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:12px;padding:5px 11px;transition:background .15s}.map-card-actions button:hover{background:var(--accent);color:var(--text-primary)}.map-card-actions .btn-danger{background:#ef444426;border:1px solid #ef44444d;color:var(--color-danger)}.map-card-actions .btn-danger:hover{background:var(--color-danger);color:var(--text-primary)}.template-section h4{color:var(--color-warning);font-size:14px;letter-spacing:.05em;margin:0 0 10px;text-transform:uppercase}.map-maker-editor{border-radius:8px;flex-direction:column;height:calc(100vh - 170px);min-height:500px;overflow:hidden}.editor-topbar,.map-maker-editor{background:var(--surface-0);display:flex}.editor-topbar{align-items:center;border-bottom:2px solid var(--border);flex-shrink:0;gap:10px;padding:8px 12px}.btn-back{border-radius:5px;font-size:13px;padding:6px 12px;white-space:nowrap}.btn-back:hover{background:var(--accent);color:var(--text-primary)}.map-name-input{background:var(--surface-0);border:1px solid var(--border);border-radius:5px;color:var(--text-primary);font-size:15px;font-weight:600;padding:5px 10px;width:200px}.map-name-input:focus{border-color:var(--border-accent);outline:none}.map-desc-input{background:var(--surface-0);border:1px solid var(--border);border-radius:5px;color:var(--text-primary);flex:1 1;font-size:13px;min-width:120px;padding:5px 10px}.map-desc-input:focus{border-color:var(--border-accent);outline:none}.zoom-controls{align-items:center;display:flex;flex-shrink:0;gap:4px}.zoom-controls label{color:var(--text-muted);font-size:12px;margin-right:2px}.zoom-controls button{background:var(--surface-2);border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:12px;padding:4px 8px}.zoom-controls button.active{background:var(--accent);color:var(--text-primary)}.zoom-controls button:hover:not(.active){background:var(--surface-3)}.btn-save{background:var(--color-success);border:none;border-radius:5px;color:var(--text-primary);cursor:pointer;flex-shrink:0;font-size:13px;font-weight:600;padding:6px 16px;transition:background .15s;white-space:nowrap}.btn-save:hover:not(:disabled){background:var(--color-success);filter:brightness(.85)}.btn-save.dirty{background:var(--color-warning);color:var(--surface-0)}.btn-save.dirty:hover{background:var(--color-warning);filter:brightness(.9)}.btn-save:disabled{cursor:not-allowed;opacity:.6}.editor-body{display:flex;flex:1 1;overflow:hidden}.editor-toolbar{background:var(--surface-0);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:4px;min-width:155px;overflow-y:auto;padding:10px 8px;width:155px}.editor-toolbar::-webkit-scrollbar{width:4px}.editor-toolbar::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.tool-section{margin-bottom:6px}.tool-section h4{color:var(--text-muted);font-size:10px;letter-spacing:.06em;margin:6px 0 4px;text-transform:uppercase}.tool-btn{background:var(--surface-2);border:none;border-radius:5px;color:var(--text-primary);cursor:pointer;display:block;font-size:12px;margin-bottom:3px;padding:6px 8px;text-align:left;transition:background .1s;width:100%}.tool-btn:hover{background:var(--surface-3)}.tool-btn.active{background:var(--accent-subtle);border:1px solid var(--border-accent);color:var(--text-primary);font-weight:600}.sub-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;display:block;font-size:11px;margin-bottom:3px;padding:4px 8px;text-align:left;transition:background .1s;width:100%}.sub-btn:hover{background:var(--surface-3)}.sub-btn.active{background:var(--accent-subtle);border-color:var(--border-accent);color:var(--text-primary)}.tool-select{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:11px;margin-bottom:4px;padding:4px 6px;width:100%}.tool-select:focus{border-color:var(--border-accent);outline:none}.tool-input{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;box-sizing:border-box;color:var(--text-primary);font-size:11px;padding:4px 6px;width:100%}.tool-input:focus{border-color:var(--border-accent);outline:none}.tool-section.tips p{color:var(--text-muted);font-size:10px;margin:2px 0}.tool-section.stats p{color:var(--text-secondary);font-size:11px;margin:2px 0}.canvas-container{background:var(--surface-0);flex:1 1;overflow:auto;position:relative}.canvas-container canvas{display:block;image-rendering:pixelated}.coord-display{background:#000000bf;bottom:0;color:var(--text-muted);font-size:11px;left:0;padding:3px 8px;pointer-events:none;position:-webkit-sticky;position:sticky}.coord-display span{color:var(--text-secondary)}.loading{color:var(--text-muted);padding:40px;text-align:center}.game-starter{margin:0 auto;max-width:800px}.starter-header{margin-bottom:30px;text-align:center}.starter-header h3{color:var(--text-primary);font-size:24px;margin:0 0 10px}.starter-header p{color:var(--text-secondary);margin:0}.game-form{background:var(--surface-0);border-radius:8px;margin-bottom:30px;padding:30px}.btn-start{background:var(--color-success);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;margin-top:20px;padding:16px;width:100%}.btn-start:hover:not(:disabled){background:var(--color-success);filter:brightness(.85)}.btn-start:disabled{background:var(--surface-3);cursor:not-allowed}.starter-info{background:var(--surface-0);border-radius:8px;padding:25px}.starter-info h4{color:var(--text-primary);font-size:16px;margin:0 0 15px}.starter-info ol,.starter-info ul{color:var(--text-secondary);margin:0 0 20px 20px;padding:0}.starter-info li{line-height:1.6;margin:8px 0}.starter-info code{background:var(--surface-2);border-radius:3px;color:var(--accent);font-family:Courier New,monospace;padding:2px 6px}.form-group{margin-bottom:20px}.form-group label{color:var(--text-secondary);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input[type=number],.form-group input[type=text],.form-group select{appearance:none;-webkit-appearance:none;background:var(--surface-0);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);font-size:14px;padding:10px 12px;width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--accent);outline:none}.form-group small{color:var(--text-muted);display:block;font-size:12px;margin-top:4px}.custom-enemies-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr);margin-top:10px}.enemy-input{display:flex;flex-direction:column}.enemy-input label{color:var(--text-secondary);font-size:13px;font-weight:500;margin-bottom:5px}.enemy-input input{background:var(--surface-2);border:1px solid var(--surface-0);border-radius:4px;color:var(--text-primary);font-size:14px;padding:10px}.enemy-input input:focus{border-color:var(--accent);outline:none}.admin-panel{margin:20px auto;max-width:1200px;padding:20px}.admin-message{background:var(--surface-0);border-radius:8px;color:var(--text-primary);padding:40px;text-align:center}.admin-message.error{background:#ef444426;border:1px solid #ef44444d;color:var(--color-danger)}.admin-message ul{display:inline-block;margin-top:20px;text-align:left}.admin-message button{background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;margin-top:20px;padding:10px 20px}.admin-message button:hover{background:var(--accent);filter:brightness(.85)}.guild-selector{text-align:center}.guild-selector h2{color:var(--text-primary);margin-bottom:10px}.guild-selector p{color:var(--text-secondary);margin-bottom:30px}.guild-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:20px}.guild-card{align-items:center;background:var(--surface-0);border-radius:8px;cursor:pointer;display:flex;gap:15px;padding:20px;transition:all .2s}.guild-card:hover{background:var(--surface-2);box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.guild-icon{border-radius:50%;height:50px;width:50px}.guild-info h3{color:var(--text-primary);font-size:18px;margin:0}.admin-header{align-items:center;background:var(--surface-0);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px}.server-info{gap:15px}.server-icon{border-radius:50%;height:60px;width:60px}.server-info h2{color:var(--text-primary);font-size:24px;margin:0}.server-info p{color:var(--text-secondary);margin:5px 0 0}.change-server-btn{background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px}.change-server-btn:hover{background:var(--accent);filter:brightness(.85)}.admin-tabs{border-bottom:2px solid var(--surface-2);display:flex;gap:10px;margin-bottom:20px}.admin-tabs button{background:none;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:15px 30px;transition:all .2s}.admin-tabs button:hover{background:#ffffff0d;color:var(--text-primary)}.admin-tabs button.active{border-bottom-color:var(--accent);color:var(--text-primary)}.admin-content{background:var(--surface-0);border-radius:8px;min-height:400px;padding:30px}.se-container{color:var(--text-primary);margin:0 auto;max-width:800px}.se-empty,.se-loading{color:var(--text-muted);padding:24px 0;text-align:center}.se-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.se-list-header h3{color:var(--text-primary);font-size:1.1rem;margin:0}.se-item-list{display:flex;flex-direction:column;gap:8px}.se-item-row{background:var(--surface-1);border:1px solid var(--border);border-radius:6px;gap:12px;padding:10px 14px}.se-item-icon-col,.se-item-row{align-items:center;display:flex}.se-item-icon-col{flex-shrink:0;justify-content:center;width:44px}.se-item-thumb{border-radius:4px;height:40px;object-fit:contain;width:40px}.se-item-emoji-thumb{font-size:1.6rem;line-height:1}.se-item-info{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:12px}.se-item-name{color:var(--text-primary);font-weight:600}.se-item-meta{color:var(--text-muted);font-size:.8rem;text-transform:capitalize}.se-item-actions{display:flex;flex-shrink:0;gap:8px}.se-form-header{align-items:center;display:flex;gap:14px;margin-bottom:20px}.se-form-header h3{color:var(--text-primary);font-size:1.05rem;margin:0}.se-error{background:#ed424526;border:1px solid var(--color-danger);border-radius:4px;color:var(--color-danger);font-size:.9rem;margin-bottom:14px;padding:8px 12px}.se-form{display:flex;flex-direction:column;gap:14px}.se-field-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.se-field-row{display:flex;flex-direction:column;gap:4px}.se-label{color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.se-input{background:var(--surface-2);border:1px solid var(--surface-0);border-radius:4px;color:var(--text-primary);font-size:.95rem;outline:none;padding:7px 10px;transition:border-color .15s}.se-input:focus{border-color:var(--accent)}.se-textarea{font-family:inherit;resize:vertical}.se-select{background:var(--surface-2);border:1px solid var(--surface-0);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:.95rem;outline:none;padding:7px 10px}.se-select:focus{border-color:var(--accent)}.se-emoji-input{font-size:1.2rem;text-align:center;width:70px}.se-small-input{width:90px}.se-icon-col{display:flex;flex-direction:column;gap:8px}.se-icon-row{flex-wrap:wrap;gap:10px}.se-icon-row,.se-icon-url-row{align-items:center;display:flex}.se-icon-url-row{gap:8px}.se-icon-url-input{flex:1 1;font-size:.82rem;min-width:0}.se-icon-preview{background:var(--surface-0);border:1px solid var(--border);border-radius:6px;height:48px;object-fit:contain;width:48px}.se-hint{color:var(--text-muted);font-size:.78rem}.se-section-label{color:var(--text-secondary);font-size:.8rem;font-weight:700;letter-spacing:.05em;margin-bottom:4px;margin-top:4px;text-transform:uppercase}.se-stats-builder{display:flex;flex-direction:column;gap:6px}.se-stat-row{align-items:center;display:flex;gap:8px}.se-stat-select{flex:1 1}.se-stat-val{width:90px}.se-req-section{display:flex;flex-direction:column;gap:10px}.se-class-grid{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:4px}.se-check-label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;gap:6px;text-transform:capitalize;-webkit-user-select:none;user-select:none}.se-req-flagship{font-size:.9rem}.se-toggles{display:flex;flex-wrap:wrap;gap:20px}.se-form-actions{display:flex;gap:10px;padding-top:8px}.se-btn-primary{background:var(--accent);border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:background .15s}.se-btn-primary:hover:not(:disabled){background:var(--accent);filter:brightness(.85)}.se-btn-primary:disabled{cursor:not-allowed;opacity:.5}.se-btn-secondary{background:var(--surface-2);border:1px solid var(--surface-0);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:.85rem;padding:7px 14px;transition:background .15s}.se-btn-secondary:hover{background:var(--surface-3)}.se-btn-back{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:4px 0}.se-btn-back:hover,.se-btn-edit{color:var(--text-primary)}.se-btn-edit{background:var(--surface-3);border:none;border-radius:4px;cursor:pointer;font-size:.82rem;padding:5px 12px}.se-btn-edit:hover{background:var(--accent);color:var(--text-primary)}.se-btn-delete{background:#ef444426;border:1px solid #ef44444d;border-radius:4px;color:var(--color-danger);cursor:pointer;font-size:.82rem;padding:5px 12px}.se-btn-delete:hover{background:#ed424526}.se-btn-remove{background:#0000;border:none;color:var(--color-danger);cursor:pointer;font-size:1.1rem;line-height:1;padding:0 4px}.se-btn-remove:hover{color:var(--text-primary)}.pp-fullscreen{background:var(--surface-1);display:flex;inset:0;position:fixed;z-index:1000}.pp-nav{background:var(--surface-0);border-right:1px solid var(--border);flex-shrink:0;justify-content:space-between;width:200px}.pp-nav,.pp-nav-top{display:flex;flex-direction:column}.pp-nav-top{padding:0}.pp-nav-bottom{border-top:1px solid var(--border);display:flex;flex-direction:column;padding:4px 0}.pp-nav-user{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;margin-bottom:4px;padding:16px 14px}.pp-avatar{object-fit:cover}.pp-avatar,.pp-avatar-placeholder{border-radius:50%;flex-shrink:0;height:36px;width:36px}.pp-avatar-placeholder{align-items:center;background:var(--surface-2);display:flex;font-size:18px;justify-content:center}.pp-panel-username{color:var(--text-primary);font-size:13px;font-weight:600}.pp-panel-guild,.pp-panel-username{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-panel-guild{color:var(--text-muted);font-size:11px}.pp-nav-btn{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-family:Barlow,sans-serif;font-size:13px;font-weight:500;gap:10px;padding:10px 16px;text-align:left;transition:background .12s,color .12s;width:100%}.pp-nav-btn:hover{background:var(--surface-2);color:var(--text-primary)}.pp-nav-btn.active{background:var(--accent-subtle);border-left:2px solid var(--accent-light);color:var(--accent-light);font-weight:700;padding-left:14px}.pp-close-nav-btn:hover{color:var(--text-primary)}.pp-logout-btn{color:var(--color-danger)!important}.pp-logout-btn:hover{background:#2a1a1a!important;color:#ff6b6b!important}.pp-nav-emoji{flex-shrink:0;font-size:15px}.pp-nav-label{font-weight:500}.pp-main{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.pp-main-header{background:var(--surface-1);border-bottom:1px solid var(--border);padding:16px 24px 12px}.pp-main-title{color:var(--text-primary);font-size:18px;font-weight:800}.pp-content{box-sizing:border-box;flex:1 1;overflow-y:auto;padding:24px 28px;width:100%}.pp-content::-webkit-scrollbar{width:6px}.pp-content::-webkit-scrollbar-track{background:var(--surface-1)}.pp-content::-webkit-scrollbar-thumb{background:var(--surface-2);border-radius:3px}.pp-confirm-overlay{align-items:center;background:#000000a6;display:flex;inset:0;justify-content:center;position:fixed;z-index:1100}.pp-confirm-dialog{background:var(--surface-2);border-radius:10px;box-shadow:0 10px 40px #00000080;padding:32px 36px;text-align:center;width:320px}.pp-confirm-icon{font-size:40px;margin-bottom:12px}.pp-confirm-dialog h3{color:var(--text-primary);font-size:18px;margin:0 0 8px}.pp-confirm-dialog p{color:var(--text-secondary);font-size:13px;margin:0 0 24px}.pp-confirm-buttons{display:flex;gap:10px;justify-content:center}.pp-confirm-yes{background:var(--color-danger);border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;padding:9px 20px;transition:background .15s}.pp-confirm-yes:hover{background:#c0392b}.pp-confirm-no{background:var(--surface-2);border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;padding:9px 20px;transition:background .15s}.pp-confirm-no:hover{background:var(--surface-3)}.pp-empty,.pp-loading{color:var(--text-muted);font-size:14px;padding:40px 20px;text-align:center}.pp-empty-small{color:var(--text-muted);font-size:12px;padding:4px 0 8px}.pp-section-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.8px;margin:14px 0 6px;text-transform:uppercase}.pp-characters{display:flex;flex-direction:column;gap:12px}.pp-char-card{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;overflow:hidden}.pp-char-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:12px 14px;transition:background .15s;-webkit-user-select:none;user-select:none}.pp-char-header:hover{background:var(--surface-3)}.pp-char-title{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.pp-char-name{color:var(--text-primary);font-size:15px;font-weight:700}.pp-char-class{background:var(--surface-2);color:var(--text-secondary);font-size:12px}.pp-badge,.pp-char-class{border-radius:10px;padding:2px 7px}.pp-badge{font-size:10px;font-weight:700;text-transform:uppercase}.pp-badge.active{background:var(--color-success);color:var(--text-primary)}.pp-char-meta{align-items:center;color:var(--text-muted);display:flex;font-size:12px;gap:10px}.pp-char-level{background:var(--surface-2);border-radius:10px;padding:2px 7px}.pp-expand-icon{font-size:10px}.pp-char-body{border-top:1px solid var(--border);padding:4px 14px 14px}.pp-stats-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(3,1fr)}.pp-stat{background:var(--surface-1);border-radius:6px;display:flex;flex-direction:column;padding:6px 8px}.pp-stat-label{color:var(--text-muted);font-size:10px;letter-spacing:.5px;text-transform:uppercase}.pp-stat-val{color:var(--text-primary);font-size:14px;font-weight:600;margin-top:2px}.pp-weapons-list{display:flex;flex-direction:column;gap:4px}.pp-weapon-row{align-items:center;background:var(--surface-1);border-radius:5px;display:flex;justify-content:space-between;padding:5px 8px}.pp-weapon-name{color:var(--text-primary);font-size:13px}.pp-weapon-stats{color:var(--text-muted);display:flex;font-size:11px;gap:8px}.pp-skills{display:flex;flex-wrap:wrap;gap:6px}.pp-skill-tag{background:var(--surface-3);border-radius:10px;color:var(--text-primary);font-size:11px;padding:3px 9px}.pp-currency{color:var(--text-primary);font-size:15px;padding:6px 0}.pp-inventory{display:flex;flex-wrap:wrap;gap:6px}.pp-inv-item{align-items:center;background:var(--surface-1);border-radius:5px;color:var(--text-primary);display:flex;font-size:12px;gap:4px;padding:4px 9px}.pp-inv-qty{color:var(--text-muted);font-size:11px}.pp-shop-topbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.pp-shop-currency{color:var(--text-primary);font-size:16px}.pp-select{background:var(--surface-2);border:1px solid var(--border);border-radius:5px;color:var(--text-primary);cursor:pointer;font-size:12px;padding:5px 8px}.pp-shop-cats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.pp-cat-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:5px 12px;transition:all .15s}.pp-cat-btn:hover{background:var(--surface-2);color:var(--text-primary)}.pp-cat-btn.active{background:var(--accent);border-color:var(--accent);color:var(--text-primary)}.pp-shop-msg{border-radius:6px;font-size:13px;margin-bottom:12px;padding:8px 12px}.pp-shop-msg.success{background:#1e3a2a;border:1px solid var(--color-success)33;color:var(--color-success)}.pp-shop-msg.error{background:#3a1e1e;border:1px solid var(--color-danger)33;color:var(--color-danger)}.pp-items-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));width:100%}.pp-item-card{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:5px;padding:12px;transition:border-color .15s}.pp-item-card:hover{border-color:var(--accent)}.pp-item-flagship{background:linear-gradient(135deg,var(--surface-2) 0,#3a3420 100%);border-color:var(--color-warning)55}.pp-item-flagship:hover{border-color:var(--color-warning)}.pp-item-top{align-items:flex-start;display:flex;justify-content:space-between}.pp-item-emoji{font-size:22px}.pp-item-icon-img{border-radius:4px;height:40px;object-fit:contain;width:40px}.pp-currency-icon-img-inline{border-radius:3px;height:18px;object-fit:contain;vertical-align:middle;width:18px}.pp-currency-name-input{background:var(--surface-2);border:1px solid var(--surface-0);border-radius:4px;color:var(--text-primary);font-size:.95rem;outline:none;padding:6px 10px;width:200px}.pp-currency-name-input:focus{border-color:var(--accent)}.pp-currency-emoji-input{background:var(--surface-2);border:1px solid var(--surface-0);border-radius:4px;color:var(--text-primary);font-size:1.2rem;outline:none;padding:6px 10px;text-align:center;width:70px}.pp-currency-emoji-input:focus{border-color:var(--accent)}.pp-currency-icon-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.pp-currency-icon-preview{background:var(--surface-0);border:1px solid var(--border);border-radius:6px;height:36px;object-fit:contain;width:36px}.pp-currency-icon-placeholder{font-size:1.6rem;line-height:1}.pp-currency-preview{align-items:center;background:var(--surface-1);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);display:inline-flex;font-size:.9rem;gap:6px;margin-top:4px;padding:8px 14px}.pp-save-currency-btn{border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:.9rem;font-weight:600;margin-top:12px;padding:8px 18px;transition:background .15s}.pp-save-currency-btn,.pp-save-currency-btn:hover:not(:disabled){background:var(--accent)}.pp-save-currency-btn:disabled{cursor:not-allowed;opacity:.5}.pp-add-item-card{align-items:center;background:var(--surface-1);border:1px dashed #555;cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:120px;transition:border-color .15s,background .15s}.pp-add-item-card:hover{background:var(--surface-2);border-color:var(--accent)}.pp-add-item-plus{color:var(--text-muted);font-size:2rem;font-weight:300;line-height:1}.pp-add-item-card:hover .pp-add-item-plus{color:var(--accent)}.pp-add-item-label{color:var(--text-muted);font-size:.82rem;letter-spacing:.05em;text-transform:uppercase}.pp-add-item-card:hover .pp-add-item-label{color:var(--accent)}.pp-item-badges{align-items:flex-end;display:flex;flex-direction:column;gap:3px}.pp-item-rarity{font-size:11px;font-weight:600;text-transform:capitalize}.pp-flagship-badge{border:1px solid var(--color-warning)55;border-radius:4px;font-size:10px;font-weight:700;padding:2px 6px;white-space:nowrap}.pp-flagship-badge,.pp-flagship-effect{background:#2d2510;color:var(--color-warning)}.pp-flagship-effect{border:1px solid var(--color-warning)33;border-radius:5px;font-size:11px;line-height:1.4;margin-top:2px;padding:5px 8px}.pp-item-name{color:var(--text-primary);font-size:14px;font-weight:700}.pp-item-desc{color:var(--text-secondary);flex:1 1;font-size:12px;line-height:1.4}.pp-item-stats{display:flex;flex-wrap:wrap;gap:4px}.pp-item-stat{background:var(--surface-1);border-radius:4px;color:var(--color-success);font-size:10px;padding:2px 6px}.pp-item-req{color:var(--color-warning);font-size:10px}.pp-item-footer{align-items:center;border-top:1px solid var(--border);display:flex;justify-content:space-between;margin-top:4px;padding-top:8px}.pp-item-price{color:var(--color-warning);font-size:13px;font-weight:600}.pp-item-footer-btns{align-items:center;display:flex;gap:6px}.pp-edit-btn{background:var(--surface-2);border:none;border-radius:5px;color:var(--text-primary);cursor:pointer;font-size:12px;font-weight:600;padding:5px 10px;transition:background .15s}.pp-buy-btn,.pp-edit-btn:hover{background:var(--accent);color:var(--text-primary)}.pp-buy-btn{border:none;border-radius:5px;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px;transition:background .15s}.pp-buy-btn:hover:not(:disabled){background:var(--accent)}.pp-buy-btn:disabled{background:var(--surface-2);color:var(--text-muted);cursor:not-allowed}.pp-settings h3{color:var(--text-primary);font-size:16px;margin:0 0 16px}.pp-setting-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.pp-setting-label{color:var(--text-primary);font-size:14px;min-width:130px}.pp-setting-control{align-items:center;display:flex;flex:1 1;gap:10px}.pp-volume-slider{accent-color:var(--accent);cursor:pointer;flex:1 1;height:4px;min-width:120px}.pp-volume-label{color:var(--text-secondary);font-size:13px;min-width:42px;text-align:right}.pp-mute-btn{background:var(--surface-2);border:none;border-radius:5px;color:var(--text-primary);cursor:pointer;font-size:12px;padding:5px 12px;transition:background .15s}.pp-mute-btn:hover{background:var(--surface-3)}.pp-setting-hint{color:var(--text-muted);font-size:12px;margin:4px 0 0}.pp-about h3{color:var(--text-primary);font-size:18px;margin:0 0 10px}.pp-about h4{color:var(--text-primary);font-size:14px;margin:18px 0 8px}.pp-about li,.pp-about p{color:var(--text-secondary);font-size:13px;line-height:1.6}.pp-about ol,.pp-about ul{margin:0;padding-left:20px}.pp-about li{margin-bottom:4px}.pp-about code{background:var(--surface-1);border-radius:4px;color:var(--accent);font-size:12px;padding:1px 5px}.pp-commands{display:flex;flex-direction:column;gap:4px}.pp-command-row{align-items:center;background:var(--surface-2);border-radius:5px;display:flex;gap:12px;padding:6px 10px}.pp-cmd{background:var(--surface-1);border-radius:4px;color:var(--accent);display:inline-block;font-size:12px;min-width:100px;padding:2px 7px}.pp-cmd-desc{color:var(--text-secondary);font-size:12px}.pp-support h3{color:var(--text-primary);font-size:18px;margin:0 0 10px}.pp-support>p{color:var(--text-secondary);font-size:13px;line-height:1.6;margin-bottom:20px}.pp-support-cards{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.pp-support-card{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center}.pp-support-icon{font-size:28px;margin-bottom:8px}.pp-support-card h4{color:var(--text-primary);font-size:14px;margin:0 0 6px}.pp-support-card p{color:var(--text-secondary);font-size:12px;line-height:1.5;margin:0}.pp-support-note{background:var(--surface-0);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;padding:12px 14px}.pp-support-note p{color:var(--text-secondary);font-size:13px;line-height:1.6;margin:0}.pp-support-card-clickable{cursor:pointer;transition:border-color .15s,background .15s}.pp-support-card-clickable:hover{background:var(--surface-2);border-color:var(--accent)}.pp-bug-form-wrap{background:var(--surface-0);border:1px solid var(--border);border-radius:8px;margin:16px 0;padding:20px}.pp-bug-form-wrap h4{color:var(--text-primary);font-size:15px;margin:0 0 16px}.pp-bug-form{display:flex;flex-direction:column;gap:14px}.pp-bug-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.pp-bug-field{display:flex;flex-direction:column;gap:5px}.pp-bug-field label{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.pp-bug-hint{color:var(--text-muted);font-weight:400;letter-spacing:0;text-transform:none}.pp-bug-field input,.pp-bug-field textarea{background:var(--surface-1);border:1px solid var(--border);border-radius:5px;color:var(--text-primary);font-family:inherit;font-size:13px;outline:none;padding:8px 10px;resize:vertical;transition:border-color .15s}.pp-bug-field input:focus,.pp-bug-field textarea:focus{border-color:var(--accent)}.pp-bug-attach-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px}.pp-bug-file-list{display:flex;flex-wrap:wrap;gap:6px}.pp-bug-file-tag{align-items:center;background:var(--surface-1);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);display:flex;font-size:12px;gap:4px;padding:3px 8px}.pp-bug-file-tag button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:0}.pp-bug-file-tag button:hover{color:var(--color-danger)}.pp-bug-actions{display:flex;gap:10px;padding-top:4px}.pp-bug-btn-primary{border:none;border-radius:5px;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;padding:8px 18px;transition:background .15s}.pp-bug-btn-primary,.pp-bug-btn-primary:hover:not(:disabled){background:var(--accent)}.pp-bug-btn-primary:disabled{cursor:not-allowed;opacity:.5}.pp-bug-btn-secondary{background:var(--surface-2);border:none;border-radius:5px;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:background .15s}.pp-bug-btn-secondary:hover{background:var(--surface-3)}.pp-bug-success{align-items:flex-start;display:flex;flex-direction:column;gap:12px}.pp-bug-success p{color:var(--color-success);font-size:14px;margin:0}.pp-bug-error{color:var(--color-danger);font-size:13px}@media (max-width:600px){.pp-bug-row{grid-template-columns:1fr}}.pp-stars-input{align-items:center;display:flex;gap:4px}.pp-star-btn{background:none;border:none;color:var(--surface-3);cursor:pointer;font-size:28px;line-height:1;padding:0;transition:color .1s,transform .1s}.pp-star-btn.filled{color:var(--color-warning)}.pp-star-btn:hover{transform:scale(1.15)}.pp-star-label{color:var(--text-secondary);font-size:13px;margin-left:6px}.pp-reviews-section{margin-top:20px}.pp-reviews-section h4{color:var(--text-primary);font-size:15px;margin:0 0 14px}.pp-reviews-empty{color:var(--text-muted);font-size:13px}.pp-reviews-list{display:flex;flex-direction:column;gap:10px}.pp-review-card{background:var(--surface-0);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.pp-review-header{align-items:center;display:flex;gap:12px;margin-bottom:8px}.pp-review-delete-btn{background:none;border:none;border-radius:4px;color:var(--color-danger);cursor:pointer;font-size:14px;margin-left:auto;opacity:.6;padding:2px 6px;transition:opacity .15s}.pp-review-delete-btn:hover{background:#f0474726;opacity:1}.pp-review-stars{color:var(--color-warning);flex-shrink:0;font-size:16px;letter-spacing:1px}.pp-review-stars-empty{color:var(--surface-3)}.pp-review-meta{display:flex;flex-direction:column;gap:1px}.pp-review-name{color:var(--text-primary);font-size:13px;font-weight:600}.pp-review-server{color:var(--text-muted);font-size:11px}.pp-review-text{color:var(--text-secondary);font-size:13px;line-height:1.5;margin:0;white-space:pre-wrap}@media (max-width:600px){.pp-nav{width:52px}.pp-nav-label,.pp-nav-user{display:none}.pp-nav-btn{justify-content:center;padding:12px}.pp-nav-btn.active{border-left-width:2px;padding-left:10px}.pp-content{padding:16px}.pp-main-header{padding:14px 16px 10px}.pp-stats-grid{grid-template-columns:repeat(2,1fr)}.pp-items-grid{grid-template-columns:1fr 1fr}.pp-support-cards{grid-template-columns:1fr}}.pp-battle-note{color:#f59e0b;font-size:11px;margin-bottom:6px}.pp-upgrades-list{display:flex;flex-direction:column;gap:6px}.pp-upgrade-row{align-items:center;background:var(--surface-1);border-radius:6px;display:flex;gap:8px;padding:7px 10px}.pp-upgrade-emoji{flex-shrink:0;font-size:1.1rem}.pp-upgrade-info{flex:1 1;min-width:0}.pp-upgrade-name{color:var(--text-primary);font-size:.82rem;font-weight:600}.pp-upgrade-desc{color:var(--text-muted);font-size:.72rem;margin-top:1px}.pp-toggle-switch{cursor:pointer;display:inline-block;flex-shrink:0;height:20px;position:relative;width:36px}.pp-toggle-switch input{height:0;opacity:0;width:0}.pp-toggle-slider{background:#374151;border-radius:20px;inset:0;position:absolute;transition:background .2s}.pp-toggle-slider:before{background:#fff;border-radius:50%;content:"";height:14px;left:3px;position:absolute;top:3px;transition:transform .2s;width:14px}.pp-toggle-switch input:checked+.pp-toggle-slider{background:#22c55e}.pp-toggle-switch input:checked+.pp-toggle-slider:before{transform:translateX(16px)}.pp-toggle-switch input:disabled+.pp-toggle-slider{cursor:not-allowed;opacity:.4}.pp-toggle-switch input:focus-visible+.pp-toggle-slider{outline:2px solid #60a5fa;outline-offset:2px}.pp-toggle-label{color:var(--text-muted);font-size:.75rem;width:28px}.pp-toggle-label.active{color:#22c55e}.server-dashboard{background:var(--surface-2);display:flex;flex-direction:column;height:100vh}.dashboard-header{background:var(--surface-0);border-bottom:1px solid var(--surface-0);justify-content:space-between;padding:15px 25px}.dashboard-header,.server-info{align-items:center;display:flex}.server-info{gap:20px}.btn-back{background:var(--surface-2);border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.btn-back:hover{background:var(--surface-3)}.server-details{align-items:center;display:flex;gap:12px}.server-icon-small{border-radius:50%;height:40px;width:40px}.server-details h2{color:var(--text-primary);font-size:20px;margin:0}.header-actions{align-items:center;display:flex;gap:15px}.btn-admin{background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-admin:hover{background:var(--accent);filter:brightness(.85)}.btn-player{background:var(--surface-2);border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-player:hover{background:var(--surface-3);color:var(--text-primary)}.dashboard-content{display:flex;flex:1 1;overflow:hidden}.characters-sidebar{background:var(--surface-1);border-right:1px solid var(--surface-0);overflow-y:auto;padding:20px;width:320px}.characters-sidebar h3{color:var(--text-primary);font-size:18px;margin:0 0 20px}.sidebar-loading{color:var(--text-secondary)}.no-characters,.sidebar-loading{padding:20px;text-align:center}.no-characters p{color:var(--text-muted);font-size:14px;margin-bottom:15px}.btn-create-char{background:var(--color-success);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px}.btn-create-char:hover{background:var(--color-success);filter:brightness(.85)}.character-list-sidebar{display:flex;flex-direction:column;gap:12px}.character-card-mini{background:var(--surface-2);border-left:3px solid var(--accent);border-radius:6px;padding:12px}.char-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.char-header h4{color:var(--text-primary);font-size:16px;margin:0}.badge-active-mini{background:var(--color-success);border-radius:3px;color:#fff;font-size:10px;font-weight:600;padding:2px 6px}.char-class{color:var(--text-secondary);font-size:13px;margin-bottom:4px}.char-tonnage{color:var(--text-muted);font-size:12px;margin-bottom:8px}.char-stats-mini{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin:8px 0}.stat-mini{display:flex;flex-direction:column;gap:2px}.stat-mini .stat-label{color:var(--text-muted);font-size:10px;text-transform:uppercase}.stat-mini .stat-val{color:var(--text-primary);font-size:14px;font-weight:600}.char-weapons-count{color:var(--text-secondary);font-size:12px;margin-top:6px}.char-level{color:var(--color-warning);font-size:12px;font-weight:600;margin-top:6px}.games-main{flex:1 1;overflow-y:auto;padding:20px}.games-main h3{color:var(--text-primary);font-size:24px;margin:0 0 20px}.loading-games{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.spinner{animation:spin 1s linear infinite;border-top:4px solid var(--surface-1);border:4px solid var(--surface-1);border-top-color:var(--accent);height:48px;margin-bottom:20px;width:48px}.loading-games p{color:var(--text-secondary);font-size:16px}.no-games{padding:60px 20px;text-align:center}.no-games h4{color:var(--text-primary);font-size:24px;margin:0 0 10px}.no-games p{color:var(--text-secondary);font-size:16px;margin:10px 0}.help-text{color:var(--text-muted);font-size:14px}.btn-start-game{background:var(--color-success);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:20px;padding:12px 24px}.btn-start-game:hover{background:var(--color-success);filter:brightness(.85)}.games-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.game-card{background:var(--surface-1);border:2px solid #0000;border-radius:8px;padding:20px;transition:all .2s}.game-card:hover{border-color:var(--accent);box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.new-battle-card{align-items:center;border:2px dashed var(--border)!important;cursor:pointer;display:flex;justify-content:center;min-height:220px}.new-battle-card:hover{border-color:var(--color-success)!important;box-shadow:0 4px 12px #22c55e33}.new-battle-content{pointer-events:none;text-align:center}.new-battle-plus{color:var(--text-muted);font-size:56px;font-weight:300;line-height:1;margin-bottom:12px;transition:color .2s}.new-battle-card:hover .new-battle-plus{color:var(--color-success)}.new-battle-label{color:var(--text-muted);font-size:18px;font-weight:600;transition:color .2s}.new-battle-card:hover .new-battle-label{color:var(--color-success)}.game-card-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:12px}.game-card-header h4{color:var(--text-primary);font-size:18px;margin:0}.game-badges{align-items:flex-end;display:flex;flex-direction:column;gap:6px}.game-turn{background:var(--accent);font-size:12px}.badge-in-game,.game-turn{border-radius:4px;color:#fff;font-weight:600;padding:4px 10px}.badge-in-game{background:var(--color-success);font-size:11px}.game-card-body{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.game-stat{align-items:center;display:flex;justify-content:space-between}.game-stat .stat-label{color:var(--text-secondary);font-size:14px}.game-stat .stat-value{color:var(--text-primary);font-size:14px;font-weight:600}.game-card-footer{margin-top:15px}.btn-enter-game{background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px;transition:all .2s;width:100%}.btn-enter-game:hover{background:var(--accent);filter:brightness(.85)}.join-battle-container{margin-bottom:8px}.btn-join-battle{background:var(--color-success);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px;transition:all .2s;width:100%}.btn-join-battle:hover{background:var(--color-success);filter:brightness(1.1)}.join-battle-selector{display:flex;flex-direction:column;gap:8px}.join-character-select{background:var(--surface-1);border:2px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:14px;outline:none;padding:8px 10px;width:100%}.join-character-select:focus{border-color:var(--color-success)}.join-char-name{color:var(--text-secondary);font-size:14px;padding:4px 0}.join-error{color:var(--color-danger);font-size:13px}.join-confirm-buttons{display:flex;gap:8px}.btn-join-confirm{background:var(--color-success);border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:8px;transition:background .2s}.btn-join-confirm:hover{background:var(--color-success);filter:brightness(1.1)}.btn-join-cancel{background:var(--surface-3);border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:8px;transition:background .2s}.btn-join-cancel:hover{background:var(--surface-3);filter:brightness(1.2)}@media (max-width:1024px){.dashboard-content{flex-direction:column}.characters-sidebar{border-bottom:1px solid var(--surface-0);border-right:none;max-height:300px;width:100%}.games-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}.game-map-container{display:flex;flex:1 1;flex-direction:column;gap:.75rem;height:100%;min-height:0;min-width:0}.map-toolbar{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:1rem;justify-content:space-between}.map-terrain-legend{display:flex;flex-wrap:wrap;gap:.4rem}.terrain-chip{border:1px solid #fff3;border-radius:4px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.02em;padding:3px 9px}.terrain-chip.ocean{background:#3b82f6;border-color:#1e40af}.terrain-chip.island{background:#166534;border-color:#14532d}.terrain-chip.reef{background:#0891b2;border-color:#0e7490}.terrain-chip.spawn{background:#10b981;border-color:#059669}.terrain-chip.city{background:#f59e0b;border-color:#d97706}.terrain-chip.town{background:#d97706;border-color:#92400e}.terrain-chip.military{background:#365314;border-color:#1a2e05}.terrain-chip.airfield{background:#475569;border-color:#334155}.terrain-chip.port{background:#1e3a8a;border-color:#1e40af}.terrain-chip.mine{background:#7c3aed;border-color:#6d28d9}.map-gm-display{align-items:center;background:#faa61a1f;border:1px solid #faa61a4d;border-radius:4px;display:flex;font-size:.8rem;gap:5px;padding:3px 8px;white-space:nowrap}.map-gm-label{color:#faa61a;font-weight:700}.map-gm-name{color:#fde68a}.map-coord-display{color:#ffffffa6;font-family:monospace;font-size:.85rem;white-space:nowrap}.map-coord-display strong{color:#fff}.btn-sound-toggle{background:#ffffff14;border:1px solid #ffffff26;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;line-height:1;padding:4px 7px}.btn-sound-toggle:hover{background:#ffffff26}.btn-sound-toggle.muted{opacity:.5}.map-scroll-wrapper{background:#1e293b;border:1px solid #ffffff1f;border-radius:6px;flex:1 1;min-height:0;overflow:auto;position:relative}.weather-overlay{border-radius:6px;overflow:hidden;z-index:2}.weather-overlay,.wx-canvas{inset:0;pointer-events:none;position:absolute}.wx-canvas{height:100%;width:100%}.wx-tint,.wx-vignette{inset:0;opacity:0;pointer-events:none;position:absolute}.wx-foggy .wx-tint{background:#c8d7e614;opacity:1}.wx-thunderstorm .wx-tint{background:#0a143c21;opacity:1}.wx-hurricane .wx-tint{background:#050f281a;opacity:1}@keyframes wx-gust-pulse{0%,to{opacity:.45}50%{opacity:.65}}.wx-hurricane .wx-vignette{animation:wx-gust-pulse 2.2s ease-in-out infinite;background:radial-gradient(ellipse at center,#0000 30%,#0000004d 100%);opacity:1}.game-map-canvas{cursor:crosshair;display:block}.map-scroll-wrapper:hover{border-color:#4facfe59}.game-view{display:flex;flex-direction:column;min-height:100vh}.game-header{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--surface-glass);border-bottom:1px solid var(--border);display:flex;height:52px;justify-content:space-between;padding:0 1.5rem}.game-header-left,.game-header-right{align-items:center;display:flex;gap:1rem}.game-header h2{color:var(--text-primary);font-size:15px;font-weight:700;margin:0}.game-info{font-size:12px}.game-info,.user-name{color:var(--text-secondary)}.user-name{font-size:13px}.game-content{display:flex;flex:1 1;overflow:hidden}.game-sidebar{background:#0a121e80;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:1.25rem;overflow-y:auto;padding:1.25rem;width:300px}.sidebar-section{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 14px;position:relative}.sidebar-section h3{border-bottom:1px solid var(--border);color:#00b4ff8c;font-size:10px;font-weight:700;letter-spacing:1.5px;margin:0 0 10px;padding-bottom:8px;text-transform:uppercase}.enemy-list,.ship-list{display:flex;flex-direction:column;gap:.75rem}.enemy-card,.ship-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;padding:10px 12px;transition:all .15s ease}.enemy-card:hover,.ship-card:hover{background:var(--surface-3);border-color:#ffffff24;transform:translateX(3px)}.ship-card.selected{background:#00b4ff14;border-color:var(--accent-light)}.enemy-card.sunk,.ship-card.sunk{cursor:not-allowed;opacity:.4}.enemy-card.sunk:hover,.ship-card.sunk:hover{background:var(--surface-2);transform:none}.enemy-name,.ship-name{font-size:1.1rem;font-weight:700;margin-bottom:.25rem}.enemy-class,.ship-class{color:var(--text-secondary);font-size:.9rem;margin-bottom:.5rem}.enemy-stats,.ship-stats{display:flex;flex-direction:column;font-size:.85rem;gap:.25rem}.stat{display:flex;justify-content:space-between}.stat span:first-child{color:var(--text-secondary)}.stat .danger{color:var(--color-danger);font-weight:700}.status-badge{border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;margin-top:.5rem;padding:.25rem .5rem;text-align:center}.status-badge.fire{background:#ff6b6b4d;border:1px solid #ff6b6b}.status-badge.flooding{background:#63b3ed4d;border:1px solid #63b3ed}.status-badge.sunk{background:#8080804d;border:1px solid #888}.status-badge.boss{background:#ffd7004d;border:1px solid gold}.no-enemies,.no-ships{color:var(--text-muted);font-style:italic;padding:1rem;text-align:center}.action-buttons{display:flex;flex-direction:column;gap:.5rem}.action-buttons .btn{width:100%}.action-help{background:var(--accent-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.85rem;margin-top:.75rem;padding:.75rem;text-align:center}.game-main{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:1.25rem}@media (max-width:1024px){.game-content{flex-direction:column}.game-sidebar{max-height:400px;width:100%}.game-main{padding:1rem}}.cell-info-header{align-items:center;background:var(--surface-1);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:10px 14px}.cell-coord{color:var(--text-primary);font-size:15px;font-weight:700}.cell-info-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:0}.cell-info-close:hover{color:var(--text-primary)}.cell-info-terrain{color:var(--text-secondary);font-size:12px}.cell-info-section,.cell-info-terrain{border-bottom:1px solid var(--border);padding:8px 14px}.cell-info-section-title{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.cell-unit{margin-bottom:6px;padding:8px}.cell-unit:last-child{margin-bottom:0}.unit-name{margin-bottom:2px}.unit-hp-bar,.unit-hp-fill{border-radius:3px}.unit-hp-text{margin-bottom:3px}.unit-range-info{margin-bottom:4px}.unit-status{margin-right:4px}.btn-attack-unit{padding:5px 8px}.cell-info-empty{border-bottom:1px solid var(--border)}.cell-info-actions,.cell-info-empty{padding:10px 14px}.btn-move-here{padding:8px}.cell-occupied-hint{color:var(--text-secondary);font-size:12px}.cell-popup{animation:popup-in .12s ease-out;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 2px 8px #00000080;max-height:80vh;overflow-y:auto;pointer-events:all;position:fixed;width:272px;z-index:9999}@keyframes popup-in{0%{opacity:0;transform:scale(.94) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.cell-popup .cell-info-header{align-items:center;background:#0000004d;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:8px 12px}.cell-popup .cell-coord{color:var(--text-primary);font-family:monospace;font-size:14px;font-weight:700}.cell-popup .cell-info-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;padding:0}.cell-popup .cell-info-close:hover{color:var(--text-primary)}.cell-popup .cell-info-infra{border-bottom:1px solid var(--surface-2);padding:8px 12px}.cell-popup .infra-type-label{color:var(--text-muted);font-size:11px;letter-spacing:.05em;margin-bottom:3px;text-transform:uppercase}.cell-popup .infra-name{color:var(--text-primary);font-size:14px;font-weight:700;margin-bottom:5px}.cell-popup .infra-state-badge{border-radius:var(--radius-sm);display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.cell-popup .infra-state-destroyed{background:#ed424533;border:1px solid #ed424566;color:#f56565}.cell-popup .infra-state-abandoned{background:#72767d33;border:1px solid #72767d66;color:#a0aec0}.cell-popup .infra-state-burning{animation:flicker 1.2s ease-in-out infinite alternate;background:#ff640033;border:1px solid #ff640066;color:#f6ad55}@keyframes flicker{0%{opacity:1}to{opacity:.65}}.cell-popup .cell-info-terrain{border-bottom:1px solid var(--surface-2);color:var(--text-secondary);font-size:12px;padding:6px 12px}.cell-popup .cell-info-section{border-bottom:1px solid var(--surface-2);padding:8px 12px}.cell-popup .cell-info-section-title{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.cell-unit{background:var(--surface-2);border-radius:var(--radius-sm);margin-bottom:4px;padding:6px 8px}.cell-unit.friendly{border-left:3px solid #48bb78}.cell-unit.friendly.own{border-left-color:var(--accent-light)}.cell-unit.enemy{border-left:3px solid #ff6b6b}.unit-name{color:var(--text-primary);font-size:13px;font-weight:600}.unit-class{color:var(--text-muted);font-size:11px;margin-bottom:4px}.unit-hp-bar{background:var(--surface-1);border-radius:2px;height:4px;margin-bottom:3px;overflow:hidden}.unit-hp-fill{border-radius:2px;height:100%;transition:width .3s}.unit-hp-text{color:var(--text-secondary);font-size:11px}.unit-range-info{color:var(--text-secondary);font-size:11px;margin:3px 0}.unit-status{font-size:12px;margin-right:3px}.btn-attack-unit{background:#c53030;border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:12px;font-weight:600;margin-top:4px;padding:5px;transition:background .2s;width:100%}.btn-attack-unit:hover{background:#e53e3e}.cell-info-empty{color:var(--text-muted);font-size:12px;padding:8px 12px}.cell-info-actions{padding:8px 12px}.btn-move-here{background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;padding:7px;transition:background .2s;width:100%}.btn-move-here:hover{background:#1558d6}.cell-info-hint{color:var(--text-muted);font-size:11px;text-align:center}.ship-card-simple{background:var(--surface-2);border:2px solid #0000;border-radius:var(--radius-md);cursor:pointer;padding:8px 10px;transition:background .2s ease,transform .15s ease,border-color .15s ease}.ship-card-simple:hover{background:var(--surface-3);transform:translateX(4px)}.ship-card-simple.selected{background:#00b4ff14;border-color:var(--accent-light)}.ship-card-simple.sunk{cursor:default;opacity:.5}.ship-card-simple.sunk:hover{background:var(--surface-2);transform:none}.scs-header{align-items:center;display:flex;gap:7px;margin-bottom:7px}.scs-icon{flex-shrink:0;height:14px;max-width:24px;object-fit:contain;width:auto}.scs-name{color:var(--text-primary);flex:1 1;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scs-status{flex-shrink:0;font-size:13px;letter-spacing:1px}.scs-hp-bar{background:#00000080;height:22px;overflow:hidden;position:relative}.scs-hp-bar,.scs-hp-fill{border-radius:var(--radius-sm)}.scs-hp-fill{height:100%;left:0;position:absolute;top:0;transition:width .35s ease,background-color .35s ease}.scs-hp-text{align-items:center;display:flex;font-family:monospace;font-size:11px;font-weight:700;inset:0;justify-content:center;pointer-events:none;position:absolute;text-shadow:0 0 4px #ffffffa6;z-index:1}.phase-badge{border-radius:var(--radius-pill);display:inline-block;font-size:13px;font-weight:700;letter-spacing:.03em;padding:3px 12px}.phase-spawn{background:#10b98133;border:1px solid #10b98166;color:#6ee7b7}.phase-battle{background:#ef444426;border:1px solid #ef444459;color:#fca5a5}.phase-qrf{background:#fb923c33;border:1px solid #fb923c66;color:#fdba74}.qrf-banner{background:#fb923c1f;border-bottom:2px solid #fb923c80;color:#fdba74;font-size:13px;padding:10px 24px;text-align:center}.qrf-banner code{background:#0000004d;border-radius:var(--radius-sm);font-size:12px;padding:1px 6px}.spawn-phase-section h3{color:#6ee7b7}.spawn-roster{display:flex;flex-direction:column;gap:6px}.spawn-roster-row{align-items:center;border-radius:var(--radius-sm);display:flex;font-size:13px;gap:8px;padding:6px 8px}.spawn-roster-row.spawned{background:#10b9811a}.spawn-roster-row.waiting{background:#6464641a}.spawn-status-icon{flex-shrink:0;font-size:14px}.spawn-player-name{color:var(--text-primary);flex:1 1;font-weight:600}.spawn-ship-class{color:var(--text-muted);font-size:11px}.spawn-warning{background:#f6ad551a;border:1px solid #f6ad554d;border-radius:var(--radius-sm);color:#f6ad55;font-size:12px;margin-bottom:8px;padding:6px 10px}.btn-start-battle{background:#10b981;border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.02em;padding:10px;width:100%}.btn-start-battle:hover:not(:disabled){background:#059669}.btn-start-battle:disabled{background:#374151;color:#6b7280;cursor:not-allowed}.btn-gm-toggle{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:600;margin-bottom:16px;padding:8px 10px;width:100%}.btn-gm-toggle.gm-active{background:var(--color-warning);color:#1a1a1a}.btn-gm-toggle.gm-active:hover{background:#d97706}.btn-gm-toggle.gm-inactive{background:var(--accent);color:var(--text-primary)}.btn-gm-toggle.gm-inactive:hover{background:#1558d6}.gm-log-section{border-left:3px solid #faa61a}.gm-log-entries{display:flex;flex-direction:column;gap:3px;max-height:180px;overflow-y:auto}.gm-log-entry{display:flex;font-size:11px;gap:6px;line-height:1.4}.gm-log-time{color:#6b7280;flex-shrink:0;font-family:monospace;white-space:nowrap}.gm-log-action{color:#fde68a}.spawn-hint-text,.spawn-ready-text{color:var(--text-secondary);font-size:13px;line-height:1.5;padding:4px 0;text-align:center}.spawn-ready-text{color:#6ee7b7}.spawn-banner{background:#2d6a2d;border-radius:var(--radius-sm);color:#90ee90;font-weight:600;margin-bottom:8px;padding:8px 16px;text-align:center}.btn-warning{background:#e08a00;color:var(--text-primary)}.btn-warning:disabled{cursor:not-allowed;opacity:.5}.btn-info{background:#0e7490;color:#fff}.btn-info:disabled{cursor:not-allowed;opacity:.5}.attack-flow{display:flex;flex-direction:column;gap:6px;margin-top:8px}.attack-flow-label{color:var(--text-muted);font-size:12px;letter-spacing:.05em;text-transform:uppercase}.attack-flow-buttons{display:flex;flex-wrap:wrap;gap:6px}.attack-flow-buttons button{background:var(--surface-1);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:12px;padding:6px}.attack-flow-buttons button:hover{background:var(--accent);color:var(--text-primary)}.attack-flow-buttons .btn-cancel{background:var(--surface-2);color:var(--text-muted)}.attack-flow-buttons .btn-cancel:hover{background:var(--surface-1);color:var(--text-secondary)}.attack-flow-confirm{color:var(--text-secondary);font-size:12px;margin-bottom:4px}.gm-controls{border-left:3px solid #faa61a}.gm-controls h3{color:#faa61a}.gm-row{align-items:center;display:flex;gap:6px;margin-bottom:8px}.gm-row select{border:1px solid var(--border);border-radius:var(--radius-sm);flex:1 1;padding:4px 6px}.gm-row button,.gm-row select{background:var(--surface-1);color:var(--text-secondary);font-size:12px}.gm-row button{border:none;border-radius:var(--radius-sm);cursor:pointer;padding:5px 10px;white-space:nowrap}.gm-row button:hover{background:var(--accent);color:var(--text-primary)}.btn-gm-danger{background:var(--color-danger);border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;padding:8px;width:100%}.btn-gm-danger:hover{background:#c0392b}.gm-row button.gm-spawn-active{background:#ed8936;color:var(--text-primary)}.gm-row button.gm-spawn-active:hover{background:#dd6b20}.gm-row button.gm-boss-spawn{background:var(--color-special);color:var(--text-primary);font-weight:600}.gm-row button.gm-boss-spawn:hover{background:#7c3aed}.gm-spawn-hint{background:#ed89361f;border:1px solid #ed89364d;border-radius:var(--radius-sm);color:#ed8936;font-size:11px;margin-bottom:6px;padding:4px 6px;text-align:center}.gm-confirm{align-items:center;display:flex;gap:8px}.gm-confirm span{color:#f56565;flex:1 1;font-size:13px}.gm-confirm button{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px}.gm-confirm button:first-of-type{background:var(--color-danger);color:var(--text-primary)}.gm-confirm button:last-of-type{background:var(--surface-1);color:var(--text-secondary)}.gm-ai-control{background:var(--accent-subtle);border:1px solid var(--accent);border-radius:var(--radius-sm);margin:8px 0;padding:10px}.gm-ai-control h4{color:var(--accent);font-size:13px;font-weight:700;margin:0 0 8px}.gm-coord-input{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);flex:1 1;font-family:monospace;font-size:12px;padding:4px 8px;text-transform:uppercase}.gm-control-btn{border:none;border-radius:var(--radius-sm);cursor:pointer;display:block;font-size:11px;font-weight:600;margin-top:5px;padding:3px 8px;width:100%}.gm-control-btn.take{background:var(--accent);color:var(--text-primary)}.gm-control-btn.take:hover{background:#1558d6}.gm-control-btn.release{background:var(--color-danger);color:var(--text-primary)}.gm-control-btn.release:hover{background:#c0392b}.ship-card-simple.enemy.gm-controlled{border-color:var(--accent)!important}.confetti-canvas{height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:100vw;z-index:1000}.mvp-overlay{align-items:center;animation:mvp-fade-in .5s ease;background:#000000d1;display:flex;inset:0;justify-content:center;position:fixed;z-index:999}@keyframes mvp-fade-in{0%{opacity:0}to{opacity:1}}.mvp-card{animation:mvp-slide-up .6s cubic-bezier(.22,1,.36,1);background:linear-gradient(160deg,#1a1f2e,#0d1117);border:2px solid gold;border-radius:var(--radius-lg);box-shadow:0 0 60px #ffd70040,0 20px 60px #0009;max-width:460px;padding:2.5rem;position:relative;text-align:center;width:90%;z-index:1001}@keyframes mvp-slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.mvp-title{color:var(--text-secondary);font-size:1.1rem;letter-spacing:.1em;margin-bottom:.25rem;text-transform:uppercase}.mvp-subtitle{color:gold;font-size:1.4rem;font-weight:700;margin-bottom:3.5rem;text-shadow:0 0 20px #ffd70080}.mvp-avatar-wrapper{display:inline-block;margin-bottom:1rem;position:relative}.mvp-avatar{border:3px solid gold;border-radius:50%;box-shadow:0 0 30px #ffd7004d;display:block;height:110px;object-fit:cover;width:110px}.mvp-crown{animation:crown-drop .7s cubic-bezier(.22,1,.36,1) .4s both;filter:drop-shadow(0 2px 8px rgba(255,180,0,.7));height:auto;left:50%;position:absolute;top:-46px;transform:translateX(-50%);width:80px}@keyframes crown-drop{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.mvp-username{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.mvp-score{color:gold;font-size:1rem;font-weight:600;margin-bottom:1.25rem}.mvp-stats-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;margin-bottom:1.25rem;text-align:left}.mvp-stat{background:var(--surface-2);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:2px;padding:.6rem .75rem}.mvp-stat-label{color:var(--text-muted);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.mvp-stat-value{color:var(--text-primary);font-size:1.05rem;font-weight:700}.mvp-reward{background:#ffd7001f;border:1px solid #ffd70059;border-radius:var(--radius-md);color:gold;font-size:.9rem;font-weight:600;margin-bottom:1.25rem;padding:.6rem 1rem}.mvp-no-mvp{color:var(--text-muted);font-size:1rem;margin:1.5rem 0}.mvp-back-btn{background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem;transition:background .2s;width:100%}.mvp-back-btn:hover{background:#1558d6}.map-and-log{display:flex;flex:1 1;flex-direction:row;gap:.75rem;min-height:0;min-width:0}.battle-log-panel{background:#00000040;border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;flex-shrink:0;min-height:0;overflow:hidden;width:280px}.battle-log-header{align-items:center;background:#00000059;border-bottom:1px solid var(--border);color:var(--text-muted);display:flex;flex-shrink:0;font-size:11px;font-weight:700;justify-content:space-between;letter-spacing:.07em;padding:8px 12px;text-transform:uppercase}.battle-log-count{background:var(--surface-2);border-radius:var(--radius-md);color:var(--text-muted);font-size:10px;font-weight:600;padding:1px 7px}.battle-log-entries{display:flex;flex:1 1;flex-direction:column;gap:3px;overflow-y:auto;padding:6px}.battle-log-entries::-webkit-scrollbar{width:4px}.battle-log-entries::-webkit-scrollbar-track{background:#0000}.battle-log-entries::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:2px}.log-empty{color:var(--text-muted);font-size:12px;font-style:italic;padding:1.5rem .5rem;text-align:center}.log-entry{animation:log-slide-in .22s ease;background:var(--surface-2);border-left:3px solid var(--surface-3);border-radius:var(--radius-sm);font-size:11.5px;line-height:1.4;padding:5px 8px}@keyframes log-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.log-time{color:var(--text-muted);font-family:monospace;font-size:9.5px;margin-bottom:2px}.log-text{color:#ffffffd1;word-break:break-word}.log-entry.log-turn{background:#a78bfa12;border-left-color:var(--color-special);color:#a78bfae6;font-weight:600;letter-spacing:.04em;text-align:center}.log-entry.log-turn .log-time{display:none}.log-entry.log-turn .log-text{color:inherit}.log-entry.log-system{background:#ffd7000f;border-left-color:gold}.log-entry.log-system .log-text{color:gold;font-weight:600}.log-entry.log-spawn{border-left-color:#48bb78}.log-entry.log-spawn .log-text{color:#68d391}.log-entry.log-enemy-spawn{border-left-color:#fc8181}.log-entry.log-enemy-spawn .log-text{color:#fc8181;font-weight:600}.log-entry.log-move{border-left-color:#63b3ed}.log-entry.log-enemy-move{border-left-color:#4a5568}.log-entry.log-attack{background:#f6e05e0d;border-left-color:#f6e05e}.log-entry.log-attack .log-text{color:#f6e05e}.log-entry.log-hit{background:#f6ad550f;border-left-color:#f6ad55}.log-entry.log-hit .log-text{color:#f6ad55}.log-entry.log-damage{background:#f5656512;border-left-color:#f56565}.log-entry.log-damage .log-text{color:#fc8181}.log-entry.log-death{background:#7180961a;border-left-color:#718096}.log-entry.log-death .log-text{color:#a0aec0;font-weight:600}.log-entry.log-status{border-left-color:#f6ad55}.log-entry.log-status-clear{border-left-color:#68d391}.log-entry.log-status-clear .log-text{color:#68d391}@media (max-width:1200px){.battle-log-panel{width:220px}}@media (max-width:1024px){.map-and-log{flex-direction:column}.battle-log-panel{max-height:200px;width:100%}}.inventory-overlay{background:#0f172a;border:1px solid #4ade80;border-radius:8px;box-shadow:0 8px 32px #000c;left:0;max-height:420px;overflow-y:auto;padding:10px;position:absolute;right:0;top:0;z-index:50}.inventory-header{align-items:center;border-bottom:1px solid #334155;color:#4ade80;display:flex;font-size:13px;font-weight:700;justify-content:space-between;margin-bottom:10px;padding-bottom:8px}.inventory-close{background:none;border:none;color:#64748b;cursor:pointer;font-size:14px;line-height:1;padding:0}.inventory-close:hover{color:#e2e8f0}.inventory-section-label{color:#94a3b8;font-size:10px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.inventory-empty{color:#64748b;font-size:11px;padding:4px 0}.inventory-item{align-items:center;background:#1e293b;border-radius:5px;display:flex;gap:6px;justify-content:space-between;margin-bottom:4px;padding:6px 8px}.inventory-item--disabled{opacity:.45}.inventory-item-info{flex:1 1;min-width:0}.inventory-item-name{color:#e2e8f0;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-qty{color:#94a3b8}.inventory-item-desc{color:#64748b;font-size:9px;margin-top:2px}.inventory-use-btn{background:#16a34a;border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-size:10px;padding:3px 8px}.inventory-use-btn:disabled{background:#374151;color:#64748b;cursor:not-allowed}.inventory-active-badge{color:#4ade80;flex-shrink:0;font-size:9px;font-weight:700}.opfor-choice-overlay{align-items:center;background:#000000bf;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.opfor-choice-modal{background:#1a1a2e;border:2px solid #e63946;border-radius:8px;color:#fff;max-width:400px;padding:2rem;text-align:center}.opfor-choice-modal h3{font-size:1.4rem;margin-top:0}.opfor-choice-modal p{color:#ccc;margin-bottom:1.5rem}.opfor-choice-buttons{display:flex;gap:1rem;justify-content:center}.btn-opfor-convert{background:#e63946}.btn-opfor-convert,.btn-opfor-recover{border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:700;padding:.6rem 1.2rem}.btn-opfor-recover{background:#2a9d8f}.btn-opfor-stay{background:#444;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.6rem 1.2rem}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem;position:relative}.video-background{height:100vh;left:50%;min-height:56.25vw;min-width:100vw;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:177.78vh;z-index:0}.video-background iframe{border:none;height:100%;object-fit:cover;width:100%}.video-overlay{background:#0000008c;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.login-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0a1222b8;border:1px solid #ffffff1a;border-radius:20px;box-shadow:var(--shadow-lg);max-width:460px;padding:2.5rem 2.75rem;position:relative;width:100%;z-index:2}.mute-btn{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;border:1px solid #ffffff40;border-radius:50%;bottom:1rem;color:#fffc;cursor:pointer;display:flex;height:42px;justify-content:center;left:1.5rem;position:absolute;transition:all .2s ease;width:42px;z-index:2}.mute-btn:hover{background:#000000b3;border-color:#ffffff80;color:#fff}.video-credit{bottom:1rem;color:#ffffff80;font-size:.75rem;position:absolute;right:1.5rem;z-index:2}.video-credit a{color:#ffffffb3;text-decoration:none;transition:color .2s ease}.video-credit a:hover{color:#fff;text-decoration:underline}.login-title{-webkit-text-fill-color:#0000;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:800;letter-spacing:3px;margin-bottom:.4rem;text-align:center}.login-subtitle{color:var(--text-secondary);font-size:14px;font-weight:500;margin-bottom:2rem;text-align:center}.login-content{gap:1.5rem}.feature-list,.login-content{display:flex;flex-direction:column}.feature-list{gap:8px}.feature{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;gap:12px;padding:10px 14px;transition:background .15s ease}.feature:hover{background:var(--surface-3)}.feature-icon{flex-shrink:0;font-size:1.25rem}.btn-large{padding:13px 28px}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--surface-glass);border-bottom:1px solid var(--border);display:flex;gap:2rem;height:56px;justify-content:space-between;padding:0 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.app-header h1{-webkit-text-fill-color:#0000;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;font-size:17px;font-weight:800;letter-spacing:2px}.app-nav{display:flex;gap:4px}.nav-btn{background:#0000;border:1px solid #0000;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-family:Barlow,sans-serif;font-size:13px;font-weight:600;padding:6px 14px;transition:all .15s ease}.nav-btn:hover{background:var(--surface-2);color:var(--text-primary)}.nav-btn.active{background:var(--accent-subtle);border-color:var(--border-accent);color:var(--accent-light)}.loading,.user-info{align-items:center;display:flex;gap:1rem}.loading{color:var(--text-secondary);flex-direction:column;justify-content:center;min-height:100vh}.spinner{animation:spin .8s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent-light);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:Barlow,sans-serif;font-size:13px;font-weight:700;gap:6px;justify-content:center;letter-spacing:.4px;padding:8px 18px;text-decoration:none;transition:all .15s ease}.btn-primary{background:var(--accent-gradient);box-shadow:0 2px 12px #1a6aff4d;color:#fff}.btn-primary:hover{box-shadow:0 4px 18px #1a6aff73;transform:translateY(-1px)}.btn-secondary{background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary)}.btn-secondary:hover{background:var(--surface-3);border-color:#ffffff26;color:var(--text-primary)}.btn-ghost{background:#0000;border:1px solid var(--border-accent);color:var(--accent-light)}.btn-ghost:hover{background:var(--accent-subtle)}.btn-danger{background:#ef444426;border:1px solid #ef44444d;color:var(--color-danger)}.btn-danger:hover{background:#ef444440}.btn-large{font-size:15px;padding:12px 28px}.btn-sm{font-size:11px;padding:5px 12px}.btn:disabled{cursor:not-allowed;opacity:.4}.btn:disabled:hover{box-shadow:none;transform:none}
/*# sourceMappingURL=main.447c7716.css.map*/