:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.ship-editor{display:flex;gap:var(--space-lg, 24px);padding:var(--space-lg, 24px);min-height:calc(100vh - 80px);animation:fadeIn .4s ease-out}.editor-sidebar{width:280px;display:flex;flex-direction:column;gap:var(--space-md, 16px);flex-shrink:0}.editor-sidebar h3{margin:0;padding:var(--space-md, 16px);font-size:18px;font-weight:600;color:#fff;background:#0a0a1ecc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.08)}.module-list{display:flex;flex-direction:column;gap:8px;padding:var(--space-md, 16px);background:#0a0a1e99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.08);max-height:400px;overflow-y:auto}.module-button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:all .25s ease;color:#e0e0e0;text-align:left}.module-button:hover{background:#00d4ff1a;border-color:#00d4ff;transform:translate(4px)}.module-button.selected{background:#00d4ff26;border-color:#00d4ff;box-shadow:0 0 15px #00d4ff33}.module-name{font-size:14px;font-weight:600;color:#fff}.module-size,.module-power{font-size:12px;color:#ffffff80}.module-power{color:#00d4ff}.power-meter{padding:var(--space-md, 16px);background:#0a0a1e99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.08)}.power-meter span{display:block;margin-bottom:8px;font-size:14px;color:#ffffffb3}.power-bar{height:8px;background:#00000080;border-radius:4px;overflow:hidden}.power-fill{height:100%;background:linear-gradient(90deg,#00d4ff,#0f8);border-radius:4px;transition:width .3s ease}.power-fill.over{background:linear-gradient(90deg,#f46,#f84)}.save-button{padding:14px;background:linear-gradient(135deg,#00d4ff,#0f8);border:none;border-radius:10px;color:#0a0a1a;font-size:15px;font-weight:700;cursor:pointer;transition:all .25s ease}.save-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 30px #00d4ff4d}.save-button:disabled{opacity:.5;cursor:not-allowed}.editor-main{flex:1;display:flex;flex-direction:column;gap:var(--space-md, 16px)}.ship-grid{display:grid;gap:2px;padding:var(--space-lg, 24px);background:#0a0a1ecc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 40px #00000080;width:fit-content}.grid-cell{width:40px;height:40px;background:linear-gradient(135deg,#1e1e3ccc,#141428cc);border:1px solid rgba(255,255,255,.08);border-radius:4px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.grid-cell:hover{background:linear-gradient(135deg,#00d4ff1a,#7b68ee1a);border-color:#00d4ff;transform:scale(1.05)}.grid-cell.occupied{background:linear-gradient(135deg,#00d4ff33,#00ff881a);border-color:#00d4ff66}.grid-cell.module-weapon{background:linear-gradient(135deg,#ff44664d,#f843);border-color:#ff446680}.grid-cell.module-defense{background:linear-gradient(135deg,#00d4ff4d,#7b68ee33);border-color:#00d4ff80}.grid-cell.module-engine{background:linear-gradient(135deg,#ffaa004d,#ffc83233);border-color:#ffaa0080}.grid-cell.module-command{background:linear-gradient(135deg,#7b68ee4d,#b464ff33);border-color:#7b68ee80}.grid-cell.module-utility{background:linear-gradient(135deg,#00ff884d,#64ffc833);border-color:#00ff8880}.module-label{font-size:14px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8)}.error-list{display:flex;flex-direction:column;gap:8px;padding:var(--space-md, 16px);background:#ff44661a;border:1px solid rgba(255,68,102,.3);border-radius:12px}.error{font-size:13px;color:#f68;padding:8px 12px;background:#0000004d;border-radius:6px}.battle-viewer{display:flex;flex-direction:column;min-height:calc(100vh - 80px);padding:var(--space-lg, 24px);gap:var(--space-lg, 24px);animation:fadeIn .4s ease-out}.battle-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg, 24px);background:#0a0a1ecc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:16px}.battle-header h2{margin:0;font-size:24px;font-weight:700;background:linear-gradient(135deg,#00d4ff,#7b68ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tick-display{font-size:15px;color:#ffffffb3;padding:8px 16px;background:#0000004d;border-radius:8px}.battle-field{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-xl, 32px);padding:var(--space-xl, 32px);background:radial-gradient(ellipse at center,#1e1e3ccc,#0a0a1ee6);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:16px;position:relative;overflow:hidden}.battle-field:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(0,255,136,.1) 0%,transparent 30%),radial-gradient(circle at 80% 70%,rgba(255,68,102,.1) 0%,transparent 30%);animation:battleGlow 4s ease-in-out infinite alternate;pointer-events:none}@keyframes battleGlow{0%{opacity:.5}to{opacity:1}}.ship-display{flex:1;max-width:350px;display:flex;flex-direction:column;gap:var(--space-md, 16px);padding:var(--space-lg, 24px);background:#0000004d;border-radius:16px;border:1px solid rgba(255,255,255,.08);position:relative;z-index:1;transition:all .3s ease}.ship-display.destroyed{opacity:.5;filter:grayscale(.5)}.ship-display h3{margin:0;font-size:18px;font-weight:700;text-align:center}.ship-display.attacker h3{color:#0f8}.ship-display.defender h3{color:#f68}.health-bar{height:32px;background:#00000080;border-radius:8px;overflow:hidden;position:relative}.health-fill{height:100%;transition:width .3s ease;position:relative}.health-fill:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(to bottom,rgba(255,255,255,.2),transparent)}.health-bar.shield .health-fill{background:linear-gradient(90deg,#00d4ff,#7b68ee);box-shadow:0 0 10px #00d4ff80}.health-bar.hull .health-fill{background:linear-gradient(90deg,#0f8,#0c6);box-shadow:0 0 10px #00ff8880}.health-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:13px;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.8)}.vs-indicator{font-size:48px;filter:drop-shadow(0 0 20px rgba(255,170,0,.5));animation:pulse 2s ease-in-out infinite;z-index:1}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.event-log{display:flex;gap:8px;flex-wrap:wrap;min-height:40px;padding:var(--space-md, 16px);background:#0a0a1e99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:12px}.event-item{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#0000004d;border-radius:6px;font-size:13px;animation:fadeIn .3s ease-out}.event-type{font-weight:600;color:#ffffffb3}.event-item.event-shield_damage .event-type{color:#00d4ff}.event-item.event-hull_damage .event-type{color:#f68}.event-item.event-attack .event-type{color:#fa0}.event-damage,.event-value{font-weight:700;color:#f68}.playback-controls{display:flex;align-items:center;gap:var(--space-md, 16px);padding:var(--space-md, 16px);background:#0a0a1ecc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:12px}.control-btn{padding:10px 20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#e0e0e0;font-size:14px;font-weight:600;cursor:pointer;transition:all .25s ease}.control-btn:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.control-btn:disabled{opacity:.4;cursor:not-allowed}.control-btn.primary{background:linear-gradient(135deg,#00d4ff,#7b68ee);border:none;color:#fff}.control-btn.primary:hover:not(:disabled){box-shadow:0 0 20px #00d4ff4d;transform:translateY(-2px)}.speed-control{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:14px;color:#ffffffb3}.speed-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#e0e0e0;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.speed-btn:hover{background:#00d4ff33;border-color:#00d4ff}.outcome-display{padding:16px 32px;border-radius:12px;font-size:24px;font-weight:700;text-align:center;animation:fadeIn .5s ease-out}.outcome-display.attacker_won{background:#0f83;color:#0f8;border:1px solid rgba(0,255,136,.4);box-shadow:0 0 30px #0f83}.outcome-display.defender_won{background:#f463;color:#f68;border:1px solid rgba(255,68,102,.4);box-shadow:0 0 30px #f463}.outcome-display.draw{background:#fa03;color:#fa0;border:1px solid rgba(255,170,0,.4);box-shadow:0 0 30px #fa03}.timeline{padding:var(--space-md, 16px);background:#0a0a1e99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:12px}.timeline-slider{width:100%;height:8px;background:#ffffff1a;border-radius:4px;cursor:pointer;-webkit-appearance:none;appearance:none}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:linear-gradient(135deg,#00d4ff,#7b68ee);border:2px solid white;border-radius:50%;cursor:grab;box-shadow:0 0 10px #00d4ff80}.timeline-slider::-moz-range-thumb{width:20px;height:20px;background:linear-gradient(135deg,#00d4ff,#7b68ee);border:2px solid white;border-radius:50%;cursor:grab;box-shadow:0 0 10px #00d4ff80}.star-map-container{padding:var(--space-lg, 24px);min-height:calc(100vh - 80px);display:flex;gap:var(--space-lg, 24px);animation:fadeIn .4s ease-out}.star-map{position:relative;background:radial-gradient(ellipse at center,#1a1a3a,#0a0a1a);border-radius:16px;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 40px #00000080;overflow:hidden}.star-map:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(123,104,238,.15) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(0,212,255,.1) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(0,255,136,.05) 0%,transparent 30%);animation:nebula 20s ease-in-out infinite alternate;pointer-events:none}@keyframes nebula{0%{opacity:.5}to{opacity:.8}}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:50px 50px;pointer-events:none}.map-location{position:absolute;transform:translate(-50%,-50%);cursor:pointer;transition:all .25s ease;display:flex;flex-direction:column;align-items:center;z-index:5}.map-location:hover{transform:translate(-50%,-50%) scale(1.15);z-index:10}.map-location.selected{transform:translate(-50%,-50%) scale(1.2);z-index:10}.location-icon{font-size:28px;filter:drop-shadow(0 0 10px rgba(0,212,255,.5));transition:all .25s ease}.map-location:hover .location-icon{filter:drop-shadow(0 0 20px rgba(0,212,255,.8))}.map-location.selected .location-icon{filter:drop-shadow(0 0 25px rgba(0,255,136,.8))}.location-name{margin-top:4px;padding:2px 8px;background:#000c;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap;opacity:0;transition:opacity .2s ease}.map-location:hover .location-name,.map-location.selected .location-name{opacity:1}.map-ship{position:absolute;transform:translate(-50%,-50%);font-size:24px;z-index:20;cursor:default;transition:all .25s ease;filter:drop-shadow(0 0 10px rgba(0,255,136,.5))}.map-ship.player{filter:drop-shadow(0 0 15px rgba(0,255,136,.8))}.map-ship.enemy{filter:drop-shadow(0 0 15px rgba(255,68,102,.8))}.map-ship.traveling{animation:float 1s ease-in-out infinite}@keyframes float{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-5px)}}.travel-line-svg{position:absolute;top:0;left:0;pointer-events:none;z-index:1}.map-info-panel{width:280px;padding:var(--space-md, 16px);background:#0a0a1ee6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:16px;display:flex;flex-direction:column;gap:var(--space-md, 16px)}.map-info-panel h3{margin:0;font-size:18px;color:#00d4ff}.map-info-panel p{margin:0;font-size:14px;color:#ffffffb3;line-height:1.5}.travel-stats{display:flex;gap:var(--space-md, 16px);padding:var(--space-sm, 8px);background:#0000004d;border-radius:8px}.travel-stat{display:flex;flex-direction:column;align-items:center;flex:1}.travel-stat .label{font-size:11px;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}.travel-stat .value{font-size:18px;font-weight:700;color:#00d4ff}.travel-button{padding:14px;background:linear-gradient(135deg,#00d4ff,#7b68ee);border:none;border-radius:10px;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all .25s ease}.travel-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 30px #00d4ff4d}.travel-button:disabled{opacity:.5;cursor:not-allowed}.no-selection{text-align:center;color:#ffffff80;font-size:14px}.auth-form-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-cosmic);padding:var(--space-lg);position:relative;overflow:hidden}.auth-form-container:before,.auth-form-container:after{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;animation:float 8s ease-in-out infinite}.auth-form-container:before{width:400px;height:400px;background:var(--color-accent-primary);top:-200px;right:-100px}.auth-form-container:after{width:300px;height:300px;background:var(--color-accent-secondary);bottom:-150px;left:-50px;animation-delay:-4s}.auth-form{background:#141432cc;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-2xl);width:100%;max-width:420px;position:relative;z-index:1;animation:fadeIn var(--transition-slow) ease-out}.auth-form h2{margin:0 0 var(--space-xl) 0;text-align:center;font-size:var(--font-size-2xl);font-weight:700;background:var(--gradient-success);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.form-group{margin-bottom:var(--space-lg)}.form-group label{display:block;margin-bottom:var(--space-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500}.form-group input{width:100%;padding:var(--space-md);background:var(--color-bg-glass);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-md);font-family:var(--font-family);transition:all var(--transition-normal)}.form-group input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #00d4ff26;background:#00d4ff0d}.form-group input::placeholder{color:var(--color-text-muted)}.error-message{background:#ff446626;border:1px solid rgba(255,68,102,.3);color:var(--color-accent-danger);padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md);font-size:var(--font-size-sm)}.success-message{background:#00ff8826;border:1px solid rgba(0,255,136,.3);color:var(--color-accent-success);padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md);font-size:var(--font-size-sm)}.submit-btn{width:100%;padding:var(--space-md);background:var(--gradient-success);border:none;border-radius:var(--radius-md);color:var(--color-bg-primary);font-size:var(--font-size-md);font-weight:700;transition:all var(--transition-normal)}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow-success)}.submit-btn:disabled{opacity:.6}.toggle-btn{width:100%;margin-top:var(--space-md);padding:var(--space-md);background:transparent;border:none;color:var(--color-accent-primary);font-size:var(--font-size-sm);transition:all var(--transition-fast)}.toggle-btn:hover{color:var(--color-accent-secondary);text-decoration:underline}.resource-bar{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-sm) var(--space-md);background:var(--color-bg-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-left:auto}.resource-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);transition:all var(--transition-fast)}.resource-item:hover{background:#ffffff0d}.resource-icon{font-size:18px;filter:drop-shadow(0 0 4px currentColor)}.resource-value{font-size:var(--font-size-md);font-weight:700;min-width:50px;font-variant-numeric:tabular-nums}.resource-item.credits .resource-value{color:gold;text-shadow:0 0 10px rgba(255,215,0,.5)}.resource-item.metal .resource-value{color:silver;text-shadow:0 0 10px rgba(192,192,192,.5)}.resource-item.energy .resource-value{color:var(--color-accent-primary);text-shadow:0 0 10px rgba(0,212,255,.5)}.resource-tick{display:flex;align-items:center;gap:var(--space-sm);padding-left:var(--space-md);border-left:1px solid var(--color-border);font-size:var(--font-size-xs)}.tick-label{color:var(--color-text-muted)}.tick-time{color:var(--color-accent-success);font-weight:600}.collect-btn{padding:var(--space-xs) var(--space-md);background:var(--gradient-success);border:none;border-radius:var(--radius-md);color:var(--color-bg-primary);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;transition:all var(--transition-normal)}.collect-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-glow-success)}.resource-rate{font-size:var(--font-size-xs);font-weight:500;opacity:.8;margin-left:var(--space-xs)}.resource-rate.positive{color:#4ade80}.resource-rate.negative{color:#f87171}.doctrine-editor{background:linear-gradient(135deg,#141428f2,#1e1e3ce6);border:1px solid rgba(100,100,255,.3);border-radius:12px;padding:1.5rem;margin:1rem 0;color:#e0e0e0}.doctrine-editor h3{margin:0 0 .5rem;color:#8080ff;font-size:1.3rem}.doctrine-editor h4{margin:1rem 0 .5rem;color:#a0a0ff;font-size:1.1rem}.doctrine-description{color:#888;font-size:.9rem;margin-bottom:1rem}.doctrine-rules{background:#0000004d;border-radius:8px;padding:1rem;margin-bottom:1rem}.no-rules{color:#666;font-style:italic;text-align:center;padding:1rem}.doctrine-rule{background:#32326466;border:1px solid rgba(100,100,200,.3);border-radius:6px;margin-bottom:.5rem;transition:all .2s ease}.doctrine-rule:hover{border-color:#6464ff80}.doctrine-rule.expanded{border-color:#6464ffb3;background:#3c3c7880}.rule-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer}.rule-number{background:#6464ff4d;padding:.2rem .5rem;border-radius:4px;font-weight:700;font-size:.85rem}.rule-condition{color:#80c0ff;font-weight:500}.rule-priorities{flex:1;color:#60ff60;font-size:.9rem}.rule-actions{display:flex;gap:.25rem}.rule-actions button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ccc;width:28px;height:28px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .15s ease}.rule-actions button:hover:not(:disabled){background:#fff3;color:#fff}.rule-actions button:disabled{opacity:.3;cursor:not-allowed}.rule-actions button.delete{color:#ff6060}.rule-actions button.delete:hover:not(:disabled){background:#ff3c3c4d}.rule-details{padding:1rem;border-top:1px solid rgba(100,100,200,.2);background:#0003}.rule-details label{display:block;margin-bottom:.75rem;color:#aaa}.rule-details select,.rule-details input[type=number]{margin-left:.5rem;background:#0006;border:1px solid rgba(100,100,200,.4);color:#e0e0e0;padding:.4rem .6rem;border-radius:4px;font-size:.9rem}.rule-details input[type=number]{width:60px}.priority-checkboxes{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.5rem}.priority-checkboxes>span{color:#999;margin-right:.5rem}.priority-checkboxes label{display:flex;align-items:center;gap:.3rem;cursor:pointer;color:#ccc;margin-bottom:0}.priority-checkboxes input[type=checkbox]{accent-color:#8080ff}.add-rule-btn{background:linear-gradient(135deg,#3c3c9699,#5050b480);border:1px dashed rgba(100,100,255,.5);color:#a0a0ff;padding:.6rem 1.2rem;border-radius:6px;cursor:pointer;width:100%;margin-top:.75rem;font-size:.95rem;transition:all .2s ease}.add-rule-btn:hover{background:linear-gradient(135deg,#4646aab3,#5a5ac899);border-style:solid}.default-priorities{background:#0000004d;border-radius:8px;padding:1rem;margin-bottom:1rem}.default-priorities p{color:#888;font-size:.85rem;margin:0 0 .75rem}.save-btn{background:linear-gradient(135deg,#2060a0,#3080c0);border:none;color:#fff;padding:.75rem 2rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;width:100%;transition:all .2s ease}.save-btn:hover{background:linear-gradient(135deg,#2570b0,#3090d0);transform:translateY(-1px);box-shadow:0 4px 12px #3080c066}.alliance-panel{background:linear-gradient(135deg,#141e32f2,#1e2846e6);border:1px solid rgba(100,150,255,.3);border-radius:12px;padding:1.5rem;margin:1rem 0;color:#e0e0e0}.alliance-panel.no-alliance{text-align:center}.alliance-panel h3{margin:0 0 .5rem;color:#80a0ff;font-size:1.3rem}.alliance-panel h4{margin:1rem 0 .5rem;color:#a0c0ff;font-size:1rem}.no-alliance-text{color:#888;margin:1.5rem 0}.alliance-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(100,150,255,.2);padding-bottom:1rem;margin-bottom:1rem}.member-count{color:#888;font-size:.9rem}.alliance-stats{display:flex;gap:2rem;margin-bottom:1rem}.stat{display:flex;flex-direction:column}.stat-label{font-size:.8rem;color:#666;text-transform:uppercase}.stat-value{font-size:1.2rem;font-weight:600}.role-leader{color:gold}.role-officer{color:#00d4ff}.role-member{color:#80ff80}.member-list{background:#0000004d;border-radius:8px;padding:1rem;margin-bottom:1rem}.member-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.member-item:last-child{border-bottom:none}.member-role{font-size:1rem}.member-name{flex:1;font-weight:500}.member-contribution{color:#888;font-size:.85rem}.member-overflow{text-align:center;color:#666;font-size:.85rem;padding-top:.5rem}.pending-invites{background:#ffc8001a;border:1px solid rgba(255,200,0,.3);border-radius:8px;padding:1rem;margin-bottom:1rem;text-align:left}.invite-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0}.invite-alliance{color:#ffc800;font-weight:600}.invite-from{flex:1;color:#888;font-size:.9rem}.invite-actions{display:flex;gap:.25rem}.invite-actions button{width:28px;height:28px;border-radius:4px;border:none;font-size:.9rem;cursor:pointer;transition:all .15s}.accept-btn{background:#50c8504d;color:#80ff80}.accept-btn:hover{background:#50c85080}.decline-btn{background:#c850504d;color:#ff8080}.decline-btn:hover{background:#c8505080}.create-alliance-btn{background:linear-gradient(135deg,#3c509699,#5064b480);border:1px dashed rgba(100,150,255,.5);color:#a0c0ff;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .2s}.create-alliance-btn:hover{background:linear-gradient(135deg,#465aaab3,#5a6ec899);border-style:solid}.leave-btn{background:#c8505033;border:1px solid rgba(200,80,80,.4);color:#ff8080;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;width:100%;transition:all .2s}.leave-btn:hover{background:#c8505066}.repair-panel{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #3d5a80;border-radius:12px;padding:1.5rem;color:#e0e0e0;max-width:400px}.repair-panel h3{margin:0 0 1rem;color:#64b5f6;font-size:1.2rem}.repair-panel.no-damage{background:linear-gradient(135deg,#1a2e1a,#163e16);border-color:#4caf50}.repair-status{display:flex;align-items:center;gap:.5rem;font-size:1rem}.status-icon{font-size:1.5rem}.damage-overview{margin-bottom:1.5rem}.damage-item{margin-bottom:1rem}.damage-item .label{display:block;font-size:.85rem;color:#9e9e9e;margin-bottom:.25rem}.damage-bar{height:8px;background:#333;border-radius:4px;overflow:hidden;margin-bottom:.25rem}.damage-fill{height:100%;background:linear-gradient(90deg,#f44336,#ffeb3b,#4caf50);border-radius:4px;transition:width .3s ease}.damage-item .value{font-size:.9rem;color:#e0e0e0}.damage-amount{font-size:.8rem;color:#f44336;margin-left:.5rem}.damaged-modules{background:#0003;border-radius:8px;padding:.75rem}.damaged-modules .label{display:block;font-size:.85rem;color:#9e9e9e;margin-bottom:.5rem}.damaged-modules ul{list-style:none;margin:0;padding:0}.damaged-modules li{display:flex;justify-content:space-between;padding:.25rem 0;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.1)}.damaged-modules li:last-child{border-bottom:none}.module-name{color:#e0e0e0}.module-hp{color:#ffeb3b}.repair-cost{margin-bottom:1.5rem}.repair-cost h4{margin:0 0 .75rem;font-size:.95rem;color:#64b5f6}.cost-items{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.cost-item.time{border-color:#2196f3}.repair-button{width:100%;padding:1rem;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease}.repair-button.can-afford{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff}.repair-button.can-afford:hover:not(:disabled){background:linear-gradient(135deg,#66bb6a,#43a047);transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066}.repair-button.cannot-afford{background:linear-gradient(135deg,#616161,#424242);color:#9e9e9e;cursor:not-allowed}.repair-button:disabled{opacity:.7;cursor:not-allowed}.battle-history{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #3d5a80;border-radius:12px;padding:1.5rem;color:#e0e0e0;max-width:500px}.battle-history h3{margin:0 0 1rem;color:#64b5f6;font-size:1.2rem}.battle-history.loading,.battle-history.empty,.battle-history.error{text-align:center;padding:2rem}.loading-spinner{font-size:2rem;animation:spin 1s linear infinite}.empty-icon{font-size:3rem;opacity:.5;margin-bottom:.5rem}.empty-hint{font-size:.85rem;color:#9e9e9e}.battle-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.battle-item{display:grid;grid-template-columns:100px 1fr auto auto;align-items:center;gap:1rem;padding:.75rem 1rem;background:#0003;border-radius:8px;border-left:4px solid transparent;cursor:pointer;transition:all .2s ease}.battle-item:hover{background:#0000004d;transform:translate(4px)}.battle-item.victory{border-left-color:#4caf50}.battle-item.defeat{border-left-color:#f44336}.battle-item.draw{border-left-color:#ff9800}.battle-outcome{display:flex;align-items:center;gap:.5rem}.outcome-icon{font-size:1.25rem}.outcome-text{font-weight:700;font-size:.9rem}.victory .outcome-text{color:#4caf50}.defeat .outcome-text{color:#f44336}.draw .outcome-text{color:#ff9800}.battle-details{display:flex;flex-direction:column;gap:.25rem}.battle-type{font-size:.85rem;color:#bdbdbd}.battle-ticks{font-size:.75rem;color:#9e9e9e}.battle-time{font-size:.8rem;color:#9e9e9e}.battle-view{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#64b5f633;border-radius:50%;transition:all .2s ease}.battle-item:hover .battle-view{background:#64b5f666}.view-icon{color:#64b5f6;font-size:.8rem}.load-more-btn{width:100%;padding:.75rem;background:#64b5f633;border:1px solid #3d5a80;border-radius:8px;color:#64b5f6;font-size:.9rem;cursor:pointer;transition:all .2s ease}.load-more-btn:hover:not(:disabled){background:#64b5f64d}.load-more-btn:disabled{opacity:.5;cursor:not-allowed}.battle-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.stat{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:1.5rem;font-weight:700;color:#fff}.stat-label{font-size:.75rem;color:#9e9e9e;text-transform:uppercase}.hull-upgrade{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #3d5a80;border-radius:12px;padding:1.5rem;color:#e0e0e0;max-width:400px}.hull-upgrade h3{margin:0 0 1rem;color:#64b5f6;font-size:1.2rem}.hull-upgrade.loading,.hull-upgrade.error,.hull-upgrade.max-level{text-align:center;padding:2rem}.loading-spinner{font-size:2rem;animation:rotate 2s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.max-icon{font-size:3rem;margin-bottom:.5rem}.max-level p{color:#4caf50;font-weight:700}.current-level{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}.level-badge{padding:.5rem 1rem;background:linear-gradient(135deg,#424242,#303030);border-radius:8px;font-weight:700;font-size:1rem}.level-badge.next{background:linear-gradient(135deg,#64b5f6,#1976d2);color:#fff}.arrow{font-size:1.5rem;color:#64b5f6}.improvements{margin-bottom:1.5rem}.improvements h4{margin:0 0 .75rem;font-size:.95rem;color:#9e9e9e}.improvement-list{display:flex;flex-direction:column;gap:.5rem}.improvement{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:.5rem;background:#0003;border-radius:6px}.improvement .icon{font-size:1.25rem}.improvement .label{font-size:.9rem;color:#bdbdbd}.improvement .value{font-size:.9rem;font-weight:700;color:#4caf50}.upgrade-cost{margin-bottom:1.5rem}.upgrade-cost h4{margin:0 0 .75rem;font-size:.95rem;color:#9e9e9e}.cost-items{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.cost-item{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:#0003;border-radius:8px;border:1px solid transparent}.cost-item.affordable{border-color:#4caf50}.cost-item.expensive{border-color:#f44336}.cost-item .icon{font-size:1.25rem;margin-bottom:.25rem}.cost-item .amount{font-size:1.1rem;font-weight:700;color:#fff}.cost-item .label{font-size:.7rem;color:#9e9e9e;text-transform:uppercase}.upgrade-button{width:100%;padding:1rem;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease}.upgrade-button.can-afford{background:linear-gradient(135deg,#2196f3,#1565c0);color:#fff}.upgrade-button.can-afford:hover:not(:disabled){background:linear-gradient(135deg,#42a5f5,#1976d2);transform:translateY(-2px);box-shadow:0 4px 12px #2196f366}.upgrade-button.cannot-afford{background:linear-gradient(135deg,#616161,#424242);color:#9e9e9e;cursor:not-allowed}.upgrade-button:disabled{opacity:.7;cursor:not-allowed}.insufficient-warning{margin-top:.75rem;padding:.5rem;background:#f4433633;border:1px solid #f44336;border-radius:6px;font-size:.85rem;color:#f44336;text-align:center}.player-profile{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #3d5a80;border-radius:12px;padding:1.5rem;color:#e0e0e0;max-width:350px;position:relative}.player-profile.loading,.player-profile.error{text-align:center;padding:2rem}.loading-spinner{font-size:2.5rem;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.close-btn{position:absolute;top:.5rem;right:.5rem;width:32px;height:32px;border:none;background:#ffffff1a;color:#e0e0e0;border-radius:50%;font-size:1.25rem;cursor:pointer;transition:all .2s ease}.profile-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.avatar{width:60px;height:60px;background:linear-gradient(135deg,#64b5f6,#1976d2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem}.name-section{display:flex;flex-direction:column;gap:.25rem}.name-section h2{margin:0;font-size:1.3rem;color:#fff}.alliance-tag{font-size:.9rem;color:#64b5f6;font-weight:700}.alliance-info{display:flex;justify-content:space-between;padding:.75rem;background:#64b5f61a;border-radius:8px;margin-bottom:1.25rem}.alliance-info .label{color:#9e9e9e;font-size:.85rem}.alliance-info .value{color:#64b5f6;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1.25rem}.stat{display:flex;flex-direction:column;align-items:center;padding:.75rem .25rem;background:#0003;border-radius:8px}.stat-value{font-size:1.25rem;font-weight:700;color:#fff}.stat-label{font-size:.7rem;color:#9e9e9e;text-transform:uppercase}.member-since{display:flex;justify-content:space-between;font-size:.85rem;color:#9e9e9e;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1)}.member-since .value{color:#bdbdbd}.alliance-chat{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #3d5a80;border-radius:12px;padding:1rem;color:#e0e0e0;display:flex;flex-direction:column;height:400px}.alliance-chat h3{margin:0 0 .75rem;color:#64b5f6;font-size:1rem}.alliance-chat.loading{justify-content:center;align-items:center}.messages-container{flex:1;overflow-y:auto;padding-right:.5rem;margin-bottom:.75rem}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:#0003;border-radius:3px}.messages-container::-webkit-scrollbar-thumb{background:#3d5a80;border-radius:3px}.no-messages{text-align:center;color:#9e9e9e;padding:2rem;font-size:.9rem}.message{margin-bottom:.75rem;padding:.5rem .75rem;background:#0003;border-radius:8px;border-left:3px solid #3d5a80}.message.own{border-left-color:#64b5f6;background:#64b5f61a}.message-header{display:flex;justify-content:space-between;margin-bottom:.25rem}.sender{font-weight:700;font-size:.8rem;color:#64b5f6}.message.own .sender{color:#81c784}.time{font-size:.7rem;color:#9e9e9e}.message-content{font-size:.9rem;line-height:1.4;word-wrap:break-word}.message-input{display:flex;gap:.5rem}.message-input input{flex:1;padding:.75rem;background:#0000004d;border:1px solid #3d5a80;border-radius:8px;color:#e0e0e0;font-size:.9rem}.message-input input:focus{outline:none;border-color:#64b5f6}.message-input input::placeholder{color:#9e9e9e}.message-input button{width:44px;height:44px;background:linear-gradient(135deg,#64b5f6,#1976d2);border:none;border-radius:8px;color:#fff;font-size:1.2rem;cursor:pointer;transition:all .2s ease}.message-input button:hover:not(:disabled){transform:scale(1.05)}.message-input button:disabled{opacity:.5;cursor:not-allowed}.match-lobby{background:linear-gradient(180deg,#0a1628,#1a2a4a);border-radius:12px;padding:24px;min-height:500px}.match-lobby h2{color:#00d4ff;margin:0 0 24px;font-size:1.5rem;text-transform:uppercase;letter-spacing:2px}.lobby-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid rgba(0,212,255,.2);padding-bottom:12px}.lobby-tab{background:#00d4ff1a;border:1px solid rgba(0,212,255,.3);color:#8aafcf;padding:10px 24px;border-radius:8px 8px 0 0;cursor:pointer;transition:all .2s;font-size:.9rem}.lobby-tab:hover{background:#00d4ff33;color:#00d4ff}.lobby-tab.active{background:#00d4ff4d;color:#00d4ff;border-color:#00d4ff}.create-match-form{background:#0000004d;border-radius:8px;padding:20px;max-width:500px}.form-group{margin-bottom:16px}.form-group label{display:block;color:#8aafcf;margin-bottom:6px;font-size:.9rem}.form-group input,.form-group select{width:100%;background:#00000080;border:1px solid rgba(0,212,255,.3);color:#fff;padding:10px 12px;border-radius:6px;font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#00d4ff;box-shadow:0 0 8px #00d4ff4d}.create-btn{background:linear-gradient(135deg,#00d4ff,#08c);border:none;color:#fff;padding:12px 32px;border-radius:6px;font-size:1rem;cursor:pointer;transition:transform .2s,box-shadow .2s}.create-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00d4ff66}.create-btn:disabled{opacity:.5;cursor:not-allowed}.match-list{display:flex;flex-direction:column;gap:12px}.match-card{background:#0000004d;border:1px solid rgba(0,212,255,.2);border-radius:8px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;transition:border-color .2s}.match-card:hover{border-color:#00d4ff}.match-info h3{color:#fff;margin:0 0 6px;font-size:1.1rem}.match-meta{display:flex;gap:16px;color:#8aafcf;font-size:.85rem}.match-meta span{display:flex;align-items:center;gap:4px}.join-btn{background:#32cd3233;border:1px solid #32cd32;color:#32cd32;padding:8px 20px;border-radius:6px;cursor:pointer;transition:all .2s}.join-btn:hover{background:#32cd324d}.faction-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.faction-card{background:#0006;border:2px solid transparent;border-radius:10px;padding:16px;cursor:pointer;transition:all .2s}.faction-card:hover{transform:translateY(-2px)}.faction-card.selected{border-color:var(--faction-color);box-shadow:0 0 20px var(--faction-color)}.faction-card.aetherial{--faction-color: #00BFFF}.faction-card.bulwark{--faction-color: #8B4513}.faction-card.scourge{--faction-color: #32CD32}.faction-card.umbra{--faction-color: #4B0082}.faction-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.faction-icon{width:32px;height:32px;border-radius:50%;background:var(--faction-color);display:flex;align-items:center;justify-content:center;font-size:1.2rem}.faction-name{color:#fff;font-weight:700;font-size:1rem}.faction-ability{color:#8aafcf;font-size:.85rem;margin-bottom:4px}.faction-desc{color:#6a8faf;font-size:.8rem;line-height:1.4}.lobby-details{background:#0000004d;border-radius:8px;padding:20px}.lobby-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.lobby-header h3{color:#00d4ff;margin:0}.leave-btn{background:#ff646433;border:1px solid #ff6464;color:#ff6464;padding:6px 16px;border-radius:6px;cursor:pointer}.player-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.player-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#0000004d;border-radius:6px}.player-faction{width:24px;height:24px;border-radius:50%}.player-name{flex:1;color:#fff}.player-ready{color:#32cd32;font-size:.85rem}.player-waiting{color:#8aafcf;font-size:.85rem}.ready-btn{background:#32cd3233;border:1px solid #32cd32;color:#32cd32;padding:10px 24px;border-radius:6px;cursor:pointer;font-size:1rem}.ready-btn.is-ready{background:#32cd32;color:#000}.empty-state{text-align:center;padding:40px;color:#8aafcf}.empty-state p{margin:8px 0}.hull-painter{background:linear-gradient(180deg,#0a1628,#1a2a4a);border-radius:12px;padding:24px}.hull-painter h2{color:#00d4ff;margin:0 0 8px;font-size:1.4rem;text-transform:uppercase;letter-spacing:2px}.hull-painter-subtitle{color:#8aafcf;font-size:.9rem;margin-bottom:20px}.hull-stats{display:flex;gap:24px;margin-bottom:20px;padding:12px 16px;background:#0000004d;border-radius:8px}.hull-stat{display:flex;flex-direction:column;gap:4px}.hull-stat-label{color:#6a8faf;font-size:.75rem;text-transform:uppercase}.hull-stat-value{color:#00d4ff;font-size:1.1rem;font-weight:700}.hull-stat-value.warning{color:#fa0}.hull-stat-value.error{color:#ff6464}.hull-toolbar{display:flex;gap:8px;margin-bottom:16px}.hull-tool-btn{background:#00d4ff1a;border:1px solid rgba(0,212,255,.3);color:#8aafcf;padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .2s;font-size:.85rem}.hull-tool-btn:hover:not(:disabled){background:#00d4ff33;color:#00d4ff}.hull-tool-btn:disabled{opacity:.4;cursor:not-allowed}.hull-tool-btn.active{background:#00d4ff4d;border-color:#00d4ff;color:#00d4ff}.hull-grid-container{display:flex;gap:24px}.hull-grid{display:grid;gap:2px;background:#00000080;padding:4px;border-radius:8px;border:1px solid rgba(0,212,255,.2)}.hull-cell{width:24px;height:24px;background:#1e283ccc;border:1px solid rgba(0,212,255,.1);cursor:pointer;transition:all .15s}.hull-cell:hover{background:#00d4ff33;border-color:#00d4ff80}.hull-cell.filled{background:linear-gradient(135deg,#00d4ff,#08c);border-color:#00d4ff;box-shadow:0 0 8px #00d4ff66}.hull-cell.disconnected{background:linear-gradient(135deg,#ff6464,#c44);border-color:#ff6464;animation:pulse-error 1s infinite}@keyframes pulse-error{0%,to{opacity:1}50%{opacity:.6}}.hull-presets{flex:1;max-width:200px}.hull-presets h4{color:#8aafcf;margin:0 0 12px;font-size:.9rem}.preset-btn{display:block;width:100%;background:#0000004d;border:1px solid rgba(0,212,255,.2);color:#8aafcf;padding:10px 12px;border-radius:6px;cursor:pointer;text-align:left;margin-bottom:8px;transition:all .2s}.preset-btn:hover{background:#00d4ff1a;border-color:#00d4ff66;color:#00d4ff}.preset-btn .preset-name{display:block;font-weight:700;margin-bottom:2px}.preset-btn .preset-desc{font-size:.8rem;color:#6a8faf}.hull-errors{margin-top:16px;padding:12px;background:#ff64641a;border:1px solid rgba(255,100,100,.3);border-radius:6px}.hull-error{color:#ff6464;font-size:.85rem;margin:4px 0}.hull-save-btn{margin-top:20px;background:linear-gradient(135deg,#32cd32,#228b22);border:none;color:#fff;padding:12px 32px;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.hull-save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #32cd3266}.hull-save-btn:disabled{opacity:.5;cursor:not-allowed}.v7-compositor{position:relative;display:inline-block}.v7-layer{position:absolute;top:0;left:0;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}.v7-layer-bevel{z-index:1;filter:drop-shadow(1px 1px 0 rgba(0,0,0,.5))}.v7-layer-greeble{z-index:2;opacity:.7;mix-blend-mode:overlay}.v7-layer-glow{z-index:3;mix-blend-mode:screen;animation:v7-pulse 2s ease-in-out infinite}.v7-layer-modules{z-index:4}@keyframes v7-pulse{0%,to{opacity:.6}50%{opacity:1}}.v7-module{position:absolute;border:1px solid rgba(0,212,255,.3);border-radius:2px;transition:all .2s}.v7-module:hover{border-color:#00d4ff;box-shadow:0 0 8px #00d4ff80}.v7-module.weapon{background:linear-gradient(135deg,#ff64644d,#c832324d)}.v7-module.defense{background:linear-gradient(135deg,#6496ff4d,#3264c84d)}.v7-module.power{background:linear-gradient(135deg,#ffc8324d,#c896324d)}.v7-module.engine{background:linear-gradient(135deg,#64ff964d,#32c8644d)}.v7-module.command{background:linear-gradient(135deg,#c864ff4d,#9632c84d)}.v7-module.utility{background:linear-gradient(135deg,#9696964d,#6464644d)}.v7-module.disabled{opacity:.4;filter:grayscale(100%)}.v7-module.damaged{animation:v7-damaged-flash .5s ease-in-out infinite}@keyframes v7-damaged-flash{0%,to{background-color:#ff00001a}50%{background-color:#ff00004d}}.v7-shield-arc{position:absolute;top:-10%;left:-10%;width:120%;height:120%;border:2px solid rgba(0,200,255,.5);border-radius:50%;pointer-events:none;animation:v7-shield-rotate 8s linear infinite}@keyframes v7-shield-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.v7-shield-arc:before{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;background:#00d4ff;border-radius:50%;box-shadow:0 0 10px #00d4ff}.v7-thruster{position:absolute;width:4px;height:16px;background:linear-gradient(180deg,#00d4ff 0%,#0066aa 50%,transparent 100%);border-radius:2px;animation:v7-thruster-flicker .1s ease-in-out infinite}@keyframes v7-thruster-flicker{0%,to{opacity:.8;height:16px}50%{opacity:1;height:20px}}.v7-radar{position:absolute;width:12px;height:12px;border:2px solid rgba(0,255,100,.6);border-radius:50%;animation:v7-radar-ping 2s ease-out infinite}@keyframes v7-radar-ping{0%{transform:scale(.5);opacity:1}to{transform:scale(2);opacity:0}}.v7-faction-aetherial .v7-layer-glow{filter:hue-rotate(180deg)}.v7-faction-bulwark .v7-layer-glow{filter:hue-rotate(30deg) saturate(.5)}.v7-faction-scourge .v7-layer-glow{filter:hue-rotate(90deg)}.v7-faction-umbra .v7-layer-glow{filter:hue-rotate(270deg)}.v7-hp-bar{position:absolute;bottom:-8px;left:0;width:100%;height:4px;background:#00000080;border-radius:2px;overflow:hidden}.v7-hp-fill{height:100%;background:linear-gradient(90deg,#f44,#fa0,#4f4);transition:width .3s ease}.v7-selected{outline:2px solid #00d4ff;outline-offset:4px;animation:v7-selected-pulse 1s ease-in-out infinite}@keyframes v7-selected-pulse{0%,to{outline-color:#00d4ff}50%{outline-color:#00d4ff80}}.fleet-commander{background:linear-gradient(135deg,#0a0a1a,#1a1a3a);border:1px solid #3a3a6a;border-radius:12px;padding:24px;max-width:500px;color:#e0e0ff}.fleet-commander-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.fleet-commander-header h2{margin:0;font-size:1.5rem;color:#8080ff}.close-btn{background:none;border:none;color:gray;font-size:1.5rem;cursor:pointer;padding:4px 8px;transition:color .2s}.close-btn:hover{color:#ff6060}.fleet-error{background:#ff3c3c33;border:1px solid #ff6060;border-radius:6px;padding:12px;margin-bottom:16px;color:#ff9090}.fleet-section{margin-bottom:20px}.fleet-section h3{font-size:.9rem;color:#6060a0;margin:0 0 12px;text-transform:uppercase;letter-spacing:1px}.select-all-btn{background:#5050a04d;border:1px solid #5050a0;border-radius:6px;color:#a0a0ff;padding:8px 16px;cursor:pointer;font-size:.85rem;margin-bottom:12px;transition:all .2s}.select-all-btn:hover{background:#5050a080}.ship-list{max-height:200px;overflow-y:auto;border:1px solid #2a2a4a;border-radius:8px}.no-ships{padding:20px;text-align:center;color:#606080;font-style:italic}.ship-item{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #2a2a4a;cursor:pointer;transition:background .2s}.ship-item:last-child{border-bottom:none}.ship-item:hover{background:#5050a033}.ship-item.selected{background:#50a05033;border-left:3px solid #60ff60}.ship-item input[type=checkbox]{width:18px;height:18px;accent-color:#60ff60}.ship-info{display:flex;flex-direction:column;gap:4px}.ship-name{font-weight:500;color:#c0c0ff}.ship-meta{font-size:.8rem;color:#707090}.destination-inputs{display:flex;gap:16px}.coord-input{display:flex;align-items:center;gap:8px}.coord-input label{color:#8080a0;font-weight:500}.coord-input input{width:80px;background:#1a1a2a;border:1px solid #3a3a6a;border-radius:6px;padding:8px 12px;color:#e0e0ff;font-size:1rem}.coord-input input:focus{outline:none;border-color:#6060ff}.fleet-name-input{width:100%;background:#1a1a2a;border:1px solid #3a3a6a;border-radius:6px;padding:10px 14px;color:#e0e0ff;font-size:1rem;box-sizing:border-box}.fleet-name-input::placeholder{color:#505060}.fleet-name-input:focus{outline:none;border-color:#6060ff}.fleet-summary{background:#28285080;border-radius:8px;padding:16px;margin-bottom:20px}.summary-item{display:flex;justify-content:space-between;padding:6px 0}.summary-item:not(:last-child){border-bottom:1px solid #3a3a5a}.summary-value{font-weight:600;color:#80ff80}.launch-btn{width:100%;background:linear-gradient(135deg,#4040a0,#6060c0);border:none;border-radius:8px;padding:14px 24px;color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s}.launch-btn:hover:not(:disabled){background:linear-gradient(135deg,#5050b0,#7070d0);transform:translateY(-2px);box-shadow:0 4px 12px #5050c866}.launch-btn:disabled{opacity:.5;cursor:not-allowed}.scout-report{background:linear-gradient(135deg,#0a1a0a,#1a2a1a);border:1px solid #2a4a2a;border-radius:12px;padding:16px;max-width:400px;color:#c0e0c0}.scout-report.loading{display:flex;align-items:center;justify-content:center;min-height:100px}.loading-spinner{color:#60a060;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.scout-report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #2a4a2a}.scout-report-header h3{margin:0;font-size:1.2rem;color:#80ff80}.snapshot-count{font-size:.85rem;color:#609060;background:#3c783c33;padding:4px 10px;border-radius:12px}.no-intel{text-align:center;padding:20px;color:#608060}.no-intel .hint{font-size:.85rem;color:#506050;margin-top:8px}.snapshot-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.snapshot-item{background:#14281499;border:1px solid #2a4a2a;border-radius:8px;padding:12px;cursor:pointer;transition:all .2s}.snapshot-item:hover{background:#1e3c1e99;border-color:#3a6a3a}.snapshot-item.expanded{background:#1e3c1ecc;border-color:#4a8a4a}.snapshot-item.expiring{border-color:#aa6030}.snapshot-item.expiring .expiry-badge{color:#ffaa60;background:#ffa05033}.snapshot-header{display:flex;align-items:center;gap:12px}.faction-badge{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:1.1rem;flex-shrink:0}.snapshot-main{flex:1;min-width:0}.target-info{display:flex;flex-direction:column;gap:2px}.target-id{font-weight:500;color:#a0e0a0;font-size:.9rem}.faction-name{font-size:.75rem;color:#709070}.location-info{font-size:.8rem;color:#608060;margin-top:4px}.expiry-badge{font-size:.75rem;color:#80b080;background:#50a05033;padding:4px 8px;border-radius:8px;white-space:nowrap}.snapshot-details{margin-top:12px;padding-top:12px;border-top:1px solid #2a4a2a}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:.9rem}.stat-value{font-weight:500;color:#80ff80}.health-bar{width:150px;height:16px;background:#1a2a1a;border-radius:4px;position:relative;overflow:hidden}.health-fill{height:100%;background:linear-gradient(90deg,#60c060,#80ff80);transition:width .3s}.health-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:500;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.module-list{margin-top:10px;padding-top:10px;border-top:1px dashed #2a4a2a}.module-header{font-size:.8rem;color:#609060;display:block;margin-bottom:6px}.module-item{display:flex;gap:8px;padding:4px 0;font-size:.85rem}.module-cat{font-size:.7rem;padding:2px 6px;border-radius:4px;text-transform:uppercase;background:#2a4a2a;color:#80a080}.module-cat.weapon{background:#4a2a2a;color:#ffa0a0}.module-cat.defense{background:#2a2a4a;color:#a0a0ff}.module-cat.command{background:#4a4a2a;color:#ffff80}.module-cat.engine{background:#2a4a4a;color:#80ffff}.module-name{color:#a0c0a0}.scouted-by{margin-top:10px;font-size:.75rem;color:#506050;font-style:italic}.target-btn{width:100%;margin-top:12px;background:linear-gradient(135deg,#306030,#408040);border:none;border-radius:6px;padding:10px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s}.target-btn:hover{background:linear-gradient(135deg,#408040,#50a050);transform:translateY(-1px)}.settings-panel{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #3d5a80;border-radius:12px;padding:1.5rem;color:#e0e0e0;max-width:450px;position:relative}.settings-panel h2{margin:0 0 1.25rem;color:#64b5f6;font-size:1.3rem}.close-btn{position:absolute;top:.75rem;right:.75rem;width:32px;height:32px;border:none;background:#ffffff1a;color:#e0e0e0;border-radius:50%;font-size:1.25rem;cursor:pointer;transition:all .2s ease}.close-btn:hover{background:#fff3}section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}section:last-of-type{border-bottom:none;margin-bottom:1rem}section h3{margin:0 0 .75rem;font-size:1rem;color:#9e9e9e}.setting-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;margin-bottom:.75rem}.setting-row label{font-size:.9rem}.setting-row input[type=range]{width:120px;accent-color:#64b5f6}.setting-row span{width:40px;text-align:right;font-size:.85rem;color:#9e9e9e}.setting-row.toggle{grid-template-columns:1fr auto}.setting-row select{padding:.4rem .75rem;background:#0000004d;border:1px solid #3d5a80;border-radius:6px;color:#e0e0e0;font-size:.85rem}.setting-row select:focus{outline:none;border-color:#64b5f6}.toggle-btn{padding:.4rem .75rem;border:none;border-radius:6px;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s ease;min-width:70px}.toggle-btn.on{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff}.toggle-btn.off{background:#ffffff1a;color:#9e9e9e}.toggle-btn:hover:not(:disabled){transform:scale(1.02)}.toggle-btn:disabled{opacity:.5;cursor:not-allowed}.settings-footer{display:flex;justify-content:center}.reset-btn{padding:.6rem 1.25rem;background:#f4433633;border:1px solid rgba(244,67,54,.5);border-radius:8px;color:#f44336;font-size:.85rem;cursor:pointer;transition:all .2s ease}.reset-btn:hover{background:#f443364d}.tutorial-overlay{position:fixed;inset:0;background:#000000b3;z-index:9998}.tutorial-box{position:fixed;z-index:9999;background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #64b5f6;border-radius:16px;padding:1.5rem;max-width:400px;box-shadow:0 0 40px #64b5f64d;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.tutorial-box.position-center{top:50%;left:50%;transform:translate(-50%,-50%)}.tutorial-box.position-top{top:20%;left:50%;transform:translate(-50%)}.tutorial-box.position-bottom{bottom:20%;left:50%;transform:translate(-50%)}.tutorial-box.position-left{top:50%;left:20%;transform:translateY(-50%)}.tutorial-box.position-right{top:50%;right:20%;transform:translateY(-50%)}.tutorial-progress{display:flex;justify-content:center;gap:.5rem;margin-bottom:1rem}.progress-dot{width:10px;height:10px;border-radius:50%;background:#fff3;transition:all .3s ease}.progress-dot.active{background:#64b5f6;transform:scale(1.2)}.progress-dot.completed{background:#4caf50}.tutorial-box h3{margin:0 0 .75rem;color:#fff;font-size:1.25rem;text-align:center}.tutorial-box p{margin:0 0 1.25rem;color:#bdbdbd;font-size:.95rem;line-height:1.5;text-align:center}.tutorial-actions{display:flex;justify-content:space-between;align-items:center}.skip-btn{padding:.5rem .75rem;background:none;border:none;color:#9e9e9e;font-size:.85rem;cursor:pointer;transition:color .2s}.skip-btn:hover{color:#e0e0e0}.nav-buttons{display:flex;gap:.5rem}.prev-btn,.next-btn{padding:.6rem 1.25rem;border:none;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s ease}.prev-btn{background:#ffffff1a;color:#e0e0e0}.prev-btn:hover{background:#fff3}.next-btn{background:linear-gradient(135deg,#64b5f6,#1976d2);color:#fff}.next-btn:hover{transform:scale(1.02)}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.loading-spinner-container.fullscreen{position:fixed;inset:0;z-index:9999}.loading-overlay{position:fixed;inset:0;background:#000c;z-index:9999;display:flex;align-items:center;justify-content:center}.spinner{position:relative;display:flex;align-items:center;justify-content:center}.loading-spinner-container.small .spinner{width:40px;height:40px}.loading-spinner-container.medium .spinner{width:64px;height:64px}.loading-spinner-container.large .spinner{width:96px;height:96px}.spinner-ring{position:absolute;border-radius:50%;border:3px solid transparent;border-top-color:#64b5f6;animation:spin 1s linear infinite}.loading-spinner-container.small .spinner-ring{width:40px;height:40px;border-width:2px}.loading-spinner-container.medium .spinner-ring{width:64px;height:64px}.loading-spinner-container.large .spinner-ring{width:96px;height:96px;border-width:4px}.spinner-ring:nth-child(2){width:80%;height:80%;border-top-color:#4caf50;animation-duration:1.2s;animation-direction:reverse}.spinner-ring:nth-child(3){width:60%;height:60%;border-top-color:#ff9800;animation-duration:.8s}.spinner-core{font-size:1.25rem;animation:pulse 1s ease-in-out infinite}.loading-spinner-container.small .spinner-core{font-size:.9rem}.loading-spinner-container.large .spinner-core{font-size:1.75rem}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.loading-message{color:#bdbdbd;font-size:.9rem;margin:0;animation:fadeInOut 1.5s ease-in-out infinite}@keyframes fadeInOut{0%,to{opacity:.6}50%{opacity:1}}.skeleton{background:linear-gradient(90deg,#ffffff1a 25%,#fff3,#ffffff1a 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;margin-bottom:.5rem}.skeleton:last-child{margin-bottom:0}.skeleton-text{border-radius:4px}.skeleton-rounded{border-radius:8px}.skeleton-circular{border-radius:50%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.error-banner-container{position:fixed;top:1rem;right:1rem;z-index:10000;display:flex;flex-direction:column;gap:.5rem;max-width:400px}.error-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;cursor:pointer;animation:slideIn .3s ease;box-shadow:0 4px 12px #0000004d;transition:all .2s ease}.error-banner:hover{transform:translate(-4px)}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.error-banner.error{background:linear-gradient(135deg,#f44336,#c62828);border:1px solid #ff5252;color:#fff}.error-banner.warning{background:linear-gradient(135deg,#ff9800,#f57c00);border:1px solid #ffb74d;color:#fff}.error-banner.success{background:linear-gradient(135deg,#4caf50,#388e3c);border:1px solid #81c784;color:#fff}.error-banner.info{background:linear-gradient(135deg,#2196f3,#1976d2);border:1px solid #64b5f6;color:#fff}.error-icon{font-size:1.25rem;line-height:1}.error-message{flex:1;font-size:.9rem;line-height:1.3}.dismiss-hint{font-size:.7rem;opacity:.7;white-space:nowrap}@media(max-width:600px){.error-banner-container{left:1rem;right:1rem;max-width:none}}:root{--color-bg-primary: #0a0a1a;--color-bg-secondary: #12122a;--color-bg-tertiary: #1a1a3a;--color-bg-card: rgba(20, 20, 50, .6);--color-bg-glass: rgba(255, 255, 255, .03);--color-accent-primary: #00d4ff;--color-accent-secondary: #7b68ee;--color-accent-success: #00ff88;--color-accent-warning: #ffaa00;--color-accent-danger: #ff4466;--gradient-primary: linear-gradient(135deg, #00d4ff 0%, #7b68ee 100%);--gradient-success: linear-gradient(135deg, #00d4ff 0%, #00ff88 100%);--gradient-danger: linear-gradient(135deg, #ff4466 0%, #ff8844 100%);--gradient-cosmic: linear-gradient(180deg, #0a0a1a 0%, #1a1a3a 50%, #12122a 100%);--color-text-primary: #ffffff;--color-text-secondary: #a0a0c0;--color-text-muted: #666688;--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .15);--color-border-active: rgba(0, 212, 255, .4);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .5);--shadow-glow-primary: 0 0 30px rgba(0, 212, 255, .3);--shadow-glow-success: 0 0 30px rgba(0, 255, 136, .3);--shadow-glow-danger: 0 0 30px rgba(255, 68, 102, .3);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-md: 15px;--font-size-lg: 18px;--font-size-xl: 24px;--font-size-2xl: 32px;--font-size-3xl: 48px}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;padding:0;font-family:var(--font-family);font-size:var(--font-size-md);background:var(--gradient-cosmic);color:var(--color-text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 800'%3E%3Ccircle fill='%23ffffff' cx='400' cy='400' r='1'/%3E%3Ccircle fill='%23ffffff' cx='100' cy='100' r='0.5'/%3E%3Ccircle fill='%23ffffff' cx='700' cy='200' r='0.8'/%3E%3Ccircle fill='%23ffffff' cx='200' cy='600' r='0.6'/%3E%3Ccircle fill='%23ffffff' cx='600' cy='500' r='0.7'/%3E%3Ccircle fill='%23ffffff' cx='300' cy='300' r='0.4'/%3E%3Ccircle fill='%23ffffff' cx='500' cy='100' r='0.5'/%3E%3Ccircle fill='%23ffffff' cx='150' cy='450' r='0.6'/%3E%3Ccircle fill='%23ffffff' cx='650' cy='700' r='0.5'/%3E%3Ccircle fill='%23ffffff' cx='750' cy='400' r='0.4'/%3E%3Ccircle fill='%23ffffff' cx='50' cy='250' r='0.3'/%3E%3C/svg%3E");background-size:200px 200px;opacity:.3;animation:twinkle 8s ease-in-out infinite;pointer-events:none;z-index:-1}@keyframes twinkle{0%,to{opacity:.2}50%{opacity:.4}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#fff3}::selection{background:#00d4ff4d;color:var(--color-text-primary)}a{color:var(--color-accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-secondary)}button{font-family:var(--font-family);cursor:pointer;transition:all var(--transition-normal)}button:disabled{cursor:not-allowed;opacity:.5}.glass{background:var(--color-bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border)}.glass-strong{background:#141432cc;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid var(--color-border)}.glow-primary{box-shadow:var(--shadow-glow-primary)}.glow-success{box-shadow:var(--shadow-glow-success)}.glow-danger{box-shadow:var(--shadow-glow-danger)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-slow) ease-out}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.pulse{animation:pulse 2s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.float{animation:float 3s ease-in-out infinite}.app{min-height:100vh;position:relative}.nav-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:#0a0a1ecc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.nav-bar h1{margin:0;font-size:var(--font-size-xl);font-weight:700;background:var(--gradient-success);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.nav-buttons{display:flex;gap:var(--space-sm);flex-wrap:wrap}.nav-buttons button{padding:var(--space-sm) var(--space-md);background:var(--color-bg-glass);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-normal)}.nav-buttons button:hover:not(:disabled){background:#ffffff14;border-color:var(--color-border-hover);color:var(--color-text-primary);transform:translateY(-1px)}.nav-buttons button:disabled{opacity:.3}.nav-buttons button.active{background:#00d4ff26;border-color:var(--color-accent-primary);color:var(--color-accent-primary);box-shadow:0 0 20px #00d4ff26}.nav-buttons .battle-btn{background:var(--gradient-danger);border:none;color:#fff;font-weight:600;padding:var(--space-sm) var(--space-lg)}.nav-buttons .battle-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow-danger)}.nav-buttons .signout-btn{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted)}.nav-buttons .signout-btn:hover{background:#ff44661a;border-color:var(--color-accent-danger);color:var(--color-accent-danger)}.loading-screen,.error-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);background:var(--gradient-cosmic)}.loading-spinner{font-size:80px;animation:float 2s ease-in-out infinite,spin 4s linear infinite;filter:drop-shadow(0 0 20px rgba(0,212,255,.5))}.loading-screen p{font-size:var(--font-size-lg);color:var(--color-text-secondary);animation:pulse 2s ease-in-out infinite}.error-screen h2{color:var(--color-accent-danger);font-size:var(--font-size-2xl);margin:0}.error-screen p{color:var(--color-text-secondary);max-width:400px;text-align:center}.error-screen button{padding:var(--space-md) var(--space-xl);background:var(--gradient-success);border:none;border-radius:var(--radius-md);color:var(--color-bg-primary);font-size:var(--font-size-md);font-weight:600;transition:all var(--transition-normal)}.error-screen button:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow-success)}.main-content{padding:var(--space-lg);animation:fadeIn var(--transition-slow) ease-out}
