.export-controls{background:#fff;border-radius:12px;padding:20px;border:1px solid #e5e7eb;margin-top:16px}.dark .export-controls{background:#1f2937;border-color:#374151}.export-controls h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.dark .export-controls h3{color:#f9fafb}.export-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.export-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.export-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;color:#111827}.export-btn:disabled{opacity:.5;cursor:not-allowed}.dark .export-btn{background:#374151;border-color:#4b5563;color:#d1d5db}.dark .export-btn:hover:not(:disabled){background:#4b5563;border-color:#6b7280;color:#f9fafb}.export-btn.secondary{grid-column:span 2;background:#f3f4f6;border-color:#d1d5db}.export-btn.secondary:hover:not(:disabled){background:#e5e7eb}.dark .export-btn.secondary{background:#374151;border-color:#4b5563}.dark .export-btn.secondary:hover:not(:disabled){background:#4b5563}.status-message{margin-top:12px;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.status-message:empty{display:none}.dark .status-message{background:#065f46;color:#6ee7b7;border-color:#047857}.navbar{display:flex;justify-content:space-between;align-items:center;padding:0 24px;height:64px;background:#fff;border-bottom:1px solid #e5e7eb;position:fixed;top:0;left:0;right:0;z-index:1000}.dark .navbar{background:#1f2937;border-bottom-color:#374151}.navbar-brand{display:flex;align-items:center}.logo{display:flex;align-items:center;gap:12px}.logo-icon{color:#3b82f6}.brand-text{font-size:20px;font-weight:600;color:#111827;letter-spacing:-.025em}.dark .brand-text{color:#f9fafb}.navbar-actions{display:flex;align-items:center;gap:16px}.simulation-counter{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f3f4f6;border-radius:6px;font-size:13px}.dark .simulation-counter{background:#374151}.counter-label{color:#6b7280;font-weight:500}.dark .counter-label{color:#9ca3af}.counter-value{color:#3b82f6;font-weight:600}.dark .counter-value{color:#60a5fa}.upgrade-button{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1px solid #10b981;background:#10b981;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.upgrade-button:hover{background:#059669;border-color:#059669;transform:translateY(-1px)}.ai-mode-toggle{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500}.ai-mode-toggle:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.ai-mode-toggle.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.ai-mode-toggle.active:hover{background:#2563eb;border-color:#2563eb}.dark .ai-mode-toggle{background:#374151;border-color:#4b5563;color:#d1d5db}.dark .ai-mode-toggle:hover{background:#4b5563;border-color:#6b7280;color:#f9fafb}.dark .ai-mode-toggle.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.dark-mode-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;cursor:pointer;transition:all .2s ease}.dark-mode-toggle:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.dark .dark-mode-toggle{background:#374151;border-color:#4b5563;color:#d1d5db}.dark .dark-mode-toggle:hover{background:#4b5563;border-color:#6b7280;color:#f9fafb}.sidebar{width:280px;background:#fff;border-right:1px solid #e5e7eb;position:fixed;top:64px;left:0;bottom:0;overflow-y:auto;z-index:999}.dark .sidebar{background:#1f2937;border-right-color:#374151}.sidebar-header{padding:24px 20px 16px;border-bottom:1px solid #f3f4f6}.dark .sidebar-header{border-bottom-color:#374151}.sidebar-header h2{margin:0;font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.dark .sidebar-header h2{color:#9ca3af}.sidebar-nav{padding:8px}.sidebar-item{display:flex;align-items:center;width:100%;padding:12px 16px;border:none;border-radius:8px;background:transparent;color:#374151;cursor:pointer;transition:all .2s ease;margin-bottom:2px}.sidebar-item:hover{background:#f9fafb;color:#111827}.dark .sidebar-item{color:#d1d5db}.dark .sidebar-item:hover{background:#374151;color:#f9fafb}.sidebar-item.active{background:#dbeafe;color:#1d4ed8}.dark .sidebar-item.active{background:#1e3a8a;color:#93c5fd}.sidebar-item-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:12px;border-radius:6px;background:#f3f4f6;color:#6b7280}.sidebar-item.active .sidebar-item-icon{background:#3b82f6;color:#fff}.dark .sidebar-item-icon{background:#374151;color:#9ca3af}.dark .sidebar-item.active .sidebar-item-icon{background:#2563eb;color:#fff}.sidebar-item-content{flex:1;text-align:left}.sidebar-item-name{font-size:14px;font-weight:500;line-height:1.4}.sidebar-item-description{font-size:12px;color:#6b7280;margin-top:2px}.dark .sidebar-item-description{color:#9ca3af}.sidebar-item.active .sidebar-item-description{color:#1e40af}.dark .sidebar-item.active .sidebar-item-description{color:#60a5fa}.sidebar-footer{padding:20px;border-top:1px solid #f3f4f6;margin-top:auto}.dark .sidebar-footer{border-top-color:#374151}.sidebar-info{text-align:center}.sidebar-info p{margin:0;font-size:12px;color:#9ca3af}.sidebar-info .version{margin-top:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.dark .sidebar-info .version{color:#6b7280}.sidebar-dropdown{display:none}.dropdown-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:none;border-radius:8px;background:transparent;color:#374151;cursor:pointer;transition:all .2s ease;margin-bottom:8px}.dropdown-toggle:hover{background:#f9fafb;color:#111827}.dark .dropdown-toggle{color:#d1d5db}.dark .dropdown-toggle:hover{background:#374151;color:#f9fafb}.dropdown-selected{display:flex;align-items:center;flex:1}.dropdown-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:12px;border-radius:6px;background:#f3f4f6;color:#6b7280}.sidebar-item.active .dropdown-icon{background:#3b82f6;color:#fff}.dark .dropdown-icon{background:#374151;color:#9ca3af}.dark .sidebar-item.active .dropdown-icon{background:#2563eb;color:#fff}.dropdown-text{flex:1;text-align:left}.dropdown-name{font-size:14px;font-weight:500;line-height:1.4}.dropdown-description{font-size:12px;color:#6b7280;margin-top:2px}.dark .dropdown-description{color:#9ca3af}.dropdown-arrow{transition:transform .2s ease}.dropdown-toggle[aria-expanded=true] .dropdown-arrow{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;z-index:1000;max-height:300px;overflow-y:auto}.dark .dropdown-menu{background:#1f2937;border-color:#374151}.dropdown-item{display:flex;align-items:center;width:100%;padding:12px 16px;border:none;background:transparent;color:#374151;cursor:pointer;transition:all .2s ease}.dropdown-item:hover{background:#f9fafb;color:#111827}.dark .dropdown-item{color:#d1d5db}.dark .dropdown-item:hover{background:#374151;color:#f9fafb}.dropdown-item.active{background:#dbeafe;color:#1d4ed8}.dark .dropdown-item.active{background:#1e3a8a;color:#93c5fd}.dropdown-item-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:12px;border-radius:6px;background:#f3f4f6;color:#6b7280}.dropdown-item.active .dropdown-item-icon{background:#3b82f6;color:#fff}.dark .dropdown-item-icon{background:#374151;color:#9ca3af}.dark .dropdown-item.active .dropdown-item-icon{background:#2563eb;color:#fff}.dropdown-item-content{flex:1;text-align:left}.dropdown-item-name{font-size:14px;font-weight:500;line-height:1.4}.dropdown-item-description{font-size:12px;color:#6b7280;margin-top:2px}.dark .dropdown-item-description{color:#9ca3af}.dropdown-item.active .dropdown-item-description{color:#1e40af}.dark .dropdown-item.active .dropdown-item-description{color:#60a5fa}@media(max-width:768px){.sidebar-nav{display:none}.sidebar-dropdown{display:block}}.input-panel{padding:24px}.input-panel h2{margin:0 0 20px;color:#2c3e50;font-size:1.4rem;font-weight:500}.dark .input-panel h2{color:#f9fafb}.input-textarea{width:100%;padding:12px;border:2px solid #e1e8ed;border-radius:8px;font-size:14px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;resize:vertical;min-height:100px;transition:border-color .2s ease}.input-textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.example-buttons{display:flex;gap:10px;margin:15px 0}.example-btn{flex:1;padding:8px 12px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;font-size:12px;color:#495057;cursor:pointer;transition:all .2s ease}.example-btn:hover{background:#e9ecef;border-color:#adb5bd}.simulate-btn{width:100%;padding:12px 24px;border:none;border-radius:8px;background:#3b82f6;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.simulate-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f626}.simulate-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.simulate-btn.simulating{background:#3b82f6;cursor:not-allowed}.simulate-btn.simulating:hover{transform:none;box-shadow:none}.spinner{display:inline-block;width:16px;height:16px;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-right:8px}.success-message{margin-top:16px;padding:12px 16px;background:#dcfce7;border:1px solid #bbf7d0;border-radius:8px;color:#166534;font-size:14px;font-weight:500;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dark .success-message{background:#065f46;border-color:#047857;color:#34d399}.simulate-btn:active{transform:translateY(1px)}.digital-circuit-builder{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px -1px #0000001a;margin-bottom:24px}.dark .digital-circuit-builder{background:#1f2937;border:1px solid #374151}.circuit-controls{margin-bottom:24px}.circuit-controls h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#111827}.dark .circuit-controls h3{color:#f9fafb}.gate-selector{display:flex;gap:12px;align-items:center}.gate-selector select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:14px}.dark .gate-selector select{background:#374151;border-color:#4b5563;color:#d1d5db}.gate-selector button{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.gate-selector button:hover:not(:disabled){background:#2563eb}.gate-selector button:disabled{background:#9ca3af;cursor:not-allowed}.input-switches{margin-bottom:24px;padding:16px;background:#f9fafb;border-radius:8px}.dark .input-switches{background:#374151}.input-switches h4{margin:0 0 12px;font-size:16px;font-weight:500;color:#111827}.dark .input-switches h4{color:#f9fafb}.switches{display:flex;gap:16px}.input-switch{display:flex;flex-direction:column;align-items:center;gap:8px}.input-switch label{font-size:12px;font-weight:500;color:#6b7280}.dark .input-switch label{color:#9ca3af}.toggle-switch{width:60px;height:30px;border-radius:15px;border:2px solid #d1d5db;background:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.dark .toggle-switch{border-color:#4b5563;background:#374151;color:#d1d5db}.toggle-switch.on{background:#10b981;border-color:#10b981;color:#fff}.toggle-switch.off{background:#ef4444;border-color:#ef4444;color:#fff}.circuit-workspace{margin-bottom:24px;min-height:300px}.workspace-canvas{position:relative;background:#f3f4f6;border:2px dashed #d1d5db;border-radius:8px;min-height:250px;overflow:hidden}.dark .workspace-canvas{background:#111827;border-color:#4b5563}.empty-state{display:flex;align-items:center;justify-content:center;height:250px;color:#6b7280;font-size:14px}.dark .empty-state{color:#9ca3af}.logic-gate{position:absolute;width:80px;height:60px}.gate-body{position:relative;width:60px;height:40px;background:#fff;border:2px solid #3b82f6;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto}.dark .gate-body{background:#374151;border-color:#2563eb}.gate-symbol{font-size:12px;font-weight:600;color:#3b82f6}.dark .gate-symbol{color:#60a5fa}.gate-label{font-size:8px;font-weight:500;color:#6b7280;margin-top:2px}.dark .gate-label{color:#9ca3af}.gate-inputs{position:absolute;left:0;top:0;width:10px;height:40px}.input-line{position:absolute;left:-20px;width:20px;height:2px;background:#6b7280}.dark .input-line{background:#9ca3af}.gate-output{position:absolute;right:0;top:50%;transform:translateY(-50%)}.output-line{width:20px;height:2px;background:#6b7280}.dark .output-line{background:#9ca3af}.remove-gate-btn{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;background:#ef4444;color:#fff;border:none;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.remove-gate-btn:hover{background:#dc2626}.gate-type-select{position:absolute;bottom:-24px;left:50%;transform:translate(-50%);font-size:10px;padding:2px 4px;border:1px solid #d1d5db;border-radius:3px;background:#fff;color:#374151}.dark .gate-type-select{background:#374151;border-color:#4b5563;color:#d1d5db}.output-display{margin-bottom:24px;padding:16px;background:#f9fafb;border-radius:8px}.dark .output-display{background:#374151}.output-display h4{margin:0 0 12px;font-size:16px;font-weight:500;color:#111827}.dark .output-display h4{color:#f9fafb}.led-indicators{display:flex;gap:16px}.led-container{display:flex;flex-direction:column;align-items:center;gap:8px}.led-container label{font-size:12px;font-weight:500;color:#6b7280}.dark .led-container label{color:#9ca3af}.led{width:30px;height:30px;border-radius:50%;border:2px solid #d1d5db;transition:all .2s ease}.dark .led{border-color:#4b5563}.led.on{background:#10b981;border-color:#10b981;box-shadow:0 0 10px #10b98180}.led.off{background:#374151;border-color:#4b5563}.no-output{color:#6b7280;font-size:14px;font-style:italic}.dark .no-output{color:#9ca3af}.truth-table{margin-top:24px}.truth-table h4{margin:0 0 12px;font-size:16px;font-weight:500;color:#111827}.dark .truth-table h4{color:#f9fafb}.truth-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:6px;overflow:hidden}.dark .truth-table table{background:#374151}.truth-table th,.truth-table td{padding:8px 12px;text-align:center;border:1px solid #e5e7eb;font-size:14px}.dark .truth-table th,.dark .truth-table td{border-color:#4b5563;color:#d1d5db}.truth-table th{background:#f9fafb;font-weight:600;color:#111827}.dark .truth-table th{background:#1f2937;color:#f9fafb}.truth-table tr.high td{background:#dcfce7;color:#166534}.dark .truth-table tr.high td{background:#14532d;color:#86efac}.truth-table tr.low td{background:#fef2f2;color:#991b1b}.dark .truth-table tr.low td{background:#7f1d1d;color:#fca5a5}@media(max-width:768px){.digital-circuit-builder{padding:16px}.switches{flex-direction:column;gap:12px}.led-indicators{flex-wrap:wrap}.gate-selector{flex-direction:column;align-items:stretch}.gate-selector button{width:100%}}.graph-panel{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 10px #0000001a;border:1px solid #e1e8ed}.chart-container{position:relative;transition:opacity .3s ease;height:400px;width:100%}.graph-panel.updating .chart-container{opacity:.6}.graph-panel.updating h2{color:#9ca3af}.no-data{height:400px;display:flex;align-items:center;justify-content:center;color:#95a5a6;font-size:16px;border:2px dashed #e1e8ed;border-radius:8px}.result-summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;text-align:center;transition:all .15s ease-in-out;cursor:pointer;position:relative;overflow:hidden}.voltage-card{border-color:var(--color-voltage)}.warning-card{border-color:var(--color-warning)}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#10b981);opacity:0;transition:opacity .2s ease}.summary-card:hover{border-color:#3b82f6;box-shadow:0 8px 20px #3b82f626;transform:translateY(-2px);transition:all .15s ease-in-out}.summary-card:hover:before{opacity:1}.card-label{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#6b7280;margin-bottom:8px;opacity:.8}.card-value{font-size:1.5rem;font-weight:700;color:#111827;line-height:1.2;margin:0}.dark .summary-card{background:#1f2937;border-color:#374151}.dark .summary-card:hover{border-color:#60a5fa;box-shadow:0 4px 12px #60a5fa26}.dark .card-label{color:#9ca3af}.dark .card-value{color:#f9fafb}@media(max-width:768px){.result-summary-cards{grid-template-columns:1fr;gap:12px}.summary-card{padding:16px}.card-value{font-size:1.25rem}}@media(max-width:480px){.result-summary-cards{gap:8px}.summary-card{padding:12px}.card-label{font-size:.625rem;margin-bottom:6px}.card-value{font-size:1.125rem}}.card-value{transition:all .3s ease}.card-value.updating{transform:scale(1.05);color:#3b82f6}.dark .card-value.updating{color:#60a5fa}.summary-card:focus-within{outline:2px solid #3b82f6;outline-offset:2px}.dark .summary-card:focus-within{outline-color:#60a5fa}.summary-card:nth-child(1){border-left:3px solid #dc2626}.summary-card:nth-child(2){border-left:3px solid #10b981}.summary-card:nth-child(3){border-left:3px solid #3b82f6}.dark .summary-card:nth-child(1){border-left-color:#ef4444}.dark .summary-card:nth-child(2){border-left-color:#34d399}.dark .summary-card:nth-child(3){border-left-color:#60a5fa}.ai-explanation-toggle{background:#fff;border-radius:12px;padding:20px;margin-bottom:24px;border:1px solid #e5e7eb;box-shadow:0 2px 4px #0000000d}.dark .ai-explanation-toggle{background:#1f2937;border-color:#374151}.ai-toggle-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.ai-toggle-info h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#111827}.dark .ai-toggle-info h4{color:#f9fafb}.ai-toggle-info p{margin:0;font-size:14px;color:#6b7280}.dark .ai-toggle-info p{color:#9ca3af}.ai-toggle-controls{display:flex;gap:12px;align-items:center}.level-selector{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:14px;min-width:120px}.dark .level-selector{background:#374151;border-color:#4b5563;color:#d1d5db}.explain-btn{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.explain-btn:hover:not(:disabled){background:#2563eb}.explain-btn:disabled{background:#9ca3af;cursor:not-allowed}.api-key-input{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:16px}.dark .api-key-input{background:#374151;border-color:#4b5563}.api-key-input h5{margin:0 0 8px;font-size:14px;font-weight:600;color:#111827}.dark .api-key-input h5{color:#f9fafb}.api-key-input p{margin:0 0 12px;font-size:13px;color:#6b7280}.dark .api-key-input p{color:#9ca3af}.api-key-form{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.api-key-field{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.dark .api-key-field{background:#1f2937;border-color:#4b5563;color:#d1d5db}.api-key-actions{display:flex;gap:8px}.save-key-btn{padding:8px 16px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.save-key-btn:hover{background:#059669}.cancel-btn{padding:8px 16px;background:#6b7280;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.cancel-btn:hover{background:#4b5563}.api-key-note{font-size:12px;color:#6b7280;margin:0}.dark .api-key-note{color:#9ca3af}.api-key-note a{color:#3b82f6;text-decoration:none}.api-key-note a:hover{text-decoration:underline}.ai-status{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#dcfce7;border:1px solid #bbf7d0;border-radius:6px;margin-bottom:16px}.dark .ai-status{background:#14532d;border-color:#166534}.status-indicator{font-size:13px;font-weight:500}.status-indicator.configured{color:#166534}.dark .status-indicator.configured{color:#86efac}.remove-key-btn{padding:4px 8px;background:#ef4444;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .2s ease}.remove-key-btn:hover{background:#dc2626}.ai-explanation-content{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-top:16px}.dark .ai-explanation-content{background:#374151;border-color:#4b5563}.explanation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.explanation-header h5{margin:0;font-size:15px;font-weight:600;color:#111827}.dark .explanation-header h5{color:#f9fafb}.collapse-btn{background:none;border:none;font-size:18px;color:#6b7280;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.collapse-btn:hover{background:#e5e7eb;color:#374151}.dark .collapse-btn:hover{background:#4b5563;color:#d1d5db}.explanation-text{color:#374151;line-height:1.6}.dark .explanation-text{color:#d1d5db}.explanation-text p{margin:0 0 12px}.explanation-text p:last-child{margin-bottom:0}.explanation-footer{margin-top:16px;padding-top:12px;border-top:1px solid #e5e7eb}.dark .explanation-footer{border-top-color:#4b5563}.ai-disclaimer{color:#6b7280;font-size:12px;font-style:italic}.dark .ai-disclaimer{color:#9ca3af}@media(max-width:768px){.ai-toggle-header{flex-direction:column;gap:12px}.ai-toggle-controls{width:100%;justify-content:space-between}.level-selector{flex:1}.explain-btn{flex-shrink:0}.api-key-actions{flex-direction:column}.save-key-btn,.cancel-btn{width:100%}}.explain-btn:disabled{position:relative}.explain-btn:disabled:after{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border:2px solid transparent;border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.explanation-panel{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 10px #0000001a;border:1px solid #e1e8ed;text-align:left}.explanation-panel h2{margin:0 0 20px;color:#2c3e50;font-size:1.4rem;font-weight:500}.dark .explanation-panel h2{color:#f9fafb}.ai-section{margin:24px 0;padding:20px;border-radius:8px;border-left:4px solid #3b82f6;background:#f8fafc}.dark .ai-section{background:#1e293b;border-left-color:#60a5fa}.ai-section.concept-insight{border-left-color:#8b5cf6}.dark .ai-section.concept-insight{border-left-color:#a78bfa}.ai-section.real-world{border-left-color:#10b981}.dark .ai-section.real-world{border-left-color:#34d399}.ai-section.common-mistakes{border-left-color:#f59e0b}.dark .ai-section.common-mistakes{border-left-color:#fbbf24}.ai-section h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px}.dark .ai-section h3{color:#f9fafb}.ai-section p{margin:0 0 12px;color:#4b5563;line-height:1.6;font-size:14px}.dark .ai-section p{color:#d1d5db}.ai-section ul{margin:12px 0;padding-left:20px}.ai-section li{margin:8px 0;color:#4b5563;line-height:1.5;font-size:14px}.dark .ai-section li{color:#d1d5db}.ai-section strong{color:#1f2937;font-weight:600}.dark .ai-section strong{color:#f9fafb}.explanation-panel h3{margin:20px 0 10px;color:#34495e;font-size:1.1rem;font-weight:500}.circuit-params ul{margin:10px 0;padding-left:20px}.circuit-params li{margin:8px 0;color:#5a6c7d;line-height:1.4}.physics-explanation,.exponential-explanation,.time-constant-explanation{margin:20px 0}.physics-explanation p,.exponential-explanation p,.time-constant-explanation p{margin:8px 0;color:#5a6c7d;line-height:1.6;font-size:14px}.no-data{padding:40px 20px;text-align:center;color:#95a5a6;font-size:16px;border:2px dashed #e1e8ed;border-radius:8px}.results-summary{background:#fff;border-radius:12px;padding:24px;border:1px solid #e5e7eb;margin-top:16px}.dark .results-summary{background:#1f2937;border-color:#374151}.results-summary h3{margin:0 0 20px;font-size:18px;font-weight:600;color:#111827}.dark .results-summary h3{color:#f9fafb}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.summary-item{display:flex;flex-direction:column;gap:8px}.summary-label{font-size:14px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.dark .summary-label{color:#9ca3af}.summary-value{font-size:16px;font-weight:600;color:#111827;padding:8px 12px;background:#f8fafc;border-radius:6px;border:1px solid #e5e7eb}.dark .summary-value{color:#f9fafb;background:#374151;border-color:#4b5563}.insights-section{background:#f8fafc;border-radius:8px;padding:20px;border:1px solid #e5e7eb}.dark .insights-section{background:#374151;border-color:#4b5563}.insights-section h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#111827}.dark .insights-section h4{color:#f9fafb}.insights-section ul{margin:0;padding:0;list-style:none}.insights-section li{position:relative;padding-left:20px;margin-bottom:12px;font-size:14px;color:#374151;line-height:1.5}.dark .insights-section li{color:#d1d5db}.insights-section li:before{content:"•";position:absolute;left:0;top:0;color:#10b981;font-weight:700}@media(max-width:768px){.summary-grid{grid-template-columns:1fr}.results-summary{padding:16px}}.pricing-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.pricing-modal{background:#fff;border-radius:16px;max-width:1000px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.dark .pricing-modal{background:#1f2937;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003}.pricing-modal-header{display:flex;justify-content:space-between;align-items:center;padding:32px 32px 24px;border-bottom:1px solid #e5e7eb}.dark .pricing-modal-header{border-bottom-color:#374151}.pricing-modal-header h2{margin:0;font-size:28px;font-weight:700;color:#111827}.dark .pricing-modal-header h2{color:#f9fafb}.close-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;color:#6b7280;border-radius:8px;cursor:pointer;transition:all .2s ease}.close-button:hover{background:#f3f4f6;color:#374151}.dark .close-button{color:#9ca3af}.dark .close-button:hover{background:#374151;color:#f9fafb}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;padding:32px}.pricing-card{border:2px solid #e5e7eb;border-radius:12px;padding:32px;position:relative;transition:all .2s ease}.pricing-card:hover{border-color:#3b82f6;box-shadow:0 10px 15px -3px #3b82f61a}.pricing-card.current{border-color:#3b82f6;background:#f0f9ff}.dark .pricing-card{border-color:#374151;background:#374151}.dark .pricing-card:hover{border-color:#60a5fa;box-shadow:0 10px 15px -3px #60a5fa1a}.dark .pricing-card.current{border-color:#60a5fa;background:#1e3a8a}.pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#f59e0b;color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.pricing-header{text-align:center;margin-bottom:24px}.pricing-header h3{margin:0 0 8px;font-size:24px;font-weight:700;color:#111827}.dark .pricing-header h3{color:#f9fafb}.pricing-price{display:flex;align-items:baseline;justify-content:center;gap:4px}.price-amount{font-size:48px;font-weight:700;color:#111827}.dark .price-amount{color:#f9fafb}.price-period{font-size:18px;color:#6b7280}.dark .price-period{color:#9ca3af}.pricing-features{margin-bottom:32px}.pricing-features ul{list-style:none;padding:0;margin:0}.pricing-features li{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;font-size:14px;color:#4b5563;line-height:1.5}.dark .pricing-features li{color:#d1d5db}.pricing-features li svg{flex-shrink:0;margin-top:2px;color:#10b981}.pricing-button{width:100%;padding:12px 24px;border:2px solid #3b82f6;border-radius:8px;background:#3b82f6;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.pricing-button:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.pricing-button:disabled{background:#6b7280;border-color:#6b7280;cursor:not-allowed}.pricing-button.current{background:#6b7280;border-color:#6b7280;cursor:default}.pricing-footer{padding:24px 32px 32px;border-top:1px solid #e5e7eb;text-align:center}.dark .pricing-footer{border-top-color:#374151}.pricing-footer p{margin:0 0 16px;color:#6b7280;font-size:14px}.dark .pricing-footer p{color:#9ca3af}.pricing-guarantee{display:flex;align-items:center;justify-content:center;gap:8px;color:#10b981;font-size:14px;font-weight:500}@media(max-width:768px){.pricing-grid{grid-template-columns:1fr;padding:24px 16px}.pricing-modal-header{padding:24px 16px 20px}.pricing-card{padding:24px}.price-amount{font-size:36px}}.circuit-diagram{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb}.dark .circuit-diagram{background:#1f2937;border-color:#374151}.diagram-header{margin-bottom:20px;text-align:center}.diagram-header h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#111827}.dark .diagram-header h3{color:#f9fafb}.circuit-type{margin:0;font-size:14px;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.dark .circuit-type{color:#9ca3af}.diagram-container{display:flex;justify-content:center;align-items:center;min-height:200px;background:#f9fafb;border-radius:8px;padding:20px;border:1px solid #e5e7eb}.dark .diagram-container{background:#374151;border-color:#4b5563}.circuit-svg{max-width:100%;height:auto;filter:drop-shadow(0 1px 2px rgba(0,0,0,.05))}.dark .circuit-svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.no-circuit{display:flex;align-items:center;justify-content:center;height:200px;color:#6b7280;font-size:14px;font-style:italic}.dark .no-circuit{color:#9ca3af}.circuit-svg text{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-user-select:none;user-select:none}.circuit-svg .component-label{font-weight:600;fill:#111827}.circuit-svg .component-value{font-size:10px;fill:#6b7280}.circuit-svg path:hover,.circuit-svg line:hover,.circuit-svg circle:hover{stroke:#3b82f6;transition:stroke .2s ease;cursor:pointer}.circuit-svg text:hover{fill:#3b82f6;transition:fill .2s ease;cursor:pointer}@keyframes current-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-20}}.circuit-svg .wire-active{stroke:#3b82f6;stroke-dasharray:5,5;animation:current-flow 1s linear infinite}@media(max-width:768px){.circuit-diagram{padding:16px;margin-bottom:16px}.diagram-header h3{font-size:16px}.circuit-type{font-size:12px}.diagram-container{padding:16px;min-height:150px}.circuit-svg text{font-size:11px}.circuit-svg .component-value{font-size:9px}}@media(max-width:480px){.circuit-diagram{padding:12px}.diagram-container{padding:12px;min-height:120px}.circuit-svg text{font-size:10px}.circuit-svg .component-value{font-size:8px}}.dark .circuit-svg path,.dark .circuit-svg line,.dark .circuit-svg circle{stroke:#d1d5db}.dark .circuit-svg .component-label{fill:#f9fafb}.dark .circuit-svg .component-value{fill:#9ca3af}@media(prefers-contrast:high){.circuit-svg path,.circuit-svg line,.circuit-svg circle{stroke:#000;stroke-width:3}.circuit-svg text{fill:#000;font-weight:700}.dark .circuit-svg path,.dark .circuit-svg line,.dark .circuit-svg circle{stroke:#fff}.dark .circuit-svg text{fill:#fff}}@media(prefers-reduced-motion:reduce){.circuit-svg .wire-active{animation:none}.circuit-svg path:hover,.circuit-svg line:hover,.circuit-svg circle:hover{transition:none}.circuit-svg text:hover{transition:none}}.circuit-component{cursor:pointer;transition:all .2s ease}.circuit-component.highlighted .component-path{stroke:#3b82f6;stroke-width:3;filter:drop-shadow(0 0 4px rgba(59,130,246,.4))}.circuit-component.highlighted .component-label,.circuit-component.highlighted .component-value{fill:#3b82f6;font-weight:700}.circuit-node{cursor:pointer;transition:all .2s ease}.circuit-node.highlighted .node-circle{stroke:#3b82f6;stroke-width:2;filter:drop-shadow(0 0 6px rgba(59,130,246,.6))}.circuit-node .node-circle{transition:all .2s ease}.current-flow-dot{filter:drop-shadow(0 0 4px rgba(59,130,246,.8));opacity:.8}.circuit-tooltip{position:fixed;background:#1f2937;color:#f9fafb;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;pointer-events:none;z-index:1000;box-shadow:0 4px 6px #0000001a;border:1px solid #374151;white-space:nowrap}.dark .circuit-tooltip{background:#111827;border-color:#4b5563;color:#d1d5db}.circuit-component:hover .component-path{stroke:#3b82f6;stroke-width:3;filter:drop-shadow(0 0 4px rgba(59,130,246,.4))}.circuit-component:hover .component-label,.circuit-component:hover .component-value{fill:#3b82f6;font-weight:700}.circuit-node:hover .node-circle{stroke:#3b82f6;stroke-width:2;filter:drop-shadow(0 0 6px rgba(59,130,246,.6))}.circuit-node text{transition:all .2s ease}.circuit-node:hover text{fill:#3b82f6;font-weight:700}.dark .circuit-component.highlighted .component-path{stroke:#60a5fa;filter:drop-shadow(0 0 4px rgba(96,165,250,.4))}.dark .circuit-component.highlighted .component-label,.dark .circuit-component.highlighted .component-value{fill:#60a5fa}.dark .circuit-node.highlighted .node-circle{stroke:#60a5fa;filter:drop-shadow(0 0 6px rgba(96,165,250,.6))}.dark .circuit-component:hover .component-path{stroke:#60a5fa;filter:drop-shadow(0 0 4px rgba(96,165,250,.4))}.dark .circuit-component:hover .component-label,.dark .circuit-component:hover .component-value{fill:#60a5fa}.dark .circuit-node:hover .node-circle{stroke:#60a5fa;filter:drop-shadow(0 0 6px rgba(96,165,250,.6))}@media(max-width:768px){.circuit-tooltip{font-size:11px;padding:4px 8px}}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;color:#111827}.text-h1{font-size:2.5rem;font-weight:700;line-height:1.2;letter-spacing:-.025em;color:#111827}.text-h2{font-size:2rem;font-weight:600;line-height:1.3;letter-spacing:-.025em;color:#111827}.text-h3{font-size:1.5rem;font-weight:600;line-height:1.4;letter-spacing:-.025em;color:#111827}.text-h4{font-size:1.25rem;font-weight:600;line-height:1.4;letter-spacing:-.025em;color:#111827}.text-label{font-size:.75rem;font-weight:500;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;color:#6b7280;opacity:.7}.text-label-secondary{font-size:.875rem;font-weight:500;line-height:1.4;letter-spacing:.05em;text-transform:uppercase;color:#9ca3af;opacity:.6}.text-value{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1rem;font-weight:400;line-height:1.4;color:#374151;letter-spacing:.025em}.text-value-large{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:1.25rem;font-weight:500;line-height:1.4;color:#111827;letter-spacing:.025em}.text-value-small{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;font-weight:400;line-height:1.4;color:#6b7280;letter-spacing:.025em}.text-dominant{font-size:1.125rem;font-weight:600;line-height:1.4;letter-spacing:-.025em;color:#111827}.text-secondary{font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:.025em;color:#374151}.text-subtle{font-size:.875rem;font-weight:400;line-height:1.5;letter-spacing:.025em;color:#6b7280;opacity:.8}.text-helper{font-size:.75rem;font-weight:400;line-height:1.4;letter-spacing:.025em;color:#9ca3af;opacity:.7}.dark .text-h1,.dark .text-h2,.dark .text-h3,.dark .text-h4,.dark .text-dominant{color:#f9fafb}.dark .text-label,.dark .text-label-secondary{color:#9ca3af}.dark .text-value{color:#d1d5db}.dark .text-value-large{color:#f9fafb}.dark .text-value-small{color:#9ca3af}.dark .text-secondary{color:#d1d5db}.dark .text-subtle{color:#9ca3af}.dark .text-helper{color:#6b7280}.animation-fast{transition:all .15s ease-in-out}.animation-medium{transition:all .2s ease-in-out}.animation-slow{transition:all .25s ease-in-out}.fade-in{animation:fadeIn .25s ease-in-out}.fade-in-fast{animation:fadeIn .15s ease-in-out}.fade-in-slow{animation:fadeIn .25s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.scale-in{animation:scaleIn .2s ease-in-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.slide-up{animation:slideUp .25s ease-in-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hover-scale:hover{transform:scale(1.05)}.hover-scale-slight:hover{transform:scale(1.02)}.elevate{box-shadow:0 4px 12px #0000001a}.elevate-hover:hover{box-shadow:0 8px 20px #00000026}.elevate-blue:hover{box-shadow:0 8px 20px #3b82f626}.elevate-green:hover{box-shadow:0 8px 20px #10b98126}.button{transition:all .15s ease-in-out}.button:hover{transform:scale(1.02)}.button:active{transform:scale(.98);transition:all .1s ease-in-out}.btn{transition:all .15s ease-in-out;position:relative;overflow:hidden}.btn:hover{transform:scale(1.02);box-shadow:0 4px 12px #3b82f626}.btn:active{transform:scale(.98);transition:all .1s ease-in-out}.btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%) scale(0);transition:all .15s ease-in-out}.btn:hover:after{width:100%;height:100%;transform:translate(-50%,-50%) scale(1)}.interactive-element{transition:all .15s ease-in-out}.interactive-element:hover{transform:scale(1.02)}.interactive-element:active{transform:scale(.98);transition:all .1s ease-in-out}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:12px 24px;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .15s ease-in-out;position:relative;overflow:hidden;box-shadow:0 4px 12px #3b82f64d;text-transform:uppercase;letter-spacing:.025em}.btn-primary:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent);opacity:0;transition:opacity .15s ease-in-out}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.btn-primary:hover:before{opacity:1}.btn-primary:active{transform:translateY(0);box-shadow:0 4px 12px #3b82f64d;transition:all .1s ease-in-out}.btn-secondary{background:transparent;color:#6b7280;border:2px solid #e5e7eb;padding:10px 20px;font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease-in-out;position:relative;overflow:hidden}.btn-secondary:hover{background:#f9fafb;color:#374151;border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.btn-secondary:active{transform:translateY(0);box-shadow:0 2px 6px #0000001a;transition:all .1s ease-in-out}.btn-tertiary{background:transparent;color:#9ca3af;border:1px solid transparent;padding:8px 16px;font-size:.875rem;font-weight:400;border-radius:4px;cursor:pointer;transition:all .15s ease-in-out;position:relative;overflow:hidden}.btn-tertiary:hover{background:#9ca3af1a;color:#6b7280;border-color:#9ca3af33}.btn-tertiary:active{background:#9ca3af33;transition:all .1s ease-in-out}.dark .btn-primary{background:linear-gradient(135deg,#60a5fa,#3b82f6);box-shadow:0 4px 12px #60a5fa4d}.dark .btn-primary:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 8px 20px #60a5fa66}.dark .btn-secondary{color:#9ca3af;border-color:#374151}.dark .btn-secondary:hover{background:#1f2937;color:#d1d5db;border-color:#4b5563}.dark .btn-tertiary{color:#6b7280}.dark .btn-tertiary:hover{background:#6b72801a;color:#9ca3af}.btn-large{padding:16px 32px;font-size:1.125rem;font-weight:700}.btn-small{padding:8px 16px;font-size:.75rem;font-weight:500}.btn-dominant{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:14px 28px;font-size:1.125rem;font-weight:700;border-radius:8px;cursor:pointer;transition:all .15s ease-in-out;position:relative;overflow:hidden;box-shadow:0 6px 16px #10b98166;text-transform:uppercase;letter-spacing:.05em;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 6px 16px #10b98166}50%{box-shadow:0 6px 20px #10b98199}}.btn-dominant:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-3px);box-shadow:0 12px 24px #10b98180;animation:none}.btn-dominant:active{transform:translateY(-1px);box-shadow:0 6px 16px #10b98166;transition:all .1s ease-in-out}.dark .btn-dominant{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 6px 16px #34d39966}.dark .btn-dominant:hover{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 12px 24px #34d39980}.lab-identity{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-bottom:16px;border-bottom:1px solid #e5e7eb;background:linear-gradient(90deg,transparent,rgba(59,130,246,.02),transparent)}.experiment-header{display:flex;flex-direction:column;gap:4px}.experiment-title{font-size:.875rem;font-weight:600;color:#374151;letter-spacing:.05em;text-transform:uppercase;opacity:.9}.experiment-name{font-size:1.125rem;font-weight:700;color:#111827;letter-spacing:-.025em;font-family:Inter,system-ui,-apple-system,sans-serif}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 2px 8px #10b9814d;position:relative;overflow:hidden}.status-badge:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 3s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.status-indicator{width:6px;height:6px;background:#fffc;border-radius:50%;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.divider{height:1px;background:linear-gradient(90deg,transparent,#e5e7eb,transparent);margin:24px 0;opacity:.6}.divider-thick{height:2px;background:linear-gradient(90deg,transparent,#d1d5db,transparent);margin:32px 0;opacity:.8}.divider-vertical{width:1px;background:linear-gradient(180deg,transparent,#e5e7eb,transparent);margin:0 16px;opacity:.6}.precision-text{font-family:Inter,system-ui,-apple-system,sans-serif;font-feature-settings:"tnum" 1,"lnum" 1;letter-spacing:-.025em}.measurement-unit{font-size:.875em;opacity:.7;letter-spacing:.025em}.lab-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.lab-section{background:#fff;border:1px solid #f3f4f6;border-radius:8px;padding:16px;position:relative}.lab-section:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#3b82f6,#10b981);opacity:.8}:root{--spacing-xs: 8px;--spacing-sm: 16px;--spacing-md: 24px;--spacing-lg: 32px;--spacing-xl: 48px;--color-voltage: #3b82f6;--color-voltage-light: #60a5fa;--color-voltage-dark: #2563eb;--color-voltage-bg: rgba(59, 130, 246, .1);--color-current: #10b981;--color-current-light: #34d399;--color-current-dark: #059669;--color-current-bg: rgba(16, 185, 129, .1);--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-warning-dark: #d97706;--color-warning-bg: rgba(245, 158, 11, .1);--color-neutral: #6b7280;--color-neutral-light: #9ca3af;--color-neutral-dark: #374151;--color-neutral-bg: rgba(107, 114, 128, .1)}.spacing-xs{margin:var(--spacing-xs)}.spacing-xs-top{margin-top:var(--spacing-xs)}.spacing-xs-bottom{margin-bottom:var(--spacing-xs)}.spacing-xs-left{margin-left:var(--spacing-xs)}.spacing-xs-right{margin-right:var(--spacing-xs)}.spacing-sm{margin:var(--spacing-sm)}.spacing-sm-top{margin-top:var(--spacing-sm)}.spacing-sm-bottom{margin-bottom:var(--spacing-sm)}.spacing-sm-left{margin-left:var(--spacing-sm)}.spacing-sm-right{margin-right:var(--spacing-sm)}.spacing-md{margin:var(--spacing-md)}.spacing-md-top{margin-top:var(--spacing-md)}.spacing-md-bottom{margin-bottom:var(--spacing-md)}.spacing-md-left{margin-left:var(--spacing-md)}.spacing-md-right{margin-right:var(--spacing-md)}.spacing-lg{margin:var(--spacing-lg)}.spacing-lg-top{margin-top:var(--spacing-lg)}.spacing-lg-bottom{margin-bottom:var(--spacing-lg)}.spacing-lg-left{margin-left:var(--spacing-lg)}.spacing-lg-right{margin-right:var(--spacing-lg)}.padding-xs{padding:var(--spacing-xs)}.padding-xs-top{padding-top:var(--spacing-xs)}.padding-xs-bottom{padding-bottom:var(--spacing-xs)}.padding-xs-left{padding-left:var(--spacing-xs)}.padding-xs-right{padding-right:var(--spacing-xs)}.padding-sm{padding:var(--spacing-sm)}.padding-sm-top{padding-top:var(--spacing-sm)}.padding-sm-bottom{padding-bottom:var(--spacing-sm)}.padding-sm-left{padding-left:var(--spacing-sm)}.padding-sm-right{padding-right:var(--spacing-sm)}.padding-md{padding:var(--spacing-md)}.padding-md-top{padding-top:var(--spacing-md)}.padding-md-bottom{padding-bottom:var(--spacing-md)}.padding-md-left{padding-left:var(--spacing-md)}.padding-md-right{padding-right:var(--spacing-md)}.padding-lg{padding:var(--spacing-lg)}.padding-lg-top{padding-top:var(--spacing-lg)}.padding-lg-bottom{padding-bottom:var(--spacing-lg)}.padding-lg-left{padding-left:var(--spacing-lg)}.padding-lg-right{padding-right:var(--spacing-lg)}.breathable{padding:var(--spacing-sm);margin-bottom:var(--spacing-md)}.breathable-lg{padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.premium-spacing{padding:var(--spacing-md);margin:var(--spacing-sm) 0}.premium-spacing-lg{padding:var(--spacing-lg);margin:var(--spacing-md) 0}.color-voltage{color:var(--color-voltage)}.color-voltage-light{color:var(--color-voltage-light)}.color-voltage-dark{color:var(--color-voltage-dark)}.bg-voltage{background-color:var(--color-voltage-bg)}.border-voltage{border-color:var(--color-voltage)}.color-current{color:var(--color-current)}.color-current-light{color:var(--color-current-light)}.color-current-dark{color:var(--color-current-dark)}.bg-current{background-color:var(--color-current-bg)}.border-current{border-color:var(--color-current)}.color-warning{color:var(--color-warning)}.color-warning-light{color:var(--color-warning-light)}.color-warning-dark{color:var(--color-warning-dark)}.bg-warning{background-color:var(--color-warning-bg)}.border-warning{border-color:var(--color-warning)}.color-neutral{color:var(--color-neutral)}.color-neutral-light{color:var(--color-neutral-light)}.color-neutral-dark{color:var(--color-neutral-dark)}.bg-neutral{background-color:var(--color-neutral-bg)}.border-neutral{border-color:var(--color-neutral)}.voltage-node{fill:var(--color-voltage);stroke:var(--color-voltage-dark)}.current-node{fill:var(--color-current);stroke:var(--color-current-dark)}.warning-node{fill:var(--color-warning);stroke:var(--color-warning-dark)}.voltage-line{stroke:var(--color-voltage);background:var(--color-voltage-bg)}.current-line{stroke:var(--color-current);background:var(--color-current-bg)}.warning-line{stroke:var(--color-warning);background:var(--color-warning-bg)}.voltage-label{color:var(--color-voltage);font-weight:600}.current-label{color:var(--color-current);font-weight:600}.warning-label{color:var(--color-warning);font-weight:600}.professional-signals{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);align-items:center;justify-content:flex-end}.signal-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:500;letter-spacing:.025em;text-transform:uppercase;opacity:.8;transition:all .15s ease-in-out}.signal-badge:hover{opacity:1;transform:translateY(-1px)}.signal-realtime{background:var(--color-voltage-bg);color:var(--color-voltage);border:1px solid var(--color-voltage)}.signal-precision{background:var(--color-current-bg);color:var(--color-current);border:1px solid var(--color-current)}.signal-indicator{width:4px;height:4px;border-radius:50%;background:currentColor}.signal-realtime .signal-indicator{background:var(--color-voltage);animation:pulse-signal 2s infinite}.signal-precision .signal-indicator{background:var(--color-current);animation:pulse-signal 2s infinite 1s}@keyframes pulse-signal{0%,to{opacity:1}50%{opacity:.3}}.dark .signal-badge{opacity:.9}.dark .signal-realtime{background:#3b82f626;border-color:var(--color-voltage-light)}.dark .signal-precision{background:#10b98126;border-color:var(--color-current-light)}.dark .lab-identity{border-bottom-color:#374151;background:linear-gradient(90deg,transparent,rgba(59,130,246,.05),transparent)}.dark .experiment-title{color:#9ca3af}.dark .experiment-name{color:#f9fafb}.dark .status-badge{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 2px 8px #34d3994d}.dark .divider{background:linear-gradient(90deg,transparent,#374151,transparent)}.dark .divider-thick{background:linear-gradient(90deg,transparent,#4b5563,transparent)}.dark .divider-vertical{background:linear-gradient(180deg,transparent,#374151,transparent)}.dark .lab-section{background:#1f2937;border-color:#374151}.dark .lab-section:before{background:linear-gradient(90deg,#60a5fa,#34d399)}.dark body{background-color:#111827;color:#f9fafb}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{margin-left:280px;margin-top:64px;padding:32px;flex:1}.dashboard-header{margin-bottom:32px}.dashboard-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.dashboard-header-content>div:first-child{flex:1}.compare-controls{display:flex;gap:12px;align-items:center}.compare-toggle{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.compare-toggle:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.compare-toggle.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.dark .compare-toggle{background:#374151;border-color:#4b5563;color:#d1d5db}.dark .compare-toggle:hover{background:#4b5563;border-color:#6b7280;color:#f9fafb}.dark .compare-toggle.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.clear-graph-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1px solid #ef4444;background:#fff;color:#ef4444;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.clear-graph-btn:hover{background:#fef2f2;border-color:#dc2626;color:#dc2626}.dark .clear-graph-btn{background:#374151;border-color:#4b5563;color:#f87171}.dark .clear-graph-btn:hover{background:#4b5563;border-color:#6b7280;color:#fca5a5}@media(max-width:768px){.dashboard-header-content{flex-direction:column;gap:16px}.compare-controls{order:-1;margin-bottom:16px}}.dashboard-title{margin:0 0 8px}.dashboard-subtitle{margin:0}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr 2fr;gap:24px;margin-bottom:24px}.dashboard-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border:1px solid #e5e7eb;overflow:hidden}.dark .dashboard-card{background:#1f2937;border-color:#374151;box-shadow:0 1px 3px #0000004d,0 1px 2px #0003}.input-card{position:sticky;top:96px}.results-card{padding:24px}.results-grid{display:grid;grid-template-columns:1fr;gap:24px}.summary-section{margin-top:16px}.result-item{background:#f9fafb;border-radius:8px;padding:20px;border:1px solid #e5e7eb}.dark .result-item{background:#374151;border-color:#4b5563}@media(max-width:1200px){.dashboard-grid{grid-template-columns:1fr}.input-card{position:static}}@media(max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.diagram-card{order:2}.results-card{order:3}}@media(max-width:768px){.main-content{margin-left:0;padding:16px}.sidebar{transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}.dashboard-title{font-size:24px}.results-grid{gap:16px}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:#f5f5f5;color:#333}#root{max-width:1400px;margin:0 auto;padding:2rem;text-align:center;width:100%}
