:root{--color-bg-deep: #0a0c0f;--color-bg-primary: #0f1318;--color-bg-panel: #151b23;--color-bg-card: #1a222d;--color-bg-card-hover: #212b38;--color-bg-card-selected: #132a1e;--color-bg-card-plugged: #2a2412;--color-border: #2a3444;--color-border-hover: #4a5a6a;--color-border-selected: #22c55e;--color-border-plugged: #eab308;--color-accent-green: #22c55e;--color-accent-amber: #eab308;--color-accent-red: #ef4444;--color-accent-blue: #38bdf8;--color-accent-copper: #d97706;--color-text-primary: #e8ecf0;--color-text-secondary: #8a96a6;--color-text-muted: #5a6878;--font-display: "Orbitron", sans-serif;--font-mono: "JetBrains Mono", monospace;--font-body: system-ui, -apple-system, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-card: 0 2px 8px rgba(0, 0, 0, .4), 0 0 1px rgba(255, 255, 255, .05) inset;--shadow-card-hover: 0 4px 16px rgba(0, 0, 0, .5), 0 0 1px rgba(255, 255, 255, .08) inset;--shadow-glow-green: 0 0 20px rgba(34, 197, 94, .3);--shadow-glow-amber: 0 0 20px rgba(234, 179, 8, .3);--shadow-glow-red: 0 0 20px rgba(239, 68, 68, .3)}html{font-size:18px}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--color-bg-deep);color:var(--color-text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;background-image:radial-gradient(ellipse at 20% 50%,rgba(56,189,248,.03) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(234,179,8,.02) 0%,transparent 50%),repeating-linear-gradient(0deg,transparent,transparent 100px,rgba(255,255,255,.01) 100px,rgba(255,255,255,.01) 101px),repeating-linear-gradient(90deg,transparent,transparent 100px,rgba(255,255,255,.01) 100px,rgba(255,255,255,.01) 101px)}#root{min-height:100vh}.elcb-panel{margin-top:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card)}.elcb-panel-title{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-secondary);margin:0 0 var(--space-sm) 0}.elcb-toggle{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0;cursor:pointer;font-family:var(--font-mono);font-size:.85rem;color:var(--color-text-primary)}.elcb-toggle input[type=checkbox]{accent-color:var(--color-accent-amber);width:16px;height:16px}.elcb-toggle input:disabled{cursor:not-allowed;opacity:.5}.phase-badge{display:inline-block;font-size:.65rem;font-weight:700;font-family:var(--font-mono);padding:1px 5px;border-radius:3px;margin-left:4px;vertical-align:middle;letter-spacing:.05em}.phase-badge.phase-R{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.phase-badge.phase-T{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.phase-badge.phase-N{background:#ffffff14;color:#8a96a6;border:1px solid rgba(255,255,255,.15)}.phase-balance-indicator,.main-breaker-row{margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid rgba(255,255,255,.06)}.card-list{display:flex;flex-direction:column;gap:var(--space-sm)}.card{padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);color:var(--color-text-primary);cursor:pointer;text-align:left;box-shadow:var(--shadow-card);transition:all .2s cubic-bezier(.4,0,.2,1)}.card:hover:not(:disabled){border-color:var(--color-border-hover);background:var(--color-bg-card-hover);box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.card.selected{border-color:var(--color-border-selected);background:var(--color-bg-card-selected);box-shadow:var(--shadow-card),var(--shadow-glow-green)}.card.plugged{border-color:var(--color-border-plugged);background:var(--color-bg-card-plugged)}.card.plugged.operating{animation:appliance-operating 1.5s ease-in-out infinite alternate}@keyframes appliance-operating{0%{box-shadow:var(--shadow-card),0 0 4px #eab3084d}to{box-shadow:var(--shadow-card),0 0 16px #eab30880}}.card:disabled{opacity:.4;cursor:not-allowed;transform:none}.circuit-tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-sm)}.circuit-tab{flex:1;padding:var(--space-xs) var(--space-sm);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:.85rem;cursor:pointer;transition:all .15s ease}.circuit-tab:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.circuit-tab.active{border-color:var(--color-accent-amber);color:var(--color-accent-amber);background:#eab30814}.card-title{font-family:var(--font-mono);font-weight:600;font-size:.95rem;margin-bottom:var(--space-xs)}.card-detail{font-size:.875rem;color:var(--color-text-secondary)}.card-detail-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-hint{font-size:.72rem;color:var(--color-text-muted);margin-top:var(--space-xs)}.voltage-badge{display:inline-block;font-size:.65rem;font-weight:700;font-family:var(--font-mono);padding:1px 4px;border-radius:3px;margin-left:6px;vertical-align:middle}.voltage-badge.v110{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.voltage-badge.v220{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.voltage-tab-badge{display:inline-block;font-size:.6rem;font-weight:700;font-family:var(--font-mono);padding:1px 3px;border-radius:2px;margin-left:4px;background:#8a96a626;color:var(--color-text-muted)}.card.voltage-disabled{opacity:.4;cursor:not-allowed;border-style:dashed}.card.voltage-disabled:hover{border-color:var(--color-border);background:var(--color-bg-card)}.voltage-hint{color:#f87171;font-style:italic}h3,h4{margin:var(--space-sm) 0;font-family:var(--font-display);font-size:.85rem;font-weight:500;letter-spacing:.06em;color:var(--color-text-secondary);text-transform:uppercase}.wire-card{cursor:grab;user-select:none;-webkit-user-select:none}.wire-card:active{cursor:grabbing}.wire-card[data-disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.wire-card.dragging{opacity:.4;border-color:var(--color-accent-amber);box-shadow:var(--shadow-card),var(--shadow-glow-amber);transform:scale(.95)}@media(max-width:1024px){.game-main{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:var(--space-lg)}.panel-left{grid-column:1;grid-row:1}.panel-center{grid-column:2;grid-row:1 / 3}.panel-right{grid-column:1;grid-row:2}.game-board.multi-circuit .game-main{display:flex;flex-direction:column;gap:var(--space-lg)}.game-board.multi-circuit .panel-center{order:-1}}@media(max-width:640px){.game-board{padding:var(--space-md)}.game-header h1{font-size:1.1rem}.header-top{gap:var(--space-xs);flex-wrap:wrap}.level-goal{font-size:.75rem}.back-button{padding:6px 12px;min-height:36px;font-size:.8rem}.volume-control__slider{width:60px}.status-display{width:100%;padding:var(--space-md);font-size:.82rem}.game-main{display:flex;flex-direction:column;gap:var(--space-lg)}.panel-center{order:-1}.wire-selector .card-list{flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:var(--space-sm);gap:var(--space-sm)}.wire-selector .card-list>.card{flex:0 0 140px;scroll-snap-align:start;touch-action:none}.level-select{padding:var(--space-xl) var(--space-md)}.level-select h1{font-size:1.6rem}.result-panel{padding:var(--space-lg);margin-top:var(--space-lg)}.result-title{font-size:1.2rem}.result-details p{font-size:.82rem}}.game-board{max-width:1080px;margin:0 auto;padding:var(--space-lg)}.game-board.multi-circuit{max-width:1280px}.game-header{text-align:center;margin-bottom:var(--space-xl)}.game-header h1{margin:0 0 var(--space-sm);font-family:var(--font-display);font-size:1.4rem;font-weight:700;letter-spacing:.06em}.header-top{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-md)}.level-goal{color:var(--color-text-secondary);font-family:var(--font-mono);font-size:.85rem}.game-main{display:grid;grid-template-columns:1fr 280px 1fr;gap:var(--space-xl);align-items:start}.game-board.multi-circuit .game-main{grid-template-columns:180px 1fr 220px}.game-board.many-circuits{max-width:1500px}.panel-left,.panel-right{min-width:0}.panel-center{text-align:center}.lazy-loading-spinner{width:32px;height:32px;margin:2rem auto;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:lazy-spin .8s linear infinite}@keyframes lazy-spin{to{transform:rotate(360deg)}}.status-display{display:inline-block;text-align:left;background:var(--color-bg-panel);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-card);font-size:.88rem}.status-row{display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-xs) 0}.status-label{color:var(--color-text-secondary);min-width:5rem;font-size:.875rem}.status-value{color:var(--color-text-primary);font-family:var(--font-mono);font-weight:600;font-size:.88rem}.heat-bar{width:100px;height:8px;background:var(--color-bg-deep);border-radius:4px;overflow:hidden;border:1px solid var(--color-border)}.heat-fill{height:100%;transition:width .1s;border-radius:4px}.result-panel{background:var(--color-bg-panel);border:2px solid var(--result-border-color, var(--color-accent-red));border-radius:var(--radius-xl);padding:var(--space-xl) var(--space-2xl);margin-top:var(--space-xl);text-align:center;box-shadow:var(--shadow-card);animation:result-appear .4s cubic-bezier(.4,0,.2,1)}@keyframes result-appear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.result-title{font-family:var(--font-display);font-size:1.6rem;font-weight:900;letter-spacing:.08em;margin:0 0 var(--space-lg)}.result-details{text-align:left;margin-bottom:var(--space-xl)}.result-details p{margin:var(--space-sm) 0;color:var(--color-text-primary);font-family:var(--font-mono);font-size:.88rem}.result-hint{font-size:.82rem;color:var(--color-text-secondary);font-family:var(--font-body);margin-top:var(--space-md)}.star-rating-section{margin-bottom:var(--space-lg)}.star-icons{display:flex;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.star-icon{font-size:2rem;line-height:1;transition:all .3s}.star-lit{color:var(--color-accent-amber);text-shadow:0 0 8px rgba(245,158,11,.5)}.star-dim{color:var(--color-border);opacity:.4}.star-conditions{list-style:none;padding:0;margin:0;text-align:left}.star-conditions li{font-family:var(--font-mono);font-size:.82rem;padding:var(--space-xs) 0}.star-achieved{color:var(--color-accent-green)}.star-missed{color:var(--color-text-secondary);opacity:.7}.star-check{display:inline-block;width:1.2em;text-align:center}.result-actions{display:flex;gap:var(--space-md);justify-content:center}.retry-button{padding:var(--space-md) var(--space-2xl);border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,#16a34a,#22c55e);color:#000;font-family:var(--font-display);font-size:.9rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-glow-green)}.retry-button:hover{background:linear-gradient(135deg,#15803d,#16a34a);transform:translateY(-1px)}.retry-button:focus-visible{outline:2px solid var(--color-accent-green);outline-offset:2px}.retry-button:active{transform:translateY(0)}.back-button{padding:10px 20px;min-height:40px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-family:var(--font-mono);font-size:.875rem;cursor:pointer;transition:all .2s}.back-button:hover{border-color:var(--color-text-secondary);color:var(--color-text-primary)}.back-button:focus-visible{outline:2px solid var(--color-accent-amber);outline-offset:2px}.back-button:active{transform:translateY(0)}.level-select{max-width:1200px;margin:0 auto;padding:var(--space-2xl) var(--space-lg);text-align:center}.level-select h1{margin:0;font-family:var(--font-display);font-size:2.2rem;font-weight:900;letter-spacing:.08em;background:linear-gradient(135deg,var(--color-accent-amber) 0%,var(--color-text-primary) 60%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.level-select-header{display:flex;align-items:center;justify-content:center;gap:var(--space-md)}.level-select .subtitle{color:var(--color-text-muted);font-family:var(--font-mono);font-size:.85rem;letter-spacing:.15em;margin:var(--space-xs) 0 var(--space-2xl)}.level-select h2{margin:0 0 var(--space-lg);font-family:var(--font-display);font-size:1.1rem;font-weight:500;letter-spacing:.06em;color:var(--color-text-secondary)}.level-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-md)}.level-card{padding:var(--space-lg) var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card);color:var(--color-text-primary);cursor:pointer;text-align:left;box-shadow:var(--shadow-card);transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.level-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--color-accent-amber);opacity:0;transition:opacity .25s}.level-card:hover{border-color:var(--color-accent-amber);background:var(--color-bg-card-hover);box-shadow:var(--shadow-card-hover),var(--shadow-glow-amber);transform:translateY(-2px)}.level-card:hover:before{opacity:1}.level-card:focus-visible{outline:2px solid var(--color-accent-amber);outline-offset:2px}.level-card:active{transform:translateY(0)}.random-section-title{margin-top:var(--space-2xl)}.random-old-house-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-md);margin-bottom:var(--space-2xl)}.random-card{padding:var(--space-lg) var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card);color:var(--color-text-primary);cursor:pointer;text-align:center;box-shadow:var(--shadow-card);transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.random-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--color-accent-amber),var(--color-accent-red));opacity:0;transition:opacity .25s}.random-card:hover{border-color:var(--color-accent-amber);background:var(--color-bg-card-hover);box-shadow:var(--shadow-card-hover),var(--shadow-glow-amber);transform:translateY(-2px)}.random-card:hover:before{opacity:1}.random-card:focus-visible{outline:2px solid var(--color-accent-amber);outline-offset:2px}.random-card:active{transform:translateY(0)}.random-card-icon{font-family:var(--font-display);font-size:2rem;font-weight:900;color:var(--color-accent-amber);margin-bottom:var(--space-sm)}.random-card-name{font-family:var(--font-display);font-size:1.1rem;font-weight:700;letter-spacing:.04em;margin-bottom:var(--space-xs)}.random-card-desc{font-size:.8rem;color:var(--color-text-muted);line-height:1.4;margin-bottom:var(--space-sm)}.random-card-completions{font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent-green);letter-spacing:.05em}.level-stars-row{display:flex;gap:2px;margin-bottom:var(--space-xs)}.level-star{font-size:.9rem;line-height:1}.level-star-lit{color:var(--color-accent-amber)}.level-star-dim{color:var(--color-border);opacity:.3}.lang-switcher-wrap{position:relative}.lang-switcher{display:inline-flex;align-items:center;gap:.3em;padding:var(--space-xs) var(--space-sm);font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:.05em;color:var(--color-text-secondary);background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.lang-switcher:hover,.lang-switcher--open{color:var(--color-text-primary);border-color:var(--color-accent-amber);background:var(--color-bg-card)}.lang-switcher__caret{font-size:.6rem;opacity:.6;transition:transform .15s ease}.lang-switcher--open .lang-switcher__caret{transform:rotate(180deg)}.lang-dropdown{position:absolute;top:calc(100% + 4px);right:0;margin:0;padding:var(--space-xs) 0;list-style:none;min-width:160px;background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card-hover);z-index:100;animation:lang-drop-in .12s ease-out}@keyframes lang-drop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.lang-dropdown li{margin:0;padding:0}.lang-dropdown__item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-xs) var(--space-sm);font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:all .1s ease}.lang-dropdown__item:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-bg-card)}.lang-dropdown__item--active{color:var(--color-accent-amber);cursor:default}.lang-dropdown__tag{font-size:.65rem;letter-spacing:.08em;opacity:.5}.floor-plan-view{display:block;margin:0 auto}.floor-plan-room rect{transition:fill .2s ease,stroke .2s ease,stroke-width .2s ease}.fp-room-label{fill:var(--color-text-primary);font-family:var(--font-mono);font-size:18px;pointer-events:none}.fp-distance-label{fill:var(--color-text-secondary);font-family:var(--font-mono);font-size:14px;pointer-events:none}.fp-outlet{transition:fill .2s ease}.fp-panel-icon{cursor:pointer}.fp-connected-paths path{transition:opacity .2s ease}.fp-room-warning rect{animation:fp-room-warning-pulse 1s ease-in-out infinite}@keyframes fp-room-warning-pulse{0%,to{stroke:#f59e0b;stroke-opacity:.6}50%{stroke:#f97316;stroke-opacity:1}}.fp-room-burned rect{animation:fp-room-burned-flash .5s ease-in-out infinite}@keyframes fp-room-burned-flash{0%,to{stroke:#ef4444;stroke-opacity:.5;fill-opacity:.1}50%{stroke:#dc2626;stroke-opacity:1;fill-opacity:.3}}.fp-problem-badge{animation:fp-problem-flash 1.2s ease-in-out infinite;pointer-events:auto;cursor:help}@keyframes fp-problem-flash{0%,to{opacity:.6}50%{opacity:1}}.fp-current-flow{animation:fp-current-flow 1.5s linear infinite;pointer-events:none}@keyframes fp-current-flow{to{stroke-dashoffset:-26}}.fp-power-button{display:block;width:100%;margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);font-family:var(--font-display);font-size:.95rem;font-weight:600;letter-spacing:.04em;border:2px solid var(--color-accent-green);border-radius:var(--radius-md);background:#22c55e1a;color:var(--color-accent-green);cursor:pointer;transition:background .2s ease,border-color .2s ease,opacity .2s ease}.fp-power-button:hover:not(:disabled){background:#22c55e33}.fp-power-button:active:not(:disabled){animation:power-pulse .2s ease}.fp-power-button:focus-visible{outline:2px solid var(--color-accent-green);outline-offset:2px}.fp-power-button:disabled{opacity:.35;cursor:not-allowed;border-color:var(--color-text-secondary);color:var(--color-text-secondary);background:transparent}.game-board.fp-layout{display:flex;flex-direction:column;max-width:1200px;margin:0 auto;height:100vh;overflow:hidden}.game-board.fp-layout .game-header{flex-shrink:0}.game-board.fp-layout .status-display{max-height:30vh;overflow-y:auto}.fp-main{display:flex;flex:1;min-height:0;overflow:hidden}.fp-center{flex:1;min-width:0;padding:var(--space-sm);overflow-y:auto;display:flex;flex-direction:column;align-items:center}.fp-center .floor-plan-view{flex-shrink:0;margin-top:auto;margin-bottom:auto}.floor-plan-preview{padding:var(--space-xl);max-width:1200px;margin:0 auto}.floor-plan-preview h3{font-family:var(--font-display);color:var(--color-text-primary);margin-bottom:var(--space-lg);font-size:1.1rem}.floor-plan-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-xl)}.floor-plan-preview-item{background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md)}.floor-plan-preview-item h4{font-family:var(--font-mono);color:var(--color-text-secondary);font-size:.85rem;margin-bottom:var(--space-sm)}@media(max-width:640px){.game-board.fp-layout{height:auto;min-height:100vh;overflow:visible}.fp-main{flex-direction:column;flex:1}.fp-center{padding:var(--space-xs);min-height:0;flex:1}}.planning-phase .level-description{color:var(--color-text-secondary);font-family:var(--font-mono);font-size:.82rem;margin:0;letter-spacing:.01em}.circuit-planner{display:grid;grid-template-columns:260px 1fr 220px;gap:var(--space-xl);align-items:start;animation:result-appear .35s cubic-bezier(.4,0,.2,1)}.circuit-planner-circuits{min-width:0}.circuit-planner-circuits-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.circuit-planner-circuits-header h3{margin:0}.add-circuit-btn{padding:var(--space-xs) var(--space-lg);border:1px dashed var(--color-accent-amber);border-radius:var(--radius-md);background:#eab3080f;color:var(--color-accent-amber);font-family:var(--font-mono);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s ease}.add-circuit-btn:hover:not(:disabled){background:#eab30824;box-shadow:0 0 12px #eab30826}.add-circuit-btn:disabled{opacity:.3;cursor:not-allowed;border-style:solid}.circuit-planner-empty{color:var(--color-text-muted);font-family:var(--font-mono);font-size:.82rem;text-align:center;padding:var(--space-2xl) var(--space-lg);border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:#ffffff03}.circuit-cards-list{display:flex;flex-direction:column;gap:var(--space-md)}.planner-phase-balance{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid rgba(255,255,255,.06)}.planner-phase-balance h4{margin:0 0 var(--space-sm);font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase}.phase-balance-row{display:flex;align-items:center;justify-content:space-between;padding:2px 0}.phase-label{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-secondary)}.phase-r-label{color:#ef4444}.phase-t-label{color:#38bdf8}.phase-value{font-family:var(--font-mono);font-size:.82rem;font-weight:700;color:var(--color-text-primary)}.phase-value.neutral-danger{color:var(--color-accent-red);text-shadow:0 0 6px rgba(239,68,68,.3)}.circuit-planner-summary{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-card);position:sticky;top:var(--space-lg)}.circuit-planner-summary h3{margin:0 0 var(--space-md)}.planner-summary-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) 0;border-bottom:1px solid rgba(255,255,255,.04)}.planner-summary-row:last-of-type{border-bottom:none}.summary-label{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-secondary)}.summary-value{font-family:var(--font-mono);font-size:.85rem;font-weight:700;color:var(--color-text-primary)}.summary-value.at-limit{color:var(--color-accent-amber)}.summary-value.over-budget{color:var(--color-accent-red);text-shadow:0 0 6px rgba(239,68,68,.3)}.summary-value.incomplete{color:var(--color-accent-amber)}.confirm-planning-btn{display:block;width:100%;margin-top:var(--space-lg);padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,#16a34a,#22c55e);color:#000;font-family:var(--font-display);font-size:.88rem;font-weight:700;letter-spacing:.06em;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-glow-green)}.confirm-planning-btn:hover:not(:disabled){background:linear-gradient(135deg,#15803d,#16a34a);transform:translateY(-1px);box-shadow:0 0 24px #22c55e66}.confirm-planning-btn:active:not(:disabled){transform:translateY(0)}.confirm-planning-btn:focus-visible{outline:2px solid var(--color-accent-green);outline-offset:2px}.confirm-planning-btn:disabled{opacity:.35;cursor:not-allowed;background:var(--color-bg-card-hover);color:var(--color-text-muted);box-shadow:none}@media(max-width:1024px){.circuit-planner{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.circuit-planner-rooms{grid-column:1;grid-row:1}.circuit-planner-circuits{grid-column:2;grid-row:1 / 3}.circuit-planner-summary{grid-column:1;grid-row:2;position:static}}@media(max-width:640px){.circuit-planner{grid-template-columns:1fr}.circuit-planner-rooms,.circuit-planner-circuits,.circuit-planner-summary{grid-column:1}.circuit-planner-summary{position:static}}.room-panel{min-width:0}.room-panel-title{margin:0 0 var(--space-md)}.room-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-sm);box-shadow:var(--shadow-card)}.room-card-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.room-name{font-family:var(--font-display);font-size:.78rem;font-weight:700;letter-spacing:.06em;color:var(--color-text-primary);text-transform:uppercase}.room-wet-badge{font-size:.85rem;cursor:help}.room-appliances{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.room-appliance{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.78rem;transition:all .15s ease}.room-appliance.unassigned{cursor:pointer;color:var(--color-text-primary);background:#eab3080a;border:1px solid rgba(234,179,8,.12)}.room-appliance.unassigned:hover{background:#eab3081a;border-color:#eab3084d;transform:translate(2px)}.room-appliance.assigned{cursor:default;color:var(--color-text-muted);background:#ffffff05;border:1px solid transparent;opacity:.6}.appliance-name{font-weight:600;min-width:0}.room-appliance .appliance-info{color:var(--color-text-secondary);font-size:.72rem;margin-left:auto}.room-appliance.assigned .appliance-info{color:var(--color-text-muted)}.appliance-assigned-to{width:100%;font-size:.68rem;color:var(--color-accent-green);opacity:.8}.circuit-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-card);position:relative;transition:border-color .2s ease,box-shadow .2s ease;cursor:pointer}.circuit-card.voltage-110{border-left:3px solid var(--color-accent-blue)}.circuit-card.voltage-220{border-left:3px solid #a855f7}.circuit-card-selected{border-color:#f59e0b!important;box-shadow:0 0 0 1px #f59e0b,0 0 12px #f59e0b4d}.circuit-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.circuit-card-number{font-family:var(--font-display);font-size:.82rem;font-weight:700;letter-spacing:.06em;color:var(--color-text-primary)}.circuit-card-delete{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-size:.82rem;cursor:pointer;transition:all .15s ease}.circuit-card-delete:hover{background:#ef44441f;border-color:#ef44444d;color:var(--color-accent-red)}.circuit-card-controls{display:grid;grid-template-columns:auto 1fr 1fr;gap:var(--space-sm);margin-bottom:var(--space-sm)}.circuit-card-field{display:flex;flex-direction:column;gap:2px}.circuit-card-field>label{font-family:var(--font-mono);font-size:.65rem;font-weight:600;color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase}.voltage-toggle{display:flex;gap:0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.voltage-toggle button{flex:1;padding:var(--space-xs) var(--space-sm);border:none;background:var(--color-bg-deep);color:var(--color-text-muted);font-family:var(--font-mono);font-size:.75rem;font-weight:700;cursor:pointer;transition:all .15s ease}.voltage-toggle button:first-child{border-right:1px solid var(--color-border)}.voltage-toggle button.active{color:var(--color-text-primary)}.voltage-toggle button:not(.active):hover{background:var(--color-bg-card-hover)}.circuit-card.voltage-110 .voltage-toggle button.active{background:#38bdf826;color:var(--color-accent-blue)}.circuit-card.voltage-220 .voltage-toggle button.active{background:#a855f726;color:#a855f7}.circuit-card-field select{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-deep);color:var(--color-text-primary);font-family:var(--font-mono);font-size:.75rem;cursor:pointer;transition:border-color .15s ease}.circuit-card-field select:hover{border-color:var(--color-border-hover)}.circuit-card-field select:focus{outline:none;border-color:var(--color-accent-amber)}.circuit-card-appliances{margin-bottom:var(--space-sm)}.circuit-card-appliances>label{display:block;font-family:var(--font-mono);font-size:.65rem;font-weight:600;color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}.circuit-card-appliances ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1px}.circuit-card-appliance{display:flex;align-items:center;gap:var(--space-sm);padding:3px var(--space-sm);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-primary);cursor:pointer;transition:background .12s ease}.circuit-card-appliance:hover{background:#ef444414}.circuit-card-appliance .appliance-current{margin-left:auto;color:var(--color-text-secondary);font-size:.72rem}.circuit-card-appliance .remove-hint{color:var(--color-text-muted);font-size:.7rem;opacity:0;transition:opacity .12s ease}.circuit-card-appliance:hover .remove-hint{opacity:1;color:var(--color-accent-red)}.circuit-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-sm);border-top:1px solid rgba(255,255,255,.06)}.circuit-current{font-family:var(--font-mono);font-size:.85rem;font-weight:700}.circuit-cost{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-secondary)}.phase-toggle{display:flex;gap:0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.phase-toggle button{flex:1;padding:var(--space-xs) var(--space-sm);border:none;background:var(--color-bg-deep);color:var(--color-text-muted);font-family:var(--font-mono);font-size:.75rem;font-weight:700;cursor:pointer;transition:all .15s ease;min-width:32px}.phase-toggle button:first-child{border-right:1px solid var(--color-border)}.phase-toggle button:not(.active):hover:not(:disabled){background:var(--color-bg-card-hover)}.phase-toggle button.active.phase-r{background:#ef44442e;color:#ef4444}.phase-toggle button.active.phase-t{background:#38bdf82e;color:#38bdf8}.phase-toggle button:disabled{cursor:not-allowed;opacity:.5}.circuit-card-controls.has-phase{grid-template-columns:auto auto 1fr 1fr}.elcb-toggle-planner{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);margin-bottom:var(--space-sm);border-radius:var(--radius-sm);background:#eab30814;border:1px solid rgba(234,179,8,.2);font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-primary);cursor:pointer;transition:all .15s ease}.elcb-toggle-planner:hover{background:#eab30824;border-color:#eab30859}.elcb-toggle-planner input[type=checkbox]{accent-color:#eab308;width:14px;height:14px;cursor:pointer}.elcb-cost-tag{margin-left:auto;font-size:.72rem;color:var(--color-accent-amber);font-weight:700}@media(max-width:640px){.circuit-card-controls{grid-template-columns:1fr 1fr}.circuit-card-controls .circuit-card-field:first-child{grid-column:1 / -1}}.sidebar-backdrop{display:none}@media(max-width:640px){.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:199;background:#00000080;animation:sidebar-backdrop-in .2s ease-out}}@keyframes sidebar-backdrop-in{0%{opacity:0}to{opacity:1}}.sidebar-collapsed{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);width:48px;padding:var(--space-md) var(--space-xs);background:var(--color-bg-panel);border-right:1px solid var(--color-border);cursor:pointer;overflow:hidden;transition:background .15s ease,width .25s ease}.sidebar-collapsed:hover{background:var(--color-bg-card)}.sidebar-collapsed__icon{font-size:1.2rem;color:var(--color-text-secondary)}.sidebar-collapsed__count{font-family:var(--font-mono);font-size:.75rem;font-weight:700;color:var(--color-accent-amber)}.sidebar-collapsed__cost{font-family:var(--font-mono);font-size:.65rem;color:var(--color-text-muted)}.sidebar-planner{display:flex;flex-direction:column;width:280px;min-width:280px;max-height:100%;background:var(--color-bg-panel);border-right:1px solid var(--color-border);overflow:hidden;transition:width .25s ease,min-width .25s ease}.sidebar-planner__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border)}.sidebar-planner__header h3{margin:0;font-family:var(--font-display);font-size:.8rem;font-weight:700;letter-spacing:.06em;color:var(--color-text-primary)}.sidebar-planner__collapse{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:.85rem;padding:2px 6px;border-radius:var(--radius-sm);transition:color .15s ease}.sidebar-planner__collapse:hover{color:var(--color-text-primary)}.sidebar-planner__summary{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border)}.sidebar-summary-row{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.72rem;color:var(--color-text-secondary);padding:2px 0}.sidebar-summary-row .text-danger{color:var(--color-accent-red);font-weight:700}.sidebar-summary-row .text-warning{color:var(--color-accent-amber);font-weight:700}.sidebar-phase-balance{margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid rgba(255,255,255,.06);display:flex;gap:var(--space-md)}.sidebar-phase-row{display:flex;gap:4px;font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-secondary)}.sidebar-phase-row .text-danger{color:var(--color-accent-red);font-weight:700}.sidebar-phase-row .phase-r-label{color:#f87171;font-weight:700}.sidebar-phase-row .phase-t-label{color:#60a5fa;font-weight:700}.sidebar-planner__circuits{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.sidebar-circuits-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-md);border-bottom:1px solid rgba(255,255,255,.04)}.sidebar-circuits-title{font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em}.sidebar-add-btn{width:24px;height:24px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);color:var(--color-accent-green);font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.sidebar-add-btn:hover:not(:disabled){border-color:var(--color-accent-green);background:#22c55e1a}.sidebar-add-btn:disabled{opacity:.3;cursor:not-allowed}.sidebar-circuits-list{padding:var(--space-xs) var(--space-sm);display:flex;flex-direction:column;gap:var(--space-xs)}.sidebar-circuit-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.sidebar-circuit-card--selected{border-color:var(--color-accent-amber);box-shadow:0 0 8px #eab30833}.sidebar-circuit-card__header{display:flex;align-items:center;gap:6px;padding:6px 8px;cursor:pointer;transition:background .1s ease}.sidebar-circuit-card__header:hover{background:var(--color-bg-card-hover)}.sidebar-circuit-card__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sidebar-circuit-card__name{font-family:var(--font-mono);font-weight:700;font-size:.75rem;color:var(--color-text-primary)}.sidebar-circuit-card__voltage{font-family:var(--font-mono);font-size:.6rem;font-weight:600;padding:1px 3px;border-radius:2px}.sidebar-circuit-card__voltage.voltage-110{background:#22c55e26;color:#4ade80}.sidebar-circuit-card__voltage.voltage-220{background:#a855f726;color:#c084fc}.sidebar-circuit-card__phase{font-family:var(--font-mono);font-size:.6rem;font-weight:700;padding:1px 3px;border-radius:2px}.sidebar-circuit-card__phase.phase-R{color:#f87171;background:#f871711f}.sidebar-circuit-card__phase.phase-T{color:#60a5fa;background:#60a5fa1f}.sidebar-circuit-card__nfb{font-family:var(--font-mono);font-size:.6rem;color:var(--color-text-muted)}.sidebar-circuit-card__elcb{font-family:var(--font-mono);font-size:.55rem;font-weight:700;color:#38bdf8;background:#38bdf81f;padding:1px 3px;border-radius:2px}.sidebar-circuit-card__load{font-family:var(--font-mono);font-size:.7rem;font-weight:600;margin-left:auto}.sidebar-circuit-card__count{font-family:var(--font-mono);font-size:.6rem;color:var(--color-text-muted);background:#ffffff0f;padding:1px 4px;border-radius:2px}.sidebar-circuit-card__expand{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.7rem;padding:0 2px}.sidebar-circuit-card__loadbar{height:2px;background:#ffffff0a}.sidebar-circuit-card__loadbar-fill{height:100%;transition:width .3s ease,background .3s ease}.sidebar-circuit-card__body{padding:6px 8px;border-top:1px solid rgba(255,255,255,.06)}.sidebar-card-controls{display:grid;grid-template-columns:1fr 1fr;gap:4px}.sidebar-card-field{display:flex;flex-direction:column;gap:2px}.sidebar-card-field label{font-family:var(--font-mono);font-size:.6rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.sidebar-card-field select{padding:3px 4px;font-family:var(--font-mono);font-size:.7rem;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary)}.voltage-toggle--small button,.phase-toggle--small button{padding:2px 6px;font-size:.65rem}.sidebar-elcb-toggle{display:flex;align-items:center;gap:4px;margin-top:4px;font-family:var(--font-mono);font-size:.68rem;color:var(--color-text-secondary);cursor:pointer}.sidebar-elcb-toggle input{accent-color:#38bdf8}.sidebar-card-appliances{margin-top:6px;border-top:1px solid rgba(255,255,255,.04);padding-top:4px}.sidebar-card-room-group{margin-bottom:4px}.sidebar-card-room-name{font-family:var(--font-mono);font-size:.6rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.sidebar-card-appliance{display:flex;align-items:center;gap:4px;padding:2px 4px;font-size:.68rem;color:var(--color-text-secondary);border-radius:2px;cursor:pointer;transition:background .1s ease}.sidebar-card-appliance:hover{background:#ffffff0a}.sidebar-card-appliance-current{margin-left:auto;font-family:var(--font-mono);font-size:.62rem;color:var(--color-text-muted)}.sidebar-card-remove{font-size:.6rem;color:var(--color-accent-red);opacity:0;transition:opacity .1s ease}.sidebar-card-appliance:hover .sidebar-card-remove{opacity:1}.sidebar-card-unassigned{margin-top:4px;padding-top:4px;border-top:1px dashed rgba(255,255,255,.06)}.sidebar-card-unassigned-label{font-family:var(--font-mono);font-size:.58rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.sidebar-card-appliance--unassigned{opacity:.6}.sidebar-card-assign{font-size:.7rem;color:var(--color-accent-green);opacity:0;transition:opacity .1s ease}.sidebar-card-appliance--unassigned:hover .sidebar-card-assign{opacity:1}.sidebar-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:6px;padding-top:4px;border-top:1px solid rgba(255,255,255,.04);font-family:var(--font-mono);font-size:.68rem;color:var(--color-text-secondary)}.sidebar-card-delete-btn{font-family:var(--font-mono);font-size:.6rem;padding:2px 6px;background:transparent;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);color:var(--color-accent-red);cursor:pointer;transition:background .15s ease}.sidebar-card-delete-btn:hover{background:#ef44441a}.sidebar-planner__footer{padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-border)}.sidebar-confirm-btn{width:100%;padding:var(--space-sm);font-family:var(--font-display);font-size:.8rem;font-weight:600;letter-spacing:.04em;border:2px solid var(--color-accent-green);border-radius:var(--radius-md);background:#22c55e1a;color:var(--color-accent-green);cursor:pointer;transition:background .2s ease}.sidebar-confirm-btn:hover:not(:disabled){background:#22c55e33}.sidebar-confirm-btn:focus-visible{outline:2px solid var(--color-accent-green);outline-offset:2px}.sidebar-confirm-btn:disabled{opacity:.35;cursor:not-allowed;border-color:var(--color-text-secondary);color:var(--color-text-secondary);background:transparent}@media(max-width:640px){.fp-main>.sidebar-collapsed{width:100%;flex-direction:row;justify-content:center;padding:var(--space-xs) var(--space-md);border-right:none;border-bottom:1px solid var(--color-border)}.fp-main>.sidebar-planner{position:fixed;top:0;left:0;width:280px;height:100vh;z-index:200;border-right:1px solid var(--color-border);box-shadow:4px 0 24px #00000080}}@media(min-width:641px)and (max-width:1024px){.sidebar-planner{width:220px;min-width:220px}.sidebar-planner__header h3{font-size:.72rem}.sidebar-summary-row,.sidebar-circuit-card__header{font-size:.68rem}}.wire-toolbar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-panel);border-top:1px solid var(--color-border);min-height:60px}.wire-toolbar__cards-wrap{flex:1;min-width:0;position:relative}.wire-toolbar__cards-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;width:24px;background:linear-gradient(to right,transparent,var(--color-bg-panel));pointer-events:none;opacity:0;transition:opacity .2s ease}.wire-toolbar__cards-wrap--scrollable:after{opacity:1}.wire-toolbar__cards{display:flex;gap:var(--space-xs);overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.wire-toolbar__card{display:flex;align-items:center;gap:6px;padding:var(--space-xs) var(--space-sm);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:grab;user-select:none;-webkit-user-select:none;white-space:nowrap;transition:all .15s ease;min-width:0;flex-shrink:0;scroll-snap-align:start}.wire-toolbar__card:hover:not([data-disabled]){border-color:var(--color-border-hover);background:var(--color-bg-card-hover)}.wire-toolbar__card:active:not([data-disabled]){cursor:grabbing}.wire-toolbar__card--selected{border-color:var(--color-accent-amber);background:#eab30814}.wire-toolbar__card--dragging{opacity:.4;border-color:var(--color-accent-amber);box-shadow:var(--shadow-glow-amber);transform:scale(.95)}.wire-toolbar__card[data-disabled]{opacity:.35;cursor:not-allowed;pointer-events:none}.wire-toolbar__dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.wire-toolbar__gauge{font-family:var(--font-mono);font-weight:700;font-size:.875rem;color:var(--color-text-primary)}.wire-toolbar__spec{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-secondary)}.wire-toolbar__cost{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-muted)}.wire-toolbar__power{flex-shrink:0;padding:var(--space-sm) var(--space-lg);min-height:40px;font-family:var(--font-display);font-size:.875rem;font-weight:600;letter-spacing:.04em;border:2px solid var(--color-accent-green);border-radius:var(--radius-md);background:#22c55e1a;color:var(--color-accent-green);cursor:pointer;transition:background .2s ease,border-color .2s ease,opacity .2s ease;white-space:nowrap}.wire-toolbar__power:hover:not(:disabled){background:#22c55e33}.wire-toolbar__power--on{border-color:var(--color-accent-red);background:#ef44441a;color:var(--color-accent-red)}.wire-toolbar__power--on:hover:not(:disabled){background:#ef444433}.wire-toolbar__power:active:not(:disabled){animation:power-pulse .2s ease}@keyframes power-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.wire-toolbar__power:focus-visible{outline:2px solid var(--color-accent-green);outline-offset:2px}.wire-toolbar__power:disabled{opacity:.35;cursor:not-allowed;border-color:var(--color-text-secondary);color:var(--color-text-secondary);background:transparent}@media(max-width:640px){.wire-toolbar{padding:var(--space-xs) var(--space-sm);min-height:52px}.wire-toolbar__card{padding:var(--space-xs) 6px;gap:4px}.wire-toolbar__spec,.wire-toolbar__cost{display:none}.wire-toolbar__cards{scrollbar-width:none}.wire-toolbar__cards::-webkit-scrollbar{display:none}.wire-toolbar__power{padding:var(--space-xs) var(--space-sm);font-size:.75rem}}.circuit-popover{min-width:180px;background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 32px #00000080,0 0 1px #ffffff14 inset;overflow:hidden;animation:popover-in .15s ease-out}@keyframes popover-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.circuit-popover__title{padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid rgba(255,255,255,.06)}.circuit-popover__divider{height:1px;background:#ffffff0f}.circuit-popover__item{display:flex;align-items:center;gap:6px;width:100%;padding:6px var(--space-md);background:none;border:none;color:var(--color-text-primary);font-family:var(--font-mono);font-size:.75rem;cursor:pointer;text-align:left;transition:background .1s ease}.circuit-popover__item:hover:not(:disabled){background:var(--color-bg-card-hover)}.circuit-popover__item:disabled{opacity:.5;cursor:default}.circuit-popover__item--current{background:#eab3080f}.circuit-popover__item--unassign{color:var(--color-accent-red)}.circuit-popover__item--add{color:var(--color-accent-green)}.circuit-popover__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.circuit-popover__label{font-weight:700}.circuit-popover__voltage{font-size:.65rem;color:var(--color-text-muted)}.circuit-popover__check{margin-left:auto;color:var(--color-accent-amber)}.volume-control{display:flex;align-items:center;gap:6px;flex-shrink:0}.volume-control__icon{background:none;border:none;color:var(--color-accent);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .15s,background-color .15s;line-height:0}.volume-control__icon:hover{background-color:#f59e0b1f}.volume-control__icon:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.volume-control__icon:active{transform:scale(.92)}.volume-control__slider{-webkit-appearance:none;appearance:none;width:80px;height:8px;border-radius:4px;background:linear-gradient(to right,var(--color-accent) 0%,var(--color-accent) var(--volume-pct, 50%),rgba(255,255,255,.08) var(--volume-pct, 50%),rgba(255,255,255,.08) 100%);box-shadow:inset 0 2px 3px #00000080,0 0 0 1px #ffffff0f;cursor:pointer;outline:none;transition:box-shadow .15s}.volume-control__slider:hover{box-shadow:inset 0 2px 3px #00000080,0 0 0 1px #f59e0b33,0 0 6px #f59e0b1a}.volume-control__slider:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:4px}.volume-control__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fbbf24,var(--color-accent));border:2px solid rgba(0,0,0,.4);box-shadow:0 0 8px #f59e0b73,0 1px 3px #0006;cursor:grab;transition:box-shadow .15s,transform .15s}.volume-control__slider::-webkit-slider-thumb:hover{box-shadow:0 0 12px #f59e0ba6,0 1px 4px #00000080;transform:scale(1.15)}.volume-control__slider:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.1)}.volume-control__slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fbbf24,var(--color-accent));border:2px solid rgba(0,0,0,.4);box-shadow:0 0 8px #f59e0b73,0 1px 3px #0006;cursor:grab}.volume-control__slider::-moz-range-track{height:8px;border-radius:4px;background:transparent}.error-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:var(--space-2xl);text-align:center;gap:var(--space-md)}.error-fallback__icon{font-size:3rem;line-height:1}.error-fallback__title{margin:0;font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-text-primary);letter-spacing:.05em}.error-fallback__message{margin:0;font-family:var(--font-mono);font-size:.9rem;color:var(--color-text-secondary);max-width:400px}.error-fallback__detail{margin:0;padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);font-size:.75rem;color:var(--color-danger);background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);max-width:500px;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-fallback__btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-xl);font-family:var(--font-mono);font-size:.85rem;font-weight:600;color:var(--color-bg-primary);background:var(--color-accent-amber);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease,transform .1s ease}.error-fallback__btn:hover{background:#d4a106}.error-fallback__btn:active{transform:scale(.97)}.error-fallback__btn:focus-visible{outline:2px solid var(--color-accent-amber);outline-offset:2px}
