@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@500;700&display=swap";:root{--bg-primary: #0a0f1e;--bg-secondary: #0f1528;--bg-tertiary: #141b30;--bg-glass: rgba(15, 21, 40, .85);--bg-glass-strong: rgba(15, 21, 40, .95);--border-subtle: rgba(255, 255, 255, .06);--border-medium: rgba(255, 255, 255, .1);--border-bright: rgba(255, 255, 255, .15);--text-primary: #e8ecf4;--text-secondary: #8892a8;--text-muted: #5a6478;--cyan: #00D4FF;--green: #00FF88;--amber: #FFB347;--red: #FF6B6B;--purple: #C9A0FF;--cyan-dim: rgba(0, 212, 255, .15);--green-dim: rgba(0, 255, 136, .15);--amber-dim: rgba(255, 179, 71, .15);--red-dim: rgba(255, 107, 107, .15);--purple-dim: rgba(201, 160, 255, .15);--cyan-glow: 0 0 20px rgba(0, 212, 255, .3);--green-glow: 0 0 20px rgba(0, 255, 136, .3);--amber-glow: 0 0 20px rgba(255, 179, 71, .3);--red-glow: 0 0 20px rgba(255, 107, 107, .3);--purple-glow: 0 0 20px rgba(201, 160, 255, .3);--font-main: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--hud-height: 62px;--toolbar-height: 64px;--panel-width: 440px;--feed-width: 260px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100vh;overflow:hidden;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-main);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.game-container{width:100%;height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden}.game-main{flex:1;display:flex;min-height:0;position:relative}.office-scene{flex:1;min-width:0;position:relative;background:var(--bg-primary)}.hud{height:var(--hud-height);background:var(--bg-glass-strong);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;padding:0 20px;gap:4px;z-index:100;position:relative}.hud:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.3}.hud-company{display:flex;align-items:center;gap:8px;margin-right:12px;padding-right:16px;border-right:1px solid var(--border-subtle);min-width:0}.hud-company-icon{color:var(--amber);flex-shrink:0;filter:drop-shadow(0 0 6px rgba(255,179,71,.4))}.hud-company-name{font-weight:800;font-size:15px;color:var(--cyan);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;letter-spacing:-.02em}.hud-metrics{display:flex;align-items:center;gap:4px;flex:1;overflow:hidden}.hud-metric{display:flex;flex-direction:column;align-items:center;padding:4px 12px;border-radius:var(--radius-sm);background:#ffffff05;min-width:80px;transition:background .2s}.hud-metric:hover{background:#ffffff0d}.hud-metric-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);display:inline-flex;align-items:center;gap:3px}.hud-metric-value{font-family:var(--font-mono);font-weight:700;font-size:14px;letter-spacing:-.02em}.hud-metric-value.green{color:var(--green)}.hud-metric-value.red{color:var(--red)}.hud-metric-value.amber{color:var(--amber)}.hud-metric-value.cyan{color:var(--cyan)}.hud-metric-value.purple{color:var(--purple)}.hud-right{display:flex;align-items:center;gap:8px;margin-left:auto;padding-left:12px;border-left:1px solid var(--border-subtle)}.hud-month{font-family:var(--font-mono);font-weight:700;font-size:13px;color:var(--text-secondary);white-space:nowrap}.runway-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-family:var(--font-mono);font-weight:700;font-size:11px;white-space:nowrap}.runway-badge.green{background:var(--green-dim);color:var(--green);border:1px solid rgba(0,255,136,.25)}.runway-badge.amber{background:var(--amber-dim);color:var(--amber);border:1px solid rgba(255,179,71,.25)}.runway-badge.red{background:var(--red-dim);color:var(--red);border:1px solid rgba(255,107,107,.25);animation:pulse 1.5s ease-in-out infinite}.toolbar{height:var(--toolbar-height);background:var(--bg-glass-strong);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;padding:0 20px;gap:8px;z-index:100;position:relative}.toolbar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.2}.toolbar-group{display:flex;align-items:center;gap:6px}.toolbar-separator{width:1px;height:32px;background:var(--border-subtle);margin:0 8px}.toolbar-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-md);border:1px solid var(--border-medium);background:#ffffff08;color:var(--text-primary);font-family:var(--font-main);font-weight:600;font-size:13px;cursor:pointer;transition:all .2s ease;white-space:nowrap;-webkit-user-select:none;user-select:none}.toolbar-btn svg{flex-shrink:0;transition:transform .2s ease}.toolbar-btn:hover{background:#ffffff14;border-color:var(--border-bright);transform:translateY(-1px)}.toolbar-btn:hover svg{transform:scale(1.1)}.toolbar-btn:active{transform:translateY(0)}.toolbar-btn.active{background:var(--cyan-dim);border-color:var(--cyan);color:var(--cyan);box-shadow:var(--cyan-glow)}.toolbar-btn.active svg{filter:drop-shadow(0 0 4px rgba(0,212,255,.6))}.toolbar-btn.danger{border-color:#ff6b6b4d;color:var(--red)}.toolbar-btn.danger:hover{background:var(--red-dim);border-color:var(--red);box-shadow:var(--red-glow)}.toolbar-btn.danger:hover svg{animation:spinOnce .5s ease-out}@keyframes spinOnce{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toolbar-btn.danger.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.toolbar-btn .cooldown{font-family:var(--font-mono);font-size:11px;opacity:.6}.speed-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border-medium);background:#ffffff08;color:var(--text-secondary);font-family:var(--font-mono);font-weight:700;font-size:14px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.speed-btn:hover{background:#ffffff14;color:var(--text-primary)}.speed-btn.active{background:var(--cyan-dim);border-color:var(--cyan);color:var(--cyan);box-shadow:var(--cyan-glow)}.feed{width:var(--feed-width);background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow:hidden}.feed-header{padding:12px 16px;font-weight:700;font-size:13px;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.feed-list{flex:1;overflow-y:auto;padding:8px}.feed-item{padding:8px 10px;margin-bottom:4px;border-radius:var(--radius-sm);border-left:3px solid var(--text-muted);background:#ffffff05;font-size:12px;line-height:1.4;color:var(--text-secondary);animation:slideIn .3s ease-out}.feed-item.green{border-left-color:var(--green)}.feed-item.red{border-left-color:var(--red)}.feed-item.amber{border-left-color:var(--amber)}.feed-item.cyan{border-left-color:var(--cyan)}.feed-item-month{font-family:var(--font-mono);font-weight:700;font-size:10px;color:var(--text-muted);margin-right:6px}.panel-overlay{position:fixed;inset:0;background:#0006;z-index:200;animation:fadeIn .2s ease-out}.slide-panel{position:fixed;top:0;right:0;bottom:0;width:var(--panel-width);background:var(--bg-glass-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-left:1px solid var(--border-medium);z-index:210;display:flex;flex-direction:column;opacity:1;transform:none;animation:panelReveal .22s ease-out;box-shadow:-10px 0 40px #00000080}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.panel-title{font-weight:800;font-size:18px;letter-spacing:-.02em}.panel-close{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border-medium);background:#ffffff08;color:var(--text-secondary);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.panel-close:hover{background:var(--red-dim);border-color:var(--red);color:var(--red)}.panel-body{flex:1;overflow-y:auto;padding:16px 20px}.panel-stats{display:flex;gap:12px;margin-bottom:20px}.panel-stat{flex:1;padding:10px 12px;border-radius:var(--radius-md);background:#ffffff08;border:1px solid var(--border-subtle);text-align:center}.panel-stat-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:2px}.panel-stat-value{font-family:var(--font-mono);font-weight:700;font-size:16px;color:var(--text-primary)}.panel-section-title{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px;margin-top:20px}.panel-section-title:first-child{margin-top:0}.card{background:#ffffff05;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px;margin-bottom:10px;transition:all .2s ease;animation:popIn .3s ease-out}.card:hover{background:#ffffff0a;border-color:var(--border-medium)}.card-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}.card-avatar{font-size:28px;line-height:1;flex-shrink:0}.card-info{flex:1;min-width:0}.card-name{font-weight:700;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-role{font-size:12px;color:var(--text-secondary)}.card-salary{font-family:var(--font-mono);font-weight:700;font-size:14px;color:var(--green);white-space:nowrap}.card-bio{font-size:12px;color:var(--text-secondary);line-height:1.4;margin-bottom:10px;font-style:italic}.card-traits{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.trait-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600;letter-spacing:.02em}.trait-badge.good{background:var(--green-dim);color:var(--green);border:1px solid rgba(0,255,136,.2)}.trait-badge.bad{background:var(--red-dim);color:var(--red);border:1px solid rgba(255,107,107,.2)}.trait-badge.neutral{background:#ffffff0d;color:var(--text-secondary);border:1px solid var(--border-subtle)}.trait-badge.flavor,.char-trait-tag.flavor{font-style:italic;opacity:.6;border-style:dashed}.skill-bars{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}.skill-bar{display:flex;align-items:center;gap:6px}.skill-bar-label{font-size:10px;font-weight:600;color:var(--text-muted);width:50px;text-transform:uppercase;letter-spacing:.04em}.skill-bar-track{flex:1;height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden}.skill-bar-fill{height:100%;border-radius:3px;transition:width .5s ease-out}.skill-bar-fill.green{background:var(--green)}.skill-bar-fill.amber{background:var(--amber)}.skill-bar-fill.red{background:var(--red)}.skill-bar-value{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--text-muted);width:20px;text-align:right}.card-actions{display:flex;gap:6px;margin-top:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 14px;border-radius:var(--radius-sm);font-family:var(--font-main);font-weight:600;font-size:12px;cursor:pointer;transition:all .2s ease;border:1px solid transparent;-webkit-user-select:none;user-select:none}.btn-primary{background:var(--cyan);color:var(--bg-primary);border-color:var(--cyan)}.btn-primary:hover{background:#3df;box-shadow:var(--cyan-glow);transform:translateY(-1px)}.btn-green{background:var(--green);color:var(--bg-primary);border-color:var(--green)}.btn-green:hover{box-shadow:var(--green-glow);transform:translateY(-1px)}.btn-ghost{background:transparent;border:1px solid var(--border-medium);color:var(--text-secondary)}.btn-ghost:hover{background:#ffffff0d;border-color:var(--border-bright);color:var(--text-primary)}.btn-danger{background:transparent;border:1px solid rgba(255,107,107,.3);color:var(--red)}.btn-danger:hover{background:var(--red-dim);border-color:var(--red);box-shadow:var(--red-glow)}.btn:disabled{opacity:.35;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-block{width:100%}.feature-card{background:#ffffff05;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:8px;transition:all .2s ease}.feature-card:hover{background:#ffffff0a;border-color:var(--border-medium)}.feature-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.feature-card-name{font-weight:700;font-size:13px;color:var(--text-primary)}.feature-card-impact{font-family:var(--font-mono);font-weight:700;font-size:12px;color:var(--green)}.feature-card-desc{font-size:11px;color:var(--text-muted);margin-bottom:6px;line-height:1.3}.feature-card-meta{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--text-muted);margin-bottom:8px}.feature-card-meta span{display:inline-flex;align-items:center;gap:3px}.feature-progress{height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden;margin-top:8px}.feature-progress-fill{height:100%;background:var(--cyan);border-radius:3px;transition:width .3s ease-out}.feature-assigned{font-size:11px;color:var(--cyan);margin-top:4px}.feature-card.complete{opacity:.6;border-color:var(--border-subtle)}.feature-card.complete .feature-card-name:after{content:" ✓";color:var(--green)}.feature-card.locked{opacity:.35;border-color:var(--border-subtle);pointer-events:none}.feature-card-requires{font-size:10px;color:var(--text-muted);font-style:italic;margin-top:4px;padding:4px 6px;background:#ffffff05;border-radius:var(--radius-sm, 4px)}.feature-card.mvp{border-color:var(--cyan);background:#00d4ff0d}.mvp-label{font-size:11px;font-weight:700;color:var(--cyan);margin-bottom:6px;letter-spacing:1px}.category-badge{font-size:9px;font-weight:700;padding:1px 6px;border-radius:8px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.category-core{background:#4488ff26;color:#48f}.category-growth{background:#00cc8826;color:#0c8}.category-monetization{background:#ffb34726;color:#ffb347}.category-platform{background:#aa66ff26;color:#a6f}.category-vanity{background:#ff6b9d26;color:#ff6b9d}.vc-stage{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;background:var(--purple-dim);color:var(--purple);border:1px solid rgba(201,160,255,.25);margin-bottom:16px}.vc-card{background:#ffffff08;border:1px solid var(--border-medium);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px;animation:popIn .3s ease-out}.vc-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.vc-emoji{font-size:36px;line-height:1}.vc-name{font-weight:800;font-size:16px;color:var(--text-primary)}.vc-firm{font-size:12px;color:var(--text-secondary)}.vc-offer{display:flex;gap:16px;padding:12px;background:#ffffff08;border-radius:var(--radius-md);margin-bottom:16px}.vc-offer-item{text-align:center}.vc-offer-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.vc-offer-value{font-family:var(--font-mono);font-weight:700;font-size:18px;color:var(--green)}.vc-offer-value.red{color:var(--red)}.vc-question{font-weight:600;font-size:14px;color:var(--text-primary);margin-bottom:12px;line-height:1.4}.vc-answer-btn{display:block;width:100%;text-align:left;padding:10px 14px;margin-bottom:6px;border-radius:var(--radius-md);border:1px solid var(--border-medium);background:#ffffff05;color:var(--text-primary);font-family:var(--font-main);font-size:13px;line-height:1.3;cursor:pointer;transition:all .2s ease}.vc-answer-btn:hover{background:#ffffff0f;border-color:var(--cyan);transform:translate(4px)}.vc-result{padding:16px;border-radius:var(--radius-md);text-align:center;margin-top:12px;animation:popIn .4s ease-out}.vc-result.success{background:var(--green-dim);border:1px solid rgba(0,255,136,.3)}.vc-result.fail{background:var(--red-dim);border:1px solid rgba(255,107,107,.3)}.vc-result-title{font-weight:800;font-size:18px;margin-bottom:4px}.vc-result.success .vc-result-title{color:var(--green)}.vc-result.fail .vc-result-title{color:var(--red)}.vc-result-text{font-size:13px;color:var(--text-secondary)}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.metrics-card{padding:12px;border-radius:var(--radius-md);background:#ffffff08;border:1px solid var(--border-subtle);text-align:center}.metrics-card-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:2px}.metrics-card-value{font-family:var(--font-mono);font-weight:700;font-size:20px;color:var(--text-primary)}.chart-container{margin-bottom:20px}.chart-title{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}.chart-bars{display:flex;align-items:flex-end;gap:2px;height:80px;padding:0 4px;border-bottom:1px solid var(--border-subtle)}.chart-bar{flex:1;border-radius:2px 2px 0 0;min-height:2px;transition:height .3s ease-out}.chart-bar.cyan{background:var(--cyan);opacity:.7}.chart-bar.green{background:var(--green);opacity:.7}.chart-bar.amber{background:var(--amber);opacity:.7}.chart-bar.red{background:var(--red)}.chart-bar.positive{background:var(--green);opacity:.7}.chart-bar.negative{background:var(--red);opacity:.7}.metrics-footer{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-subtle)}.metrics-footer-item{display:flex;justify-content:space-between;font-size:12px}.metrics-footer-label{color:var(--text-muted)}.metrics-footer-value{font-family:var(--font-mono);font-weight:700;color:var(--text-secondary)}.modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:500;animation:fadeIn .3s ease-out}.modal-card{width:480px;max-width:90%;max-height:80vh;overflow-y:auto;background:var(--bg-secondary);border:1px solid rgba(255,179,71,.3);border-radius:var(--radius-xl);padding:28px;box-shadow:0 20px 60px #00000080,var(--amber-glow);animation:popIn .4s ease-out}.modal-title{font-weight:900;font-size:22px;margin-bottom:12px;color:var(--amber);letter-spacing:-.02em}.modal-text{font-size:14px;line-height:1.6;color:var(--text-secondary);margin-bottom:20px}.modal-choices{display:flex;flex-direction:column;gap:8px}.modal-choice-btn{display:block;width:100%;text-align:left;padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--border-medium);background:#ffffff08;color:var(--text-primary);font-family:var(--font-main);font-size:13px;font-weight:500;line-height:1.4;cursor:pointer;transition:all .2s ease}.modal-choice-btn:hover{background:var(--amber-dim);border-color:var(--amber);transform:translate(4px);box-shadow:var(--amber-glow)}.start-screen{position:fixed;inset:0;background:var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .5s ease-out}.start-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(0,212,255,.08) 0%,transparent 60%),radial-gradient(ellipse at 70% 80%,rgba(201,160,255,.06) 0%,transparent 60%),radial-gradient(ellipse at 50% 50%,rgba(0,255,136,.04) 0%,transparent 60%);pointer-events:none}.start-screen:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,212,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.03) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.start-content{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center}.start-fire{font-size:56px;margin-bottom:8px;animation:pulse 2s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(255,107,107,.4));line-height:1}.start-title{font-weight:900;font-size:64px;letter-spacing:4px;background:linear-gradient(135deg,#00d4ff,#c9a0ff,#0f8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px;line-height:1}.start-subtitle{font-weight:400;font-size:16px;color:#ffffff73;letter-spacing:6px;text-transform:uppercase;margin-bottom:12px}.start-tagline{font-size:18px;font-weight:600;color:#ffffffb3;letter-spacing:.5px;margin-bottom:36px}.start-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 36px;border-radius:var(--radius-lg);border:2px solid var(--cyan);background:#00d4ff1a;color:var(--cyan);font-family:var(--font-main);font-weight:800;font-size:18px;letter-spacing:.02em;cursor:pointer;transition:all .3s ease;animation:glowPulse 2s ease-in-out infinite}.start-btn:hover{background:#00d4ff33;box-shadow:0 0 40px #00d4ff66;transform:translateY(-2px)}.start-btn:active{transform:translateY(0)}.start-tips{margin-top:48px;text-align:left;max-width:400px}.start-tips-title{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:12px}.start-tip{font-size:13px;color:var(--text-secondary);padding:4px 0;display:flex;align-items:flex-start;gap:8px;line-height:1.4}.start-tip:before{content:"▸";color:var(--cyan);flex-shrink:0}.mode-selection{display:flex;gap:16px;margin:28px 0 24px;width:100%;max-width:520px}.mode-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 20px 24px;background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:var(--radius-lg);cursor:pointer;transition:all .25s ease;text-align:center;font-family:var(--font-main)}.mode-btn:hover{transform:translateY(-3px);border-color:var(--border-bright)}.mode-btn.quick:hover{border-color:#ffb34766;box-shadow:0 8px 32px #ffb3471f,0 0 0 1px #ffb3471a;background:linear-gradient(170deg,var(--bg-tertiary) 0%,rgba(255,179,71,.05) 100%)}.mode-btn.full:hover{border-color:#00d4ff66;box-shadow:0 8px 32px #00d4ff1f,0 0 0 1px #00d4ff1a;background:linear-gradient(170deg,var(--bg-tertiary) 0%,rgba(0,212,255,.05) 100%)}.mode-btn-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;margin-bottom:4px}.mode-btn.quick .mode-btn-icon{background:linear-gradient(135deg,#ffb34726,#ff6b6b1a);color:var(--amber)}.mode-btn.full .mode-btn-icon{background:linear-gradient(135deg,#00d4ff26,#c9a0ff1a);color:var(--cyan)}.mode-btn-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.mode-btn-features{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.mode-btn-features span{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;font-weight:600;color:var(--text-muted);background:#ffffff0a;padding:3px 8px;border-radius:20px}.mode-btn-desc{font-size:.78rem;color:var(--text-secondary);line-height:1.4}.mode-btn.sandbox:hover{border-color:#0f86;box-shadow:0 8px 32px #00ff881f,0 0 0 1px #00ff881a;background:linear-gradient(170deg,var(--bg-tertiary) 0%,rgba(0,255,136,.05) 100%)}.mode-btn.sandbox .mode-btn-icon{background:linear-gradient(135deg,#00ff8826,#ffb3471a);color:var(--green)}.sandbox-playtest-banner{position:fixed;left:50%;bottom:74px;transform:translate(-50%);width:min(880px,calc(100vw - 32px));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:linear-gradient(135deg,#00d4ff29,#00ff881a),var(--bg-secondary);border:1px solid rgba(0,212,255,.35);border-radius:14px;box-shadow:0 14px 36px #00000052;z-index:101}.sandbox-playtest-copy{display:flex;flex-direction:column;gap:4px}.sandbox-playtest-copy strong{color:var(--text-primary);font-size:.95rem}.sandbox-playtest-copy span{color:var(--text-secondary);font-size:.84rem;line-height:1.4}.sandbox-playtest-guide{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.sandbox-playtest-guide-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#090e16ad;color:#ebf2ffe0;font-size:.76rem;font-weight:700;letter-spacing:.01em}.sandbox-playtest-guide-chip.target{border-color:#00d4ff66;background:#00d4ff24;color:#dffbff}.sandbox-playtest-guide-chip.searching{border-color:#ffd1666b;background:#ffb15a29;color:#fff2cd}.sandbox-playtest-guide-chip.align,.sandbox-playtest-guide-chip.warning{border-color:#ffb3477a;background:#ffb34729;color:#fff0cb}.sandbox-playtest-guide-chip.candidate{border-color:#ffd6666b;background:#ffd66624;color:#fff7d4}.sandbox-playtest-guide-chip.locked,.sandbox-playtest-guide-chip.success{border-color:#7fe7ff75;background:#33d1ff29;color:#dffbff}.sandbox-playtest-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.sandbox-playtest-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid rgba(0,212,255,.45);border-radius:10px;background:#00d4ff1f;color:var(--cyan);font-weight:700;cursor:pointer;transition:all .18s ease;white-space:nowrap}.sandbox-playtest-btn:hover{background:#00d4ff33;border-color:#00d4ffb3}.sandbox-playtest-btn.secondary{border-color:#ffe07a66;background:#ffe07a1f;color:#fff0bf}.sandbox-playtest-btn.secondary:hover{background:#ffe07a2e;border-color:#ffe07a9e}.sandbox-toolbar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:8px;padding:12px;background:var(--bg-secondary);border-top:1px solid var(--border);z-index:100}@media(max-width:720px){.sandbox-playtest-banner{bottom:82px;flex-direction:column;align-items:stretch}.sandbox-playtest-actions{justify-content:stretch}.sandbox-playtest-btn{width:100%}}.sandbox-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s ease}.sandbox-btn:hover{background:var(--bg-primary);border-color:var(--cyan)}.sandbox-btn.active{background:#00d4ff1a;border-color:var(--cyan);color:var(--cyan)}.sandbox-btn.exit{color:var(--text-secondary)}.sandbox-btn.exit:hover{color:var(--red);border-color:var(--red)}.sandbox-dropdown{position:relative;display:inline-block}.sandbox-dropdown-menu{display:flex;flex-direction:column;gap:2px;position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:4px;margin-bottom:4px;min-width:180px;z-index:100;box-shadow:0 4px 12px #0000004d}.sandbox-window-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:transparent;border:none;color:var(--text-primary);font-size:.8rem;cursor:pointer;border-radius:4px;white-space:nowrap}.sandbox-window-item:hover{background:#00d4ff1a}.sandbox-window-cost{margin-left:auto;color:var(--text-secondary);font-size:.7rem}.debug-panel-title{padding:4px 10px;font-size:10px;color:#888;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.debug-panel-toggles{display:flex;flex-direction:column;gap:2px}.debug-toggle{display:flex;align-items:center;gap:8px;padding:6px 10px;background:transparent;border:none;color:var(--text-primary);font-size:.8rem;cursor:pointer;border-radius:4px;white-space:nowrap}.debug-toggle:hover{background:#00d4ff1a}.debug-toggle.active{color:var(--cyan)}.debug-toggle-icon{font-size:.9rem}.debug-toggle-indicator{margin-left:auto;width:8px;height:8px;border-radius:50%;background:var(--text-secondary);opacity:.3;transition:all .15s ease}.debug-toggle-indicator.on{background:var(--cyan);opacity:1;box-shadow:0 0 6px var(--cyan)}.paint-grid{display:flex;flex-wrap:wrap;gap:8px;padding:6px 0}.paint-swatch{width:36px;height:36px;border-radius:50%;border:2px solid rgba(255,255,255,.15);cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.paint-swatch:hover{transform:scale(1.15);border-color:#fff6}.paint-swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),0 0 8px #00d4ff4d;transform:scale(1.1)}.paint-swatch-inline{display:inline-block;width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,.3);margin-right:6px;vertical-align:middle}.sandbox-window-item.active{background:#00d4ff26;color:var(--accent)}.end-quick-score{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0;padding:16px 24px;background:linear-gradient(135deg,#00ff8814,#00d4ff14);border:1px solid rgba(0,255,136,.15);border-radius:var(--radius-md);color:var(--amber)}.quick-score-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.quick-score-value{font-size:1.8rem;font-weight:800;color:var(--green);font-family:var(--font-mono);letter-spacing:-.02em}.onboarding-overlay{position:fixed;inset:0;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.onboarding-overlay:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(0,212,255,.08) 0%,transparent 60%),radial-gradient(ellipse at 70% 80%,rgba(201,160,255,.06) 0%,transparent 60%);pointer-events:none}.onboarding-card{position:relative;z-index:1;width:560px;max-width:92vw;max-height:90vh;overflow-y:auto;background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--border-medium);border-radius:var(--radius-xl);padding:32px;box-shadow:0 20px 60px #00000080}.onboarding-progress{display:flex;justify-content:center;gap:8px;margin-bottom:28px}.onboarding-dot{width:8px;height:8px;border-radius:50%;background:var(--border-subtle);transition:all .3s ease}.onboarding-dot.active{background:var(--cyan)}.onboarding-dot.current{width:24px;border-radius:4px;background:var(--cyan);box-shadow:0 0 12px #00d4ff66}.onboarding-step{text-align:center;animation:fadeIn .3s ease-out}.onboarding-icon{color:var(--cyan);margin-bottom:8px;filter:drop-shadow(0 0 12px rgba(0,212,255,.3))}.onboarding-title{font-size:24px;font-weight:900;color:var(--text-primary);margin-bottom:4px;letter-spacing:-.02em}.onboarding-subtitle{font-size:13px;color:var(--text-muted);font-style:italic;margin-bottom:24px}.onboarding-input{width:100%;max-width:320px;padding:12px 16px;background:#ffffff0a;border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-main);font-size:16px;font-weight:600;text-align:center;outline:none;transition:all .2s}.onboarding-input:focus{border-color:var(--cyan);box-shadow:0 0 20px #00d4ff26}.onboarding-input.small{max-width:200px;font-size:14px;padding:8px 12px}.onboarding-input::placeholder{color:var(--text-muted);font-weight:400}.onboarding-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.onboarding-name-grid>:last-child:nth-child(odd){grid-column:1 / -1}.onboarding-name-card{text-align:left;padding:12px 14px;background:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;color:var(--text-primary);font-family:var(--font-main)}.onboarding-name-card:hover{background:#00d4ff0f;border-color:#00d4ff4d;transform:translateY(-1px)}.onboarding-name-card.selected{background:#00d4ff1a;border-color:var(--cyan);box-shadow:0 0 20px #00d4ff26}.onboarding-name-card-name{font-size:16px;font-weight:800;margin-bottom:2px}.onboarding-name-card-tagline{font-size:11px;color:var(--cyan);font-weight:600;margin-bottom:4px}.onboarding-name-card-quip{font-size:10px;color:var(--text-muted);font-style:italic}.onboarding-shuffle-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-main);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:16px}.onboarding-shuffle-btn:hover{border-color:var(--cyan);color:var(--cyan)}.onboarding-custom-name{display:flex;align-items:center;justify-content:center;gap:8px}.onboarding-custom-label{font-size:12px;color:var(--text-muted);white-space:nowrap}.onboarding-options{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.onboarding-option{text-align:left;padding:14px 16px;background:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;color:var(--text-primary);font-family:var(--font-main)}.onboarding-option:hover:not(.disabled){background:#00d4ff0f;border-color:#00d4ff4d;transform:translate(4px)}.onboarding-option.selected{background:#00d4ff1a;border-color:var(--cyan);box-shadow:0 0 20px #00d4ff26}.onboarding-option.disabled{opacity:.4;cursor:not-allowed}.onboarding-option-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.onboarding-option-emoji{font-size:20px}.onboarding-option-label{font-weight:800;font-size:15px;flex:1}.onboarding-option-cash{font-weight:700;font-size:14px;color:var(--green);font-family:var(--font-mono)}.onboarding-option-flavor{font-size:12px;color:var(--text-secondary);margin-bottom:8px;line-height:1.4}.onboarding-option-stats{display:flex;flex-wrap:wrap;gap:6px}.stat-tag{display:inline-block;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600}.stat-tag.morale{background:#00ff881a;color:var(--green);border:1px solid rgba(0,255,136,.2)}.stat-tag.valuation{background:#00d4ff1a;color:var(--cyan);border:1px solid rgba(0,212,255,.2)}.stat-tag.debt{background:#ff6b6b1a;color:var(--red);border:1px solid rgba(255,107,107,.2)}.stat-tag.desks{background:#ffb3471a;color:var(--amber);border:1px solid rgba(255,179,71,.2)}.stat-tag.items{background:#ffffff0d;color:var(--text-secondary);border:1px solid var(--border-subtle)}.onboarding-option-disabled{font-size:11px;color:var(--red);margin-top:6px;font-weight:600}.onboarding-auth-section{margin-top:16px;display:flex;flex-direction:column;align-items:center;gap:12px}.onboarding-auth-divider{width:100%;display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.onboarding-auth-divider:before,.onboarding-auth-divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.onboarding-google-btn{display:flex;align-items:center;gap:8px;padding:10px 24px;border-radius:var(--radius-md);background:#ffffff0f;border:1px solid var(--border-medium);color:var(--text-primary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.onboarding-google-btn:hover{background:#ffffff1a;border-color:var(--cyan);color:var(--cyan)}.onboarding-signed-in{margin-top:12px;font-size:.8rem;color:var(--text-muted)}.onboarding-signed-in strong{color:var(--green)}.onboarding-google-inline{display:flex;justify-content:center;margin-top:4px;min-height:44px;opacity:0;transition:opacity .3s ease}.onboarding-google-inline.ready{opacity:1}.onboarding-signing-in{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;font-size:.85rem;color:var(--text-muted)}.onboarding-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:16px;border-top:1px solid var(--border-subtle)}.onboarding-back-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-main);font-weight:600;font-size:13px;cursor:pointer;transition:all .2s}.onboarding-back-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.onboarding-next-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 28px;background:#00d4ff1a;border:2px solid var(--cyan);border-radius:var(--radius-md);color:var(--cyan);font-family:var(--font-main);font-weight:800;font-size:15px;cursor:pointer;transition:all .3s}.onboarding-next-btn:hover:not(:disabled){background:#00d4ff33;box-shadow:0 0 30px #00d4ff4d;transform:translateY(-1px)}.onboarding-next-btn:disabled{opacity:.3;cursor:not-allowed}.onboarding-next-btn.launch{background:#00ff881a;border-color:var(--green);color:var(--green);font-size:18px;padding:12px 36px;animation:glowPulse 2s ease-in-out infinite}.onboarding-next-btn.launch:hover:not(:disabled){background:#0f83;box-shadow:0 0 40px #0f86}.end-screen{position:fixed;inset:0;background:#000000d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:900;animation:fadeIn .5s ease-out}.end-card{text-align:center;max-width:520px;padding:40px;animation:popIn .5s ease-out;position:relative}.end-title{font-weight:900;font-size:42px;letter-spacing:-.03em;margin-bottom:8px}.end-title.win{color:var(--green);text-shadow:0 0 30px rgba(0,255,136,.4)}.end-title.lose{color:var(--red);text-shadow:0 0 30px rgba(255,107,107,.4);animation:pulse 1.5s ease-in-out infinite}.end-founder{font-size:12px;color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;margin-bottom:4px}.end-subtitle{font-size:16px;color:var(--text-secondary);margin-bottom:32px;line-height:1.4}.end-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:32px}.end-stat{padding:12px;border-radius:var(--radius-md);background:#ffffff0a;border:1px solid var(--border-subtle)}.end-stat-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:2px}.end-stat-value{font-family:var(--font-mono);font-weight:700;font-size:18px;color:var(--text-primary)}.end-quip{font-style:italic;font-size:14px;color:var(--text-muted);margin-bottom:32px;line-height:1.4}.end-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 32px;border-radius:var(--radius-lg);border:2px solid var(--cyan);background:#00d4ff1a;color:var(--cyan);font-family:var(--font-main);font-weight:800;font-size:16px;cursor:pointer;transition:all .3s ease}.end-btn:hover{background:#00d4ff33;box-shadow:0 0 40px #00d4ff66;transform:translateY(-2px)}.end-signin-cta{display:flex;flex-direction:column;align-items:center;gap:12px;margin:20px 0;padding:20px 24px;background:linear-gradient(135deg,#00d4ff0f,#c9a0ff0f);border:1px solid rgba(0,212,255,.2);border-radius:var(--radius-lg);animation:popIn .5s ease-out .3s both}.end-signin-icon{color:var(--cyan)}.end-signin-text{font-size:.9rem;color:var(--text-secondary);line-height:1.5;max-width:340px}.confetti-container{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti{position:absolute;width:8px;height:8px;border-radius:2px;animation:confettiFall linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes panelReveal{0%{opacity:0;box-shadow:-2px 0 18px #0000002e}to{opacity:1;box-shadow:-10px 0 40px #00000080}}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #00d4ff33}50%{box-shadow:0 0 40px #00d4ff66}}@keyframes confettiFall{0%{transform:translateY(-10vh) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:0}}.build-mode-bar{position:fixed;top:0;left:0;right:0;min-height:42px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;background:#00d4ff14;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,212,255,.3);z-index:300;animation:fadeIn .25s ease-out;box-shadow:0 2px 20px #00d4ff26;padding:8px 16px}.build-mode-bar.searching{background:#ffd1661a;border-bottom-color:#ffd16673;box-shadow:0 2px 22px #ffd1662e}.build-mode-bar.align{background:#ffb3472e;border-bottom-color:#ffb347b8;box-shadow:0 2px 34px #ffb34757}.build-mode-bar.candidate{background:#ffd16621;border-bottom-color:#ffd1668c;box-shadow:0 2px 24px #ffd16638}.build-mode-bar.blocked{background:#ff88441f;border-bottom-color:#ff88448c;box-shadow:0 2px 24px #f843}.build-mode-bar.locked{background:#33d1ff29;border-bottom-color:#33d1ff94;box-shadow:0 2px 28px #33d1ff47}.build-mode-bar-icon{font-size:20px;line-height:1}.build-mode-bar-text{font-family:var(--font-main);font-weight:600;font-size:13px;color:var(--cyan);letter-spacing:-.01em}.build-mode-bar-text strong{font-weight:800;color:#fff}.build-mode-bar-hint{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);padding-left:10px;border-left:1px solid rgba(255,255,255,.1);max-width:min(460px,42vw);line-height:1.35}.build-mode-bar-status{display:inline-flex;align-items:center;min-height:24px;padding:4px 10px;border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.01em;border:1px solid rgba(255,255,255,.14);background:#ffffff0f}.build-mode-bar-status.searching,.build-mode-bar-status.align,.build-mode-bar-status.candidate{color:#ffe2a3;border-color:#ffd16666;background:#ffd1661f}.build-mode-bar-status.engaged{box-shadow:0 0 18px #ffd1662e}.build-mode-bar-status.found{border-color:#ffe88ac2;background:#ffdc7a2e;box-shadow:0 0 24px #ffd1663d;animation:buildAttachFoundPulse .68s ease-in-out infinite}.build-mode-bar-status.align{color:#fff0b6;border-color:#ffb3479e;background:#ffb34733;box-shadow:0 0 22px #ffb34738}.build-mode-bar-status.candidate,.build-mode-bar-status.armed{color:#dffaff;border-color:#7ee7ff8f;background:linear-gradient(90deg,#ffd1662e,#00d4ff29);box-shadow:0 0 24px #00d4ff33;animation:buildAttachCandidatePulse .7s ease-in-out infinite}.build-mode-bar-status.rotation-gated{box-shadow:0 0 26px #ffb34747;animation:buildAttachAlignPulse .82s ease-in-out infinite}.build-mode-bar-status.blocked{color:#ffc099;border-color:#f846;background:#ff884424}.build-mode-bar-status.locked{color:#baf2ff;border-color:#33d1ff73;background:#33d1ff26;box-shadow:0 0 16px #33d1ff29;animation:buildAttachLockedPulse .75s ease-in-out infinite}.build-mode-bar-status.transition-found,.build-attach-tracker.transition-found,.build-attach-callout.transition-found{animation:buildAttachTrackerIn .14s ease-out,buildAttachFoundBurst .58s ease-out}.build-mode-bar-status.transition-autoface,.build-attach-tracker.transition-autoface,.build-attach-callout.transition-autoface{animation:buildAttachTrackerIn .14s ease-out,buildAttachArmedBurst .74s ease-out}.build-mode-bar-status.transition-rotate,.build-attach-tracker.transition-rotate,.build-attach-callout.transition-rotate{animation:buildAttachTrackerIn .14s ease-out,buildAttachAlignPulse .78s ease-in-out 2}.build-mode-bar-status.transition-armed,.build-attach-tracker.transition-armed,.build-attach-callout.transition-armed{animation:buildAttachTrackerIn .14s ease-out,buildAttachArmedBurst .62s ease-out}.build-mode-bar-status.transition-locked,.build-attach-tracker.transition-locked,.build-attach-callout.transition-locked{animation:buildAttachTrackerIn .14s ease-out,buildAttachLockBurst .74s ease-out}.build-attach-banner{position:fixed;top:56px;left:50%;z-index:285;transform:translate(-50%);width:min(420px,calc(100vw - 24px));display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at top,rgba(255,209,102,.16),transparent 58%),#090e1cf5;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 40px #0000005c;pointer-events:none;animation:buildAttachTrackerIn .16s ease-out}.build-attach-banner.searching{border-color:#ffe88ab8;box-shadow:0 18px 40px #0000005c,0 0 42px #ffd16647}.build-attach-banner.align,.build-attach-banner.rotation-gated{border-color:#ffc469c7;box-shadow:0 18px 40px #0000005c,0 0 48px #ffb34752}.build-attach-banner.candidate{border-color:#7ee7ff94;box-shadow:0 18px 40px #0000005c,0 0 44px #7ee7ff3d}.build-attach-banner.locked{border-color:#00d4ff9e;box-shadow:0 18px 40px #0000005c,0 0 52px #00d4ff47}.build-attach-banner.blocked{border-color:#ff6b6b85;box-shadow:0 18px 40px #0000005c,0 0 36px #ff6b6b33}.build-attach-banner-kicker{font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}.build-attach-banner strong{font-size:17px;line-height:1.15;color:#fff7da}.build-attach-banner-body{font-size:12px;line-height:1.45;color:var(--text-primary)}.build-attach-banner-meta{display:flex;flex-wrap:wrap;gap:8px}.build-attach-banner-actions{display:flex;flex-wrap:wrap;gap:8px;pointer-events:auto}.build-attach-banner-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--text-primary);font-size:11px;font-weight:800}.build-attach-banner-chip.target{border-color:#ffe07a4d;background:#ffe07a1f;color:#fff0bf}.build-attach-banner-chip.warning{border-color:#ffb3476b;background:#ffb34726;color:#ffe5b5}.build-attach-banner-chip.success{border-color:#7fffb561;background:#7fffb51f;color:#d7ffe9}.build-attach-tracker{position:fixed;z-index:275;width:min(228px,calc(100vw - 24px));display:flex;flex-direction:column;gap:6px;padding:9px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at top,rgba(255,209,102,.14),transparent 58%),#090e1cf5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 14px 34px #00000057;pointer-events:auto;transform-origin:center bottom;animation:buildAttachTrackerIn .14s ease-out}.build-attach-reticle{position:fixed;z-index:290;width:0;height:0;pointer-events:none;transform:translateZ(0)}.build-attach-reticle-pulse,.build-attach-reticle-ring,.build-attach-reticle-core,.build-attach-reticle-vector,.build-attach-reticle-vector-head,.build-attach-reticle-capture-chip,.build-attach-reticle-transition,.build-attach-reticle-progress,.build-attach-reticle-compass,.build-attach-reticle-instruction,.build-attach-reticle-label,.build-attach-reticle-target,.build-attach-reticle-turns{position:absolute;pointer-events:none}.build-attach-reticle-vector{left:10px;top:0;width:var(--attach-vector-length, 0px);height:12px;border-radius:999px;transform-origin:left center;transform:translateY(-50%) rotate(var(--attach-vector-rotation, 0deg));border:1px solid rgba(255,224,122,.3);background:linear-gradient(90deg,#ffe07a05,#ffe07a38 38%,#7ee7ff66),radial-gradient(circle at 100% 50%,#7ee7ff57,#7ee7ff00);box-shadow:0 0 22px #ffd1662e;opacity:.92}.build-attach-reticle-vector-head{left:calc(var(--attach-vector-length, 0px) + 6px);top:0;width:20px;height:20px;border-radius:999px;transform-origin:-16px center;transform:translate(-50%,-50%) rotate(var(--attach-vector-rotation, 0deg));border:2px solid rgba(255,232,138,.84);background:radial-gradient(circle,#ffe88a47,#ffe88a00);box-shadow:0 0 26px #ffe88a42}.build-attach-reticle-pulse{left:-28px;top:-28px;width:56px;height:56px;border-radius:999px;border:1px solid rgba(255,209,102,.28);background:radial-gradient(circle,#ffd16624,#ffd16600);animation:buildAttachReticlePulse .8s ease-in-out infinite}.build-attach-reticle-ring{left:-18px;top:-18px;width:36px;height:36px;border-radius:999px;border:2px solid rgba(255,224,122,.8);box-shadow:0 0 18px #ffd16642;animation:buildAttachReticleSpin 1.2s linear infinite}.build-attach-reticle-core{left:-6px;top:-6px;width:12px;height:12px;border-radius:999px;background:#fff0bf;box-shadow:0 0 14px #ffd166b3}.build-attach-reticle-progress{left:-32px;top:24px;width:64px;height:5px;overflow:hidden;border-radius:999px;background:#0a0f1e70;border:1px solid rgba(255,255,255,.08)}.build-attach-reticle-transition{left:-28px;top:-86px;display:inline-flex;align-items:center;min-height:22px;padding:0 9px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#090e1cf2;box-shadow:0 12px 26px #00000047;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;animation:buildAttachTransitionChip .42s ease-out}.build-attach-reticle-transition.found{border-color:#ffe88a9e;background:#ffdc7a2e;color:#fff0b6}.build-attach-reticle-transition.autoface{border-color:#7ee7ff9e;background:linear-gradient(90deg,#ffe07a24,#7ee7ff2e);color:#dffbff}.build-attach-reticle-transition.rotate{border-color:#ffb347a3;background:#ffb3472e;color:#ffe5b5}.build-attach-reticle-transition.armed{border-color:#7ee7ff94;background:linear-gradient(90deg,#ffe07a29,#00d4ff29);color:#dffaff}.build-attach-reticle-transition.locked{border-color:#00d4ff9e;background:#00d4ff33;color:#c9f6ff}.build-attach-reticle-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffb347eb,#00d4fff2);transition:width .12s ease-out}.build-attach-reticle-progress-fill.searching{animation:buildAttachSearchPulse 1.1s ease-in-out infinite}.build-attach-reticle-progress-fill.align{background:linear-gradient(90deg,#ffe07af2,#ff8844f0)}.build-attach-reticle-progress-fill.blocked{background:linear-gradient(90deg,#ff8844eb,#ff6b6bf2)}.build-attach-reticle-progress-fill.locked{background:linear-gradient(90deg,#7ee7fff5,#00d4ff)}.build-attach-reticle-label,.build-attach-reticle-target,.build-attach-reticle-turns{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#090e1ceb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 22px #00000047;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.build-attach-reticle-capture-chip{left:-24px;top:-92px;display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#090e1cf2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 24px #0000004d;color:#fff0bf;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.build-attach-reticle-instruction{left:22px;top:26px;display:inline-flex;align-items:center;min-height:26px;max-width:min(240px,calc(100vw - 70px));padding:0 10px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#090e1cf0;box-shadow:0 12px 26px #00000047;color:#eef8ff;font-size:10px;font-weight:800;letter-spacing:.01em;line-height:1.25;white-space:normal}.build-attach-reticle-instruction.warning{border-color:#ffb34766;background:#ffb34724;color:#ffe5b5}.build-attach-reticle-label{left:22px;top:-32px;color:#fff0bf}.build-attach-reticle-target{left:22px;top:-3px;color:#e7f8ff;text-transform:none;letter-spacing:.01em;font-weight:700}.build-attach-reticle-turns{left:-18px;top:-58px;color:#d7ffe9;border-color:#7fffb557;background:#090e1cf0}.build-attach-reticle-compass{left:22px;top:-66px;display:inline-flex;align-items:center;gap:8px;min-width:max-content}.build-attach-reticle-compass-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#090e1cf0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 22px #00000047}.build-attach-reticle-compass-chip.current{border-color:#ff8b5c80;color:#ffd4bf}.build-attach-reticle-compass-chip.target{border-color:#ffe88a7a;color:#fff0b6}.build-attach-reticle-compass-kicker{font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;opacity:.76}.build-attach-reticle-compass-arrow{font-size:18px;font-weight:900;line-height:1}.build-attach-reticle-compass-heading{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.build-attach-reticle-compass-join{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;border:1px solid rgba(255,179,71,.28);background:#ffb3471f;color:#ffe5b5;box-shadow:0 8px 18px #0000003d;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.build-attach-reticle-compass.warning .build-attach-reticle-compass-chip.current{box-shadow:0 0 0 1px #ff8b5c2e,0 10px 22px #00000047}.build-attach-reticle-compass.warning .build-attach-reticle-compass-chip.target,.build-attach-reticle-compass.warning .build-attach-reticle-compass-join{box-shadow:0 0 0 1px #ffe88a33,0 10px 22px #00000047}.build-attach-reticle-turns.warning{color:#ffe5b5;border-color:#ffb3476b}.build-attach-reticle.searching .build-attach-reticle-ring,.build-attach-reticle.searching .build-attach-reticle-core,.build-attach-reticle.searching .build-attach-reticle-vector,.build-attach-reticle.searching .build-attach-reticle-vector-head,.build-attach-reticle.searching .build-attach-reticle-capture-chip,.build-attach-reticle.searching .build-attach-reticle-label,.build-attach-reticle.searching .build-attach-reticle-instruction{border-color:#ffd166cc;color:#fff0bf}.build-attach-reticle.searching.found .build-attach-reticle-pulse{border-color:#ffe88a94;background:radial-gradient(circle,#ffe88a38,#ffe88a00);transform:scale(1.34);animation-duration:.46s}.build-attach-reticle.searching.found .build-attach-reticle-ring,.build-attach-reticle.searching.found .build-attach-reticle-core{border-color:#ffe88afa;box-shadow:0 0 34px #ffe88a70;transform:scale(1.22)}.build-attach-reticle.searching.found .build-attach-reticle-vector,.build-attach-reticle.searching.found .build-attach-reticle-vector-head,.build-attach-reticle.searching.found .build-attach-reticle-capture-chip{border-color:#ffe88a9e;box-shadow:0 0 36px #ffe88a52}.build-attach-reticle.searching.found .build-attach-reticle-label,.build-attach-reticle.searching.found .build-attach-reticle-target,.build-attach-reticle.searching.found .build-attach-reticle-instruction{border-color:#ffe88a70;box-shadow:0 0 24px #ffd16638}.build-attach-reticle.align .build-attach-reticle-pulse,.build-attach-reticle.rotation-gated .build-attach-reticle-pulse{border-color:#ffb3478a;background:radial-gradient(circle,#ffb34742,#ffb34700)}.build-attach-reticle.align .build-attach-reticle-vector,.build-attach-reticle.rotation-gated .build-attach-reticle-vector{border-color:#ffb347a8;background:linear-gradient(90deg,#ffb34714,#ffb3474d 44%,#ffe07a8a),radial-gradient(circle at 100% 50%,#ffe07a57,#ffe07a00);box-shadow:0 0 28px #ffb3473d}.build-attach-reticle.align .build-attach-reticle-ring,.build-attach-reticle.rotation-gated .build-attach-reticle-ring{border-color:#ffb347fa;box-shadow:0 0 34px #ffb3476b;animation-duration:.56s}.build-attach-reticle.align .build-attach-reticle-vector-head,.build-attach-reticle.rotation-gated .build-attach-reticle-vector-head,.build-attach-reticle.align .build-attach-reticle-capture-chip,.build-attach-reticle.rotation-gated .build-attach-reticle-capture-chip,.build-attach-reticle.align .build-attach-reticle-core,.build-attach-reticle.rotation-gated .build-attach-reticle-core,.build-attach-reticle.align .build-attach-reticle-compass,.build-attach-reticle.rotation-gated .build-attach-reticle-compass,.build-attach-reticle.align .build-attach-reticle-label,.build-attach-reticle.rotation-gated .build-attach-reticle-label,.build-attach-reticle.align .build-attach-reticle-instruction,.build-attach-reticle.rotation-gated .build-attach-reticle-instruction{color:#ffe7bb}.build-attach-reticle.align .build-attach-reticle-capture-chip.warning,.build-attach-reticle.rotation-gated .build-attach-reticle-capture-chip.warning{border-color:#ffb34794;background:#ffb34729;box-shadow:0 0 30px #ffb34738}.build-attach-reticle.candidate .build-attach-reticle-pulse,.build-attach-reticle.armed .build-attach-reticle-pulse{border-color:#7ee7ff80;background:radial-gradient(circle,#7ee7ff38,#7ee7ff00)}.build-attach-reticle.candidate .build-attach-reticle-vector,.build-attach-reticle.armed .build-attach-reticle-vector{border-color:#7ee7ff9e;background:linear-gradient(90deg,#7ee7ff14,#7ee7ff47 44%,#00d4ff8a),radial-gradient(circle at 100% 50%,#00d4ff57,#00d4ff00);box-shadow:0 0 30px #7ee7ff47}.build-attach-reticle.candidate .build-attach-reticle-ring,.build-attach-reticle.armed .build-attach-reticle-ring{border-color:#7ee7fff0;box-shadow:0 0 32px #7ee7ff6b}.build-attach-reticle.candidate .build-attach-reticle-vector-head,.build-attach-reticle.armed .build-attach-reticle-vector-head,.build-attach-reticle.candidate .build-attach-reticle-capture-chip,.build-attach-reticle.armed .build-attach-reticle-capture-chip,.build-attach-reticle.candidate .build-attach-reticle-core,.build-attach-reticle.armed .build-attach-reticle-core,.build-attach-reticle.candidate .build-attach-reticle-compass,.build-attach-reticle.armed .build-attach-reticle-compass,.build-attach-reticle.candidate .build-attach-reticle-label,.build-attach-reticle.armed .build-attach-reticle-label,.build-attach-reticle.candidate .build-attach-reticle-instruction,.build-attach-reticle.armed .build-attach-reticle-instruction{color:#dffaff}.build-attach-reticle.blocked .build-attach-reticle-pulse{border-color:#ff6b6b7a;background:radial-gradient(circle,#ff6b6b38,#ff6b6b00)}.build-attach-reticle.blocked .build-attach-reticle-vector,.build-attach-reticle.blocked .build-attach-reticle-vector-head,.build-attach-reticle.blocked .build-attach-reticle-capture-chip,.build-attach-reticle.blocked .build-attach-reticle-ring,.build-attach-reticle.blocked .build-attach-reticle-core,.build-attach-reticle.blocked .build-attach-reticle-compass,.build-attach-reticle.blocked .build-attach-reticle-label,.build-attach-reticle.blocked .build-attach-reticle-instruction{border-color:#ff8844e6;color:#ffd1af}.build-attach-reticle.locked .build-attach-reticle-pulse{border-color:#00d4ff8f;background:radial-gradient(circle,#00d4ff3d,#00d4ff00)}.build-attach-reticle.locked .build-attach-reticle-vector,.build-attach-reticle.locked .build-attach-reticle-vector-head,.build-attach-reticle.locked .build-attach-reticle-capture-chip,.build-attach-reticle.locked .build-attach-reticle-ring,.build-attach-reticle.locked .build-attach-reticle-core,.build-attach-reticle.locked .build-attach-reticle-compass,.build-attach-reticle.locked .build-attach-reticle-label,.build-attach-reticle.locked .build-attach-reticle-instruction{border-color:#00d4fffa;color:#c9f6ff;box-shadow:0 0 24px #00d4ff57}.build-attach-reticle.transition-found{animation:buildAttachReticleBurst .56s ease-out}.build-attach-reticle.transition-autoface,.build-attach-reticle.transition-rotate{animation:buildAttachReticleBurst .68s ease-out}.build-attach-reticle.transition-armed{animation:buildAttachReticleBurst .6s ease-out}.build-attach-reticle.transition-locked{animation:buildAttachReticleBurst .76s ease-out}.build-attach-transition{display:inline-flex;align-self:flex-start;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;animation:buildAttachTransitionChip .42s ease-out}.build-attach-transition.found{border-color:#ffe88a9e;background:#ffdc7a2e;color:#fff0b6}.build-attach-transition.rotate{border-color:#ffb347a3;background:#ffb3472e;color:#ffe5b5}.build-attach-transition.armed{border-color:#7ee7ff94;background:linear-gradient(90deg,#ffe07a29,#00d4ff29);color:#dffaff}.build-attach-transition.locked{border-color:#00d4ff9e;background:#00d4ff33;color:#c9f6ff}.build-attach-tracker-action{display:flex;align-items:center;min-height:34px;padding:0 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--text-primary);font-size:12px;font-weight:800;letter-spacing:.01em}.build-attach-tracker-action.searching{border-color:#ffd16647;background:#ffd1661a}.build-attach-tracker-action.align,.build-attach-tracker-action.rotation-gated{border-color:#ffb34770;background:#ffb34724;color:#ffe7bb}.build-attach-tracker-action.candidate{border-color:#7ee7ff6b;background:linear-gradient(90deg,#ffe07a24,#00d4ff24);color:#ddf9ff;box-shadow:inset 0 0 0 1px #7ee7ff14}.build-attach-tracker-action.blocked{border-color:#ff884461;background:#ff884424;color:#ffd5b8}.build-attach-tracker-action.locked{border-color:#00d4ff6b;background:#00d4ff24;color:#cef6ff}.build-attach-tracker.align{border-color:#ffb34799;box-shadow:0 14px 34px #00000057,0 0 30px #ffb34738;animation:buildAttachTrackerIn .14s ease-out,buildAttachAlignPulse .82s ease-in-out infinite}.build-attach-tracker.rotation-gated{border-color:#ffc469c7;box-shadow:0 14px 34px #00000057,0 0 52px #ffb34761}.build-attach-tracker.searching{border-color:#ffd16670;box-shadow:0 14px 34px #00000057,0 0 22px #ffd1662e}.build-attach-tracker.searching.found{border-color:#ffe88ac7;box-shadow:0 14px 34px #00000057,0 0 58px #ffd16675;animation:buildAttachTrackerIn .14s ease-out,buildAttachFoundPulse .56s ease-in-out infinite}.build-attach-tracker.candidate{border-color:#ffd1667a;box-shadow:0 14px 34px #00000057,0 0 34px #7ee7ff4d;animation:buildAttachTrackerIn .14s ease-out,buildAttachCandidatePulse .58s ease-in-out infinite}.build-attach-tracker.engaged{background:radial-gradient(circle at top,rgba(255,220,122,.2),transparent 56%),#090e1cf5}.build-attach-tracker.blocked{border-color:#ff6b6b80;box-shadow:0 14px 34px #00000057,0 0 22px #ff6b6b2e}.build-attach-tracker.locked{border-color:#00d4ff8f;box-shadow:0 14px 34px #00000057,0 0 26px #00d4ff3d}.build-attach-tracker-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.build-attach-tracker-stage{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}.build-attach-tracker-turns{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;border:1px solid rgba(127,255,181,.34);background:#7fffb51f;color:#d7ffe9;font-size:10px;font-weight:800}.build-attach-tracker-turns.warning{border-color:#ffb3476b;background:#ffb34724;color:#ffe5b5}.build-attach-tracker-target{font-size:12px;line-height:1.3;color:var(--text-primary)}.build-attach-command{display:flex;align-items:center;gap:8px;min-height:36px;padding:8px 10px;border-radius:11px;border:1px solid rgba(255,179,71,.34);background:linear-gradient(90deg,#ffb3472e,#ffe07a14);color:#ffe9bc;font-size:11px;font-weight:700;line-height:1.35;box-shadow:inset 0 0 0 1px #ffd1660f}.build-attach-command.callout{min-height:34px;padding:7px 10px}.build-attach-command.banner{min-height:36px;padding:8px 10px;background:linear-gradient(90deg,#ffb34733,#ffe07a1a)}.build-attach-helper-btn{display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 10px;border:1px solid rgba(255,224,122,.34);border-radius:11px;background:linear-gradient(90deg,#ffe07a24,#ffb34714);color:#fff0bf;font-size:11px;font-weight:800;line-height:1.35;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;box-shadow:inset 0 0 0 1px #ffd1660f}.build-attach-helper-btn:hover{border-color:#ffe07a99;background:linear-gradient(90deg,#ffe07a33,#ffb3471f);box-shadow:inset 0 0 0 1px #ffe07a14,0 0 22px #ffc46924;transform:translateY(-1px)}.build-attach-helper-btn.banner{min-height:36px;background:linear-gradient(90deg,#ffe07a2e,#ffb3471f)}.build-attach-helper-btn.banner.rotate{background:linear-gradient(90deg,#ffb34738,#ffe07a1f)}.build-attach-command-key{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:9px;border:1px solid rgba(255,224,122,.45);background:#0a0f1ebd;color:#fff3c6;font-size:12px;font-weight:900;letter-spacing:.08em;box-shadow:0 0 16px #ffc4692e}.build-attach-tracker-note{font-size:11px;line-height:1.35;color:var(--text-secondary)}.build-attach-tracker-best{font-size:10px;line-height:1.3;color:#e8f7ff}.build-attach-tracker-nearby{display:flex;flex-wrap:wrap;gap:6px}.build-attach-tracker-nearby-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--text-primary);font-size:10px;font-weight:800;letter-spacing:.01em}.build-attach-tracker-nearby-chip.approach{border-color:#ffc47852;background:#ffc4781f;color:#ffe0b6}.build-attach-tracker-nearby-chip.ready{border-color:#7fffb55c;background:#7fffb51f;color:#dcffee}.build-attach-tracker-nearby-chip.rotate{border-color:#ffd16661;background:#ffd1661f;color:#fff0bf}.build-attach-tracker-nearby-chip.blocked{border-color:#ff884461;background:#ff884424;color:#ffd3b3}.build-attach-tracker-legend{display:flex;flex-wrap:wrap;gap:6px}.build-attach-tracker-legend-chip{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;border:1px dashed rgba(255,255,255,.14);background:#ffffff08;color:var(--text-secondary);font-size:10px;font-weight:700;letter-spacing:.01em}.build-attach-tracker-legend-chip.approach{border-color:#ffc47847;color:#ffe0b6}.build-attach-tracker-legend-chip.ready{border-color:#7fffb54d;color:#c9ffea}.build-attach-tracker-legend-chip.rotate{border-color:#ffd16652;color:#ffe8af}.build-attach-tracker-legend-chip.blocked{border-color:#ff884452;color:#ffd2b1}.build-attach-tracker-compass{display:flex;flex-wrap:wrap;gap:6px}.build-attach-tracker-heading-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--text-primary);font-size:11px;font-weight:800}.build-attach-tracker-heading-chip.warning{border-color:#ffb3476b;background:#ffb34724;color:#ffe6b7}.build-attach-tracker-heading-chip.success{border-color:#7fffb55c;background:#7fffb51f;color:#dcffee}.build-attach-tracker-heading-chip.target{border-color:#ffe07a52;background:#ffe07a1a;color:#fff0bf}.build-attach-tracker-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.build-attach-tracker-step{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 6px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--text-muted);font-size:10px;font-weight:800;text-align:center}.build-attach-tracker-step.active{border-color:#ffd1666b;background:#ffd16624;color:#fff0b6;box-shadow:inset 0 0 0 1px #ffd16614}.build-attach-tracker-step.done{border-color:#7fffb557;background:#7fffb51f;color:#d7ffe9}.build-attach-tracker-rotation{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border-radius:10px;border:1px solid rgba(255,179,71,.18);background:#ffb34714;color:var(--text-primary);font-size:11px}.build-attach-callout{position:fixed;z-index:260;width:min(260px,calc(100vw - 24px));display:flex;flex-direction:column;gap:5px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#0a0f1eeb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 16px 36px #00000059;pointer-events:none;transform-origin:left bottom;animation:buildAttachCalloutIn .16s ease-out}.build-attach-callout.searching{border-color:#ffd1666b;box-shadow:0 16px 36px #00000059,0 0 20px #ffd16624}.build-attach-callout.searching.found{border-color:#ffe88ac2;box-shadow:0 16px 36px #00000059,0 0 42px #ffd16657;animation:buildAttachCalloutIn .16s ease-out,buildAttachFoundPulse .7s ease-in-out infinite}.build-attach-callout.align{border-color:#ffb34794;box-shadow:0 16px 36px #00000059,0 0 28px #ffb3473d;animation:buildAttachCalloutIn .16s ease-out,buildAttachAlignPulse .9s ease-in-out infinite}.build-attach-callout.rotation-gated{border-color:#ffc973b8;box-shadow:0 16px 36px #00000059,0 0 34px #ffb34747}.build-attach-callout.candidate{border-color:#ffd16673;box-shadow:0 16px 36px #00000059,0 0 22px #ffd16629;transform:translateZ(0) scale(1.01);animation:buildAttachCalloutIn .16s ease-out,buildAttachCandidatePulse .72s ease-in-out infinite}.build-attach-callout.engaged{background:radial-gradient(circle at top left,rgba(255,220,122,.14),transparent 42%),#0a0f1eeb}.build-attach-callout.blocked{border-color:#ff6b6b80;box-shadow:0 16px 36px #00000059,0 0 22px #ff6b6b29}.build-attach-callout.locked{border-color:#00d4ff8c;box-shadow:0 16px 36px #00000059,0 0 28px #00d4ff47;transform:translateZ(0) scale(1.03)}.build-attach-callout-kicker{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}.build-attach-callout strong{font-size:12px;line-height:1.3;color:var(--text-primary)}.build-attach-callout-edge{font-size:11px;color:var(--text-secondary)}.build-attach-callout-rotation{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border-radius:10px;font-size:11px;color:var(--text-primary);background:#ffb34714;border:1px solid rgba(255,179,71,.16)}.build-attach-callout-rotation span:last-child{color:#ffe6a6}.build-attach-callout-actions{display:flex;flex-wrap:wrap;gap:8px}.build-attach-callout-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;font-size:11px;font-weight:800;letter-spacing:.01em;color:var(--text-primary)}.build-attach-callout-chip.warning{border-color:#ffb34770;background:#ffb34726;color:#ffe5b5}.build-attach-callout-chip.success{border-color:#7fffb56b;background:#7fffb51f;color:#d7ffe9}.build-attach-callout-chip.align{border-color:#ffe07a66;background:#ffe07a24;color:#fff0b6}.build-attach-callout-chip.candidate{border-color:#ffd1666b;background:#ffd16624;color:#ffe8ac}.build-attach-callout-chip.blocked{border-color:#ff88446b;background:#ff884424;color:#ffd1af}.build-attach-callout-chip.locked{border-color:#00d4ff73;background:#00d4ff29;color:#baf2ff}.build-attach-callout-chip.action{border-color:#ffe07a61;background:#ffe07a1f;color:#fff0bf}.build-attach-callout-meter{width:100%;height:7px;overflow:hidden;border-radius:999px;background:#ffffff14}.build-attach-callout-meter-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffb347e0,#00d4fff2);transition:width .12s ease-out}.build-attach-callout-meter-fill.searching{animation:buildAttachSearchPulse 1.1s ease-in-out infinite}.build-attach-callout-meter-fill.align{background:linear-gradient(90deg,#ffe07af2,#ff8844f0);animation:buildAttachAlignMeter .6s ease-in-out infinite}.build-attach-callout-meter-fill.blocked{background:linear-gradient(90deg,#ff8844e0,#ff6b6beb)}.build-attach-callout-meter-fill.locked{background:linear-gradient(90deg,#7ee7fff2,#00d4ff)}@media(max-width:720px){.build-attach-banner{top:64px;width:calc(100vw - 20px)}.build-attach-banner strong{font-size:15px}}@keyframes buildAttachCalloutIn{0%{opacity:0;transform:translate3d(0,6px,0) scale(.96)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes buildAttachTrackerIn{0%{opacity:0;transform:translate3d(0,10px,0) scale(.94)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes buildAttachReticleSpin{0%{transform:rotate(0) scale(1)}to{transform:rotate(360deg) scale(1)}}@keyframes buildAttachReticlePulse{0%,to{transform:scale(.94);opacity:.7}50%{transform:scale(1.14);opacity:1}}@keyframes buildAttachReticleBurst{0%{transform:scale(.88);opacity:.2}35%{transform:scale(1.14);opacity:1}to{transform:scale(1);opacity:1}}@keyframes buildAttachFoundPulse{0%,to{transform:translateZ(0) scale(1);filter:saturate(1.02)}50%{transform:translate3d(0,-2px,0) scale(1.035);filter:saturate(1.24)}}@keyframes buildAttachSearchPulse{0%,to{opacity:.55;transform:scaleX(.94);transform-origin:left center}50%{opacity:1;transform:scaleX(1);transform-origin:left center}}@keyframes buildAttachAlignPulse{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(0,-1px,0) scale(1.018)}}@keyframes buildAttachCandidatePulse{0%,to{transform:translateZ(0) scale(1.01)}50%{transform:translate3d(0,-2px,0) scale(1.03)}}@keyframes buildAttachAlignMeter{0%,to{opacity:.78}50%{opacity:1}}@keyframes buildAttachLockedPulse{0%,to{box-shadow:0 0 14px #33d1ff24}50%{box-shadow:0 0 22px #33d1ff42}}@keyframes buildAttachFoundBurst{0%{transform:scale(.97);filter:saturate(1)}52%{transform:scale(1.035);filter:saturate(1.25)}to{transform:scale(1);filter:saturate(1)}}@keyframes buildAttachArmedBurst{0%{transform:scale(.96);filter:saturate(1)}45%{transform:scale(1.05);filter:saturate(1.3)}to{transform:scale(1);filter:saturate(1)}}@keyframes buildAttachLockBurst{0%{transform:scale(.97);box-shadow:0 0 #00d4ff00}50%{transform:scale(1.06);box-shadow:0 0 34px #00d4ff57}to{transform:scale(1);box-shadow:0 0 #00d4ff00}}@keyframes buildAttachTransitionChip{0%{opacity:0;transform:translate3d(0,6px,0) scale(.92)}to{opacity:1;transform:translateZ(0) scale(1)}}.floorplan-wrapper{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:8px}.floorplan-building{position:relative;background:#1a1d23;border:3px solid #555;border-radius:4px;overflow:hidden}.floorplan-grid{position:absolute;top:0;left:0;pointer-events:none}.floorplan-unit{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#3c465a80;border:1px solid rgba(100,110,130,.6);border-style:solid;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;padding:4px;font-family:var(--font-main);color:var(--text-muted);outline:none}.floorplan-unit:hover{background:#5082c833;border-color:#64a0e699!important}.floorplan-unit.selected{background:#50a0ff2e;border-color:#5090e0!important;box-shadow:0 0 12px #50a0ff4d,inset 0 0 20px #50a0ff0f;color:#fff}.floorplan-unit-label{font-weight:700;font-size:11px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.floorplan-unit-size{font-size:9px;opacity:.6}.floorplan-unit-rent{font-size:9px;color:#e8a838;font-weight:600}.floorplan-detail{text-align:center;animation:fadeIn .2s ease-out}.floorplan-detail-name{font-family:var(--font-main);font-weight:800;font-size:14px;color:#fff}.floorplan-detail-flavor{font-family:var(--font-main);font-size:12px;color:var(--text-muted);margin-top:2px}.floorplan-detail-stats{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:6px}.floorplan-detail-stats .stat-tag.exterior{color:#e8a838;border-color:#e8a8384d}.floorplan-detail-stats .stat-tag.interior{color:var(--text-muted)}.floorplan-detail-stats .stat-tag.windows{color:#5eead4;border-color:#5eead44d}.floorplan-detail-stats .stat-tag.doors{color:#a78bfa;border-color:#a78bfa4d}.floorplan-window{position:absolute;pointer-events:none;border-radius:1px}.floorplan-window.north,.floorplan-window.west{background:#5eead4b3}.floorplan-door{position:absolute;pointer-events:none;border-radius:1px;background:#a78bfab3}.floorplan-building-types{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:8px}.floorplan-type-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-family:var(--font-main);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.floorplan-type-btn:hover{border-color:#64a0e680;color:#fff}.floorplan-type-btn.selected{border-color:#5090e0;background:#50a0ff1a;color:#fff}.floorplan-type-btn .type-emoji{font-size:16px}.floorplan-unit.leased{background:#22c55e26!important;border-color:#22c55e80!important;cursor:default;opacity:.85}.floorplan-unit.leased:hover{background:#22c55e26!important;border-color:#22c55e80!important}.floorplan-unit-leased-badge{position:absolute;top:2px;right:3px;font-size:7px;font-weight:800;color:#22c55e;letter-spacing:.06em;text-transform:uppercase}.expand-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}.expand-modal{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:24px;min-width:400px;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.expand-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.expand-modal-header h2{font-family:var(--font-main);font-size:18px;font-weight:800;color:#fff;margin:0}.expand-modal-close{background:none;border:none;color:var(--text-muted);font-size:22px;cursor:pointer;padding:4px 8px;border-radius:6px}.expand-modal-close:hover{background:var(--surface);color:#fff}.expand-modal-subtitle{font-family:var(--font-main);font-size:12px;color:var(--text-muted);margin:0 0 12px}.expand-modal-confirm-area{margin-top:12px;padding:12px;background:var(--surface);border-radius:10px;border:1px solid var(--border);text-align:center}.expand-modal-unit-info{font-family:var(--font-main);font-size:13px;color:#fff;margin-bottom:8px}.expand-modal-rent{color:#e8a838;font-weight:700}.expand-modal-deposit{color:var(--text-muted);font-size:11px}.expand-modal-lease-btn{padding:8px 20px;border-radius:8px;border:none;background:#22c55e;color:#fff;font-family:var(--font-main);font-size:13px;font-weight:700;cursor:pointer;transition:all .15s}.expand-modal-lease-btn:hover:not(:disabled){background:#16a34a}.expand-modal-lease-btn:disabled{opacity:.5;cursor:not-allowed}.expand-modal-cancel-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-family:var(--font-main);font-size:12px;font-weight:600;cursor:pointer;margin-left:8px}.expand-modal-cancel-btn:hover{border-color:#ffffff4d;color:#fff}.expand-modal-confirm-btns{display:flex;gap:8px;justify-content:center;margin-top:8px}.expand-modal-confirm-area.confirming p{font-family:var(--font-main);font-size:13px;color:#fff;margin:0 0 8px}.room-effect-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:10px;font-weight:600;letter-spacing:.02em}.room-effect-badge.morale{background:var(--green-dim);color:var(--green);border:1px solid rgba(0,255,136,.2)}.room-effect-badge.tech{background:var(--cyan-dim);color:var(--cyan);border:1px solid rgba(0,212,255,.2)}.room-effect-badge.users{background:var(--purple-dim);color:var(--purple);border:1px solid rgba(201,160,255,.2)}.room-effect-badge.speed{background:var(--amber-dim);color:var(--amber);border:1px solid rgba(255,179,71,.2)}.room-effect-badge.valuation{background:var(--green-dim);color:var(--green);border:1px solid rgba(0,255,136,.2)}.room-effect-badge.desks{background:var(--cyan-dim);color:var(--cyan);border:1px solid rgba(0,212,255,.2)}.room-size-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600;letter-spacing:.02em;background:#ffffff0d;color:var(--text-secondary);border:1px solid var(--border-subtle)}.shop-category-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0;margin-bottom:8px}.shop-category-tab{display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:var(--radius-md);background:#ffffff0a;border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:11px;font-weight:600;font-family:var(--font-main);cursor:pointer;transition:all .15s}.shop-category-tab:hover{background:#ffffff14;border-color:var(--border-medium);color:var(--text-primary)}.shop-category-tab.active{background:var(--cyan-dim);border-color:#00d4ff4d;color:var(--cyan);box-shadow:0 0 8px #00d4ff26}.mono{font-family:var(--font-mono)}.text-green{color:var(--green)}.text-red{color:var(--red)}.text-cyan{color:var(--cyan)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.mt-md{margin-top:16px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:16px}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.toast-container{position:fixed;top:70px;right:16px;z-index:1000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast-item{background:#141423eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;font-size:13px;padding:10px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.1);font-family:JetBrains Mono,Fira Code,monospace;pointer-events:auto;animation:toastSlideIn .3s ease-out;transition:opacity .4s,transform .4s;max-width:320px}.toast-item.fade-out{opacity:0;transform:translate(20px)}.toast-item.success{border-left:3px solid #00FF88}.toast-item.warning{border-left:3px solid #FFB347}.toast-item.error{border-left:3px solid #FF4444}.toast-item.info{border-left:3px solid #00D4FF}@keyframes toastSlideIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.char-info-card{position:fixed;bottom:80px;left:16px;width:280px;background:#141423f2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:16px;z-index:900;font-family:JetBrains Mono,Fira Code,monospace;animation:charCardSlideIn .3s ease-out}@keyframes charCardSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.char-card-close{position:absolute;top:8px;right:10px;cursor:pointer;color:#666;font-size:14px;transition:color .2s}.char-card-close:hover{color:#fff}.char-card-name{font-size:16px;font-weight:700;color:#fff;margin-bottom:4px}.char-card-role{font-size:11px;color:#aaa;margin-bottom:8px}.char-card-traits{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.char-trait-tag{font-size:10px;padding:2px 6px;border-radius:8px;background:#a78bfa26;border:1px solid rgba(167,139,250,.3);color:#c9a0ff}.char-trait-tag.good{background:#00ff881a;border-color:#00ff884d;color:#0f8}.char-trait-tag.bad{background:#ff44441a;border-color:#ff44444d;color:#ff6b6b}.char-card-divider{height:1px;background:#ffffff14;margin:8px 0}.char-card-row{font-size:12px;color:#ccc;margin:4px 0}.char-card-label{color:#ffffff73;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.char-skill-row{display:flex;align-items:center;gap:6px;margin:3px 0;font-size:11px;color:#aaa}.char-skill-name{width:70px}.char-skill-track{flex:1;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.char-skill-fill{height:100%;border-radius:2px;transition:width .3s}.char-mood-bar{font-family:JetBrains Mono,monospace;font-size:10px;color:#0f8;letter-spacing:1px}.char-card-bio{font-size:10px;color:#888;margin-top:6px;line-height:1.4;font-style:italic}.char-card-salary{font-size:12px;color:#ffb347;margin-top:4px}.mute-btn{background:none;border:1px solid rgba(255,255,255,.15);color:#aaa;font-size:14px;padding:4px 8px;border-radius:4px;cursor:pointer;transition:all .2s}.mute-btn:hover{border-color:#ffffff4d;color:#fff}.auth-overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:5000;animation:authFadeIn .3s ease}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}@keyframes authSlideUp{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-modal{background:linear-gradient(170deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border:1px solid var(--border-medium);border-radius:var(--radius-xl);padding:40px 36px 32px;width:380px;max-width:90vw;position:relative;box-shadow:0 0 0 1px #00d4ff0d,0 24px 80px #0009,0 0 120px #00d4ff0a;animation:authSlideUp .35s ease;text-align:center}.auth-close{position:absolute;top:14px;right:14px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:50%;transition:all .2s}.auth-close:hover{color:var(--text-primary);background:#ffffff0f}.auth-brand{margin-bottom:32px}.auth-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#ff6b6b26,#ffb34726);color:var(--amber);margin-bottom:16px;box-shadow:0 0 30px #ffb3471a}.auth-brand-title{font-family:var(--font-main);font-size:1.5rem;font-weight:800;color:var(--text-primary);margin:0 0 6px;letter-spacing:-.02em}.auth-brand-subtitle{font-family:var(--font-main);font-size:.85rem;color:var(--text-muted);margin:0;font-weight:500}.auth-google-section{display:flex;flex-direction:column;align-items:center;min-height:48px;margin-bottom:20px}.auth-google-btn{opacity:0;transition:opacity .3s ease}.auth-google-btn.ready{opacity:1}.auth-google-loading{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:.85rem;font-family:var(--font-main);font-weight:500;padding:12px 0}.auth-error{color:var(--red);font-size:.8rem;padding:10px 14px;background:var(--red-dim);border-radius:var(--radius-md);margin-bottom:12px;border:1px solid rgba(255,107,107,.1)}.auth-terms{font-family:var(--font-main);font-size:.75rem;color:var(--text-muted);margin:0;line-height:1.5;opacity:.7}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.user-badge-wrapper{position:relative}.user-badge{display:flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-family:var(--font-main);font-size:.7rem;cursor:pointer;transition:all .2s;white-space:nowrap}.user-badge:hover{border-color:var(--border-medium);color:var(--text-secondary)}.user-badge.logged-in{color:var(--cyan);border-color:#00d4ff33}.user-badge.guest{color:var(--text-muted)}.user-menu{position:absolute;top:100%;right:0;margin-top:6px;background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-sm);padding:8px;min-width:160px;z-index:1000;box-shadow:0 8px 24px #0006}.user-menu-email{font-size:.7rem;color:var(--text-muted);padding:4px 8px 8px;border-bottom:1px solid var(--border-subtle);margin-bottom:4px}.user-menu-btn{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:var(--font-main);font-size:.8rem;cursor:pointer}.user-menu-btn:hover{background:var(--bg-tertiary);color:var(--red)}.save-indicator{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:all .2s}.save-indicator.idle{color:var(--text-muted)}.save-indicator.saving{color:var(--amber)}.save-indicator.saved{color:var(--green)}.save-indicator.error{color:var(--red)}.save-indicator:hover{background:#ffffff0d}.start-auth{margin:16px 0 8px;text-align:center}.start-user{font-size:.85rem;color:var(--cyan)}.start-login-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-main);font-size:.8rem;cursor:pointer;transition:all .2s}.start-login-btn:hover{border-color:var(--cyan);color:var(--cyan)}.start-btn.continue{background:linear-gradient(135deg,#0c8,#0a6);margin-bottom:8px;font-size:.85rem}.start-secondary-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;background:transparent;border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-main);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s;margin-top:8px}.start-secondary-btn:hover{border-color:var(--amber);color:var(--amber)}.start-leaderboard-inline{margin-top:24px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px;max-height:420px;overflow-y:auto;width:100%;max-width:680px}.leaderboard-header{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:700;color:var(--amber);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle);text-transform:uppercase;letter-spacing:.05em}.leaderboard-loading,.leaderboard-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--text-muted);font-size:.85rem}.leaderboard-preview{display:flex;flex-direction:column;gap:6px}.leaderboard-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);font-size:.8rem}.leaderboard-row:nth-child(odd){background:#ffffff05}.leaderboard-row-header{font-size:.7rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding-bottom:4px;border-bottom:1px solid var(--border-subtle);background:none!important}.leaderboard-rank{font-weight:700;color:var(--amber);min-width:28px;font-family:var(--font-mono);font-size:.75rem}.leaderboard-icon{font-size:1rem;min-width:20px;text-align:center}.leaderboard-name{color:var(--text-primary);font-weight:600;flex:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-company{color:var(--text-muted);font-size:.75rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-stat{color:var(--cyan);font-family:var(--font-mono);font-size:.75rem;min-width:56px;text-align:right}.leaderboard-score{color:var(--cyan);font-family:var(--font-mono);font-size:.75rem}.leaderboard-sorts{display:flex;gap:4px;padding:8px 16px;border-bottom:1px solid var(--border-subtle)}.leaderboard-sort-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-family:var(--font-main);font-size:.7rem;font-weight:600;cursor:pointer;transition:all .2s}.leaderboard-sort-btn:hover{border-color:var(--border-medium);color:var(--text-secondary)}.leaderboard-sort-btn.active{background:var(--cyan-dim);border-color:var(--cyan);color:var(--cyan)}.leaderboard-list{display:flex;flex-direction:column;gap:4px;padding:8px 0}.leaderboard-entry{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;border-radius:var(--radius-sm);transition:background .15s}.leaderboard-entry:hover{background:#ffffff08}.leaderboard-entry.highlight{background:#00d4ff0f;border-left:2px solid var(--cyan)}.leaderboard-entry-rank{font-family:var(--font-mono);font-weight:700;font-size:.85rem;color:var(--amber);min-width:36px;padding-top:2px}.leaderboard-entry-main{flex:1;min-width:0}.leaderboard-entry-top{display:flex;align-items:center;gap:6px;margin-bottom:2px}.leaderboard-entry-icon{font-size:.9rem}.leaderboard-entry-player{font-weight:600;font-size:.85rem;color:var(--text-primary)}.leaderboard-entry-tag{font-size:.65rem;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:3px;background:var(--green-dim);color:var(--green)}.leaderboard-entry-company{font-size:.75rem;color:var(--text-muted);margin-bottom:4px}.leaderboard-entry-stats{display:flex;gap:10px;font-size:.7rem;color:var(--text-secondary);font-family:var(--font-mono)}.end-rank{margin:12px 0;text-align:center}.end-rank-loading{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:.85rem}.end-rank-result{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:linear-gradient(135deg,#ffb34726,#ffd7001a);border:1px solid rgba(255,179,71,.3);border-radius:var(--radius-md);color:var(--amber);font-weight:700;font-size:1rem}.room-type-picker-overlay{position:fixed;inset:0;background:#0009;z-index:300;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.room-type-picker{background:var(--bg-glass-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-medium);border-radius:var(--radius-lg);padding:20px;max-width:440px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:slideInPanel .3s ease-out}.room-type-picker .card{border:1px solid var(--border-medium);transition:border-color .15s}.room-type-picker .card:hover:not(.disabled){border-color:var(--cyan)}.room-type-picker .card.disabled{pointer-events:none}.building-picker{display:flex;flex-direction:column;align-items:center;gap:12px}.building-compass{position:relative;width:260px;height:0;font-size:11px;color:#888;font-weight:600}.compass-n{position:absolute;top:-16px;left:50%;transform:translate(-50%)}.compass-s{position:absolute;bottom:-282px;left:50%;transform:translate(-50%)}.compass-w{position:absolute;top:120px;left:-36px}.compass-e{position:absolute;top:120px;right:-20px}.building-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:3px solid #666;border-radius:6px;overflow:hidden;width:260px}.building-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 4px;min-height:80px;background:#1e1e1e;border:1px solid #333;cursor:pointer;transition:background .15s,border-color .15s}.building-cell:hover{background:#2a2a2a}.building-cell.selected{background:#1a2a1a;box-shadow:inset 0 0 0 2px var(--cyan)}.building-cell.ext-north{border-top:3px solid #f0a030}.building-cell.ext-south{border-bottom:3px solid #f0a030}.building-cell.ext-west{border-left:3px solid #f0a030}.building-cell.ext-east{border-right:3px solid #f0a030}.building-cell-emoji{font-size:18px;line-height:1}.building-cell-label{font-size:9px;font-weight:600;color:#ccc;text-align:center;line-height:1.1}.building-cell-windows{font-size:8px;color:#f0a030;text-align:center;line-height:1.1}.building-cell-windows.interior{color:#666}.building-detail{width:100%;max-width:340px;padding:10px 14px;background:#1a1a1a;border:1px solid #333;border-radius:8px}.building-detail-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.building-detail-emoji{font-size:20px}.building-detail-label{font-weight:700;font-size:14px;color:#eee;flex:1}.building-detail-rent{font-size:12px;font-weight:600;color:#f0a030;background:#f0a0301a;padding:2px 8px;border-radius:4px}.building-detail-flavor{font-size:12px;color:#888;line-height:1.4;margin-bottom:8px}.building-detail-tags{display:flex;gap:6px;flex-wrap:wrap}
