.circuit-preview-container{position:relative;width:100%;height:100%}.circuit-preview{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.circuit-preview svg{border:1px solid rgba(255,255,255,.1);border-radius:8px}.circuit-preview-empty,.circuit-preview-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:150px;background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#666}.circuit-preview-empty span,.circuit-preview-error span{font-size:32px;margin-bottom:8px}.circuit-preview-empty p,.circuit-preview-error p{margin:0;font-size:14px}.circuit-stats{display:flex;gap:16px;margin-top:12px;padding:8px 12px;background:#ffffff05;border-radius:6px;font-size:12px;color:#999}.stat-item{display:flex;align-items:center;gap:6px}.stat-icon{font-size:14px}.save-dialog .dialog-body{display:grid;grid-template-columns:240px 1fr;gap:var(--space-6);max-height:60vh;overflow-y:auto}.preview-section h3{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-signal-on);margin:0 0 var(--space-3) 0;text-transform:uppercase;letter-spacing:.08em}.circuit-preview{background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-4);display:flex;align-items:center;justify-content:center;min-height:150px;margin-bottom:var(--space-3)}.preview-placeholder{text-align:center;color:var(--color-text-muted)}.preview-placeholder span{font-size:32px;display:block;margin-bottom:var(--space-2)}.preview-placeholder p{font-size:var(--text-xs);margin:0}.circuit-stats{display:flex;gap:var(--space-3);font-size:var(--text-xs)}.stat-item{display:flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary);background:var(--color-elevated);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.stat-icon{font-size:var(--text-sm)}.form-section{display:flex;flex-direction:column;gap:var(--space-5)}.tag-input-container{display:flex;gap:var(--space-2)}.tag-input-container .form-input{flex:1}.add-tag-button{padding:var(--space-2) var(--space-4);background:var(--color-signal-dim);border:1px solid var(--color-signal-on);border-radius:var(--radius-md);color:var(--color-signal-on);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);white-space:nowrap}.add-tag-button:hover:not(:disabled){background:var(--color-energy-cyan-dim);box-shadow:0 0 12px var(--color-energy-cyan-glow)}.add-tag-button:disabled{opacity:.4;cursor:not-allowed}.tags-container{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.tag-chip{display:inline-flex;align-items:center;gap:var(--space-1);background:#00f0ff26;border:1px solid rgba(0,240,255,.3);border-radius:var(--radius-full);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--color-signal-on)}.tag-remove{background:none;border:none;color:#00f0ffb3;cursor:pointer;font-size:10px;padding:0;display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;transition:all var(--duration-fast) var(--ease-standard)}.tag-remove:hover{background:#00f0ff33;color:var(--color-signal-on)}@media (max-width: 768px){.save-dialog .dialog-body{grid-template-columns:1fr;gap:var(--space-5);padding:var(--space-4)}.preview-section{order:2}.form-section{order:1}.circuit-preview{min-height:120px}}.filter-bar{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border-default);display:flex;gap:var(--space-3);align-items:center;background:linear-gradient(180deg,rgba(0,240,255,.03) 0%,transparent 100%);flex-shrink:0}.search-box{flex:1;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);pointer-events:none}.search-input{width:100%;background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3) var(--space-2) 36px;color:var(--color-text-primary);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-standard);outline:none}.search-input:focus{border-color:var(--color-signal-on);background:var(--color-elevated);box-shadow:0 0 12px var(--color-energy-cyan-glow)}.search-input::-moz-placeholder{color:var(--color-text-muted)}.search-input::placeholder{color:var(--color-text-muted)}.view-controls{display:flex;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);overflow:hidden}.view-button{padding:var(--space-1) var(--space-2);background:var(--color-void);border:none;color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);font-size:var(--text-sm)}.view-button:hover{background:var(--color-elevated);color:var(--color-text-primary)}.view-button.active{background:var(--color-signal-dim);color:var(--color-signal-on)}.sort-select{background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);color:var(--color-text-primary);font-size:var(--text-sm);cursor:pointer;outline:none}.sort-select:focus{border-color:var(--color-signal-on)}.sort-select option{background:var(--color-surface);color:var(--color-text-primary)}.tag-filter-section{padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--color-border-subtle);display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;flex-shrink:0}.filter-label{font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap}.tag-filters{display:flex;gap:var(--space-1);flex-wrap:wrap}.tag-filter{padding:3px var(--space-2);background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:var(--text-xs);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.tag-filter:hover{background:var(--color-elevated);border-color:var(--color-border-default);color:var(--color-text-primary)}.tag-filter.active{background:#00f0ff26;border-color:#00f0ff66;color:var(--color-signal-on)}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:var(--color-text-secondary);text-align:center}.loading-spinner.large{width:32px;height:32px;border:3px solid var(--color-border-subtle);border-top:3px solid var(--color-signal-on);border-radius:50%;margin-bottom:var(--space-4);animation:spin 1s linear infinite}.error-state .error-icon,.empty-state .empty-icon{font-size:48px;margin-bottom:var(--space-4);color:var(--color-signal-on);opacity:.5}.retry-button{margin-top:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-signal-dim);border:1px solid var(--color-signal-on);border-radius:var(--radius-md);color:var(--color-signal-on);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.retry-button:hover{background:var(--color-energy-cyan-dim);box-shadow:0 0 12px var(--color-energy-cyan-glow)}.circuits-container{display:grid;gap:var(--space-4)}.circuits-container.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.circuits-container.list{grid-template-columns:1fr}.circuit-card{background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-4);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);position:relative;overflow:hidden}.circuit-card:hover{background:var(--color-elevated);border-color:var(--color-signal-on);box-shadow:0 0 16px var(--color-energy-cyan-glow);transform:translateY(-2px)}.circuit-card.selected{background:var(--color-signal-dim);border-color:var(--color-signal-on);box-shadow:0 0 20px var(--color-energy-cyan-glow),inset 0 0 8px var(--color-energy-cyan-dim)}.circuits-container.grid .circuit-card{display:flex;flex-direction:column;gap:var(--space-3)}.circuits-container.list .circuit-card{display:grid;grid-template-columns:80px 1fr auto;gap:var(--space-4);align-items:center;padding:var(--space-3) var(--space-4)}.circuit-thumbnail{flex-shrink:0;width:80px;height:60px;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;overflow:hidden}.circuits-container.grid .circuit-thumbnail{width:100%;height:120px}.circuit-thumbnail img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.thumbnail-placeholder{display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--color-text-muted)}.circuit-info{flex:1;min-width:0}.circuit-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--space-1) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.circuit-card:hover .circuit-name,.circuit-card.selected .circuit-name{color:var(--color-signal-on)}.circuits-container.list .circuit-name{font-size:var(--text-sm);margin-bottom:var(--space-1)}.circuit-description{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-2) 0;line-height:var(--leading-relaxed);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.circuits-container.list .circuit-description{-webkit-line-clamp:1;margin-bottom:var(--space-1)}.circuit-meta{display:flex;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-2);flex-wrap:wrap}.circuits-container.list .circuit-meta{gap:var(--space-2);margin-bottom:0}.meta-item{display:flex;align-items:center;gap:3px;white-space:nowrap}.circuit-tags{display:flex;gap:var(--space-1);flex-wrap:wrap}.circuit-tag{padding:2px var(--space-1);background:#00f0ff26;border:1px solid rgba(0,240,255,.3);border-radius:var(--radius-sm);font-size:10px;color:var(--color-signal-on)}.circuit-actions{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;gap:var(--space-1);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard)}.circuit-card:hover .circuit-actions{opacity:1}.circuits-container.list .circuit-actions{position:static;opacity:1}.action-button{width:28px;height:28px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-void);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);transition:all var(--duration-fast) var(--ease-standard)}.action-button.delete:hover{background:#ef444433;border-color:var(--color-error);color:var(--color-error)}.footer-info{font-size:var(--text-xs);color:var(--color-text-muted)}.footer-actions{display:flex;gap:var(--space-3)}.circuit-count{font-weight:var(--font-medium);color:var(--color-signal-on)}@media (max-width: 768px){.filter-bar{flex-direction:column;gap:var(--space-2);align-items:stretch}.search-box{order:1}.view-controls,.sort-controls{order:2;flex:none}.circuits-container.grid{grid-template-columns:1fr}.circuits-container.list .circuit-card{grid-template-columns:60px 1fr auto;gap:var(--space-3)}.circuit-thumbnail{width:60px!important;height:45px!important}.tag-filter-section{padding:var(--space-2) var(--space-4)}}@media (max-width: 480px){.circuit-meta{font-size:10px;gap:var(--space-2)}.meta-item{gap:2px}.filter-bar{padding:var(--space-3) var(--space-4)}}.export-content{display:flex;flex-direction:column;gap:var(--space-6)}.current-circuit-info{background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-4)}.current-circuit-info h3{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-signal-on);margin:0 0 var(--space-3) 0;text-transform:uppercase;letter-spacing:.08em}.circuit-stats{display:flex;gap:var(--space-4);flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-sm)}.stat-icon{font-size:var(--text-base)}.export-settings h3,.import-settings h3{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--space-4) 0}.options-group{display:flex;flex-direction:column;gap:var(--space-3)}.checkbox-option{display:flex;align-items:flex-start;gap:var(--space-2);cursor:pointer;padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-standard)}.checkbox-option:hover{background:var(--color-elevated);border-color:var(--color-border-default)}.checkbox-option input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--color-signal-on);cursor:pointer}.checkbox-label{flex:1;display:flex;flex-direction:column;gap:2px;color:var(--color-text-primary);font-size:var(--text-sm)}.checkbox-label small{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-relaxed)}.import-content{display:flex;flex-direction:column;gap:var(--space-5)}.file-selection h3{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--space-3) 0}.file-input-area{position:relative}.file-input{position:absolute;opacity:0;pointer-events:none;width:100%;height:100%}.file-input-label{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-void);border:2px dashed var(--color-border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);min-height:60px}.file-input-label:hover{background:var(--color-elevated);border-color:var(--color-signal-on);box-shadow:0 0 16px var(--color-energy-cyan-glow)}.file-input:focus+.file-input-label{border-color:var(--color-signal-on);box-shadow:0 0 12px var(--color-energy-cyan-glow)}.file-icon{font-size:24px;color:var(--color-signal-on)}.file-text{flex:1;color:var(--color-text-secondary);font-size:var(--text-sm)}.file-info{display:flex;gap:var(--space-4);margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.import-preview{background:var(--color-signal-dim);border:1px solid var(--color-signal-on);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:0 0 16px var(--color-energy-cyan-glow)}.import-preview h3{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-signal-on);margin:0 0 var(--space-3) 0;text-transform:uppercase;letter-spacing:.08em}.preview-content{display:flex;flex-direction:column;gap:var(--space-3)}.preview-header{border-bottom:1px solid var(--color-energy-cyan-dim);padding-bottom:var(--space-2)}.preview-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--space-1) 0}.preview-description{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:var(--leading-relaxed)}.preview-stats{display:flex;gap:var(--space-3);flex-wrap:wrap}.preview-stats .stat-item{background:var(--color-energy-cyan-dim);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-signal-on)}.preview-tags{display:flex;gap:var(--space-1);flex-wrap:wrap}.preview-tag{padding:2px var(--space-2);background:#00f0ff26;border:1px solid rgba(0,240,255,.3);border-radius:var(--radius-full);font-size:10px;color:var(--color-signal-on)}.import-settings{border-top:1px solid var(--color-border-default);padding-top:var(--space-4)}@media (max-width: 768px){.circuit-stats,.preview-stats{flex-direction:column;gap:var(--space-2)}.file-info{flex-direction:column;gap:var(--space-1)}.checkbox-option{padding:var(--space-2)}.file-input-label{padding:var(--space-3);min-height:50px}.file-icon{font-size:20px}}@media (max-width: 480px){.current-circuit-info,.import-preview{padding:var(--space-3)}.export-content,.import-content{gap:var(--space-4)}.preview-stats{gap:var(--space-1)}.preview-stats .stat-item{font-size:var(--text-xs);padding:3px var(--space-1)}}.empty-circuit-message{text-align:center;padding:var(--space-12) var(--space-5);color:var(--color-text-muted)}.empty-circuit-message p{margin:var(--space-3) 0;font-size:var(--text-base);line-height:var(--leading-relaxed)}.empty-circuit-message p:first-child{font-size:var(--text-lg);color:var(--color-text-secondary);font-weight:var(--font-semibold)}.generate-button{width:100%;padding:var(--space-4);background:var(--color-signal-dim);color:var(--color-signal-on);border:1px solid var(--color-signal-on);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);margin:var(--space-6) 0 var(--space-4);text-transform:uppercase;letter-spacing:.08em}.generate-button:hover:not(:disabled){background:var(--color-energy-cyan-dim);box-shadow:0 0 20px var(--color-energy-cyan),0 0 40px var(--color-energy-cyan-glow);transform:translateY(-2px)}.generate-button:disabled{background:var(--color-void);border-color:var(--color-border-subtle);color:var(--color-text-muted);cursor:not-allowed}.error-message{background:#ef444426;color:var(--color-error);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);margin:var(--space-4) 0;font-size:var(--text-sm);border:1px solid rgba(239,68,68,.3);font-weight:var(--font-medium)}.share-result{margin-top:var(--space-6);padding:var(--space-6);background:var(--color-signal-dim);border-radius:var(--radius-md);border:1px solid var(--color-signal-on);box-shadow:0 0 20px var(--color-energy-cyan-glow)}.share-result label{display:block;margin-bottom:var(--space-3);font-weight:var(--font-semibold);color:var(--color-signal-on);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em}.url-container{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.url-container input{flex:1;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-mono);background:var(--color-void);color:var(--color-signal-on);cursor:text;transition:all var(--duration-fast) var(--ease-standard)}.url-container input:focus{outline:none;border-color:var(--color-signal-on);background:var(--color-elevated);box-shadow:0 0 12px var(--color-energy-cyan-glow)}.copy-button{padding:var(--space-3) var(--space-5);background:var(--color-signal-on);color:var(--color-void);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);font-size:var(--text-lg);font-weight:var(--font-bold);min-width:60px;box-shadow:0 0 12px var(--color-energy-cyan-glow)}.copy-button:hover{transform:translateY(-2px);box-shadow:0 0 20px var(--color-energy-cyan),0 0 40px var(--color-energy-cyan-glow)}.share-note{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);font-style:italic}.theme-selector,.theme-selector__trigger{position:relative}.theme-selector__dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--color-surface);border:1px solid var(--theme-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg),0 0 20px var(--theme-primary-dim);z-index:var(--z-dropdown);overflow:hidden;animation:dropdown-enter .15s var(--ease-out)}@keyframes dropdown-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.theme-selector__header{padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-muted);border-bottom:1px solid var(--color-border-subtle)}.theme-selector__option{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:none;cursor:pointer;transition:background-color var(--duration-fast),box-shadow var(--duration-fast);text-align:left}.theme-selector__option:hover{background:var(--color-elevated)}.theme-selector__option--active{background:var(--theme-primary-subtle)}.theme-selector__option:focus-visible{outline:2px solid var(--theme-primary);outline-offset:-2px}.theme-selector__dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 8px currentColor;flex-shrink:0}.theme-selector__info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.theme-selector__name{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-primary);font-weight:var(--font-medium)}.theme-selector__desc{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-selector__check{stroke:var(--theme-primary);stroke-width:2;fill:none;flex-shrink:0}.wire-style-selector,.wire-style-selector__trigger{position:relative}.wire-style-selector__dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--color-surface);border:1px solid var(--theme-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg),0 0 20px var(--theme-primary-dim);z-index:var(--z-dropdown);overflow:hidden;animation:wire-dropdown-enter .15s var(--ease-out)}@keyframes wire-dropdown-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.wire-style-selector__header{padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-muted);border-bottom:1px solid var(--color-border-subtle)}.wire-style-selector__option{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:none;cursor:pointer;transition:background-color var(--duration-fast),box-shadow var(--duration-fast);text-align:left}.wire-style-selector__option:hover{background:var(--color-elevated)}.wire-style-selector__option--active{background:var(--theme-primary-subtle)}.wire-style-selector__option:focus-visible{outline:2px solid var(--theme-primary);outline-offset:-2px}.wire-style-selector__preview{display:flex;align-items:center;justify-content:center;width:32px;height:20px;flex-shrink:0;color:var(--theme-primary)}.wire-style-selector__option--active .wire-style-selector__preview{color:var(--theme-primary)}.wire-style-selector__info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.wire-style-selector__name{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-primary);font-weight:var(--font-medium)}.wire-style-selector__desc{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wire-style-selector__check{stroke:var(--theme-primary);stroke-width:2;fill:none;flex-shrink:0}.pin-selection-step{display:flex;flex-direction:column;height:100%;min-height:450px}.pin-selection-content{display:grid;grid-template-columns:180px 1fr 180px;gap:var(--space-4);padding:var(--space-4);flex:1;min-height:0;background:var(--color-void)}.pin-list-panel{display:flex;flex-direction:column;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-3);overflow:hidden}.pin-list-panel--input{border-left:3px solid var(--color-energy-cyan)}.pin-list-panel--output{border-right:3px solid var(--color-energy-magenta)}.pin-list-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-subtle)}.pin-list-title--input{color:var(--color-energy-cyan);text-shadow:var(--text-glow-cyan)}.pin-list-title--output{color:var(--color-energy-magenta);text-shadow:var(--text-glow-magenta)}.pin-list-items{flex:1;display:flex;flex-direction:column;gap:var(--space-2);overflow-y:auto;min-height:0}.pin-list-empty{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--color-text-muted);font-size:var(--text-xs);padding:var(--space-4);border:1px dashed var(--color-border-subtle);border-radius:var(--radius-sm);line-height:1.5}.pin-list-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);cursor:grab;transition:all var(--duration-fast) var(--ease-standard);-webkit-user-select:none;-moz-user-select:none;user-select:none}.pin-list-item:hover{background:var(--color-elevated);border-color:var(--color-energy-gold);box-shadow:0 0 12px var(--color-energy-gold-glow)}.pin-list-item:active{cursor:grabbing}.pin-list-item--dragging{opacity:.5;border-style:dashed}.pin-list-item--drop-target{border-color:var(--color-energy-gold);background:var(--color-energy-gold-dim)}.pin-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 6px currentColor}.pin-indicator--input{background:var(--color-energy-cyan);color:var(--color-energy-cyan-glow)}.pin-indicator--output{background:var(--color-energy-magenta);color:var(--color-energy-magenta-glow)}.pin-label-input{flex:1;min-width:0;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text-primary);background:var(--color-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);transition:border-color var(--duration-fast)}.pin-label-input:focus{outline:none;border-color:var(--color-energy-cyan);box-shadow:0 0 4px var(--color-energy-cyan-glow)}.pin-source{font-size:9px;color:var(--color-text-muted);font-family:var(--font-mono);background:var(--color-elevated);padding:2px 4px;border-radius:var(--radius-sm);max-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pin-drag-handle{color:var(--color-text-muted);opacity:0;transition:opacity var(--duration-fast);font-size:10px}.pin-list-item:hover .pin-drag-handle{opacity:1}.pin-remove-btn{width:18px;height:18px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--duration-fast);opacity:0;flex-shrink:0}.pin-list-item:hover .pin-remove-btn{opacity:1}.pin-remove-btn:hover{color:var(--color-error);background:#ef444426}.circuit-preview-panel{display:flex;flex-direction:column;background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden;position:relative}.circuit-preview-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle)}.circuit-preview-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary)}.circuit-preview-stats{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono)}.circuit-preview-canvas{flex:1;position:relative;min-height:300px;overflow:hidden;background-color:var(--color-void)}.circuit-preview-svg{width:100%;height:100%}.interactive-pin{cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.interactive-pin__hitbox{fill:transparent}.interactive-pin__dot{fill:var(--color-signal-off);stroke:var(--color-border-default);stroke-width:2;transition:all var(--duration-fast)}.interactive-pin__label{opacity:0;pointer-events:none;transition:opacity var(--duration-fast)}.interactive-pin:hover .interactive-pin__hitbox{fill:var(--color-energy-gold-dim)}.interactive-pin:hover .interactive-pin__dot{fill:var(--color-energy-gold);stroke:var(--color-energy-gold);filter:drop-shadow(0 0 8px var(--color-energy-gold-glow));r:8}.interactive-pin:hover .interactive-pin__label{opacity:1}.interactive-pin--input-candidate .interactive-pin__dot{fill:var(--color-energy-cyan-dim);stroke:var(--color-energy-cyan)}.interactive-pin--input-candidate:hover .interactive-pin__dot{fill:var(--color-energy-cyan);filter:drop-shadow(0 0 8px var(--color-energy-cyan-glow))}.interactive-pin--output-candidate .interactive-pin__dot{fill:var(--color-energy-magenta-dim);stroke:var(--color-energy-magenta)}.interactive-pin--output-candidate:hover .interactive-pin__dot{fill:var(--color-energy-magenta);filter:drop-shadow(0 0 8px var(--color-energy-magenta-glow))}.interactive-pin--selected .interactive-pin__dot{fill:var(--color-energy-gold);stroke:var(--color-energy-gold);filter:drop-shadow(0 0 12px var(--color-energy-gold-glow));animation:selected-pulse 2s ease-in-out infinite}@keyframes selected-pulse{0%,to{filter:drop-shadow(0 0 12px var(--color-energy-gold-glow))}50%{filter:drop-shadow(0 0 20px var(--color-energy-gold-glow)) drop-shadow(0 0 30px var(--color-energy-gold-dim))}}.pin-select-popover{position:absolute;z-index:var(--z-dropdown);background:var(--color-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg),0 0 20px var(--color-energy-cyan-glow);padding:var(--space-2);min-width:160px;animation:popover-appear var(--duration-normal) var(--ease-spring);transform:translate(-50%)}@keyframes popover-appear{0%{opacity:0;transform:translate(-50%) scale(.9) translateY(-4px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}.pin-select-popover__option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--text-sm);cursor:pointer;width:100%;text-align:left;transition:all var(--duration-fast)}.pin-select-popover__option:hover{background:var(--color-elevated)}.pin-select-popover__option--input:hover{color:var(--color-energy-cyan);box-shadow:inset 0 0 0 1px var(--color-energy-cyan-dim)}.pin-select-popover__option--output:hover{color:var(--color-energy-magenta);box-shadow:inset 0 0 0 1px var(--color-energy-magenta-dim)}.pin-selection-hint{padding:var(--space-3) var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-border-subtle);text-align:center;font-size:var(--text-xs);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.pin-selection-hint__icon{width:16px;height:16px;color:var(--color-text-muted);flex-shrink:0}@media (max-width: 768px){.pin-selection-content{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.pin-list-panel{flex-direction:row;overflow-x:auto;padding:var(--space-2)}.pin-list-panel--input{border-left:none;border-top:3px solid var(--color-energy-cyan);order:1}.pin-list-panel--output{border-right:none;border-bottom:3px solid var(--color-energy-magenta);order:3}.circuit-preview-panel{order:2;min-height:250px}.pin-list-items{flex-direction:row;gap:var(--space-2)}.pin-list-item{flex-shrink:0}.pin-list-title{flex-shrink:0;border-bottom:none;border-right:1px solid var(--color-border-subtle);padding-bottom:0;padding-right:var(--space-2)}}@media (prefers-reduced-motion: reduce){.interactive-pin--selected .interactive-pin__dot,.pin-select-popover{animation:none}}.interactive-pin:focus-visible .interactive-pin__hitbox{stroke:var(--color-energy-gold);stroke-width:2}.pin-list-item:focus-visible{outline:2px solid var(--color-energy-gold);outline-offset:2px}.pin-label-input:focus-visible{outline:none}.pin-remove-btn:focus-visible{outline:2px solid var(--color-energy-gold);outline-offset:1px;opacity:1}.truth-table-container{overflow-x:auto;min-width:100%}.truth-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);table-layout:fixed}.truth-table--inline,.truth-table--compact{font-size:var(--text-xs)}.truth-table__header-row{background:var(--color-signal-dim)}.truth-table__header-cell{padding:var(--space-3) var(--space-2);text-align:center;border:1px solid rgba(255,255,255,.2);font-size:var(--text-xs);font-weight:var(--font-semibold);width:80px}.truth-table--inline .truth-table__header-cell{padding:var(--space-2);width:60px;font-size:11px}.truth-table--compact .truth-table__header-cell{padding:var(--space-2) var(--space-1);width:80px;font-size:10px}.truth-table__header-cell--input{color:var(--color-energy-cyan);text-shadow:var(--text-glow-cyan)}.truth-table__header-cell--output{color:var(--color-energy-magenta);text-shadow:var(--text-glow-magenta)}.truth-table__header-cell--separator{padding:0;width:20px;background:#ffffff1a}.truth-table--inline .truth-table__header-cell--separator{width:15px}.truth-table__row{transition:background var(--duration-fast) var(--ease-standard)}.truth-table__row:nth-child(2n){background:#ffffff05}.truth-table__row:hover{background:#00f0ff0d}.truth-table__cell{padding:var(--space-2);text-align:center;border:1px solid rgba(255,255,255,.1);font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--font-semibold);width:80px}.truth-table--inline .truth-table__cell{padding:var(--space-1);font-size:var(--text-xs);width:60px}.truth-table--compact .truth-table__cell{padding:var(--space-2) var(--space-1);font-size:var(--text-sm);width:80px}.truth-table__cell--input{color:var(--color-energy-cyan)}.truth-table__cell--input-off{color:var(--color-ink-soft)}.truth-table__cell--output{color:var(--color-energy-magenta)}.truth-table__cell--output-off{color:var(--color-ink-soft)}.truth-table__cell--separator{padding:0;background:#ffffff0d;width:20px}.truth-table--inline .truth-table__cell--separator{width:15px}.truth-table-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.truth-table-modal__dialog{width:95vw;max-width:800px;max-height:90vh;background:var(--color-surface);border:1px solid var(--color-energy-cyan);border-radius:var(--radius-lg);color:var(--color-text-primary);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl),0 0 60px var(--color-energy-cyan-dim)}.truth-table-modal__header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6);background:linear-gradient(180deg,var(--color-energy-cyan-subtle) 0%,transparent 100%);border-bottom:1px solid var(--color-border-default);flex-shrink:0}.truth-table-modal__title{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-energy-cyan);text-shadow:var(--text-glow-cyan)}.truth-table-modal__actions{display:flex;gap:var(--space-3);align-items:center}.truth-table-modal__export-btn{padding:var(--space-2) var(--space-3);background:var(--color-energy-gold-dim);border:1px solid var(--color-energy-gold);border-radius:var(--radius-md);color:var(--color-energy-gold);font-size:var(--text-xs);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.truth-table-modal__export-btn:hover{background:#ffd70040;box-shadow:var(--glow-gold)}.truth-table-modal__close-btn{background:transparent;border:none;color:var(--color-text-muted);font-size:var(--text-xl);cursor:pointer;padding:var(--space-1);line-height:1;border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-standard)}.truth-table-modal__close-btn:hover{background:var(--color-elevated);color:var(--color-text-primary)}.truth-table-modal__stats{padding:var(--space-4) var(--space-6);background:#0003;border-bottom:1px solid var(--color-border-subtle);display:flex;gap:var(--space-6);flex-wrap:wrap;align-items:center}.truth-table-modal__pattern{padding:var(--space-2) var(--space-4);background:var(--color-energy-cyan-dim);border:1px solid var(--color-energy-cyan);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-energy-cyan)}.truth-table-modal__pattern strong{font-weight:var(--font-semibold)}.truth-table-modal__meta{font-size:var(--text-xs);color:var(--color-text-muted)}.truth-table-modal__content{flex:1;overflow:auto;padding:var(--space-4)}.truth-table-modal__footer{padding:var(--space-3) var(--space-6);border-top:1px solid var(--color-border-subtle);background:#0003;font-size:var(--text-xs);color:var(--color-text-muted);text-align:center}.property-panel{--pp-bg: var(--theme-bg-surface);--pp-surface: var(--theme-primary-subtle);--pp-surface-hover: var(--theme-primary-dim);--pp-border: var(--theme-border);--pp-border-hover: var(--theme-primary);--pp-grid-major: var(--theme-primary-subtle);--pp-grid-minor: transparent;--pp-scanline: transparent;--pp-bracket-color: var(--theme-primary-dim);--pp-bracket-size: 10px;--pp-bracket-thickness: 1px;--pp-font-display: var(--font-mono);--pp-font-label: var(--font-body);--pp-text-primary: var(--color-text-primary);--pp-text-secondary: var(--color-text-secondary);--pp-text-muted: var(--color-text-muted);--pp-text-dim: var(--color-text-dim)}.property-panel{background:var(--theme-bg-surface);padding:10px;overflow-y:auto;overflow-x:hidden;position:relative;z-index:var(--z-panel);display:flex;flex-direction:column;gap:8px;width:100%;box-sizing:border-box;color:var(--pp-text-primary)}.property-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--pp-grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--pp-grid-major) 1px,transparent 1px),linear-gradient(var(--pp-grid-minor) 1px,transparent 1px),linear-gradient(90deg,var(--pp-grid-minor) 1px,transparent 1px);background-size:64px 64px,64px 64px,16px 16px,16px 16px;pointer-events:none;z-index:0;opacity:.8}.property-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,var(--pp-scanline) 2px,var(--pp-scanline) 4px);pointer-events:none;z-index:0;animation:pp-scanline-scroll 10s linear infinite}@keyframes pp-scanline-scroll{0%{background-position:0 0}to{background-position:0 200px}}.property-panel>*{position:relative;z-index:1}.property-panel .property-group{background:var(--pp-surface);border:1px solid var(--pp-border);border-radius:4px;padding:10px;position:relative;overflow:hidden;transition:border-color .2s ease,background .2s ease}.property-panel .property-group:before,.property-panel .property-group:after{content:"";position:absolute;width:var(--pp-bracket-size);height:var(--pp-bracket-size);pointer-events:none}.property-panel .property-group:before{top:4px;left:4px;border-top:var(--pp-bracket-thickness) solid var(--pp-bracket-color);border-left:var(--pp-bracket-thickness) solid var(--pp-bracket-color)}.property-panel .property-group:after{bottom:4px;right:4px;border-bottom:var(--pp-bracket-thickness) solid var(--pp-bracket-color);border-right:var(--pp-bracket-thickness) solid var(--pp-bracket-color)}.property-panel .property-group:hover{border-color:var(--pp-border-hover);background:var(--pp-surface-hover)}.property-panel .property-group:hover:before,.property-panel .property-group:hover:after{--pp-bracket-color: var(--theme-primary-dim)}.property-panel .section-title{display:flex;align-items:center;gap:6px;font-family:var(--pp-font-display);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-energy-cyan);text-shadow:0 0 8px var(--color-energy-cyan-dim);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--pp-border);position:relative}.property-panel .section-title:after{content:"";position:absolute;bottom:-1px;left:0;width:32px;height:2px;background:var(--color-energy-cyan);box-shadow:0 0 12px var(--color-energy-cyan-glow)}.property-panel .property-row{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--theme-border-subtle);gap:8px}.property-panel .property-row:last-child{border-bottom:none;padding-bottom:0}.property-panel .property-label{font-family:var(--pp-font-label);font-size:10px;font-weight:500;color:var(--pp-text-secondary);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;padding-top:2px}.property-panel .property-value{font-family:var(--pp-font-display);font-size:10px;font-weight:500;color:var(--pp-text-primary);padding:2px 6px;background:var(--theme-bg-elevated);border:1px solid var(--theme-border-subtle);border-radius:3px;text-align:right;word-break:break-all;max-width:100%;overflow-wrap:break-word;flex:1;min-width:0}.property-panel .digital-readout{font-family:var(--pp-font-display);font-size:13px;font-weight:600;color:var(--color-energy-cyan);text-shadow:0 0 10px var(--color-energy-cyan-dim);padding:4px 12px;background:var(--theme-primary-subtle);border:1px solid var(--theme-primary-dim);border-radius:3px}.property-panel .state-indicator{display:inline-flex;align-items:center;gap:4px;font-family:var(--pp-font-display);font-size:10px;font-weight:700;letter-spacing:.03em;padding:2px 6px;border-radius:3px;transition:all .15s ease}.property-panel .state-indicator.high{color:var(--color-energy-cyan);background:var(--theme-primary-subtle);border:1px solid var(--theme-primary-dim);text-shadow:var(--theme-glow-text);box-shadow:var(--theme-glow-box)}.property-panel .state-indicator.low{color:var(--pp-text-muted);background:var(--theme-primary-subtle);border:1px solid var(--theme-border-subtle)}.property-panel .state-indicator:before{content:"";width:5px;height:5px;border-radius:50%;transition:all .15s ease;flex-shrink:0}.property-panel .state-indicator.high:before{background:var(--color-energy-cyan);box-shadow:0 0 8px var(--color-energy-cyan),0 0 16px var(--color-energy-cyan-dim)}.property-panel .state-indicator.low:before{background:var(--pp-text-dim)}.property-panel .state-display{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:1;min-width:0}.property-panel .state-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.property-panel .state-label{font-size:9px;font-weight:500;color:var(--pp-text-muted);text-transform:uppercase;letter-spacing:.05em}.property-panel .state-arrow{font-family:var(--pp-font-display);font-size:10px;color:var(--theme-primary-dim);display:none}.property-panel .form-select{width:100%;padding:10px 36px 10px 14px;background:var(--theme-bg-elevated);border:1px solid var(--theme-border);border-radius:4px;color:var(--pp-text-primary);font-family:var(--pp-font-display);font-size:12px;cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.property-panel .form-select:hover{border-color:var(--theme-primary);background-color:var(--theme-primary-subtle)}.property-panel .form-select:focus{outline:none;border-color:var(--theme-primary);box-shadow:0 0 0 2px var(--theme-primary-dim)}.property-panel .form-select option{background:var(--theme-bg-surface);color:var(--pp-text-primary);padding:8px}.property-panel .form-input{width:100%;padding:10px 14px;background:var(--theme-bg-elevated);border:1px solid var(--theme-border);border-radius:4px;color:var(--pp-text-primary);font-family:var(--pp-font-display);font-size:12px;transition:all .2s ease}.property-panel .form-input:hover{border-color:var(--theme-primary)}.property-panel .form-input:focus{outline:none;border-color:var(--theme-primary);box-shadow:0 0 0 2px var(--theme-primary-dim)}.property-panel .form-input::-moz-placeholder{color:var(--pp-text-dim)}.property-panel .form-input::placeholder{color:var(--pp-text-dim)}.property-panel .form-input[type=number]::-webkit-inner-spin-button,.property-panel .form-input[type=number]::-webkit-outer-spin-button{opacity:.5}.property-panel .form-label{display:block;margin-bottom:6px;font-family:var(--pp-font-label);font-size:11px;font-weight:500;color:var(--pp-text-secondary);text-transform:uppercase;letter-spacing:.04em}.property-panel .form-row{margin-top:14px}.property-panel .input-group{display:flex;gap:8px;align-items:center}.property-panel .input-group .form-input{flex:1}.property-panel .form-helper{margin-top:8px;font-size:10px;line-height:1.5;color:var(--pp-text-muted)}.property-panel .info-box{margin-top:12px;padding:12px 14px;background:var(--theme-primary-subtle);border:1px solid var(--theme-primary-dim);border-radius:4px;border-left:3px solid var(--color-energy-cyan)}.property-panel .info-box__title{font-family:var(--pp-font-display);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-energy-cyan);margin-bottom:6px}.property-panel .info-box__content{font-size:11px;line-height:1.6;color:var(--pp-text-secondary)}.property-panel .button-grid{display:flex;flex-direction:column;gap:6px}.property-panel .action-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;min-height:40px;border-radius:4px;font-family:var(--pp-font-display);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;width:100%;box-sizing:border-box;text-align:center;white-space:nowrap}.property-panel .action-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--theme-primary-subtle),transparent);transition:left .4s ease}.property-panel .action-button:hover:before{left:100%}.property-panel .action-button--cyan{background:var(--theme-primary-subtle);border:1px solid var(--color-energy-cyan);color:var(--color-energy-cyan);text-shadow:var(--theme-glow-text);box-shadow:var(--theme-glow-box)}.property-panel .action-button--cyan:hover{background:var(--theme-primary-dim);box-shadow:var(--theme-glow-intense);transform:translateY(-1px)}.property-panel .action-button--magenta{background:var(--theme-output-dim);border:1px solid var(--color-energy-magenta);color:var(--color-energy-magenta);text-shadow:0 0 8px var(--color-energy-magenta-dim);box-shadow:0 0 16px var(--color-energy-magenta-dim)}.property-panel .action-button--magenta:hover{background:var(--theme-output-dim);box-shadow:0 0 24px var(--color-energy-magenta-glow);transform:translateY(-1px)}.property-panel .action-button--ghost{background:transparent;border:1px solid var(--theme-border);color:var(--pp-text-secondary)}.property-panel .action-button--ghost:hover{background:var(--theme-primary-subtle);border-color:var(--theme-border-strong);color:var(--pp-text-primary)}.property-panel .action-button__subtitle{font-size:9px;font-weight:400;opacity:.7;letter-spacing:.04em}.property-panel .status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:3px;font-family:var(--pp-font-display);font-size:11px;font-weight:600;letter-spacing:.03em}.property-panel .status-badge--active{background:var(--theme-primary-subtle);border:1px solid var(--theme-primary-dim);color:var(--color-energy-cyan)}.property-panel .status-badge--inactive{background:var(--theme-output-dim);border:1px solid var(--theme-output-dim);color:var(--color-error)}.property-panel .status-badge--active:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-energy-cyan);box-shadow:0 0 6px var(--color-energy-cyan);animation:pp-status-pulse 1.5s ease-in-out infinite}@keyframes pp-status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.property-panel .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center}.property-panel .empty-state__icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--color-energy-cyan);opacity:.35;filter:drop-shadow(0 0 16px var(--color-energy-cyan-dim));animation:pp-empty-pulse 4s ease-in-out infinite}@keyframes pp-empty-pulse{0%,to{opacity:.25;transform:scale(1)}50%{opacity:.45;transform:scale(1.05)}}.property-panel .empty-state__text{font-family:var(--pp-font-display);font-size:12px;font-weight:500;color:var(--pp-text-secondary);margin:0 0 8px}.property-panel .empty-state__hint{font-size:11px;line-height:1.7;color:var(--pp-text-muted);margin:0}.property-panel::-webkit-scrollbar{width:6px}.property-panel::-webkit-scrollbar-track{background:var(--theme-bg-void);border-radius:3px}.property-panel::-webkit-scrollbar-thumb{background:var(--theme-primary-dim);border-radius:3px;-webkit-transition:background .2s ease;transition:background .2s ease}.property-panel::-webkit-scrollbar-thumb:hover{background:var(--theme-primary)}@media (max-width: 320px){.property-panel{padding:12px;gap:10px}.property-panel .property-group{padding:12px}.property-panel .section-title{font-size:9px}.property-panel .action-button{padding:10px 12px;font-size:11px}}.learning-sidebar{display:flex;flex-direction:column;height:calc(100vh - var(--header-height) - var(--toolbar-height, 48px));max-height:calc(100vh - var(--header-height) - var(--toolbar-height, 48px));background:var(--color-surface);border-right:1px solid var(--color-border-subtle);overflow:hidden}.learning-sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-energy-cyan-dim);border-bottom:1px solid var(--color-border-default);flex-shrink:0}.learning-sidebar__title{display:flex;align-items:center;gap:var(--space-2);color:var(--color-energy-cyan);font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:.02em}.learning-sidebar__icon{width:18px;height:18px;stroke:currentColor;flex-shrink:0}.learning-sidebar__progress-badge{padding:2px 8px;background:var(--color-void);border:1px solid var(--color-energy-cyan-dim);border-radius:var(--radius-sm);color:var(--color-energy-cyan);font-family:var(--font-mono);font-size:11px;font-weight:var(--font-medium)}.learning-sidebar__stats{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-void);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.stat-item{flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm)}.stat-value{color:var(--color-energy-cyan);font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--font-bold);text-shadow:var(--text-glow-cyan)}.stat-label{color:var(--color-text-muted);font-size:10px;margin-top:2px}.learning-sidebar__content{flex:1;overflow-y:auto;overflow-x:hidden}.learning-sidebar__tabs{display:flex;flex-wrap:wrap;gap:4px;padding:var(--space-3);background:var(--color-void);border-bottom:1px solid var(--color-border-subtle)}.learning-tab{flex:1;min-width:60px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:10px;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.learning-tab:hover{background:var(--color-elevated);border-color:var(--color-border-default);color:var(--color-text-secondary)}.learning-tab.active{background:var(--color-energy-cyan-dim);border-color:var(--color-energy-cyan);color:var(--color-energy-cyan)}.learning-tab .tab-title{font-weight:var(--font-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.learning-tab .tab-count{font-family:var(--font-mono);font-size:9px;opacity:.7}.learning-sidebar__lessons{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.lesson-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);text-align:left;width:100%}.lesson-card:hover:not(:disabled){background:var(--color-elevated);border-color:var(--color-border-default)}.lesson-card.completed{background:var(--color-energy-cyan-dim);border-color:var(--color-energy-cyan)}.lesson-card.locked{opacity:.5;cursor:not-allowed}.lesson-status{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.lesson-status svg{width:18px;height:18px}.lesson-card.completed .lesson-status svg{stroke:#4caf50}.lesson-card.locked .lesson-status svg{opacity:.4}.lesson-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lesson-title{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-meta{color:var(--color-text-muted);font-size:11px}.lesson-player{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.lesson-player__nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.lesson-player__content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--space-4)}.lesson-complete{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);text-align:center;min-height:200px}.complete-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--color-energy-cyan-dim);border:2px solid var(--color-energy-cyan);border-radius:50%;color:var(--color-energy-cyan);font-size:32px;margin-bottom:var(--space-4);box-shadow:0 0 24px var(--color-energy-cyan-dim)}.lesson-complete h3{margin:0 0 var(--space-2) 0;color:var(--color-text-primary);font-size:var(--text-lg)}.lesson-complete p{margin:0 0 var(--space-4) 0;color:var(--color-text-muted);font-size:var(--text-sm)}.complete-button{padding:var(--space-2) var(--space-4);background:var(--color-energy-cyan);border:none;border-radius:var(--radius-md);color:var(--color-void);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);box-shadow:0 0 16px var(--color-energy-cyan-dim)}.complete-button:hover{background:#4df0ff;box-shadow:0 0 24px var(--color-energy-cyan-glow)}.lesson-player__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-void);border-top:1px solid var(--color-border-default);box-shadow:0 -4px 12px #0000004d;flex-shrink:0;z-index:1}.nav-button{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--color-energy-cyan-dim);border:none;border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:12px;font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.nav-button:disabled{opacity:.3;cursor:not-allowed}.nav-button:not(:disabled):hover{background:#00f0ff4d}.nav-button.primary{background:var(--color-energy-cyan);color:var(--color-void)}.nav-button.primary:not(:disabled):hover{background:#4df0ff}.nav-button svg{width:14px;height:14px}.step-dots{display:flex;gap:6px}.step-dot{width:8px;height:8px;background:var(--color-border-default);border-radius:50%;transition:all var(--duration-fast) var(--ease-standard)}.step-dot.active{background:var(--color-energy-cyan);box-shadow:0 0 8px var(--color-energy-cyan-glow)}.step-dot.completed{background:#4caf50}.lesson-gate-palette{margin:0;padding:var(--space-3);background:var(--color-void);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.lesson-gate-palette__header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);color:var(--color-energy-cyan);font-size:11px;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em}.lesson-gate-palette__icon{width:14px;height:14px;stroke:currentColor;flex-shrink:0}.lesson-gate-palette__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px}.lesson-gate-palette__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.lesson-gate-palette__item:hover{background:var(--color-elevated);border-color:var(--color-border-default);transform:translateY(-1px)}.lesson-gate-palette__item.selected{background:var(--color-energy-cyan-dim);border-color:var(--color-energy-cyan);box-shadow:0 0 12px var(--color-energy-cyan-glow)}.lesson-gate-palette__item.selected .lesson-gate-palette__label{color:var(--color-energy-cyan);text-shadow:var(--text-glow-cyan)}.lesson-gate-palette__label{font-family:var(--font-mono);font-size:9px;font-weight:var(--font-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em}.lesson-gate-palette__hint{margin-top:var(--space-2);padding:6px 8px;background:var(--color-energy-cyan-dim);border-radius:var(--radius-sm);color:var(--color-energy-cyan);font-size:10px;text-align:center;animation:pulse-hint 2s ease-in-out infinite}@keyframes pulse-hint{0%,to{opacity:1}50%{opacity:.7}}.ascii-art-container{margin:1.5rem 0;background-color:var(--surface-secondary, #1a1a1a);border-radius:8px;overflow:hidden}.ascii-art-title{padding:.75rem 1rem;background-color:var(--surface-tertiary, #2a2a2a);border-bottom:1px solid var(--border-color, #333);font-size:.875rem;font-weight:600;color:var(--text-secondary, #aaa)}.ascii-art{margin:0;padding:1rem;overflow-x:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:.875rem;line-height:1.4;white-space:pre;color:var(--text-primary, #fff)}.ascii-art code{font-family:inherit;font-size:inherit;background:none;padding:0}.ascii-art::-webkit-scrollbar{height:8px}.ascii-art::-webkit-scrollbar-track{background:var(--surface-tertiary, #2a2a2a)}.ascii-art::-webkit-scrollbar-thumb{background:var(--border-color, #444);border-radius:4px}.ascii-art::-webkit-scrollbar-thumb:hover{background:var(--border-hover, #555)}@media (max-width: 768px){.ascii-art{font-size:.75rem;padding:.75rem}}.learning-panel.lesson-active{position:fixed;top:56px;right:0;bottom:0;left:auto;width:30%;min-width:480px;max-width:600px;background:linear-gradient(135deg,#0d1117,#161b22);border-left:2px solid var(--color-primary-border-strong);box-shadow:-10px 0 40px #00000080;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:width var(--transition-base);overflow:visible}@media (max-width: 1024px){.learning-panel.lesson-active{width:40%;min-width:400px;max-width:500px}}@media (max-width: 640px){.learning-panel.lesson-active{width:100%;min-width:unset;max-width:unset;border-left:none;border-top:2px solid var(--color-primary-border-strong)}}@media (max-width: 768px){.learning-panel.lesson-active{width:100%;left:0;border-left:none;border-top:2px solid var(--color-primary-border-strong)}.lesson-fixed-header{padding:.75rem 1rem}.header-title{font-size:.875rem}.lesson-fixed-footer{padding:.75rem 1rem;gap:1rem}.footer-nav-button{padding:.5rem .75rem;font-size:.8rem}.nav-dots{display:none}.lesson-player-content{padding:1.5rem}.learning-header{padding:24px 20px}.learning-title{font-size:28px;flex-direction:column;text-align:center}.title-icon{font-size:40px}.learning-stats{flex-direction:column;gap:16px;align-items:center}.stat-card{padding:20px 24px;min-width:100px}.learning-content{padding:32px 20px}.lessons-grid{grid-template-columns:1fr;gap:16px}.lesson-card{padding:20px;flex-direction:column;text-align:center;gap:16px}.lesson-player-header{padding:16px 20px;flex-direction:column;gap:16px}.lesson-player-content{padding:24px 20px}.step-navigation{flex-direction:column;gap:12px}.nav-button{max-width:none}.completion-stats{flex-direction:column;gap:24px}.comparison-row{flex-direction:column;align-items:flex-start;gap:8px}.gate-label{margin-right:0;margin-bottom:8px}.gate-values{padding-left:16px}}.learning-home{height:calc(100vh - 56px);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.learning-home::-webkit-scrollbar{display:none}.learning-header{background:linear-gradient(135deg,var(--color-primary-bg-hover) 0%,rgba(0,255,200,.1) 50%,rgba(102,51,204,.1) 100%);border-bottom:1px solid var(--color-primary-border);padding:40px 32px 32px;position:relative;overflow:hidden}.learning-header:before{content:"";position:absolute;top:-50%;right:-20%;width:60%;height:200%;background:radial-gradient(circle,var(--color-primary-subtle) 0%,transparent 70%);animation:headerPulse 6s ease-in-out infinite}@keyframes headerPulse{0%,to{transform:scale(1) rotate(0);opacity:.3}50%{transform:scale(1.1) rotate(180deg);opacity:.1}}.header-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center}.close-button{position:absolute;top:20px;right:20px;background:var(--color-bg-hover);border:1px solid var(--color-border-subtle);color:var(--color-text-muted);font-size:24px;width:48px;height:48px;border-radius:50%;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.close-button:hover{background:var(--color-error);border-color:var(--color-error);color:var(--color-void);transform:scale(1.1) rotate(90deg);box-shadow:0 8px 32px var(--color-error-glow)}.learning-title{font-size:36px;font-weight:800;margin:0 0 16px;background:linear-gradient(45deg,var(--color-primary),#00ffdd,#6633cc);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 40px var(--color-primary-border-strong);display:flex;align-items:center;gap:16px}.title-icon{font-size:48px;filter:drop-shadow(0 0 20px var(--color-energy-cyan-glow));animation:titleIconFloat 3s ease-in-out infinite}@keyframes titleIconFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(5deg)}}.learning-subtitle{font-size:18px;color:var(--color-text-secondary);margin:0 0 32px;max-width:600px;line-height:1.6}.learning-stats{display:flex;gap:24px;justify-content:center;margin-top:32px;position:relative;z-index:2}.stat-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:16px;padding:24px 32px;text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all .3s cubic-bezier(.4,0,.2,1);min-width:120px}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px var(--color-primary-bg-hover);border-color:var(--color-primary-border-strong)}.stat-number{font-size:32px;font-weight:800;color:var(--color-primary);margin-bottom:8px;text-shadow:0 0 20px var(--color-energy-cyan-glow)}.stat-label{font-size:14px;color:var(--color-text-muted);font-weight:500;text-transform:uppercase;letter-spacing:1px}.phase-section{margin-bottom:64px}.phase-header{text-align:center;margin-bottom:40px;position:relative}.lesson-card.new-format{position:relative;overflow:visible}.new-badge{display:inline-block;background:var(--color-energy-cyan-dim);color:var(--color-energy-cyan);font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;margin-left:8px;text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--color-energy-cyan);box-shadow:0 0 8px var(--color-energy-cyan-dim)}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.lessons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:32px}.lesson-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:20px;padding:28px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:20px}.lesson-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--lesson-color, var(--color-primary));opacity:0;transition:opacity .3s ease}.lesson-card:hover:before{opacity:1}.lesson-card:hover{transform:translateY(-8px);border-color:var(--lesson-color, var(--color-primary));box-shadow:0 20px 60px #0000004d,0 0 0 1px var(--lesson-color, var(--color-primary));background:var(--color-elevated)}.lesson-card.completed{border-color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary-bg-hover) 0%,var(--color-primary-subtle-light) 100%)}.lesson-card.locked{opacity:.4;cursor:not-allowed;transform:none!important}.lesson-card.locked.debug-unlocked{opacity:1;cursor:pointer;border-color:#ff669980;background:linear-gradient(135deg,#ff669914,#ff669908)}.lesson-card.locked.debug-unlocked:hover{transform:translateY(-8px);border-color:#f69;box-shadow:0 20px 60px #0000004d,0 0 0 1px #f69}.lesson-icon{font-size:32px;flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-hover);border-radius:16px;border:1px solid var(--color-border-subtle);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lesson-content{flex:1}.lesson-title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px;line-height:1.4}.lesson-description{font-size:14px;color:var(--color-text-muted);margin:0 0 16px;line-height:1.5}.lesson-meta{display:flex;gap:16px;font-size:12px;font-weight:500}.lesson-difficulty{color:#f69;background:#ff66991a;padding:4px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.lesson-duration{color:gold;background:#ffd7001a;padding:4px 8px;border-radius:6px}.learning-content{padding:48px 32px;max-width:1200px;margin:0 auto}.step-structured-content{margin-top:24px}.heading-icon{margin-right:8px;filter:drop-shadow(0 0 10px var(--color-primary-border-strong))}.explanation-heading{color:var(--color-primary);font-weight:700;margin:32px 0 16px;display:flex;align-items:center;border-left:4px solid var(--color-primary);padding-left:16px;text-shadow:0 0 10px var(--color-primary-subtle)}.explanation-heading:is(h1){font-size:24px;margin:40px 0 20px;border-left-width:5px}.explanation-heading:is(h2){font-size:20px;margin:32px 0 16px;border-left-width:4px}.explanation-heading:is(h3){font-size:18px;margin:28px 0 14px;border-left-width:3px}.explanation-heading:is(h4){font-size:16px;margin:24px 0 12px;border-left-width:2px;color:var(--color-warning)}.explanation-heading:is(h5){font-size:15px;margin:20px 0 10px;border-left-width:2px;color:var(--color-text-primary)}.explanation-heading:is(h6){font-size:14px;margin:16px 0 8px;border-left-width:1px;color:var(--color-text-secondary)}.phase-title{font-size:28px;font-weight:700;color:var(--phase-color, var(--color-primary));margin:0 0 16px;text-shadow:0 0 20px var(--phase-color, var(--color-primary))}.phase-description{font-size:16px;color:var(--color-text-muted);max-width:500px;margin:0 auto 24px;line-height:1.6}.phase-progress{width:200px;height:8px;background:var(--color-bg-hover);border-radius:4px;margin:0 auto;overflow:hidden;position:relative}.description-content{font-size:15px;line-height:1.7;color:var(--color-text-primary);margin-bottom:20px}.description-content h3{color:var(--color-primary);font-size:18px;margin:24px 0 12px;border-left:3px solid var(--color-primary);padding-left:12px}.description-content h4{color:var(--color-warning);font-size:16px;margin:20px 0 8px}.description-content p{margin-bottom:16px;line-height:1.6}.description-content ul,.description-content ol{margin:16px 0 16px 20px}.description-content li{margin-bottom:8px;line-height:1.6}.description-content strong{color:var(--color-primary);font-weight:600}.description-content em{color:var(--color-warning);font-style:normal;font-weight:500}.binary-display,.code-block{background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:8px;padding:16px;font-family:Courier New,monospace;font-size:14px;color:var(--color-primary);margin:16px 0;letter-spacing:1px;text-align:center}.explanation-paragraph{font-size:15px;line-height:1.7;color:var(--color-text-primary);margin-bottom:20px}.explanation-paragraph .bold{color:var(--color-primary);font-weight:600}.explanation-paragraph .emphasis{background:var(--color-energy-gold-dim);color:var(--color-warning);padding:2px 6px;border-radius:4px;font-weight:500}.explanation-paragraph .gate-name{color:var(--color-primary);font-weight:600;text-shadow:0 0 10px var(--color-primary-subtle)}.explanation-list,.explanation-ordered-list{margin:16px 0 20px;padding-left:20px}.explanation-list{list-style-type:disc}.explanation-ordered-list{list-style-type:decimal}.explanation-list li,.explanation-ordered-list li{margin-bottom:8px;line-height:1.6;color:var(--color-text-primary);font-size:15px;padding-left:4px}.explanation-list li::marker{color:var(--color-primary)}.explanation-ordered-list li::marker{color:var(--color-primary);font-weight:600}.lesson-player{height:calc(100vh - 56px);display:flex;flex-direction:column;background:transparent}.lesson-player-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(90deg,var(--color-primary-subtle) 0%,transparent 100%);border-bottom:1px solid var(--color-primary-border);flex-shrink:0}.back-button{background:var(--color-primary-subtle);border:1px solid var(--color-primary-border-strong);color:var(--color-primary);padding:8px 12px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-button:hover{background:var(--color-primary-border);transform:translate(-4px);box-shadow:0 8px 24px var(--color-primary-border)}.lesson-info{text-align:center;flex:1}.lesson-info .lesson-title{font-size:16px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.lesson-progress{font-size:14px;color:var(--color-text-secondary);background:var(--color-bg-hover);padding:6px 12px;border-radius:8px;display:inline-block}.lesson-player-content{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;width:100%}.step-content{flex:1;margin-bottom:32px}.step-instruction{font-size:15px;line-height:1.6;color:var(--color-text-primary);margin-bottom:16px;padding:16px;background:var(--color-surface);border:1px solid var(--color-border-default);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.step-hint{background:var(--color-energy-gold-dim);border:1px solid var(--color-warning);border-radius:8px;padding:12px;margin:16px 0;font-size:14px;color:var(--color-warning)}.step-navigation{display:flex;gap:16px;justify-content:center;align-items:center;margin-top:auto;padding:20px 0;border-top:1px solid var(--color-border-subtle)}.nav-button{background:var(--color-primary-subtle);border:1px solid var(--color-primary-border-strong);color:var(--color-primary);padding:12px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:120px;justify-content:center}.nav-button:hover{background:var(--color-primary-border);transform:translateY(-2px);box-shadow:0 8px 24px var(--color-primary-border)}.nav-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.nav-button.primary{background:var(--color-primary);color:var(--color-void);border-color:var(--color-primary)}.nav-button.primary:hover{background:var(--color-primary-border-extra-strong);box-shadow:0 8px 24px var(--color-primary-border-strong)}.lesson-complete{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:500px;padding:40px}.completion-content{text-align:center;max-width:600px;width:100%}.completion-icon-wrapper{position:relative;display:inline-block;margin-bottom:32px}.completion-icon{font-size:80px;line-height:1;animation:sparkle 2s ease-in-out infinite}.completion-icon-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;background:radial-gradient(circle,var(--color-primary-subtle) 0%,transparent 70%);filter:blur(30px);animation:pulse 2s ease-in-out infinite}@keyframes sparkle{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(10deg)}}@keyframes pulse{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.2)}}.completion-title{font-size:36px;font-weight:700;color:var(--color-primary);margin-bottom:16px;text-shadow:0 0 20px var(--color-primary-subtle)}.completion-subtitle{font-size:20px;color:var(--color-text-secondary);margin-bottom:40px}.completion-stats{display:flex;gap:40px;justify-content:center;margin:40px 0;padding:32px;background:var(--color-surface);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.completion-stat{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.stat-icon{font-size:24px;margin-bottom:4px}.stat-value{font-size:28px;font-weight:700;color:var(--color-primary);display:block}.stat-label{font-size:14px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.completion-actions{display:flex;gap:16px;justify-content:center;margin-top:48px}.completion-button{padding:16px 32px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:180px}.completion-button.primary{background:var(--color-primary);color:var(--color-void);border:2px solid var(--color-primary)}.completion-button.primary:hover{background:var(--color-primary-border-extra-strong);transform:translateY(-2px);box-shadow:0 12px 32px var(--color-primary-border-strong)}.completion-button.secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.completion-button.secondary:hover{background:var(--color-primary-subtle);transform:translateY(-2px)}.gate-truth-table{margin:16px 0;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:8px;overflow:hidden}.gate-truth-table th{background:var(--color-primary-subtle);padding:12px;text-align:center;font-weight:600;color:var(--color-primary);border-bottom:2px solid var(--color-primary-border)}.gate-truth-table td{padding:10px;text-align:center;border-bottom:1px solid var(--color-border-subtle)}.gate-truth-table tr:last-child td{border-bottom:none}.gate-truth-table tr:hover{background:var(--color-bg-hover)}.truth-table{margin:20px 0;border-collapse:separate;border-spacing:0;background:var(--color-surface);border:1px solid var(--color-border-default);border-radius:12px;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md)}.truth-table th{background:linear-gradient(135deg,var(--color-primary-bg-hover) 0%,var(--color-primary-subtle) 100%);color:var(--color-primary);font-weight:700;padding:16px 12px;text-align:center;font-size:14px;text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid var(--color-primary-border-strong)}.truth-table td{padding:14px 12px;text-align:center;font-weight:600;font-size:14px;color:var(--color-text-primary);border-bottom:1px solid var(--color-border-subtle);transition:all .2s ease}.truth-table tr:last-child td{border-bottom:none}.truth-table tr:hover td{background:var(--color-bg-hover);color:var(--color-text-primary)}.truth-table .input-col{color:var(--color-warning);font-family:Courier New,monospace}.truth-table .output-col{color:var(--color-primary);font-family:Courier New,monospace;font-weight:700}.comparison-table{margin:24px 0;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:12px;padding:20px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.comparison-row{display:flex;align-items:center;margin-bottom:16px;padding:12px;border-radius:8px;transition:all .2s ease}.comparison-row:hover{background:var(--color-bg-hover)}.gate-label{flex:1;font-weight:600;color:var(--color-warning);margin-right:20px;font-size:15px}.gate-values{display:flex;gap:12px;align-items:center}.value-item{padding:6px 12px;background:var(--color-bg-hover);border:1px solid var(--color-border-subtle);border-radius:6px;font-family:Courier New,monospace;font-size:13px;font-weight:600;color:var(--color-text-primary);min-width:40px;text-align:center}.value-separator{color:var(--color-text-muted);font-weight:700}.inline-expression{display:inline-block;background:var(--color-void);border:1px solid var(--color-border-default);border-radius:4px;padding:2px 6px;font-family:Courier New,monospace;font-size:13px;color:var(--color-primary);margin:0 2px}.expression-note{background:var(--color-energy-gold-dim);border-left:4px solid var(--color-warning);padding:12px 16px;margin:16px 0;border-radius:0 8px 8px 0;font-size:14px;color:var(--color-warning);line-height:1.5}.learning-panel,.floating-learning-panel{--lp-accent: var(--theme-primary);--lp-accent-dim: var(--theme-primary-dim);--lp-accent-subtle: var(--theme-primary-subtle);--lp-accent-glow: var(--theme-primary-glow, var(--theme-primary-dim));--lp-bg: var(--theme-bg);--lp-bg-surface: var(--theme-bg-surface);--lp-bg-void: var(--theme-bg-void);--lp-border: var(--theme-border);--lp-border-subtle: var(--theme-border-subtle, var(--theme-border));--lp-text-primary: var(--color-text-primary);--lp-text-secondary: var(--color-text-secondary);--lp-text-muted: var(--color-text-muted);--lp-text-dim: var(--color-text-dim)}.floating-learning-panel{font-family:var(--font-sans);-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative}.floating-learning-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--lp-accent-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--lp-accent-subtle) 1px,transparent 1px);background-size:20px 20px;pointer-events:none;z-index:0;border-radius:inherit}.floating-learning-panel>*{position:relative;z-index:1}.floating-learning-panel.minimized{width:auto!important;height:auto!important;border-radius:24px;overflow:visible}.floating-panel-header{transition:all .2s ease;position:relative}.floating-panel-header:after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:1px;background:linear-gradient(90deg,transparent 0%,var(--lp-accent) 50%,transparent 100%);opacity:.5}.floating-panel-header:hover{background:var(--lp-accent-dim)!important}.header-control-button{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--lp-text-muted);cursor:pointer;transition:all .2s ease;font-size:14px}.header-control-button:hover{background:var(--lp-accent-subtle)!important;color:var(--lp-accent)!important}.minimized-content{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--lp-bg-surface);border:1px solid var(--lp-accent);border-radius:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:grab;box-shadow:var(--shadow-lg),0 0 20px var(--lp-accent-dim)}.minimized-icon{font-size:14px;opacity:.9}.minimized-title{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--lp-accent);text-shadow:0 0 8px var(--lp-accent-glow);white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.minimized-progress{width:50px;height:3px;background:var(--lp-bg-void);border-radius:2px;overflow:hidden}.minimized-progress-bar{height:100%;background:var(--lp-accent);border-radius:2px;transition:width .3s ease;box-shadow:0 0 8px var(--lp-accent-glow)}.expand-button,.close-button{background:transparent;border:none;color:var(--lp-text-muted);cursor:pointer;padding:4px;border-radius:4px;font-size:10px;transition:all .2s ease;line-height:1}.expand-button:hover,.close-button:hover{background:var(--lp-accent-subtle);color:var(--lp-accent)}.floating-learning-home{height:100%;display:flex;flex-direction:column}.floating-learning-stats{display:flex;gap:12px;margin-bottom:16px}.compact-stat-card{flex:1;text-align:center;padding:8px;background:var(--lp-accent-subtle);border-radius:8px;border:1px solid var(--lp-border)}.compact-stat-card .stat-number{font-size:16px;font-weight:700;color:var(--lp-accent);text-shadow:0 0 8px var(--lp-accent-dim);margin-bottom:2px}.compact-stat-card .stat-label{font-size:10px;color:var(--lp-text-muted)}.floating-learning-content{flex:1;overflow-y:auto}.compact-phase-section{margin-bottom:16px}.compact-phase-header h3{color:var(--lp-accent);font-weight:700;text-shadow:0 0 8px var(--lp-accent-glow)}.compact-phase-progress{height:3px;background:var(--lp-bg-void);border-radius:2px;overflow:hidden;margin-bottom:8px}.compact-phase-progress-bar{height:100%;border-radius:2px;transition:width .3s ease}.compact-lessons-grid{display:flex;flex-direction:column;gap:4px}.compact-lesson-card{transition:all .2s ease}.compact-lesson-card:hover:not(.locked){background:var(--lp-accent-dim)!important;border-color:var(--lp-accent)!important;transform:translateY(-1px);box-shadow:0 0 12px var(--lp-accent-glow)}.compact-lesson-card.locked{opacity:.4}.floating-lesson-player{height:100%;display:flex;flex-direction:column}.floating-lesson-content{flex:1;overflow-y:auto;margin-bottom:16px}.compact-lesson-complete{text-align:center;padding:16px;background:var(--lp-accent-dim);border-radius:12px;border:1px solid var(--lp-accent);box-shadow:0 0 16px var(--lp-accent-glow)}.floating-learning-panel ::-webkit-scrollbar{width:6px}.floating-learning-panel ::-webkit-scrollbar-track{background:var(--lp-bg-void);border-radius:3px}.floating-learning-panel ::-webkit-scrollbar-thumb{background:var(--lp-accent-dim);border-radius:3px}.floating-learning-panel ::-webkit-scrollbar-thumb:hover{background:var(--lp-accent)}.header-nav-button{background:var(--lp-accent-subtle);border:1px solid var(--lp-border);color:var(--lp-text-primary);padding:8px 12px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:36px}.header-nav-button:hover{background:var(--lp-accent-dim);border-color:var(--lp-accent);color:var(--lp-accent);transform:translateY(-1px);text-shadow:0 0 8px var(--lp-accent-glow)}.header-nav-button:active{transform:translateY(0)}.header-actions{display:flex;align-items:center;gap:8px}@media (max-width: 640px){.floating-learning-panel{max-width:calc(100vw - 20px);max-height:calc(100vh - 100px)}.minimized-title{max-width:80px}}@media (max-width: 480px){.floating-learning-panel{max-width:calc(100vw - 10px);max-height:calc(100vh - 80px)}}.learning-panel{position:fixed;top:56px;left:0;right:0;bottom:0;background:var(--lp-bg);z-index:var(--z-panel);overflow:hidden;font-family:Inter,Segoe UI,sans-serif}.quiz-section{background:linear-gradient(135deg,var(--color-primary-subtle-light) 0%,rgba(102,51,204,.05) 100%);border:1px solid var(--color-primary-border);border-radius:16px;padding:24px;margin:24px 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.quiz-title{font-size:18px;font-weight:700;color:var(--color-primary);margin-bottom:16px;text-align:center}.quiz-question{font-size:16px;color:var(--lp-text-primary);margin-bottom:20px;line-height:1.6}.quiz-options{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.quiz-option{background:var(--lp-accent-subtle);border:2px solid var(--lp-border);border-radius:8px;padding:12px 16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:var(--lp-text-primary);font-weight:500}.quiz-option:hover{background:var(--lp-accent-dim);border-color:var(--lp-accent);transform:translate(4px)}.quiz-option.selected{background:var(--color-primary-bg-hover);border-color:var(--color-primary);color:var(--color-primary)}.quiz-option.correct{background:#4caf5033;border-color:#4caf50;color:#4caf50}.quiz-option.incorrect{background:#f4433633;border-color:#f44336;color:#f44336}.quiz-result{text-align:center;padding:16px;border-radius:8px;font-weight:600;margin-top:16px}.quiz-result.correct{background:#4caf5033;border:1px solid #4caf50;color:#4caf50}.quiz-result.incorrect{background:#f4433633;border:1px solid #f44336;color:#f44336}.lesson-fixed-header{position:sticky;top:0;background:var(--lp-bg-surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--lp-border);padding:1rem 1.5rem;z-index:var(--z-panel);display:flex;align-items:center;justify-content:space-between}.header-back-button{background:var(--color-primary-subtle);border:1px solid var(--color-primary-border-strong);color:var(--color-primary);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s ease}.header-title{font-size:1rem;font-weight:600;color:var(--lp-text-primary);flex:1;text-align:center;margin:0 1rem}.header-progress{font-size:.875rem;color:var(--lp-text-muted)}.lesson-fixed-footer{position:sticky;bottom:0;background:var(--lp-bg-surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--lp-border);padding:1rem 1.5rem;z-index:var(--z-panel);display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.footer-nav-button{background:var(--color-primary-subtle);border:1px solid var(--color-primary-border-strong);color:var(--color-primary);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;min-width:100px}.footer-nav-button:hover{background:var(--color-primary-border);transform:translateY(-1px)}.footer-nav-button:disabled{opacity:.5;cursor:not-allowed}.footer-nav-button.primary{background:var(--color-primary);color:var(--color-void)}.nav-dots{display:flex;gap:8px;flex:1;justify-content:center}.nav-dot{width:8px;height:8px;border-radius:50%;background:var(--lp-text-dim);transition:all .2s ease}.nav-dot.active{background:var(--color-primary);transform:scale(1.2)}.nav-dot.completed{background:#4caf50}@keyframes pulse-new-course{0%,to{box-shadow:0 0 20px #8b00ff4d}50%{box-shadow:0 0 40px #8b00ff99,0 0 60px #8b00ff4d}}@keyframes glow-cpu-lesson{0%,to{box-shadow:0 4px 20px #8b00ff40}50%{box-shadow:0 6px 30px #8b00ff66,0 0 40px #8b00ff33}}@keyframes shine-cpu-badge{0%,to{box-shadow:0 2px 8px #8b00ff4d}50%{box-shadow:0 4px 16px #8b00ff80,0 0 20px #8b00ff4d;transform:scale(1.05)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3) rotate(-10deg)}50%{opacity:1;transform:scale(1.1) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.new-phase .phase-header{position:relative;overflow:visible}.cpu-lesson .lesson-icon{background:linear-gradient(135deg,#8b00ff20,#6200cc15);border:1px solid #8b00ff;animation:pulse-cpu-icon 2s ease-in-out infinite}@keyframes pulse-cpu-icon{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes phase-nav-new{0%,to{box-shadow:0 0 15px #8b00ff4d}50%{box-shadow:0 0 25px #8b00ff99,0 0 35px #8b00ff33}}@keyframes pulse-indicator{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.phase-nav-item:hover{background:#ffffff1a!important;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.floating-learning-panel{--flp-accent: var(--theme-primary);--flp-accent-dim: var(--theme-primary-dim);--flp-accent-subtle: var(--theme-primary-subtle);--flp-accent-glow: var(--theme-primary-glow, var(--theme-primary-dim));--flp-bg-primary: var(--theme-bg-surface);--flp-bg-secondary: var(--theme-bg);--flp-bg-overlay: var(--theme-bg-void);--flp-border-glow: var(--theme-primary);--flp-border-subtle: var(--theme-border);--flp-grid-line: var(--theme-primary-subtle);--flp-scanline: var(--theme-primary-subtle);--flp-text-dim: var(--color-text-muted);--flp-text-medium: var(--color-text-secondary);--flp-text-primary: var(--color-text-primary);--flp-text-accent: var(--theme-primary);--flp-card-bg: var(--theme-primary-subtle);--flp-card-border: var(--theme-primary-dim);--flp-card-hover: var(--theme-primary-dim);--flp-success: var(--color-success, #4caf50);--flp-success-dim: var(--color-success-dim, rgba(76, 175, 80, .3))}.floating-learning-panel{font-family:var(--font-mono);-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;background:var(--flp-bg-primary)!important;border:1px solid var(--flp-border-glow)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important;overflow:hidden;color:var(--flp-text-primary)}.floating-learning-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--flp-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--flp-grid-line) 1px,transparent 1px),linear-gradient(var(--flp-accent-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--flp-accent-subtle) 1px,transparent 1px);background-size:80px 80px,80px 80px,20px 20px,20px 20px;pointer-events:none;z-index:0;opacity:.8}.floating-learning-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,var(--flp-scanline) 2px,var(--flp-scanline) 4px);pointer-events:none;z-index:1;opacity:.3;animation:scanline-scroll 8s linear infinite}@keyframes scanline-scroll{0%{transform:translateY(0)}to{transform:translateY(4px)}}.floating-learning-panel>*{position:relative;z-index:2}.floating-panel-header{background:linear-gradient(180deg,var(--flp-accent-subtle) 0%,transparent 100%)!important;border-bottom:1px solid var(--flp-border-glow)!important;padding:10px 14px!important;position:relative;transition:background .2s ease}.floating-panel-header:before,.floating-panel-header:after{content:"";position:absolute;width:12px;height:12px;border:1px solid var(--flp-accent);opacity:.6}.floating-panel-header:before{top:4px;left:4px;border-right:none;border-bottom:none}.floating-panel-header:after{top:4px;right:4px;border-left:none;border-bottom:none}.floating-panel-header .header-glow-line{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--flp-accent) 20%,var(--flp-accent) 80%,transparent 100%);box-shadow:0 0 10px var(--flp-accent-glow)}.floating-panel-header .panel-title{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--flp-text-accent);text-shadow:0 0 10px var(--flp-accent-glow);display:flex;align-items:center;gap:8px}.floating-panel-header .panel-title:before{content:">";opacity:.6;animation:cursor-blink 1s step-end infinite}@keyframes cursor-blink{0%,50%{opacity:.6}51%,to{opacity:0}}.header-status-indicator{width:6px;height:6px;border-radius:50%;background:var(--flp-accent);box-shadow:0 0 6px var(--flp-accent),0 0 12px var(--flp-accent-glow);animation:status-pulse 2s ease-in-out infinite}@keyframes status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}.header-control-button{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--flp-bg-overlay)!important;border:1px solid var(--flp-border-subtle)!important;border-radius:2px!important;color:var(--flp-text-medium)!important;cursor:pointer;transition:all .15s ease;position:relative}.header-control-button:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:2px;background:linear-gradient(135deg,var(--flp-accent),transparent);opacity:0;transition:opacity .15s ease;z-index:-1}.header-control-button:hover{background:var(--flp-accent-subtle)!important;border-color:var(--flp-accent)!important;color:var(--flp-text-accent)!important;box-shadow:0 0 12px var(--flp-accent-dim)}.header-control-button:hover:before{opacity:.3}.floating-learning-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;padding:0 2px}.compact-stat-card{background:linear-gradient(135deg,var(--flp-accent-subtle) 0%,var(--flp-bg-overlay) 100%)!important;border:1px solid var(--flp-card-border)!important;border-radius:2px!important;padding:12px 10px!important;text-align:center;position:relative;overflow:hidden}.compact-stat-card:before,.compact-stat-card:after{content:"";position:absolute;width:8px;height:8px;border:1px solid var(--flp-accent);opacity:.4}.compact-stat-card:before{top:3px;left:3px;border-right:none;border-bottom:none}.compact-stat-card:after{bottom:3px;right:3px;border-left:none;border-top:none}.compact-stat-card .stat-number{font-family:JetBrains Mono,Courier New,monospace!important;font-size:22px!important;font-weight:700!important;color:var(--flp-text-accent)!important;text-shadow:0 0 8px var(--flp-accent-glow)!important;letter-spacing:.05em;line-height:1;margin-bottom:6px!important}.compact-stat-card .stat-label{font-family:JetBrains Mono,monospace;font-size:9px!important;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--flp-text-dim)!important}.compact-phase-section{margin-bottom:20px;position:relative}.compact-phase-header{margin-bottom:10px}.compact-phase-header h3{font-family:JetBrains Mono,monospace!important;font-size:10px!important;font-weight:600!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--flp-text-accent)!important;text-shadow:0 0 8px var(--flp-accent-dim)!important;margin:0 0 8px!important;padding-left:12px;position:relative}.compact-phase-header h3:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:4px;background:var(--flp-accent);box-shadow:0 0 6px var(--flp-accent)}.compact-phase-progress{height:3px!important;background:var(--flp-bg-overlay)!important;border:1px solid var(--flp-border-subtle);border-radius:0!important;overflow:hidden;position:relative}.compact-phase-progress-bar{height:100%!important;border-radius:0!important;position:relative;box-shadow:0 0 8px currentColor}.compact-phase-progress-bar:after{content:"";position:absolute;right:0;top:0;bottom:0;width:20px;background:linear-gradient(90deg,transparent,var(--flp-text-primary));opacity:.3;animation:progress-shimmer 2s ease-in-out infinite}@keyframes progress-shimmer{0%,to{opacity:0;transform:translate(-10px)}50%{opacity:1;transform:translate(0)}}.compact-lessons-grid{display:flex;flex-direction:column;gap:6px}.compact-lesson-card{background:var(--flp-card-bg)!important;border:1px solid var(--flp-card-border)!important;border-radius:2px!important;padding:10px 12px!important;cursor:pointer;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);overflow:hidden}.compact-lesson-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--flp-accent-dim) 0%,var(--flp-accent) 50%,var(--flp-accent-dim) 100%);opacity:0;transition:opacity .2s ease}.compact-lesson-card:after{content:"";position:absolute;left:-4px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--flp-bg-primary);border:2px solid var(--flp-card-border);opacity:0;transition:all .2s ease}.compact-lesson-card:hover:not(.locked){background:var(--flp-card-hover)!important;border-color:var(--flp-accent)!important;transform:translate(4px);box-shadow:0 0 20px var(--flp-accent-dim),inset 0 0 30px var(--flp-accent-subtle)}.compact-lesson-card:hover:not(.locked):before{opacity:1}.compact-lesson-card:hover:not(.locked):after{opacity:1;border-color:var(--flp-accent);box-shadow:0 0 8px var(--flp-accent)}.compact-lesson-card.completed{background:var(--flp-success-dim)!important;border-color:var(--flp-success)!important;opacity:.7}.compact-lesson-card.completed:before{opacity:.7;background:var(--flp-success)}.lesson-status-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.lesson-status-icon svg{transition:all .2s ease}.compact-lesson-card.completed .lesson-status-icon svg{stroke:var(--flp-success);filter:drop-shadow(0 0 4px var(--flp-success-dim))}.lesson-status-badge{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.05em;padding:2px 6px;border-radius:2px;margin-left:auto}.lesson-status-badge.completed{background:var(--flp-success-dim);color:var(--flp-success);border:1px solid var(--flp-success)}.lesson-status-badge.in-progress{background:var(--flp-accent-subtle);color:var(--flp-text-accent);border:1px solid var(--flp-accent);animation:badge-pulse 2s ease-in-out infinite}.compact-lesson-card.locked{opacity:.35!important;cursor:not-allowed!important;filter:grayscale(.5)}.compact-lesson-card .lesson-title{font-family:var(--font-sans);font-size:12px;font-weight:600;color:var(--flp-text-primary);margin-bottom:2px;transition:color .2s ease}.compact-lesson-card:hover:not(.locked) .lesson-title{color:var(--flp-text-accent);text-shadow:0 0 8px var(--flp-accent-dim)}.compact-lesson-card .lesson-meta{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.05em;color:var(--flp-text-dim)}.compact-lesson-card .new-badge,.new-badge{font-family:JetBrains Mono,monospace!important;font-size:8px!important;font-weight:700!important;letter-spacing:.1em!important;text-transform:uppercase!important;padding:2px 6px!important;background:transparent!important;border:1px solid var(--flp-accent)!important;border-radius:1px!important;color:var(--flp-text-accent)!important;text-shadow:0 0 6px var(--flp-accent-glow)!important;box-shadow:0 0 8px var(--flp-accent-dim),inset 0 0 8px var(--flp-accent-dim)!important;animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{box-shadow:0 0 8px var(--flp-accent-dim),inset 0 0 8px var(--flp-accent-dim)}50%{box-shadow:0 0 16px var(--flp-accent-glow),inset 0 0 12px var(--flp-accent-dim)}}.floating-learning-panel ::-webkit-scrollbar{width:4px}.floating-learning-panel ::-webkit-scrollbar-track{background:var(--flp-bg-overlay);border-left:1px solid var(--flp-card-border)}.floating-learning-panel ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--flp-accent-dim) 0%,var(--flp-accent) 50%,var(--flp-accent-dim) 100%);border-radius:0;box-shadow:0 0 6px var(--flp-accent-glow)}.floating-learning-panel ::-webkit-scrollbar-thumb:hover{background:var(--flp-accent);box-shadow:0 0 12px var(--flp-accent)}.floating-learning-panel.minimized{width:auto!important;height:auto!important;border-radius:2px!important;overflow:visible}.minimized-content{display:flex;align-items:center;gap:10px;padding:8px 12px!important;background:var(--flp-bg-primary)!important;border:1px solid var(--flp-border-glow)!important;border-radius:2px!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:grab;box-shadow:0 0 20px var(--flp-accent-dim),var(--shadow-lg)!important}.minimized-content:active{cursor:grabbing}.minimized-icon{color:var(--flp-text-accent);opacity:.9;filter:drop-shadow(0 0 4px var(--flp-accent-glow))}.minimized-title{font-family:JetBrains Mono,monospace!important;font-size:10px!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--flp-text-accent)!important;text-shadow:0 0 8px var(--flp-accent-dim)!important;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.minimized-progress{width:60px;height:3px;background:var(--flp-bg-overlay)!important;border:1px solid var(--flp-border-subtle);border-radius:0!important;overflow:hidden}.minimized-progress-bar{height:100%;background:var(--flp-accent)!important;border-radius:0!important;box-shadow:0 0 8px var(--flp-accent-glow)!important}.expand-button,.close-button{background:var(--flp-bg-overlay)!important;border:1px solid var(--flp-border-subtle)!important;color:var(--flp-text-medium)!important;cursor:pointer;padding:4px!important;border-radius:2px!important;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.expand-button:hover,.close-button:hover{background:var(--flp-accent-subtle)!important;border-color:var(--flp-accent)!important;color:var(--flp-text-accent)!important;box-shadow:0 0 8px var(--flp-accent-dim)}.resize-handle{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;opacity:.4;transition:opacity .2s ease}.resize-handle:before,.resize-handle:after{content:"";position:absolute;background:var(--flp-accent)}.resize-handle:before{right:4px;bottom:4px;width:8px;height:1px;transform:rotate(-45deg)}.resize-handle:after{right:4px;bottom:8px;width:4px;height:1px;transform:rotate(-45deg)}.resize-handle:hover{opacity:1}@keyframes panel-appear{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.floating-learning-panel{animation:panel-appear .25s cubic-bezier(.4,0,.2,1)}.floating-learning-content{position:relative}.floating-learning-content:before,.floating-learning-content:after{content:"";position:sticky;left:0;right:0;height:20px;pointer-events:none;z-index:10}.floating-learning-content:before{top:0;background:linear-gradient(180deg,var(--flp-bg-primary) 0%,transparent 100%)}.floating-learning-content:after{bottom:0;background:linear-gradient(0deg,var(--flp-bg-primary) 0%,transparent 100%)}.lesson-card-content{display:flex;align-items:center;gap:8px}.lesson-info{flex:1;min-width:0}.lesson-player-header{margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:8px}.back-button{background:transparent!important;border:1px solid var(--flp-border-subtle)!important;color:var(--flp-text-primary)!important;padding:4px 8px!important;border-radius:4px!important;cursor:pointer;font-size:12px;transition:all .15s ease}.back-button:hover{border-color:var(--flp-accent)!important;color:var(--flp-text-accent)!important}.compact-lesson-complete{text-align:center;padding:24px 16px}.complete-content{display:flex;flex-direction:column;align-items:center;gap:8px}.complete-icon{font-size:32px;color:var(--flp-success);filter:drop-shadow(0 0 8px var(--flp-success-dim))}.complete-title{margin:0;font-size:16px;color:var(--flp-text-primary)}.complete-message{margin:0 0 16px;font-size:12px;color:var(--flp-text-medium)}.complete-button{background:var(--flp-accent)!important;color:var(--flp-bg-primary)!important;border:none!important;padding:8px 16px!important;border-radius:6px!important;cursor:pointer;font-size:12px;font-weight:700;box-shadow:0 0 12px var(--flp-accent-glow);transition:all .15s ease}.complete-button:hover{filter:brightness(1.1);box-shadow:0 0 20px var(--flp-accent-glow)}.lesson-navigation{margin-top:16px;padding:12px;background:var(--flp-card-bg);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:8px}.nav-button{background:var(--flp-accent-dim)!important;border:none!important;color:var(--flp-text-primary)!important;padding:6px 12px!important;border-radius:4px!important;cursor:pointer;font-size:11px;display:flex;align-items:center;white-space:nowrap;transition:all .15s ease}.nav-button:hover:not(.disabled){background:var(--flp-accent)!important}.nav-button.disabled{background:var(--flp-bg-overlay)!important;color:var(--flp-text-dim)!important;cursor:not-allowed}.step-counter{font-size:11px;color:var(--flp-text-medium);text-align:center}.rich-description{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.rich-text-bold{color:var(--color-text-primary);font-weight:600}.rich-text-gate-ref{display:inline-block;padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-primary);font-family:var(--font-mono);font-size:.9em;cursor:pointer;transition:background-color .15s ease,color .15s ease}.rich-text-gate-ref:hover{background:var(--color-primary);color:var(--color-on-primary)}.rich-text-gate-ref:focus{outline:2px solid var(--color-primary);outline-offset:1px}.gallery-sidebar{display:flex;flex-direction:column;height:calc(100vh - var(--header-height) - var(--toolbar-height, 48px));max-height:calc(100vh - var(--header-height) - var(--toolbar-height, 48px));background:var(--color-surface);border-right:1px solid var(--color-border-subtle);overflow:hidden}.gallery-sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-energy-cyan-dim);border-bottom:1px solid var(--color-border-default);flex-shrink:0}.gallery-sidebar__title{display:flex;align-items:center;gap:var(--space-2);color:var(--color-energy-cyan);font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:.05em}.gallery-sidebar__icon{width:18px;height:18px;stroke:currentColor;flex-shrink:0}.gallery-sidebar__count-badge{padding:2px 8px;background:var(--color-void);border:1px solid var(--color-energy-cyan-dim);border-radius:var(--radius-sm);color:var(--color-energy-cyan);font-family:var(--font-mono);font-size:11px;font-weight:var(--font-medium)}.gallery-sidebar__content{flex:1;overflow-y:auto;overflow-x:hidden}.gallery-sidebar__tabs{display:flex;flex-wrap:wrap;gap:4px;padding:var(--space-3);background:var(--color-void);border-bottom:1px solid var(--color-border-subtle)}.gallery-tab{flex:1;min-width:60px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:10px;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.gallery-tab:hover{background:var(--color-elevated);border-color:var(--color-border-default);color:var(--color-text-secondary)}.gallery-tab.active{background:var(--color-energy-cyan-dim);border-color:var(--color-energy-cyan);color:var(--color-energy-cyan)}.gallery-tab .tab-title{font-weight:var(--font-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.gallery-tab .tab-count{font-family:var(--font-mono);font-size:9px;opacity:.7}.gallery-sidebar__circuits{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.circuit-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);text-align:left;width:100%}.circuit-card:hover:not(:disabled){background:var(--color-elevated);border-color:var(--color-energy-cyan-dim)}.circuit-card:disabled{opacity:.5;cursor:not-allowed}.circuit-card__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.circuit-card__title{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.circuit-card__meta{color:var(--color-text-muted);font-size:11px}.circuit-card__tags{display:flex;gap:4px;flex-shrink:0}.circuit-tag{padding:2px 6px;border-radius:var(--radius-sm);font-size:10px;font-weight:var(--font-medium);font-family:var(--font-mono);letter-spacing:.02em}.circuit-tag.basic{background:var(--color-elevated);border:1px solid var(--color-border-default);color:var(--color-ink-medium)}.circuit-tag.intermediate{background:var(--color-energy-cyan-dim);border:1px solid rgba(0,240,255,.3);color:var(--color-energy-cyan)}.circuit-tag.advanced{background:var(--color-energy-magenta-dim);border:1px solid rgba(255,45,106,.3);color:var(--color-energy-magenta)}.circuit-tag.dynamic{background:transparent;border:1px solid var(--color-energy-cyan);color:var(--color-energy-cyan);position:relative;overflow:hidden}.circuit-tag.dynamic:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--color-energy-cyan-dim),transparent);animation:tag-shimmer 2s infinite}@keyframes tag-shimmer{to{left:100%}}.gallery-detail{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.gallery-detail__nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.nav-arrows{display:flex;gap:var(--space-1)}.nav-arrow{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:14px;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.nav-arrow:hover:not(:disabled){border-color:var(--color-energy-cyan);color:var(--color-energy-cyan)}.nav-arrow:disabled{opacity:.3;cursor:not-allowed}.circuit-dropdown{position:relative;padding:var(--space-2) var(--space-3);background:var(--color-void);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.circuit-dropdown__trigger{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:12px;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.circuit-dropdown__trigger:hover{background:var(--color-elevated);border-color:var(--color-energy-cyan-dim)}.circuit-dropdown__current{flex:1;text-align:left;font-weight:var(--font-medium)}.circuit-dropdown__count{font-family:var(--font-mono);font-size:10px;color:var(--color-text-muted)}.circuit-dropdown__arrow{width:14px;height:14px;color:var(--color-text-muted);transition:transform var(--duration-fast) var(--ease-standard)}.circuit-dropdown__arrow.open{transform:rotate(180deg)}.circuit-dropdown__menu{position:absolute;top:100%;left:var(--space-3);right:var(--space-3);margin-top:4px;background:var(--color-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);max-height:200px;overflow-y:auto}.circuit-dropdown__item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:none;color:var(--color-text-secondary);font-size:12px;text-align:left;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.circuit-dropdown__item:hover{background:var(--color-elevated);color:var(--color-text-primary)}.circuit-dropdown__item.current{background:var(--color-energy-cyan-dim);color:var(--color-energy-cyan)}.circuit-dropdown__index{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:var(--color-void);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:10px;color:var(--color-text-muted)}.circuit-dropdown__item.current .circuit-dropdown__index{background:var(--color-energy-cyan);color:var(--color-void)}.circuit-dropdown__name{flex:1}.back-button{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:transparent;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:12px;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.back-button:hover{background:var(--color-elevated);border-color:var(--color-border-default);color:var(--color-text-primary)}.back-button svg{width:14px;height:14px}.gallery-detail__quick-nav{display:flex;align-items:center;gap:var(--space-2)}.quick-nav-button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.quick-nav-button:hover:not(:disabled){background:var(--color-elevated);border-color:var(--color-energy-cyan);color:var(--color-energy-cyan)}.quick-nav-button:disabled{opacity:.3;cursor:not-allowed}.quick-nav-button svg{width:16px;height:16px}.quick-nav-indicator{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted);min-width:40px;text-align:center}.gallery-detail__content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.gallery-detail__tags{display:flex;gap:var(--space-2)}.gallery-detail__description{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.gallery-detail__description p{margin:0}.gallery-detail__stats h3,.gallery-detail__gates h3,.gallery-detail__simulation h3{margin:0 0 var(--space-2) 0;color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.stat-item{display:flex;flex-direction:column;padding:var(--space-2);background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm)}.stat-label{color:var(--color-text-muted);font-size:10px}.stat-value{color:var(--color-energy-cyan);font-family:var(--font-mono);font-size:var(--text-md);font-weight:var(--font-bold);text-shadow:var(--text-glow-cyan)}.gate-types{display:flex;flex-wrap:wrap;gap:4px}.gate-type{padding:2px 8px;background:var(--color-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:11px}.simulation-info{display:flex;flex-direction:column;gap:var(--space-2)}.info-item{display:flex;justify-content:space-between;padding:var(--space-2);background:var(--color-void);border-radius:var(--radius-sm)}.info-label{color:var(--color-text-muted);font-size:12px}.info-value{color:var(--color-text-primary);font-family:var(--font-mono);font-size:12px}.gallery-detail__notice{padding:var(--space-3);background:var(--color-energy-cyan-dim);border:1px solid rgba(0,240,255,.3);border-radius:var(--radius-md)}.gallery-detail__notice h4{margin:0 0 var(--space-2) 0;color:var(--color-energy-cyan);font-size:var(--text-sm);font-weight:var(--font-semibold)}.gallery-detail__notice p{margin:0;color:var(--color-text-secondary);font-size:12px;line-height:var(--leading-relaxed)}.quick-switch{border-top:1px solid var(--color-border-subtle);padding:var(--space-3);flex-shrink:0}.quick-switch__label{font-family:var(--font-display);font-size:10px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-2)}.quick-switch__list{display:flex;flex-direction:column;gap:var(--space-1);max-height:120px;overflow-y:auto}.quick-switch__item{display:flex;align-items:center;padding:var(--space-2);background:var(--color-void);border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:12px;text-align:left;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.quick-switch__item:hover{background:var(--color-elevated);color:var(--color-text-secondary)}.quick-switch__item.current{border-left:2px solid var(--color-energy-cyan);background:var(--color-energy-cyan-dim);color:var(--color-energy-cyan);cursor:default}.gallery-detail__footer{display:flex;padding:var(--space-3) var(--space-4);background:var(--color-void);border-top:1px solid var(--color-border-default);box-shadow:0 -4px 12px #0000004d;flex-shrink:0;z-index:1}.load-button{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-energy-cyan);border:none;border-radius:var(--radius-md);color:var(--color-void);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);box-shadow:0 0 16px var(--color-energy-cyan-glow)}.load-button:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 0 24px var(--color-energy-cyan-glow)}.load-button:disabled{opacity:.5;cursor:not-allowed}.load-button svg{width:18px;height:18px}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:dialog-fade-in var(--duration-normal) var(--ease-out)}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}.dialog{position:relative;background:var(--color-surface);border:1px solid var(--color-signal-on);border-radius:var(--radius-lg);max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080,0 0 40px var(--color-energy-cyan-glow);animation:dialog-slide-up var(--duration-slow) var(--ease-spring)}@keyframes dialog-slide-up{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog--sm{width:min(400px,90vw)}.dialog--md{width:min(600px,90vw)}.dialog--lg{width:min(800px,90vw)}.dialog--xl{width:min(1000px,95vw)}.dialog-header{padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--color-border-default);background:linear-gradient(180deg,var(--color-energy-cyan-dim) 0%,transparent 100%);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.dialog-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-signal-on);text-shadow:var(--text-glow-cyan);margin:0;display:flex;align-items:center;gap:var(--space-2)}.dialog-close{width:32px;height:32px;border:1px solid var(--color-border-subtle);background:var(--color-void);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast) var(--ease-standard);flex-shrink:0;margin-left:auto}.dialog-close:hover{background:var(--color-elevated);border-color:var(--color-signal-on);color:var(--color-signal-on);box-shadow:0 0 10px var(--color-energy-cyan-glow)}.dialog-close svg{width:14px;height:14px}.dialog-body{flex:1;overflow-y:auto;padding:var(--space-6);min-height:0}.dialog-body--with-sidebar{display:flex;padding:0;overflow:hidden}.dialog-sidebar{width:200px;background:var(--color-void);border-right:1px solid var(--color-border-default);display:flex;flex-direction:column;padding:var(--space-4) var(--space-2);gap:var(--space-2);overflow-y:auto;flex-shrink:0}.dialog-main{flex:1;padding:var(--space-6);overflow-y:auto;min-width:0}.dialog-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-default);display:flex;justify-content:flex-end;align-items:center;gap:var(--space-3);flex-shrink:0;background:var(--color-void)}.dialog-footer--split{justify-content:space-between}.dialog-footer-info{font-size:var(--text-xs);color:var(--color-text-muted)}.dialog-footer-actions{display:flex;gap:var(--space-3)}.dialog-shortcuts{padding:var(--space-2) var(--space-6) var(--space-4);text-align:center;font-size:var(--text-xs);color:var(--color-text-muted)}.dialog .form-group{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.dialog .form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-1)}.dialog .form-required{color:var(--color-error);font-size:var(--text-xs)}.dialog .form-input,.dialog .form-textarea,.dialog .form-select{background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--color-text-primary);font-size:var(--text-sm);font-family:inherit;transition:all var(--duration-fast) var(--ease-standard);outline:none;width:100%}.dialog .form-input:focus,.dialog .form-textarea:focus,.dialog .form-select:focus{border-color:var(--color-signal-on);background:var(--color-elevated);box-shadow:0 0 12px var(--color-energy-cyan-glow)}.dialog .form-input::-moz-placeholder,.dialog .form-textarea::-moz-placeholder{color:var(--color-text-muted)}.dialog .form-input::placeholder,.dialog .form-textarea::placeholder{color:var(--color-text-muted)}.dialog .form-textarea{resize:vertical;min-height:80px}.dialog .form-help{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.dialog-search{position:relative;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border-subtle);background:var(--color-void);flex-shrink:0}.dialog-search-icon{position:absolute;left:calc(var(--space-6) + 12px);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;width:16px;height:16px}.dialog-search .form-input{padding-left:40px}.dialog-tabs{display:flex;padding:0 var(--space-6);gap:var(--space-1);border-bottom:1px solid var(--color-border-subtle);background:var(--color-void);flex-shrink:0}.dialog-tab{padding:var(--space-3) var(--space-4);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);white-space:nowrap}.dialog-tab:hover{color:var(--color-text-primary);background:#ffffff08}.dialog-tab--active{color:var(--color-signal-on);border-bottom-color:var(--color-signal-on)}.dialog-sidebar-tab{background:transparent;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);display:flex;align-items:center;gap:var(--space-2);text-align:left;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium)}.dialog-sidebar-tab:hover{background:var(--color-elevated);border-color:var(--color-border-strong);color:var(--color-text-primary)}.dialog-sidebar-tab--active{background:var(--color-signal-dim);border-color:var(--color-signal-on);color:var(--color-signal-on);box-shadow:0 0 12px var(--color-energy-cyan-glow)}.sidebar-section{display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-section+.sidebar-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.sidebar-section-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-1) var(--space-2);margin-bottom:var(--space-1)}.content-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-signal-on);text-shadow:var(--text-glow-cyan);margin:0 0 var(--space-4) 0}.search-results{display:flex;flex-direction:column;gap:var(--space-3)}.help-item-category{position:absolute;top:var(--space-2);right:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-void);padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle)}.dialog-empty,.dialog-loading,.dialog-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:var(--color-text-secondary);text-align:center;padding:var(--space-8)}.dialog-empty-icon,.dialog-loading-icon,.dialog-error-icon{font-size:48px;margin-bottom:var(--space-4);opacity:.5}.dialog-error-message{background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:var(--space-4) var(--space-6);display:flex;align-items:center;gap:var(--space-2);color:var(--color-error);font-size:var(--text-sm)}.dialog-accordion{display:flex;flex-direction:column;gap:var(--space-3)}.dialog-accordion-item{background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-standard)}.dialog-accordion-item:hover{background:var(--color-elevated);border-color:var(--color-signal-on);box-shadow:0 0 16px var(--color-energy-cyan-glow)}.dialog-accordion-header{padding:var(--space-3) var(--space-4);cursor:pointer;display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-primary);font-weight:var(--font-medium);font-size:var(--text-sm);-webkit-user-select:none;-moz-user-select:none;user-select:none;background:transparent;border:none;width:100%;text-align:left}.dialog-accordion-header:hover{color:var(--color-signal-on)}.dialog-accordion-icon{color:var(--color-signal-on);transition:transform var(--duration-fast) var(--ease-standard);flex-shrink:0;width:16px;height:16px}.dialog-accordion-item--open .dialog-accordion-icon{transform:rotate(90deg)}.dialog-accordion-content{padding:0 var(--space-4) var(--space-4) calc(var(--space-4) + 28px);color:var(--color-text-secondary);line-height:1.6;font-size:var(--text-sm)}.dialog-card{background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-4);transition:all var(--duration-fast) var(--ease-standard)}.dialog-card:hover{background:var(--color-elevated);border-color:var(--color-signal-on);box-shadow:0 0 16px var(--color-energy-cyan-glow);transform:translateY(-2px)}.dialog-card-title{color:var(--color-signal-on);font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.dialog-card-subtitle{color:var(--color-text-muted);font-size:var(--text-xs);font-family:var(--font-mono);background:var(--color-elevated);padding:2px 6px;border-radius:var(--radius-sm);margin-left:var(--space-2)}.dialog-card-description{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0}.dialog-card-description--preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-card--expandable{cursor:pointer}.dialog-card--expandable .dialog-card-header{justify-content:space-between}.dialog-card-expand-icon{width:16px;height:16px;color:var(--color-text-muted);transition:transform var(--duration-fast) var(--ease-standard);flex-shrink:0}.dialog-card--expandable:hover .dialog-card-expand-icon{color:var(--color-signal-on)}.dialog-card-content{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.dialog-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4)}.dialog-card-steps{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.dialog-card-step{display:flex;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-elevated);border-radius:var(--radius-sm);border-left:2px solid var(--color-signal-on)}.dialog-card-step-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-signal-on);white-space:nowrap;min-width:60px}.dialog-card-step-text{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}@media (max-width: 768px){.dialog{width:95vw;max-height:90vh}.dialog-header,.dialog-body,.dialog-footer,.dialog-search{padding-left:var(--space-4);padding-right:var(--space-4)}.dialog-tabs{padding-left:var(--space-4);padding-right:var(--space-4);overflow-x:auto;-webkit-overflow-scrolling:touch}.dialog-tab{flex-shrink:0}.dialog-body--with-sidebar{flex-direction:column}.dialog-sidebar{width:100%;flex-direction:row;gap:var(--space-2);padding:var(--space-3);overflow-x:auto;border-right:none;border-bottom:1px solid var(--color-border-default)}.dialog-sidebar-tab{white-space:nowrap;min-width:120px}.dialog-footer{flex-direction:column;align-items:stretch}.dialog-footer--split{gap:var(--space-3)}.dialog-footer-info{text-align:center}.dialog-footer-actions{justify-content:center}.dialog-card-grid{grid-template-columns:1fr;gap:var(--space-3)}}.sidebar-section{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.sidebar-section-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;padding:var(--space-2) var(--space-4);margin-bottom:var(--space-1)}.content-title{color:var(--color-signal-on);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 var(--space-5) 0;text-shadow:var(--text-glow-cyan)}.help-answer-list{display:flex;flex-direction:column;gap:var(--space-2)}.help-answer-item{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);background:var(--color-elevated);border-radius:var(--radius-sm);border-left:2px solid var(--color-signal-on)}.help-answer-label{font-weight:var(--font-semibold);color:var(--color-signal-on);font-size:var(--text-xs)}.help-answer-text{color:var(--color-text-secondary);font-size:var(--text-sm)}.help-item-category{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);padding:var(--space-1) var(--space-2);background:var(--color-void);border-radius:var(--radius-sm);display:inline-block}.dialog-card-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.search-results{display:flex;flex-direction:column;gap:var(--space-4)}.search-result-term{position:relative}.search-result-term .help-item-category{margin-top:var(--space-3)}@media (max-width: 768px){.sidebar-section{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:var(--space-2);margin-bottom:var(--space-2)}.sidebar-section-title{display:none}.content-title{font-size:var(--text-lg);margin-bottom:var(--space-4)}}.program-editor{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.program-editor__editor{display:flex;flex:1;min-height:0;overflow:hidden}.program-editor__gutter{display:flex;flex-direction:column;min-width:48px;padding:var(--space-2) 0;background:var(--color-elevated);border-right:1px solid var(--color-border-subtle);-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.program-editor__gutter::-webkit-scrollbar{display:none}.program-editor__gutter-line{display:flex;align-items:center;justify-content:flex-end;height:24px;padding:0 var(--space-2)}.program-editor__line-num{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted);min-width:20px;text-align:right}.program-editor__gutter-line--current .program-editor__line-num{color:var(--color-energy-cyan);font-weight:var(--font-semibold)}.program-editor__gutter-line--error .program-editor__line-num{color:var(--color-error)}.program-editor__code-area{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.program-editor__lines{flex:1;overflow-y:auto;overflow-x:auto;padding:var(--space-2) 0;background:var(--color-void)}.program-editor__line{display:flex;align-items:center;height:24px;padding:0 var(--space-3);padding-left:calc(var(--space-3) - 3px);border-left:3px solid transparent;font-family:var(--font-mono);font-size:12px;line-height:24px;white-space:pre;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.program-editor__line--current{background:var(--color-energy-cyan-dim);border-left-color:var(--color-energy-cyan)}.program-editor__line--error{background:#ef44441a}.program-editor__line-content{flex:1;color:var(--color-text-primary)}.program-editor__line-machine-code{margin-left:var(--space-4);font-size:10px;color:var(--color-text-dim);opacity:.7}.program-editor__textarea{position:absolute;opacity:0;pointer-events:none}.program-editor__editable{flex:1;padding:var(--space-2) var(--space-3);background:var(--color-void);border:none;color:var(--color-text-primary);font-family:var(--font-mono);font-size:12px;line-height:24px;resize:none;outline:none;overflow-y:auto;white-space:pre;overflow-wrap:normal}.program-editor__editable::-moz-placeholder{color:var(--color-text-muted)}.program-editor__editable::placeholder{color:var(--color-text-muted)}.program-editor__errors{padding:var(--space-2) var(--space-3);background:#ef444414;border-top:1px solid var(--color-error);max-height:80px;overflow-y:auto}.program-editor__error{display:flex;align-items:flex-start;gap:var(--space-2);font-family:var(--font-mono);font-size:11px;color:var(--color-error);line-height:1.4;margin-bottom:var(--space-1)}.program-editor__error:last-child{margin-bottom:0}.program-editor__error-icon{flex-shrink:0;width:14px;height:14px;margin-top:1px}.program-editor__error-line{font-weight:var(--font-semibold)}.program-editor__explanation{padding:var(--space-3);background:var(--color-surface);border-top:1px solid var(--color-border-subtle)}.program-editor__explanation-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.program-editor__explanation-icon{width:18px;height:18px;color:var(--color-energy-gold)}.program-editor__explanation-title{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary)}.program-editor__explanation-instruction{font-family:var(--font-mono);font-size:14px;font-weight:var(--font-semibold);color:var(--color-energy-cyan);margin-bottom:var(--space-2);padding:var(--space-2);background:var(--color-void);border-radius:var(--radius-sm);text-shadow:var(--theme-glow-text)}.program-editor__explanation-formula{font-family:var(--font-mono);font-size:13px;color:var(--color-text-primary);margin-bottom:var(--space-2)}.program-editor__explanation-text{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5}.program-editor__explanation-comment{margin-top:var(--space-2);padding:var(--space-2);background:var(--color-void);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:12px;color:var(--color-text-secondary);line-height:1.4}:root[data-theme=neon-cyber] .program-editor__line--current{box-shadow:inset 0 0 20px var(--color-energy-cyan-dim)}:root[data-theme=retro-terminal] .program-editor__line--current{background:#ffb00026;border-left-color:var(--theme-primary)}:root[data-theme=blueprint] .program-editor__line--current{background:#1e3a5f14;border-left:2px solid var(--theme-primary)}:root[data-theme=paper-ink] .program-editor__explanation{background:linear-gradient(to bottom,var(--color-surface),rgba(255,248,220,.3))}.cpu-state-display{display:flex;flex-direction:column;height:100%;overflow:hidden}.cpu-state-display__content{flex:1;padding:var(--space-3);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4)}.cpu-state-display__top-row{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:stretch}.cpu-state-display__pc{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3) var(--space-4);background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-md);min-width:80px}.cpu-state-display__pc-label{font-family:var(--font-mono);font-size:10px;font-weight:var(--font-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-1)}.cpu-state-display__pc-value{font-family:var(--font-mono);font-size:28px;font-weight:var(--font-bold);color:var(--color-energy-cyan);line-height:1;text-shadow:var(--theme-glow-text)}.cpu-state-display__pc-max{font-family:var(--font-mono);font-size:11px;color:var(--color-text-dim);margin-top:var(--space-1)}.cpu-state-display__instruction{display:flex;flex-direction:column;justify-content:center;padding:var(--space-3);background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-md)}.cpu-state-display__instruction-label{font-family:var(--font-body);font-size:10px;font-weight:var(--font-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-2)}.cpu-state-display__instruction-main{display:flex;align-items:baseline;gap:var(--space-3)}.cpu-state-display__instruction-mnemonic{font-family:var(--font-mono);font-size:16px;font-weight:var(--font-bold);color:var(--color-text-primary)}.cpu-state-display__instruction-hex{font-family:var(--font-mono);font-size:12px;color:var(--color-text-dim)}.cpu-state-display__instruction-desc{font-family:var(--font-mono);font-size:12px;color:var(--color-text-secondary);margin-top:var(--space-1)}.cpu-state-display__registers{display:flex;flex-direction:column;gap:var(--space-2)}.cpu-state-display__section-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.cpu-state-display__section-title{font-family:var(--font-body);font-size:11px;font-weight:var(--font-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.cpu-state-display__register-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.cpu-state-display__register{display:flex;flex-direction:column;align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-standard)}.cpu-state-display__register--changed{border-color:var(--color-energy-magenta);background:var(--color-energy-magenta-dim)}.cpu-state-display__register-name{font-family:var(--font-mono);font-size:11px;font-weight:var(--font-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.cpu-state-display__register-value{font-family:var(--font-mono);font-size:18px;font-weight:var(--font-bold);color:var(--color-text-primary);line-height:1}.cpu-state-display__register--changed .cpu-state-display__register-value{color:var(--color-energy-magenta);animation:register-flash .5s ease-out}.cpu-state-display__register-decimal{font-family:var(--font-mono);font-size:10px;color:var(--color-text-dim);margin-top:var(--space-1)}.cpu-state-display__register-note{font-family:var(--font-body);font-size:9px;color:var(--color-text-dim);margin-top:var(--space-1)}@keyframes register-flash{0%{transform:scale(1.1)}to{transform:scale(1)}}.cpu-state-display__memory{display:flex;flex-direction:column;gap:var(--space-2)}.cpu-state-display__memory-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--space-1)}.cpu-state-display__memory-cell{display:flex;flex-direction:column;align-items:center;padding:var(--space-1);background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-standard)}.cpu-state-display__memory-cell--current{border-color:var(--color-energy-cyan);background:var(--color-energy-cyan-dim)}.cpu-state-display__memory-cell--changed{border-color:var(--color-energy-magenta);background:var(--color-energy-magenta-dim)}.cpu-state-display__memory-addr{font-family:var(--font-mono);font-size:9px;color:var(--color-text-dim);margin-bottom:2px}.cpu-state-display__memory-value{font-family:var(--font-mono);font-size:12px;font-weight:var(--font-semibold);color:var(--color-text-primary)}.cpu-state-display__memory-cell--current .cpu-state-display__memory-value{color:var(--color-energy-cyan)}.cpu-state-display__memory-cell--changed .cpu-state-display__memory-value{color:var(--color-energy-magenta);animation:memory-flash .5s ease-out}.cpu-state-display__memory-mnemonic{font-family:var(--font-mono);font-size:8px;color:var(--color-text-dim);margin-top:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes memory-flash{0%{background:var(--color-energy-magenta-dim);transform:scale(1.05)}to{transform:scale(1)}}:root[data-theme=neon-cyber] .cpu-state-display__pc{box-shadow:inset 0 0 20px var(--color-energy-cyan-dim)}:root[data-theme=neon-cyber] .cpu-state-display__register--changed{box-shadow:0 0 12px var(--color-energy-magenta-dim)}:root[data-theme=neon-cyber] .cpu-state-display__memory-cell--current{box-shadow:0 0 8px var(--color-energy-cyan-dim)}:root[data-theme=retro-terminal] .cpu-state-display__pc-value{color:var(--theme-primary);text-shadow:0 0 8px var(--theme-primary-glow)}:root[data-theme=retro-terminal] .cpu-state-display__register-value,:root[data-theme=retro-terminal] .cpu-state-display__memory-value{text-shadow:0 0 4px var(--theme-primary-glow)}:root[data-theme=blueprint] .cpu-state-display__pc,:root[data-theme=blueprint] .cpu-state-display__instruction,:root[data-theme=blueprint] .cpu-state-display__register,:root[data-theme=blueprint] .cpu-state-display__memory-cell{border-radius:0;border-width:2px}:root[data-theme=paper-ink] .cpu-state-display__pc,:root[data-theme=paper-ink] .cpu-state-display__instruction,:root[data-theme=paper-ink] .cpu-state-display__register{box-shadow:2px 2px 0 var(--color-border-subtle)}.cpu-state-display__status{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:10px;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em}.cpu-state-display__status--halted{background:#ef444426;color:var(--color-error)}.cpu-state-display__status--running{background:#22c55e26;color:#22c55e;animation:status-blink 1s ease-in-out infinite}@keyframes status-blink{0%,to{opacity:1}50%{opacity:.6}}.cpu-state-display__status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.execution-controls{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-border-default)}.execution-controls__group{display:flex;align-items:center;gap:var(--space-2)}.execution-controls__divider{width:1px;height:24px;background:var(--color-border-subtle);margin:0 var(--space-2)}.execution-controls__btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);height:36px;min-width:36px;padding:0 var(--space-3);background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.execution-controls__btn svg{width:16px;height:16px;flex-shrink:0}.execution-controls__btn:hover:not(:disabled){background:var(--color-elevated);border-color:var(--color-border-strong);color:var(--color-text-primary)}.execution-controls__btn:active:not(:disabled){transform:scale(.97)}.execution-controls__btn:disabled{opacity:.4;cursor:not-allowed}.execution-controls__btn--icon{padding:0}.execution-controls__btn--run{background:#22c55e1a;border-color:#22c55e4d;color:#22c55e}.execution-controls__btn--run:hover:not(:disabled){background:#22c55e33;border-color:#22c55e;box-shadow:0 0 12px #22c55e4d}.execution-controls__btn--stop{background:#ef44441a;border-color:#ef44444d;color:var(--color-error)}.execution-controls__btn--stop:hover:not(:disabled){background:#ef444433;border-color:var(--color-error);box-shadow:0 0 12px var(--color-error-glow)}.execution-controls__btn--step:hover:not(:disabled){border-color:var(--color-energy-cyan);color:var(--color-energy-cyan);box-shadow:0 0 12px var(--color-energy-cyan-dim)}.execution-controls__btn--back:hover:not(:disabled){border-color:var(--color-energy-magenta);color:var(--color-energy-magenta);box-shadow:0 0 12px var(--color-energy-magenta-dim)}.execution-controls__btn--reset:hover:not(:disabled){border-color:var(--color-energy-gold);color:var(--color-energy-gold);box-shadow:0 0 12px #f59e0b4d}.execution-controls__speed{display:flex;align-items:center;gap:var(--space-2);margin-left:var(--space-2)}.execution-controls__speed-label{font-family:var(--font-body);font-size:11px;font-weight:var(--font-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.execution-controls__speed-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100px;height:4px;background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:2px;cursor:pointer}.execution-controls__speed-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--color-energy-cyan);border:none;border-radius:50%;cursor:pointer;box-shadow:0 0 6px var(--color-energy-cyan-dim);-webkit-transition:transform var(--duration-fast) var(--ease-standard);transition:transform var(--duration-fast) var(--ease-standard)}.execution-controls__speed-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.execution-controls__speed-slider::-moz-range-thumb{width:14px;height:14px;background:var(--color-energy-cyan);border:none;border-radius:50%;cursor:pointer;box-shadow:0 0 6px var(--color-energy-cyan-dim)}.execution-controls__speed-value{font-family:var(--font-mono);font-size:11px;color:var(--color-text-secondary);min-width:45px;text-align:right}.execution-controls__status{display:inline-flex;align-items:center;gap:var(--space-1);margin-left:auto;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:10px;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em}.execution-controls__status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.execution-controls__status--idle{background:var(--color-hover);color:var(--color-text-muted)}.execution-controls__status--running{background:#22c55e26;color:#22c55e;animation:status-pulse 1.5s ease-in-out infinite}.execution-controls__status--halted{background:#ef444426;color:var(--color-error)}.execution-controls__status--paused{background:#f59e0b26;color:#f59e0b}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.6}}.execution-controls__toggle{display:flex;align-items:center;gap:var(--space-2);margin-left:var(--space-3);cursor:pointer;font-size:11px;color:var(--color-text-muted)}.execution-controls__toggle input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--color-void);border:1px solid var(--color-border-default);border-radius:3px;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.execution-controls__toggle input:checked{background:var(--color-energy-cyan);border-color:var(--color-energy-cyan)}.execution-controls__toggle input:checked:after{content:"";display:block;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:9px}:root[data-theme=neon-cyber] .execution-controls__btn--run:not(:disabled){box-shadow:inset 0 0 10px #22c55e33}:root[data-theme=neon-cyber] .execution-controls__speed-slider::-webkit-slider-thumb{box-shadow:0 0 10px var(--color-energy-cyan)}:root[data-theme=retro-terminal] .execution-controls__btn{border-width:2px}:root[data-theme=retro-terminal] .execution-controls__speed-slider::-webkit-slider-thumb{background:var(--theme-primary);box-shadow:0 0 8px var(--theme-primary-glow)}:root[data-theme=blueprint] .execution-controls__btn{border-radius:0;border-width:2px}:root[data-theme=blueprint] .execution-controls__speed-slider{border-radius:0}:root[data-theme=paper-ink] .execution-controls__btn{box-shadow:1px 1px 0 var(--color-border-subtle)}:root[data-theme=paper-ink] .execution-controls__btn:active:not(:disabled){box-shadow:none;transform:translate(1px,1px)}.execution-history{display:flex;flex-direction:column;background:var(--color-elevated);border-bottom:1px solid var(--color-border-subtle);min-height:72px}.execution-history__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle)}.execution-history__title{font-family:var(--font-body);font-size:10px;font-weight:var(--font-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.execution-history__count{font-family:var(--font-mono);font-size:10px;color:var(--color-text-dim)}.execution-history__timeline{display:flex;align-items:center;padding:var(--space-2) var(--space-3);gap:var(--space-1)}.execution-history__scroll-btn{display:flex;align-items:center;justify-content:center;width:24px;height:40px;background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;flex-shrink:0;transition:all var(--duration-fast) var(--ease-standard)}.execution-history__scroll-btn:hover:not(:disabled){background:var(--color-hover);border-color:var(--color-border-default);color:var(--color-text-primary)}.execution-history__scroll-btn:disabled{opacity:.3;cursor:not-allowed}.execution-history__scroll-btn svg{width:14px;height:14px}.execution-history__items{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-1) 0;scrollbar-width:none;scroll-behavior:smooth;flex:1}.execution-history__items::-webkit-scrollbar{display:none}.execution-history__step{display:flex;flex-direction:column;min-width:120px;max-width:140px;padding:var(--space-2);background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;transition:all var(--duration-fast) var(--ease-standard)}.execution-history__step:hover{background:var(--color-hover);border-color:var(--color-border-default)}.execution-history__step--current{border-color:var(--color-energy-cyan);background:var(--color-energy-cyan-dim)}.execution-history__step--past{opacity:.7}.execution-history__step--future{opacity:.4;border-style:dashed}.execution-history__step-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-1)}.execution-history__step-index{font-family:var(--font-mono);font-size:9px;font-weight:var(--font-semibold);color:var(--color-text-dim);padding:1px 4px;background:var(--color-surface);border-radius:2px}.execution-history__step--current .execution-history__step-index{background:var(--color-energy-cyan);color:#fff}.execution-history__step-pc{font-family:var(--font-mono);font-size:9px;color:var(--color-text-dim)}.execution-history__step-instruction{font-family:var(--font-mono);font-size:11px;font-weight:var(--font-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:var(--space-1)}.execution-history__step--current .execution-history__step-instruction{color:var(--color-energy-cyan)}.execution-history__step-changes{display:flex;flex-wrap:wrap;gap:2px}.execution-history__change{font-family:var(--font-mono);font-size:9px;color:var(--color-text-secondary);background:var(--color-surface);padding:1px 4px;border-radius:2px}.execution-history__change--register{color:var(--color-energy-magenta);background:var(--color-energy-magenta-dim)}.execution-history__change--memory{color:var(--color-energy-gold);background:#f59e0b26}.execution-history__empty{display:flex;align-items:center;justify-content:center;padding:var(--space-4);color:var(--color-text-dim);font-family:var(--font-body);font-size:var(--text-sm)}:root[data-theme=neon-cyber] .execution-history__step--current{box-shadow:0 0 12px var(--color-energy-cyan-dim)}:root[data-theme=neon-cyber] .execution-history__step-instruction{text-shadow:var(--theme-glow-text)}:root[data-theme=retro-terminal] .execution-history__step{border-width:2px}:root[data-theme=retro-terminal] .execution-history__step--current{border-color:var(--theme-primary);background:#ffb0001a}:root[data-theme=retro-terminal] .execution-history__step--current .execution-history__step-instruction{color:var(--theme-primary);text-shadow:0 0 6px var(--theme-primary-glow)}:root[data-theme=blueprint] .execution-history__step{border-radius:0;border-width:2px}:root[data-theme=blueprint] .execution-history__scroll-btn{border-radius:0}:root[data-theme=paper-ink] .execution-history__step{box-shadow:1px 1px 0 var(--color-border-subtle)}:root[data-theme=paper-ink] .execution-history__step--current{border-color:var(--theme-primary);background:#78462814}@media (max-width: 600px){.execution-history__step{min-width:100px;max-width:120px}.execution-history__step-instruction{font-size:10px}}.cpu-execution-mode{display:flex;flex-direction:column;height:100%;width:100%;background:var(--color-void);font-family:var(--font-body);overflow:hidden}.cpu-execution-mode__main{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);flex:1;overflow:hidden;min-height:0}.cpu-learning-bar{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);flex-shrink:0}.cpu-learning-bar__header{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.cpu-learning-bar__name{color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-semibold)}.cpu-learning-bar__chips{display:flex;align-items:center;gap:var(--space-1)}.cpu-learning-bar__chip-label{color:var(--color-text-muted);font-size:11px;margin-right:var(--space-1)}.cpu-learning-bar__chip{padding:2px 8px;background:var(--color-void);border:1px solid var(--color-energy-cyan);border-radius:var(--radius-sm);color:var(--color-energy-cyan);font-family:var(--font-mono);font-size:10px;font-weight:var(--font-medium)}.cpu-learning-bar__prereqs{display:flex;align-items:center;gap:var(--space-1)}.cpu-learning-bar__prereq-label{color:var(--color-text-muted);font-size:11px;margin-right:var(--space-1)}.cpu-learning-bar__prereq{padding:2px 8px;background:var(--color-void);border:1px solid var(--color-energy-gold);border-radius:var(--radius-sm);color:var(--color-energy-gold);font-family:var(--font-mono);font-size:10px;font-weight:var(--font-medium)}.cpu-learning-bar__goal{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.6}.cpu-learning-bar__flow{margin:0;color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.5}.cpu-execution-mode__content{display:grid;grid-template-columns:minmax(320px,1fr) minmax(400px,1.2fr);gap:var(--space-4);flex:1;overflow:hidden;min-height:0}.cpu-execution-mode__editor-panel,.cpu-execution-mode__state-panel{display:flex;flex-direction:column;overflow:hidden;min-height:0}.cpu-instruction-badge{padding:3px 8px;background:var(--color-void);border:1px solid var(--color-energy-cyan);border-radius:var(--radius-sm);color:var(--color-energy-cyan);font-family:var(--font-mono);font-size:11px;font-weight:var(--font-semibold);letter-spacing:.02em}.cpu-execution-mode__bottom{display:flex;flex-direction:column;background:var(--color-surface);border-top:1px solid var(--color-border-default)}@media (max-width: 900px){.cpu-execution-mode__content{grid-template-columns:1fr;grid-template-rows:auto auto}}.cpu-panel{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-normal) var(--ease-standard)}.cpu-panel:hover{box-shadow:var(--shadow-md)}.cpu-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--color-elevated);border-bottom:1px solid var(--color-border-subtle);min-height:40px}.cpu-panel__title{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em}.cpu-panel__title-icon{width:16px;height:16px;color:var(--color-energy-cyan);opacity:.8}.cpu-panel__actions{display:flex;align-items:center;gap:var(--space-1)}.cpu-panel__content{flex:1;overflow:auto;min-height:0}:root[data-theme=neon-cyber] .cpu-panel{box-shadow:var(--shadow-sm),0 0 1px rgba(var(--color-primary-rgb),.3)}:root[data-theme=neon-cyber] .cpu-panel:hover{box-shadow:var(--shadow-md),0 0 20px rgba(var(--color-primary-rgb),.15)}:root[data-theme=neon-cyber] .cpu-panel__title-icon{filter:drop-shadow(0 0 4px var(--color-energy-cyan-glow))}:root[data-theme=retro-terminal] .cpu-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);pointer-events:none;z-index:1}:root[data-theme=retro-terminal] .cpu-panel{position:relative}:root[data-theme=blueprint] .cpu-panel{border-width:2px;border-radius:0}:root[data-theme=blueprint] .cpu-panel__header{border-bottom-width:2px}:root[data-theme=paper-ink] .cpu-panel{box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a}:root[data-theme=paper-ink] .cpu-panel:hover{box-shadow:0 4px 16px #00000014,0 2px 4px #0000000f}.cpu-mono{font-family:var(--font-mono)}.cpu-value{font-family:var(--font-mono);font-weight:var(--font-semibold);color:var(--color-text-primary)}.cpu-value--highlight{color:var(--color-energy-cyan);text-shadow:var(--theme-glow-text)}.cpu-value--changed{color:var(--color-energy-magenta);animation:cpu-value-flash .6s ease-out}@keyframes cpu-value-flash{0%{background:var(--color-energy-magenta-dim);transform:scale(1.05)}to{background:transparent;transform:scale(1)}}.cpu-label{font-family:var(--font-body);font-size:10px;font-weight:var(--font-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.cpu-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.cpu-action-btn:hover{background:var(--color-hover);border-color:var(--color-border-subtle);color:var(--color-text-primary)}.cpu-action-btn svg{width:14px;height:14px}.cpu-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:var(--space-1) var(--space-6) var(--space-1) var(--space-2);background:var(--color-void);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a877c' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.cpu-select:hover{border-color:var(--color-border-strong)}.cpu-select:focus{outline:none;border-color:var(--color-energy-cyan);box-shadow:0 0 0 2px var(--color-energy-cyan-dim)}.cpu-toggle{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm);color:var(--color-text-secondary)}.cpu-toggle input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}.cpu-toggle input:checked{background:var(--color-energy-cyan);border-color:var(--color-energy-cyan)}.cpu-toggle input:checked:after{content:"";display:block;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:10px}.cpu-sidebar{display:flex;flex-direction:column;height:calc(100vh - var(--header-height));max-height:calc(100vh - var(--header-height));background:var(--color-surface);border-right:1px solid var(--color-border-subtle);overflow:hidden}.cpu-sidebar__header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-energy-cyan-dim);border-bottom:1px solid var(--color-border-default);color:var(--color-energy-cyan);font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:.02em;flex-shrink:0}.cpu-sidebar__icon{width:18px;height:18px;stroke:currentColor;flex-shrink:0}.cpu-sidebar__count-badge{margin-left:auto;padding:2px 8px;background:var(--color-void);border:1px solid var(--color-energy-cyan-dim);border-radius:var(--radius-sm);color:var(--color-energy-cyan);font-family:var(--font-mono);font-size:11px;font-weight:var(--font-medium)}.cpu-sidebar__programs{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.program-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);text-align:left;width:100%}.program-card:hover:not(:disabled){background:var(--color-elevated);border-color:var(--color-border-default)}.program-card.selected{border-color:var(--color-energy-cyan);background:var(--color-energy-cyan-dim)}.program-card__title{color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-medium)}.program-card.selected .program-card__title{color:var(--color-energy-cyan)}.program-card__description{color:var(--color-text-muted);font-size:11px;line-height:1.4}:root[data-theme=neon-cyber] .program-card.selected{box-shadow:0 0 8px var(--color-energy-cyan-dim)}:root[data-theme=retro-terminal] .program-card.selected{border-color:var(--theme-primary);background:#ffb0001a}:root[data-theme=retro-terminal] .program-card.selected .program-card__title{color:var(--theme-primary)}:root[data-theme=blueprint] .program-card{border-radius:0}:root[data-theme=paper-ink] .program-card.selected{border-color:var(--theme-primary);background:#78462814}@media (max-width: 900px){.cpu-sidebar{display:none}}/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */:root,:root[data-theme=neon-cyber]{--theme-bg-void:#0a0a0f;--theme-bg:#12121a;--theme-bg-surface:#1a1a24;--theme-bg-elevated:#22222e;--theme-bg-hover:#2a2a38;--theme-primary:#00f0ff;--theme-primary-hover:#4df0ff;--theme-primary-glow:#00f0ff99;--theme-primary-dim:#00f0ff26;--theme-primary-subtle:#00f0ff14;--theme-output:#ff2d6a;--theme-output-glow:#ff2d6a99;--theme-output-dim:#ff2d6a26;--theme-text:#f0ebe0;--theme-text-secondary:#c8c4b8;--theme-text-muted:#8a877c;--theme-text-dim:#5a584f;--theme-border:#2a2a38;--theme-border-subtle:#1f1f2a;--theme-border-strong:#3a3a48;--theme-error:#ff4757;--theme-warning:#ffa502;--theme-success:var(--theme-primary);--theme-primary-rgb:0,240,255;--theme-output-rgb:255,45,106;--theme-custom-gate-fill:#66339926;--theme-custom-gate-stroke:#96d;--theme-custom-gate-accent:#63c;--theme-timing-grid:#333;--theme-timing-text:#888;--theme-timing-cursor:red;--theme-timing-clock:#f59e0b;--theme-timing-signal:#3b82f6;--theme-signal-off:#3a3a42;--theme-gate-fill:var(--theme-bg-void);--theme-gate-stroke:var(--theme-text-dim);--theme-glow-intensity:1;--theme-glow-spread:20px;--theme-glow-text:0 0 8px var(--theme-primary-glow);--theme-glow-box:0 0 20px var(--theme-primary-glow);--theme-glow-intense:0 0 30px var(--theme-primary-glow),0 0 60px var(--theme-primary-dim);--theme-radius-sm:4px;--theme-radius-md:6px;--theme-radius-lg:8px;--theme-grid-color:#ffffff0f;--theme-grid-pattern:radial-gradient(circle at center,var(--theme-grid-color)1px,transparent 1px);--theme-grid-size:20px;--theme-scanline-opacity:.02;--theme-scanline-size:4px;--theme-font-display:"JetBrains Mono","SF Mono","Fira Code",monospace;--theme-font-body:"DM Sans","Noto Sans JP",-apple-system,sans-serif;--theme-font-mono:"JetBrains Mono","SF Mono",monospace;--theme-duration-fast:.1s;--theme-duration-normal:.2s;--theme-duration-slow:.3s;--theme-ease:cubic-bezier(.2,0,.2,1);--theme-shadow-sm:0 1px 2px #00000080;--theme-shadow-md:0 4px 8px #00000080;--theme-shadow-lg:0 8px 16px #00000080;--theme-is-dark:1;--theme-is-light:0}:root[data-theme=blueprint]{--theme-bg-void:#e8e4dc;--theme-bg:#f4f1eb;--theme-bg-surface:#faf8f4;--theme-bg-elevated:#fff;--theme-bg-hover:#eae6de;--theme-primary:#1e3a5f;--theme-primary-hover:#2a4a73;--theme-primary-glow:#1e3a5f4d;--theme-primary-dim:#1e3a5f1f;--theme-primary-subtle:#1e3a5f0f;--theme-output:#c44536;--theme-output-glow:#c445364d;--theme-output-dim:#c445361f;--theme-text:#1a1a2e;--theme-text-secondary:#3a3a4e;--theme-text-muted:#6a6a7e;--theme-text-dim:#9a9aae;--theme-border:#c8c4b8;--theme-border-subtle:#d8d4c8;--theme-border-strong:#1e3a5f;--theme-error:#c44536;--theme-warning:#d4a017;--theme-success:#2e7d32;--theme-primary-rgb:30,58,95;--theme-output-rgb:196,69,54;--theme-custom-gate-fill:#4b008214;--theme-custom-gate-stroke:indigo;--theme-custom-gate-accent:#639;--theme-timing-grid:#c8c4b8;--theme-timing-text:#6a6a7e;--theme-timing-cursor:#c44536;--theme-timing-clock:#d4a017;--theme-timing-signal:#1e3a5f;--theme-signal-off:#a0a0b0;--theme-gate-fill:#fff;--theme-gate-stroke:#1e3a5f;--theme-glow-intensity:0;--theme-glow-spread:0;--theme-glow-text:none;--theme-glow-box:none;--theme-glow-intense:none;--theme-radius-sm:0;--theme-radius-md:0;--theme-radius-lg:0;--theme-grid-color:#1e3a5f1f;--theme-grid-pattern:linear-gradient(var(--theme-grid-color)1px,transparent 1px),linear-gradient(90deg,var(--theme-grid-color)1px,transparent 1px);--theme-grid-size:20px;--theme-scanline-opacity:0;--theme-scanline-size:0;--theme-font-display:"Roboto Mono","SF Mono",monospace;--theme-font-body:"Roboto","Noto Sans JP",-apple-system,sans-serif;--theme-font-mono:"Roboto Mono","SF Mono",monospace;--theme-duration-fast:80ms;--theme-duration-normal:.15s;--theme-duration-slow:.25s;--theme-ease:cubic-bezier(.4,0,.2,1);--theme-shadow-sm:0 1px 2px #00000014;--theme-shadow-md:0 2px 4px #0000001a;--theme-shadow-lg:0 4px 8px #0000001f;--theme-is-dark:0;--theme-is-light:1}:root[data-theme=retro-terminal]{--theme-bg-void:#000;--theme-bg:#050505;--theme-bg-surface:#0a0a0a;--theme-bg-elevated:#111;--theme-bg-hover:#1a1a1a;--theme-primary:#ffb000;--theme-primary-hover:#ffc233;--theme-primary-glow:#ffb00080;--theme-primary-dim:#ffb00033;--theme-primary-subtle:#ffb00014;--theme-output:#ffd966;--theme-output-glow:#ffd96680;--theme-output-dim:#ffd96633;--theme-text:#ffb000;--theme-text-secondary:#cc8c00;--theme-text-muted:#996a00;--theme-text-dim:#664700;--theme-border:#320;--theme-border-subtle:#210;--theme-border-strong:#ffb000;--theme-error:#ff6b6b;--theme-warning:#ffd93d;--theme-success:#6bcb77;--theme-primary-rgb:255,176,0;--theme-output-rgb:255,217,102;--theme-custom-gate-fill:#ff8c001a;--theme-custom-gate-stroke:#ff8c00;--theme-custom-gate-accent:#cc7000;--theme-timing-grid:#320;--theme-timing-text:#996a00;--theme-timing-cursor:#ff6b6b;--theme-timing-clock:#ffd93d;--theme-timing-signal:#ffb000;--theme-signal-off:#320;--theme-gate-fill:#000;--theme-gate-stroke:#664700;--theme-glow-intensity:1.2;--theme-glow-spread:6px;--theme-glow-text:0 0 4px var(--theme-primary-glow),0 0 8px var(--theme-primary-dim);--theme-glow-box:0 0 8px var(--theme-primary-glow);--theme-glow-intense:0 0 12px var(--theme-primary-glow),0 0 24px var(--theme-primary-dim);--theme-radius-sm:0;--theme-radius-md:0;--theme-radius-lg:2px;--theme-grid-color:#ffb00008;--theme-grid-pattern:none;--theme-grid-size:0;--theme-scanline-opacity:.08;--theme-scanline-size:3px;--theme-font-display:"VT323","Courier New",monospace;--theme-font-body:"IBM Plex Mono","Courier New",monospace;--theme-font-mono:"VT323","IBM Plex Mono",monospace;--theme-duration-fast:50ms;--theme-duration-normal:.1s;--theme-duration-slow:.2s;--theme-ease:linear;--theme-shadow-sm:0 0 2px #ffb00033;--theme-shadow-md:0 0 4px #ffb0004d;--theme-shadow-lg:0 0 8px #ffb00066;--theme-is-dark:1;--theme-is-light:0}:root[data-theme=paper-ink]{--theme-bg-void:#f0ece4;--theme-bg:#f8f6f2;--theme-bg-surface:#fff;--theme-bg-elevated:#fff;--theme-bg-hover:#f0ece4;--theme-primary:#2c3e50;--theme-primary-hover:#34495e;--theme-primary-glow:#2c3e5033;--theme-primary-dim:#2c3e501a;--theme-primary-subtle:#2c3e500d;--theme-output:#e74c3c;--theme-output-glow:#e74c3c33;--theme-output-dim:#e74c3c1a;--theme-text:#2c3e50;--theme-text-secondary:#5d6d7e;--theme-text-muted:#7f8c8d;--theme-text-dim:#bdc3c7;--theme-border:#d5d8dc;--theme-border-subtle:#e8e8e8;--theme-border-strong:#2c3e50;--theme-error:#e74c3c;--theme-warning:#f39c12;--theme-success:#27ae60;--theme-primary-rgb:44,62,80;--theme-output-rgb:231,76,60;--theme-custom-gate-fill:#8000800f;--theme-custom-gate-stroke:#8b4513;--theme-custom-gate-accent:sienna;--theme-timing-grid:#d5d8dc;--theme-timing-text:#7f8c8d;--theme-timing-cursor:#e74c3c;--theme-timing-clock:#f39c12;--theme-timing-signal:#2c3e50;--theme-signal-off:#bdc3c7;--theme-gate-fill:#fff;--theme-gate-stroke:#2c3e50;--theme-glow-intensity:0;--theme-glow-spread:0;--theme-glow-text:none;--theme-glow-box:none;--theme-glow-intense:none;--theme-radius-sm:6px;--theme-radius-md:8px;--theme-radius-lg:12px;--theme-grid-color:#2c3e500f;--theme-grid-pattern:linear-gradient(var(--theme-grid-color)1px,transparent 1px);--theme-grid-size:24px;--theme-scanline-opacity:0;--theme-scanline-size:0;--theme-font-display:"Caveat","Comic Sans MS",cursive;--theme-font-body:"Source Code Pro","Noto Sans JP",-apple-system,sans-serif;--theme-font-mono:"Source Code Pro","SF Mono",monospace;--theme-duration-fast:.15s;--theme-duration-normal:.3s;--theme-duration-slow:.5s;--theme-ease:cubic-bezier(.34,1.56,.64,1);--theme-shadow-sm:0 1px 3px #0000000f;--theme-shadow-md:0 3px 6px #00000014;--theme-shadow-lg:0 6px 12px #0000001a;--theme-is-dark:0;--theme-is-light:1}[data-theme=neon-cyber] .main-canvas:before,[data-theme=retro-terminal] .main-canvas:before{content:"";background:repeating-linear-gradient(0deg,transparent,transparent calc(var(--theme-scanline-size) - 1px),rgba(0,0,0,var(--theme-scanline-opacity))calc(var(--theme-scanline-size) - 1px),rgba(0,0,0,var(--theme-scanline-opacity))var(--theme-scanline-size));pointer-events:none;z-index:1;position:absolute;top:0;right:0;bottom:0;left:0}[data-theme=retro-terminal] .main-canvas:after{content:"";pointer-events:none;z-index:2;background:radial-gradient(#0000 40%,#00000080);position:absolute;top:0;right:0;bottom:0;left:0}[data-theme=paper-ink] .main-canvas{background-image:var(--theme-grid-pattern),url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");background-size:var(--theme-grid-size)var(--theme-grid-size),200px 200px}[data-theme=blueprint] .main-canvas{background-image:var(--theme-grid-pattern);background-size:var(--theme-grid-size)var(--theme-grid-size)}:root{--color-void:var(--theme-bg-void);--color-bg:var(--theme-bg);--color-surface:var(--theme-bg-surface);--color-elevated:var(--theme-bg-elevated);--color-hover:var(--theme-bg-hover);--color-ink-strong:var(--theme-text);--color-ink-medium:var(--theme-text-secondary);--color-ink-soft:var(--theme-text-muted);--color-ink-faint:var(--theme-text-dim);--color-text-primary:var(--theme-text);--color-text-secondary:var(--theme-text-secondary);--color-text-muted:var(--theme-text-muted);--color-text-dim:var(--theme-text-dim);--color-border-subtle:var(--theme-border-subtle);--color-border-default:var(--theme-border);--color-border-strong:var(--theme-border-strong);--color-energy-cyan:var(--theme-primary);--color-energy-cyan-hover:var(--theme-primary-hover);--color-energy-cyan-glow:var(--theme-primary-glow);--color-energy-cyan-dim:var(--theme-primary-dim);--color-energy-cyan-subtle:var(--theme-primary-subtle);--color-energy-magenta:var(--theme-output);--color-energy-magenta-glow:var(--theme-output-glow);--color-energy-magenta-dim:var(--theme-output-dim);--color-energy-gold:gold;--color-energy-gold-glow:#ffd70080;--color-energy-gold-dim:#ffd70026;--color-signal-on:var(--color-energy-cyan);--color-signal-glow:var(--color-energy-cyan-glow);--color-signal-dim:var(--color-energy-cyan-dim);--color-signal-off:var(--theme-signal-off);--color-output-on:var(--color-energy-magenta);--color-output-glow:var(--color-energy-magenta-glow);--color-output-dim:var(--color-energy-magenta-dim);--color-gate-fill:var(--theme-gate-fill);--color-gate-stroke:var(--theme-gate-stroke);--color-custom-gate-fill:var(--theme-custom-gate-fill);--color-custom-gate-stroke:var(--theme-custom-gate-stroke);--color-custom-gate-accent:var(--theme-custom-gate-accent);--color-timing-grid:var(--theme-timing-grid);--color-timing-text:var(--theme-timing-text);--color-timing-cursor:var(--theme-timing-cursor);--color-timing-clock:var(--theme-timing-clock);--color-timing-signal:var(--theme-timing-signal);--color-primary-rgb:var(--theme-primary-rgb);--color-output-rgb:var(--theme-output-rgb);--color-action:var(--color-energy-gold);--color-action-hover:#ffe44d;--color-action-glow:var(--color-energy-gold-glow);--color-error:var(--theme-error);--color-error-dark:#b91c1c;--color-error-glow:#ff475766;--color-warning:var(--theme-warning);--color-success:var(--theme-success);--color-success-hover:var(--theme-primary-hover);--color-info:var(--theme-text-secondary);--color-primary:var(--color-energy-cyan);--color-primary-subtle:var(--color-energy-cyan-subtle);--color-primary-border:var(--color-energy-cyan-dim);--color-primary-glow:var(--color-energy-cyan-glow);--color-bg-primary:var(--color-void);--color-bg-secondary:var(--color-surface);--color-bg-tertiary:var(--color-elevated);--color-bg-overlay:#0a0a0fe6;--color-terminal:var(--color-bg);--font-display:var(--theme-font-display);--font-body:var(--theme-font-body);--font-mono:var(--theme-font-mono);--font-sans:var(--font-body);--font-family-base:var(--font-body);--font-family-mono:var(--font-mono);--font-family-display:var(--font-display);--text-xs:11px;--text-sm:12px;--text-base:14px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--font-size-xs:var(--text-xs);--font-size-sm:13px;--font-size-base:var(--text-base);--font-size-md:var(--text-md);--font-size-lg:var(--text-lg);--font-size-xl:24px;--font-size-2xl:32px;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-weight-normal:var(--font-normal);--font-weight-medium:var(--font-medium);--font-weight-semibold:var(--font-semibold);--font-weight-bold:var(--font-bold);--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.7;--line-height-tight:var(--leading-tight);--line-height-normal:var(--leading-normal);--line-height-relaxed:1.75;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--spacing-xs:var(--space-1);--spacing-sm:var(--space-2);--spacing-md:var(--space-4);--spacing-lg:var(--space-6);--spacing-xl:var(--space-8);--spacing-2xl:var(--space-12);--spacing-3xl:var(--space-16);--header-height:48px;--toolbar-height:48px;--panel-left-width:260px;--panel-left-min:220px;--panel-left-max:300px;--panel-right-width:320px;--panel-right-min:300px;--panel-right-max:380px;--sidebar-width-tool:260px;--sidebar-width-gallery:280px;--sidebar-width-learning:480px;--sidebar-width-cpu:280px;--panel-width-desktop:var(--panel-left-width);--panel-width-tablet:240px;--panel-padding:var(--space-6);--canvas-min-width:600px;--canvas-grid-size:20px;--radius-sm:var(--theme-radius-sm);--radius-md:var(--theme-radius-md);--radius-lg:var(--theme-radius-lg);--radius-xl:12px;--border-radius-sm:var(--radius-sm);--border-radius-md:var(--radius-md);--border-radius-lg:var(--radius-lg);--border-radius-xl:16px;--border-radius-full:9999px;--shadow-sm:var(--theme-shadow-sm);--shadow-md:var(--theme-shadow-md);--shadow-lg:var(--theme-shadow-lg);--shadow-xl:0 16px 32px #0009;--glow-cyan:var(--theme-glow-box);--glow-cyan-intense:var(--theme-glow-intense);--glow-magenta:0 0 20px var(--color-energy-magenta-glow);--glow-gold:0 0 20px var(--color-energy-gold-glow);--shadow-glow:var(--glow-cyan);--ease-standard:var(--theme-ease);--ease-out:cubic-bezier(0,0,.2,1);--ease-in:cubic-bezier(.4,0,1,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-bounce:cubic-bezier(.68,-.55,.265,1.55);--duration-instant:50ms;--duration-fast:var(--theme-duration-fast);--duration-normal:var(--theme-duration-normal);--duration-slow:var(--theme-duration-slow);--duration-slower:.5s;--pulse-speed:2s;--flow-speed:1.5s;--transition-fast:var(--duration-fast)var(--ease-standard);--transition-base:var(--duration-normal)var(--ease-standard);--transition-slow:var(--duration-slow)var(--ease-standard);--transition-slower:.5s ease;--z-canvas:1;--z-wire:2;--z-gate:3;--z-selection:4;--z-toolbar:10;--z-controls:15;--z-timing-chart:18;--z-panel:20;--z-fab:30;--z-header:40;--z-sidebar:50;--z-overlay:100;--z-dropdown:150;--z-tutorial:200;--z-tutorial-highlight:210;--z-toast:300;--z-modal:1000;--z-modal-content:1010;--z-tooltip:1100;--z-notification:1200;--z-help:1300;--ink-noise-opacity:.02;--ink-grain-size:100px;--energy-glow-intensity:var(--theme-glow-intensity);--energy-glow-spread:var(--theme-glow-spread);--text-glow-cyan:var(--theme-glow-text);--text-glow-magenta:0 0 8px var(--color-energy-magenta-glow);--text-glow-gold:0 0 8px var(--color-energy-gold-glow);--crt-scanline-opacity:var(--theme-scanline-opacity);--crt-scanline-size:var(--theme-scanline-size);--crt-noise-opacity:var(--ink-noise-opacity);--crt-glow-intensity:var(--energy-glow-intensity);--crt-glow-spread:var(--energy-glow-spread);--crt-text-glow:var(--text-glow-cyan);--crt-flicker-duration:.15s;--gate-width:64px;--gate-height:48px;--gate-width-wide:80px;--gate-height-tall:64px;--gate-special-width:100px;--gate-special-height:80px;--gate-pin-radius:5px;--gate-pin-hit-radius:20px;--btn-height-sm:28px;--btn-height-md:32px;--btn-height-lg:40px;--button-height-sm:var(--btn-height-sm);--button-height-md:36px;--button-height-lg:44px;--button-padding-horizontal:var(--space-4);--modal-width-sm:400px;--modal-width-md:560px;--modal-width-lg:720px;--modal-padding:var(--space-6)}@keyframes energy-pulse{0%,to{opacity:1;filter:brightness()}50%{opacity:.85;filter:brightness(1.2)}}@keyframes energy-flow{0%{background-position:0%}to{background-position:200%}}@keyframes glow-breathe{0%,to{box-shadow:var(--glow-cyan)}50%{box-shadow:var(--glow-cyan-intense)}}@media (prefers-reduced-motion:reduce){:root{--duration-instant:0s;--duration-fast:0s;--duration-normal:0s;--duration-slow:0s;--duration-slower:0s;--transition-fast:0s;--transition-base:0s;--transition-slow:0s;--transition-slower:0s;--pulse-speed:0s;--flow-speed:0s}}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;text-rendering:optimizeLegibility}body{height:100%;min-height:100vh;line-height:var(--leading-normal);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-normal);background:var(--color-terminal);color:var(--color-text-primary);overflow:hidden}#root{height:100%}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:var(--font-semibold);line-height:var(--leading-tight)}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}a{color:inherit;text-decoration:none}a:hover{color:var(--color-text-primary)}ul,ol{list-style:none}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}button:disabled{cursor:not-allowed;opacity:.5}table{border-collapse:collapse;border-spacing:0}hr{border:none;border-top:1px solid var(--color-border-subtle)}:focus-visible{outline:2px solid var(--color-signal-on);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-default)transparent}::-moz-selection{background:var(--color-signal-dim);color:var(--color-signal-on)}::selection{background:var(--color-signal-dim);color:var(--color-signal-on)}::-moz-placeholder{color:var(--color-text-muted);opacity:1}::placeholder{color:var(--color-text-muted);opacity:1}strong,b{font-weight:var(--font-semibold)}blockquote{border-left:2px solid var(--color-border-default);padding-left:var(--space-4);color:var(--color-text-secondary)}.app-layout{background:var(--color-terminal);width:100vw;height:100vh;color:var(--color-text-primary);font-family:var(--font-sans);display:grid;overflow:hidden}@media (min-width:1025px){.app-layout--desktop{grid-template-columns:var(--panel-left-width)1fr auto;grid-template-rows:var(--header-height)1fr;grid-template-areas:"header header header""sidebar canvas panel"}.app-header{grid-area:header}.app-sidebar{grid-area:sidebar}.app-canvas{grid-area:canvas}.app-panel{width:var(--panel-right-width);grid-area:panel}}@media (min-width:641px) and (max-width:1024px){.app-layout--tablet{grid-template-columns:auto 1fr;grid-template-rows:var(--header-height)1fr;grid-template-areas:"header header""sidebar canvas"}.app-header{grid-area:header}.app-sidebar{width:var(--panel-left-width);transition:width var(--duration-normal)var(--ease-standard);grid-area:sidebar}.app-sidebar--collapsed{width:60px}.app-canvas{grid-area:canvas;position:relative}.app-panel{top:var(--space-4);right:var(--space-4);bottom:var(--space-4);width:var(--panel-right-width);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);transition:transform var(--duration-normal)var(--ease-standard);z-index:var(--z-panel);position:absolute;transform:translate(0)}.app-panel--hidden{transform:translate(calc(100% + var(--space-4)))}.panel-toggle{background:var(--color-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-sm)0 0 var(--radius-sm);cursor:pointer;width:32px;height:64px;transition:all var(--duration-fast)var(--ease-standard);border-right:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:-40px}.panel-toggle:hover{background:var(--color-elevated)}}@media (max-width:640px){.app-layout--mobile{grid-template-columns:1fr;grid-template-rows:var(--header-height)1fr auto;grid-template-areas:"header""canvas""toolbar"}.app-header{z-index:var(--z-header);grid-area:header;position:sticky;top:0}.app-canvas{grid-area:canvas;position:relative}.app-toolbar{background:var(--color-surface);border-top:1px solid var(--color-border-subtle);padding:var(--space-2);z-index:var(--z-panel);grid-area:toolbar;position:sticky;bottom:0}.toolbar-sections{gap:var(--space-4);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;overflow-x:auto}.toolbar-sections::-webkit-scrollbar{display:none}.toolbar-section{scroll-snap-align:start;gap:var(--space-2);padding:var(--space-2)0;flex:none;display:flex}.fab-container{bottom:80px;right:var(--space-4);gap:var(--space-2);z-index:var(--z-fab);flex-direction:column-reverse;display:flex;position:fixed}.fab{background:var(--color-signal-on);width:56px;height:56px;color:var(--color-void);box-shadow:var(--shadow-lg);cursor:pointer;transition:all var(--duration-fast)var(--ease-standard);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.fab:hover{box-shadow:var(--shadow-glow);transform:scale(1.05)}.fab--secondary{background:var(--color-surface);width:48px;height:48px;color:var(--color-text-primary);border:1px solid var(--color-border-default)}.bottom-sheet{background:var(--color-surface);border-radius:var(--radius-lg)var(--radius-lg)0 0;box-shadow:var(--shadow-lg);transition:transform var(--duration-slow)var(--ease-standard);z-index:var(--z-modal);max-height:80vh;position:fixed;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(100%)}.bottom-sheet--visible{transform:translateY(0)}.bottom-sheet__handle{background:var(--color-border-strong);width:40px;height:4px;margin:var(--space-2)auto;border-radius:2px}.bottom-sheet__content{padding:var(--space-6);max-height:calc(80vh - 40px);overflow-y:auto}}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle);padding:0 var(--space-6);height:var(--header-height);justify-content:space-between;align-items:center;display:flex}.app-header__brand{align-items:center;gap:var(--space-4);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);display:flex}.app-header__logo{width:32px;height:32px;color:var(--color-signal-on)}.app-header__nav{align-items:center;gap:var(--space-4);display:flex}.app-header__actions{align-items:center;gap:var(--space-2);display:flex}.app-sidebar{background:var(--color-surface);border-right:1px solid var(--color-border-subtle);flex-direction:column;display:flex;overflow-y:auto}.sidebar__section{padding:var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.sidebar__section:last-child{border-bottom:none;flex:1}.sidebar__title{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-3)}.app-canvas{background:var(--color-void);position:relative;overflow:hidden}.canvas__svg{cursor:grab;width:100%;height:100%}.canvas__svg:active{cursor:grabbing}.app-panel{background:var(--color-surface);border-left:1px solid var(--color-border-subtle);flex-direction:column;display:flex;overflow-y:auto}.app-container{grid-template-columns:var(--panel-left-width)1fr var(--panel-right-width);grid-template-rows:var(--header-height)1fr var(--toolbar-height,48px);background:var(--color-terminal);grid-template-areas:"header header header""sidebar-left canvas sidebar-right""toolbar toolbar toolbar";gap:0;height:100vh;display:grid}.app-container.learning-mode{grid-template-columns:var(--sidebar-width-learning)1fr var(--panel-right-width)}.app-container.cpu-mode{grid-template-columns:var(--sidebar-width-cpu)1fr;grid-template-rows:var(--header-height)1fr;grid-template-areas:"header header""sidebar-left canvas"}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle);padding:0 var(--space-6);z-index:var(--z-header);height:var(--header-height);grid-area:header;align-items:center;display:flex}.header-actions{gap:var(--space-2);flex-shrink:0;align-items:center;margin-left:auto;display:flex}.logo{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--font-semibold);letter-spacing:-.02em;color:var(--color-text-primary);margin-right:var(--space-8);align-items:center;display:flex}.logo img{width:auto;height:28px}.mode-tabs{background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:var(--space-1);gap:var(--space-1);flex-shrink:0;display:flex}.mode-tab{padding:var(--space-2)var(--space-4);border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast)var(--ease-standard);background:0 0;border:1px solid #0000;position:relative}.mode-tab:hover{color:var(--color-text-primary);background:var(--color-elevated)}.mode-tab.active{background:var(--color-surface);color:var(--color-signal-on);border-color:var(--color-signal-on);box-shadow:var(--theme-glow-box);text-shadow:var(--theme-glow-text)}.mode-tab.enhanced-tab{padding:var(--space-2)var(--space-4)}.mode-tab.enhanced-tab.active{background:var(--color-surface)!important;box-shadow:none!important}.sidebar-left{background:var(--color-surface);border-right:1px solid var(--color-border-subtle);padding:var(--space-4);width:var(--panel-left-width);transition:width var(--duration-normal)var(--ease-standard);grid-area:sidebar-left;min-height:0;overflow-y:auto}.sidebar-left--learning{width:var(--sidebar-width-learning);padding:0}.tools-grid{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));padding:0;display:grid}.main-canvas{background:var(--color-void);background-image:radial-gradient(circle at center,var(--color-border-subtle)1px,transparent 1px);background-size:var(--canvas-grid-size)var(--canvas-grid-size);grid-area:canvas;min-height:0;position:relative;overflow:hidden}.canvas-toolbar{top:var(--space-4);left:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-2);gap:var(--space-1);z-index:var(--z-toolbar);display:flex;position:absolute}.bottom-toolbar{padding:0 var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-border-subtle);justify-content:center;align-items:center;gap:var(--space-3);height:var(--toolbar-height,48px);grid-area:toolbar;display:flex}.toolbar-group{align-items:center;gap:var(--space-1);padding:var(--space-1);background:var(--color-void);border-radius:var(--radius-md);display:flex}.toolbar-divider{background:var(--color-border-default);width:1px;height:24px;margin:0 var(--space-2)}.toolbar-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast)var(--ease-standard);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.toolbar-btn:hover:not(:disabled){background:var(--color-elevated);color:var(--color-text-primary)}.toolbar-btn:disabled{opacity:.3;cursor:not-allowed}.toolbar-btn.active{background:var(--color-signal-dim);color:var(--color-signal-on)}.toolbar-btn.danger:hover:not(:disabled){background:var(--color-error)}@supports (color:color-mix(in lab,red,red)){.toolbar-btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-error)15%,transparent)}}.toolbar-btn.danger:hover:not(:disabled){color:var(--color-error)}.toolbar-btn svg{stroke:currentColor;stroke-width:2px;fill:none;width:18px;height:18px}.toolbar-speed-control{align-items:center;gap:var(--space-2);padding:0 var(--space-2);display:flex}.toolbar-speed-control .speed-label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.toolbar-speed-control .speed-select{padding:var(--space-1)var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);cursor:pointer}.toolbar-status{align-items:center;gap:var(--space-4);padding:0 var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);margin-left:auto;display:flex}.toolbar-status .status-item{align-items:center;gap:var(--space-2);display:flex}.toolbar-status .status-value{color:var(--color-text-secondary)}.zoom-controls{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-1);gap:var(--space-1);z-index:var(--z-controls);box-shadow:var(--shadow-sm);transition:all var(--duration-fast)var(--ease-standard);display:flex}.zoom-controls.canvas-overlay{align-items:center;gap:var(--space-1);padding:var(--space-1);flex-direction:row;display:flex;top:var(--space-4)!important;right:var(--space-4)!important;position:absolute!important}.zoom-controls>div[style*="height: 1px"]{background:var(--color-border-default)!important;width:1px!important;height:20px!important;margin:0 var(--space-1)!important}@media (max-width:768px){.zoom-controls.canvas-overlay{padding:var(--space-1);top:var(--space-2)!important;right:var(--space-2)!important}.zoom-controls.canvas-overlay .zoom-button{width:32px;height:32px;font-size:var(--text-sm)}.zoom-controls.canvas-overlay .zoom-reset{min-width:50px;padding:0 var(--space-2)}}@media (max-width:480px){.zoom-controls.canvas-overlay{gap:var(--space-1);top:var(--space-1)!important;right:var(--space-1)!important}.zoom-controls.canvas-overlay .zoom-button{width:28px;height:28px}}.zoom-button{border:1px solid var(--color-border-default);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-secondary);font-size:var(--text-md);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast)var(--ease-standard);background:0 0;justify-content:center;align-items:center;display:flex}.zoom-button:hover{background:var(--color-elevated);border-color:var(--color-border-strong);color:var(--color-text-primary)}.zoom-button.zoom-reset{width:auto;padding:0 var(--space-3);font-size:var(--text-sm);font-family:var(--font-mono);min-width:60px}.zoom-button.zoom-reset:hover{background:var(--color-signal-dim);border-color:var(--color-signal-on);color:var(--color-signal-on)}.sidebar-right{background:var(--color-surface);border-left:1px solid var(--color-border-subtle);padding:var(--space-4);grid-area:sidebar-right;min-height:0;overflow-y:auto}.app-container.gallery-mode{grid-template-columns:var(--sidebar-width-gallery)1fr var(--panel-right-width)}.sidebar-left--gallery{width:var(--sidebar-width-gallery);min-height:0;padding:0;overflow:hidden}.sidebar-left--cpu{width:var(--sidebar-width-cpu);min-height:0;padding:0;overflow:hidden}.status-bar{top:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-2)var(--space-4);align-items:center;gap:var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-secondary);z-index:var(--z-toolbar);box-shadow:var(--shadow-sm);display:flex;position:absolute;left:50%;transform:translate(-50%)}.status-item{align-items:center;gap:var(--space-2);display:flex}.status-dot{background:var(--color-signal-on);border-radius:50%;width:6px;height:6px}@media (max-width:768px){.status-bar{top:var(--space-2);font-size:var(--text-xs);padding:var(--space-1)var(--space-3);gap:var(--space-3)}}@media (max-width:480px){.status-bar{display:none}}.tool-button{border:1px solid var(--color-border-default);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-secondary);font-size:var(--text-md);cursor:pointer;transition:all var(--duration-fast)var(--ease-standard);background:0 0;justify-content:center;align-items:center;display:flex}.tool-button:active:not(:disabled){transform:scale(.95)}.tool-button:disabled{cursor:not-allowed;opacity:.5}.tool-button.active{background:var(--color-signal-dim);border-color:var(--color-signal-on);color:var(--color-signal-on)}.help-button{border-color:var(--color-border-default)!important;background:0 0!important}.help-button:hover{background:var(--color-elevated)!important;border-color:var(--color-border-strong)!important}.glossary-button{border-color:var(--color-border-default)!important;background:0 0!important}.glossary-button:hover{background:var(--color-elevated)!important;border-color:var(--color-border-strong)!important}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:var(--color-border-default)transparent}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.flex-between{justify-content:space-between;align-items:center;display:flex}.fab-container-desktop{top:var(--space-4);left:var(--space-4);gap:var(--space-2);z-index:var(--z-fab);display:flex;position:absolute}.fab--primary{background:var(--color-signal-on);width:48px;height:48px;color:var(--color-void);box-shadow:var(--shadow-md);cursor:pointer;transition:all var(--duration-fast)var(--ease-standard);font-size:var(--text-xl);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.fab--primary:hover:not(:disabled){box-shadow:var(--shadow-glow);transform:translateY(-2px)}.fab--primary.active{background:var(--color-text-primary);color:var(--color-void)}.fab--secondary{background:var(--color-surface);width:40px;height:40px;color:var(--color-text-primary);border:1px solid var(--color-border-default);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--duration-fast)var(--ease-standard);font-size:var(--text-md);border-radius:50%;justify-content:center;align-items:center;display:flex}.fab--secondary:hover:not(:disabled){box-shadow:var(--shadow-md);background:var(--color-elevated);border-color:var(--color-border-strong);transform:translateY(-2px)}.fab--secondary:disabled{cursor:not-allowed;opacity:.5}.canvas-container{flex-direction:column;width:100%;height:100%;display:flex;position:relative}.canvas{flex:1;width:100%;height:100%}.canvas--preview-mode{background-color:var(--theme-primary-subtle)}.gallery-mode .main-canvas{overflow:visible}@media (max-width:768px){.header{padding:0 var(--space-3)}.header-actions{gap:var(--space-2)}.action-group{gap:var(--space-1)}.action-button{padding:var(--space-2);font-size:var(--text-sm)}.action-button span{font-size:var(--text-xs)}}@media (max-width:480px){.logo{font-size:var(--text-md)}.logo img{height:24px}.action-button{padding:var(--space-1)var(--space-2);font-size:var(--text-xs)}}.fab-container{bottom:var(--space-6);right:var(--space-4);align-items:flex-end;gap:var(--space-3);z-index:var(--z-fab);flex-direction:column;display:flex;position:fixed}.fab-container.expanded .fab-menu{gap:var(--space-2);flex-direction:column;display:flex}.fab{cursor:pointer;width:56px;height:56px;transition:all var(--duration-fast)var(--ease-standard);font-size:var(--text-xl);box-shadow:var(--shadow-lg);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.fab.primary{background:var(--color-signal-on);color:var(--color-void)}.fab.primary.main-fab{background:var(--color-text-primary);color:var(--color-void)}.fab.primary.simulate-fab{background:var(--color-signal-on);color:var(--color-void)}.fab.secondary{background:var(--color-surface);width:48px;height:48px;color:var(--color-text-primary);border:1px solid var(--color-border-default);font-size:var(--text-lg);box-shadow:var(--shadow-md)}.fab:active{transform:scale(.92)}.fab:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.fab svg{width:24px;height:24px;display:block}.fab-menu{display:none}@media (max-width:640px){.fab{width:52px;height:52px}.fab.secondary{width:44px;height:44px}.fab svg{width:22px;height:22px}.fab.secondary svg{width:20px;height:20px}}.desktop-layout{background:var(--color-void);flex-direction:column;height:100vh;display:flex}.desktop-main{grid-template-columns:var(--panel-left-width)1fr var(--panel-right-width);background:var(--color-border-subtle);flex:1;gap:1px;display:grid;overflow:hidden}.desktop-canvas-container{background:var(--color-void);position:relative;overflow:hidden}.desktop-canvas-container:before{content:"";pointer-events:none;z-index:10;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000008 2px,#00000008 4px);position:absolute;top:0;right:0;bottom:0;left:0}.desktop-canvas-container:after{content:"";pointer-events:none;z-index:11;background:radial-gradient(#0000 50%,#00000026);position:absolute;top:0;right:0;bottom:0;left:0}.tool-palette{background:var(--color-surface);height:100%;z-index:var(--z-panel);flex-direction:column;display:flex;position:relative;overflow:hidden}.tool-palette-sections{padding:var(--space-4);flex:1;overflow-y:auto}.property-panel{background:var(--color-surface);padding:var(--space-4);z-index:var(--z-panel);gap:var(--space-4);flex-direction:column;display:flex;position:relative;overflow-y:auto}.property-panel .section-title{color:var(--color-text-muted);letter-spacing:.1em;margin-bottom:var(--space-2);border-bottom:none;padding-bottom:0;font-size:10px}.property-panel .property-group{background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:var(--space-3);margin-bottom:0}.property-panel .property-group p{color:var(--color-text-dim);font-size:var(--text-sm);text-align:center;margin:var(--space-4)0;line-height:1.6}.canvas-container .timing-chart-container{z-index:var(--z-overlay);height:auto;min-height:0;position:absolute;bottom:0;left:0;right:0}.timing-chart-panel{background-color:var(--color-surface);border-top:1px solid var(--color-border-default);height:300px;z-index:var(--z-timing-chart);flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.timing-chart-panel__header{padding:var(--space-3);border-bottom:1px solid var(--color-border-subtle);background-color:var(--color-surface);justify-content:space-between;align-items:center;display:flex}.timing-chart-panel__title{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--font-medium);margin:0}.timing-chart-panel__close-btn{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);transition:color var(--duration-fast)var(--ease-standard),background-color var(--duration-fast)var(--ease-standard);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.timing-chart-panel__close-btn:hover{color:var(--color-text-primary);background-color:var(--color-hover)}.timing-chart-panel__content{background-color:var(--color-void);flex:1;width:100%;overflow:auto}.timing-chart-panel__signal-selector{padding:var(--space-2)var(--space-3);border-bottom:1px solid var(--color-border-subtle);background-color:var(--color-surface)}.signal-selector__header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.signal-selector__label{font-size:var(--text-sm);color:var(--color-text-muted)}.signal-selector__clear-btn{color:var(--color-accent);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;padding:0}.signal-selector__clear-btn:hover{text-decoration:underline}.signal-selector__selected{gap:var(--space-1);min-height:28px;margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.signal-selector__empty{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic}.signal-selector__chip{align-items:center;gap:var(--space-1);padding:var(--space-1)var(--space-2);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-text-primary);display:inline-flex}.signal-selector__chip-remove{color:var(--color-text-muted);font-size:var(--text-base);cursor:pointer;margin-left:var(--space-1);background:0 0;border:none;padding:0;line-height:1}.signal-selector__chip-remove:hover{color:var(--color-danger)}.signal-selector__add{align-items:center;display:flex}.signal-selector__dropdown{padding:var(--space-1)var(--space-2);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--text-sm);cursor:pointer;flex:1}.signal-selector__dropdown:focus{border-color:var(--color-accent);outline:none}.signal-selector__dropdown option{background-color:var(--color-surface);color:var(--color-text-primary)}.signal-selector__dropdown optgroup{font-weight:var(--font-medium);color:var(--color-text-muted)}.timing-chart-svg{background-color:var(--color-void);display:block}button,[role=button],.clickable{transition:background-color var(--duration-fast)var(--ease-standard),border-color var(--duration-fast)var(--ease-standard),color var(--duration-fast)var(--ease-standard),transform var(--duration-fast)var(--ease-standard),box-shadow var(--duration-fast)var(--ease-standard)}button:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.focusable:focus-visible{outline:2px solid var(--color-signal-on);outline-offset:2px}button:active:not(:disabled),[role=button]:active:not([aria-disabled=true]),.clickable:active{transform:scale(.97)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);background:var(--color-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-sans);font-size:11px;font-weight:var(--font-medium);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:1000;padding:4px 8px;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)scale(.9);box-shadow:0 2px 8px #0000004d}[data-tooltip]:hover:after,[data-tooltip]:focus-within:after{opacity:1;visibility:visible;transition-delay:.2s;transform:translate(-50%)scale(1)}[data-tooltip-position=bottom]:after{top:calc(100% + 6px);bottom:auto}[data-tooltip]>*{pointer-events:auto}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--btn-height-md);padding:0 var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background-color var(--duration-fast)var(--ease-standard),border-color var(--duration-fast)var(--ease-standard),color var(--duration-fast)var(--ease-standard);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none;line-height:1;display:inline-flex}.btn:hover{background:var(--color-elevated);border-color:var(--color-border-strong)}.btn:active{transition-duration:var(--duration-instant);transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--color-signal-on);outline-offset:2px}.btn--primary{background:var(--color-energy-cyan);border-color:var(--color-energy-cyan);color:var(--color-void);font-weight:var(--font-semibold);box-shadow:var(--glow-cyan)}.btn--primary:hover{background:var(--color-energy-cyan-hover);border-color:var(--color-energy-cyan-hover);box-shadow:0 0 24px var(--color-energy-cyan-glow),0 0 48px var(--color-energy-cyan-dim)}.btn--danger{border-color:var(--color-error);color:var(--color-error);background:0 0}.btn--danger:hover{border-color:var(--color-error);box-shadow:0 0 16px var(--color-error-glow);background:#ff475726}.btn--ghost{border-color:var(--color-border-subtle);color:var(--color-text-secondary);background:0 0}.btn--ghost:hover{background:var(--color-elevated);border-color:var(--color-border-strong);color:var(--color-text-primary);box-shadow:0 0 8px #ffffff1a}.header-icon-btn{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast)var(--ease-standard);background:0 0;justify-content:center;align-items:center;padding:0;display:flex}.header-icon-btn svg{stroke:currentColor;stroke-width:2px;fill:none;width:18px;height:18px}.header-icon-btn:hover{background:var(--color-elevated);border-color:var(--color-signal-on);color:var(--color-signal-on);box-shadow:0 0 12px var(--color-signal-dim)}.header-icon-btn:active{transform:scale(.95)}.header-action-btn{border:1px solid var(--color-border-default);border-radius:var(--radius-md);height:32px;color:var(--color-text-secondary);font-family:var(--font-mono);cursor:pointer;transition:all var(--duration-fast)var(--ease-standard);background:0 0;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;display:flex}.header-action-btn svg{stroke:currentColor;stroke-width:2px;fill:none;flex-shrink:0;width:16px;height:16px}.header-action-btn span{white-space:nowrap}.header-action-btn:hover{background:var(--color-elevated);border-color:var(--color-signal-on);color:var(--color-signal-on);box-shadow:0 0 12px var(--color-signal-dim)}.header-action-btn:active{transform:scale(.95)}.btn--sm{height:var(--btn-height-sm);padding:0 var(--space-3);font-size:var(--text-xs)}.btn--lg{height:var(--btn-height-lg);padding:0 var(--space-5);font-size:var(--text-base)}.btn:disabled,.btn--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--loading{color:#0000;position:relative}.btn--loading:after{content:"";border:2px solid var(--color-text-muted);border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite btn-spin;position:absolute}@keyframes btn-spin{to{transform:rotate(360deg)}}.input{width:100%;height:var(--btn-height-md);padding:0 var(--space-3);background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-sm);transition:border-color var(--duration-fast)var(--ease-standard),box-shadow var(--duration-fast)var(--ease-standard);outline:none}.input:hover{border-color:var(--color-border-strong)}.input:focus{border-color:var(--color-signal-on);box-shadow:0 0 0 2px var(--color-signal-dim)}.input::-moz-placeholder{color:var(--color-text-muted)}.input::placeholder{color:var(--color-text-muted)}.input:disabled{opacity:.5;cursor:not-allowed}.textarea{min-height:80px;padding:var(--space-2)var(--space-3);resize:vertical;line-height:var(--leading-normal)}.select{width:100%;height:var(--btn-height-md);padding:0 var(--space-8)0 var(--space-3);background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-sm);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b6b6b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3)center;transition:border-color var(--duration-fast)var(--ease-standard),box-shadow var(--duration-fast)var(--ease-standard);outline:none}.select:hover{border-color:var(--color-border-strong)}.select:focus{border-color:var(--color-signal-on);box-shadow:0 0 0 2px var(--color-signal-dim)}.tabs{background:var(--color-void);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.tab{padding:var(--space-2)var(--space-4);border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background-color var(--duration-fast)var(--ease-standard),color var(--duration-fast)var(--ease-standard),box-shadow var(--duration-fast)var(--ease-standard);background:0 0;border:none;position:relative}.tab:hover{color:var(--color-text-secondary);background:#ffffff08}.tab--active,.tab.active{background:var(--color-surface);color:var(--color-signal-on);font-weight:var(--font-semibold);box-shadow:0 1px 3px #0000004d,inset 0 1px #ffffff0d}.tab--active:after,.tab.active:after{content:"";background:var(--color-signal-on);border-radius:1px;width:24px;height:2px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-4)}.card--elevated{box-shadow:var(--shadow-md)}.card--interactive{cursor:pointer;transition:border-color var(--duration-fast)var(--ease-standard),box-shadow var(--duration-fast)var(--ease-standard)}.card--interactive:hover{border-color:var(--color-border-default);box-shadow:var(--shadow-md)}.tool-card{box-sizing:border-box;width:100%;min-width:0;height:68px;padding:var(--space-2)var(--space-1);background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-fast)var(--ease-standard),border-color var(--duration-fast)var(--ease-standard),box-shadow var(--duration-fast)var(--ease-standard),transform var(--duration-fast)var(--ease-standard);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.tool-card:hover{background:var(--color-elevated);border-color:var(--color-signal-on);box-shadow:0 0 12px #00f0ff33}.tool-card:active{transform:scale(.97)}.tool-card.selected{background:var(--color-signal-dim);border-color:var(--color-signal-on);box-shadow:0 0 16px #00f0ff66,inset 0 0 8px #00f0ff1a}.tool-card.selected .tool-label{color:var(--color-signal-on);text-shadow:0 0 6px var(--color-signal-glow)}.tool-card.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.tool-card svg,.tool-preview{flex-shrink:0;width:44px;height:32px}.tool-preview .gate{fill:var(--color-void);stroke:var(--color-text-muted);stroke-width:1.5px}.tool-preview .gate-text{fill:var(--color-text-secondary);font-family:var(--font-mono);font-size:10px;font-weight:var(--font-semibold);text-anchor:middle;dominant-baseline:central}.tool-label{font-family:var(--font-mono);font-size:9px;font-weight:var(--font-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.tool-card:hover .tool-label{color:var(--color-text-primary)}.tool-card__icon{width:28px;height:20px;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.tool-card__label{font-family:var(--font-mono);color:var(--color-text-muted);font-size:10px}.tool-card:hover .tool-card__label{color:var(--color-text-primary)}.tooltip{padding:var(--space-1)var(--space-2);background:var(--color-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-text-secondary);box-shadow:var(--shadow-md);z-index:var(--z-tooltip);pointer-events:none}.badge{background:var(--color-elevated);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:10px;font-weight:var(--font-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;align-items:center;padding:2px 6px;display:inline-flex}.badge--on{background:var(--color-signal-dim);color:var(--color-signal-on)}.badge--off{background:var(--color-elevated);color:var(--color-text-muted)}.badge--error{color:var(--color-error);background:#ef444433}.separator{background:var(--color-border-subtle);height:1px;margin:var(--space-3)0}.separator--vertical{width:1px;height:auto;margin:0 var(--space-3)}.panel{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.panel__header{padding:var(--space-3)var(--space-4);background:var(--color-elevated);border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;display:flex}.panel__title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0}.panel__content{padding:var(--space-4)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);animation:fade-in var(--duration-normal)var(--ease-out);background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.modal{background:var(--color-surface);border:1px solid var(--color-energy-cyan);border-radius:var(--radius-lg);width:90%;max-width:var(--modal-width-md);max-height:90vh;animation:modal-enter var(--duration-slow)var(--ease-spring);box-shadow:var(--shadow-xl),0 0 60px var(--color-energy-cyan-dim),inset 0 1px #ffffff0d;flex-direction:column;display:flex;overflow:hidden}.modal__header{padding:var(--space-4)var(--space-6);border-bottom:1px solid var(--color-border-default);background:linear-gradient(180deg,var(--color-energy-cyan-subtle)0%,transparent 100%);justify-content:space-between;align-items:center;display:flex}.modal__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-energy-cyan);text-shadow:var(--text-glow-cyan);margin:0}.modal__close{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:all var(--duration-fast)var(--ease-standard);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.modal__close:hover{background:var(--color-elevated);color:var(--color-text-primary)}.modal__content{padding:var(--space-6);flex:1;overflow-y:auto}.modal__footer{padding:var(--space-4)var(--space-6);border-top:1px solid var(--color-border-subtle);gap:var(--space-3);justify-content:flex-end;display:flex}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-enter{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.form-group{margin-bottom:var(--space-4)}.form-label{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);display:block}.form-hint{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.form-error{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-error)}.property-group{margin-bottom:var(--space-6)}.property-row{padding:var(--space-2)0;border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;display:flex}.property-row:last-child{border-bottom:none}.property-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.property-value{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-primary)}.section-title{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.12em;color:var(--color-energy-cyan);text-shadow:var(--text-glow-cyan);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-default);display:flex}.icon-btn{background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast)var(--ease-standard);flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-btn svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:16px;height:16px}.icon-btn:hover:not(:disabled){background:var(--color-elevated);border-color:var(--color-energy-cyan);color:var(--color-energy-cyan);box-shadow:0 0 12px var(--color-energy-cyan-dim)}.icon-btn:active:not(:disabled){transform:scale(.95)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.icon-btn--active,.icon-btn.active{background:var(--color-energy-cyan-dim);border-color:var(--color-energy-cyan);color:var(--color-energy-cyan);box-shadow:0 0 12px var(--color-energy-cyan-dim),inset 0 0 6px #00f0ff1a}.icon-btn--danger:hover:not(:disabled){border-color:var(--color-error);color:var(--color-error);box-shadow:0 0 12px var(--color-error-glow)}.icon-btn--with-text{width:auto;min-width:56px;padding:0 var(--space-2);gap:var(--space-1);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-medium)}.tool-button{background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-secondary);font-size:var(--text-base);cursor:pointer;transition:all var(--duration-fast)var(--ease-standard);justify-content:center;align-items:center;display:flex}.tool-button:hover:not(:disabled){background:var(--color-elevated);border-color:var(--color-signal-on);color:var(--color-signal-on);box-shadow:0 0 10px #00f0ff40}.tool-button:disabled{opacity:.3;cursor:not-allowed}.tool-button.active{background:var(--color-signal-dim);border-color:var(--color-signal-on);color:var(--color-signal-on);box-shadow:0 0 12px #00f0ff66,inset 0 0 6px #00f0ff26}.zoom-button{background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-md);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast)var(--ease-standard);justify-content:center;align-items:center;display:flex}.zoom-button:hover{background:var(--color-elevated);border-color:var(--color-signal-on);color:var(--color-signal-on);box-shadow:0 0 10px #00f0ff40}.zoom-button:active{transform:scale(.95)}.zoom-button.zoom-reset{width:auto;min-width:56px;padding:0 var(--space-2);font-size:var(--text-sm)}.zoom-button.zoom-reset:hover{background:var(--color-signal-dim);border-color:var(--color-signal-on);color:var(--color-signal-on);box-shadow:0 0 12px #00f0ff4d}.progress{background:var(--color-elevated);border-radius:2px;width:100%;height:4px;overflow:hidden}.progress__bar{background:var(--color-signal-on);height:100%;transition:width var(--duration-slow)var(--ease-standard);border-radius:2px}.button,button.button{padding:var(--space-2)var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--text-base);cursor:pointer;transition:all var(--duration-fast)var(--ease-standard);align-items:center;gap:var(--space-2);font-family:var(--font-sans);min-height:var(--btn-height-md);line-height:1.5;display:inline-flex}.button:hover,button.button:hover{background:var(--color-elevated);border-color:var(--color-border-strong)}.button.primary,button.button.primary{background:var(--color-signal-dim);border-color:var(--color-signal-on);color:var(--color-signal-on)}.button.primary:hover,button.button.primary:hover{background:#00f0ff40}.action-button{padding:var(--space-2)var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background-color var(--duration-fast)var(--ease-standard),border-color var(--duration-fast)var(--ease-standard),color var(--duration-fast)var(--ease-standard),transform var(--duration-fast)var(--ease-standard);align-items:center;gap:var(--space-2);white-space:nowrap;display:flex}.action-button:hover{background:var(--color-elevated);border-color:var(--color-border-default);color:var(--color-text-primary)}.action-button:active{transform:scale(.97)}.action-button:focus-visible{outline:2px solid var(--color-signal-on);outline-offset:2px}.action-button.primary{background:var(--color-signal-on);border-color:var(--color-signal-on);color:var(--color-void);font-weight:var(--font-semibold)}.action-button.primary:hover{background:var(--color-success-hover);border-color:var(--color-success-hover)}.action-button.secondary{background:var(--color-elevated);border-color:var(--color-border-default);color:var(--color-text-primary)}.action-button.secondary:hover{border-color:var(--color-border-strong);background:#ffffff14}.action-button.ghost{color:var(--color-text-muted);background:0 0;border-color:#0000}.action-button.ghost:hover{color:var(--color-text-secondary);background:#ffffff0d}.help-button{border-color:var(--color-border-subtle);color:var(--color-text-muted);background:0 0}.help-button:hover{background:var(--color-elevated);border-color:var(--color-border-default);color:var(--color-text-primary)}.glossary-button{border-color:var(--color-border-subtle);color:var(--color-text-muted);background:0 0}.glossary-button:hover{border-color:var(--color-border-default);color:var(--color-text-primary);background:var(--color-elevated)}.control-separator{background:var(--color-border-subtle);width:1px;height:20px;margin:0 var(--space-1);opacity:.5;flex-shrink:0}.speed-control{background:var(--color-void);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);height:32px;transition:all var(--duration-fast)var(--ease-standard);align-items:center;display:flex}.speed-control:hover{border-color:var(--color-energy-cyan)}.speed-control:focus-within{border-color:var(--color-energy-cyan);box-shadow:0 0 0 2px #00f0ff26}.speed-control__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-semibold);cursor:pointer;padding:0 var(--space-3)0 var(--space-2);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23888' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E") right 6px center/8px no-repeat;border:none;outline:none;min-width:52px;height:100%}.speed-control__select:hover{color:var(--color-energy-cyan)}.speed-control__select option{background:var(--color-surface);color:var(--color-text-primary);padding:var(--space-2)}.large-dialog{max-width:var(--modal-width-lg);width:90%}.circuit-preview-container{margin:var(--space-5)0;border-radius:var(--radius-md);overflow:hidden}.dialog-info{padding:var(--space-5);background:var(--color-signal-dim);border:1px solid var(--color-signal-on);border-radius:var(--radius-md);margin-top:var(--space-5)}.dialog-info p{margin:var(--space-2)0;color:var(--color-text-secondary)}.dialog-info strong{color:var(--color-signal-on)}.preview-mode-header{align-items:center;gap:var(--space-4);padding:var(--space-3)var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-signal-on);display:flex}.preview-mode-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);flex:1}.preview-mode-badge{font-size:var(--text-xs);padding:var(--space-1)var(--space-3);background:var(--color-signal-dim);border:1px solid var(--color-signal-on);border-radius:var(--radius-sm);color:var(--color-signal-on);font-weight:var(--font-medium)}.empty-state{padding:var(--space-8)var(--space-4);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state__icon{width:64px;height:64px;margin-bottom:var(--space-4);color:var(--color-energy-cyan);opacity:.6;filter:drop-shadow(0 0 8px var(--color-energy-cyan-dim));justify-content:center;align-items:center;animation:3s ease-in-out infinite pulse-subtle;display:flex}@keyframes pulse-subtle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.05)}}.empty-state__text{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--space-2)0}.empty-state__hint{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-relaxed);margin:0}.button-group{gap:var(--space-2);display:flex}.button-group--vertical{flex-direction:column}.help-text{font-size:var(--text-xs);line-height:var(--leading-relaxed);color:var(--color-text-muted)}.help-text p{margin-bottom:var(--space-3)}.help-text p:last-child{margin-bottom:0}.help-text strong{color:var(--color-text-secondary);font-weight:var(--font-medium)}.text-muted{color:var(--color-text-muted);font-size:var(--text-sm)}.tool-card--selected{background:var(--color-signal-dim);border-color:var(--color-signal-on);color:var(--color-signal-on)}.tool-card--selected .tool-card__label{color:var(--color-signal-on)}.circuit-canvas{background:var(--color-void);background-image:radial-gradient(circle at center,var(--color-border-subtle)1px,transparent 1px);background-size:var(--canvas-grid-size)var(--canvas-grid-size);width:100%;height:100%;position:relative}.circuit-content-group{transition:opacity var(--duration-normal)var(--ease-standard)}.circuit-content-group--loading{opacity:0;transition:none}.circuit-content-group--revealing{opacity:1;transition:opacity var(--duration-slow)var(--ease-standard)}[data-theme=neon-cyber] .circuit-content-group--revealing{transition:opacity var(--duration-normal)var(--ease-standard),filter var(--duration-slow)var(--ease-standard);animation:circuit-reveal-cyber var(--duration-slow)var(--ease-standard)}@keyframes circuit-reveal-cyber{0%{opacity:0;filter:blur(4px)brightness(1.5)}50%{opacity:.8;filter:blur(1px)brightness(1.2)}to{opacity:1;filter:none}}[data-theme=retro-terminal] .circuit-content-group--revealing{animation:circuit-reveal-retro var(--duration-slow)linear}@keyframes circuit-reveal-retro{0%{opacity:0;filter:brightness(2)}30%{opacity:.4;filter:brightness(1.5)}to{opacity:1;filter:none}}[data-theme=blueprint] .circuit-content-group--revealing{transition:opacity var(--duration-normal)var(--ease-standard)}[data-theme=paper-ink] .circuit-content-group--revealing{transition:opacity var(--duration-slow)var(--ease-standard)}.circuit-canvas.simulation-starting{animation:simulation-flash var(--duration-slow)var(--ease-out)}@keyframes simulation-flash{0%{box-shadow:inset 0 0 #0000}30%{box-shadow:inset 0 0 60px 20px var(--color-signal-dim)}to{box-shadow:inset 0 0 #0000}}.cursor-wire-connect{cursor:crosshair}.gate-container{cursor:grab}.gate-container:active{cursor:grabbing}.gate-container[data-new=true],.gate-enter-animation{animation:gate-enter var(--duration-normal)var(--ease-spring)}@keyframes gate-enter{0%{opacity:0;filter:drop-shadow(0 0 12px var(--color-signal-glow))}60%{opacity:1;filter:drop-shadow(0 0 8px var(--color-signal-glow))}to{opacity:1;filter:none}}.gate-container.highlighted{filter:drop-shadow(0 0 12px var(--color-warning));animation:2s ease-in-out infinite gate-highlight}@keyframes gate-highlight{0%,to{filter:drop-shadow(0 0 12px var(--color-warning))}50%{filter:drop-shadow(0 0 20px var(--color-warning))}}[data-multi-selected=true] .gate{filter:drop-shadow(0 0 8px var(--color-signal-glow))}[data-dragging-multi=true] .gate{opacity:.85;filter:drop-shadow(0 0 12px var(--color-signal-glow))}.gate{fill:var(--color-gate-fill);stroke:var(--color-gate-stroke);stroke-width:1.5px;cursor:move;transition:stroke var(--duration-fast)var(--ease-standard),fill var(--duration-fast)var(--ease-standard)}.gate:hover{stroke:var(--color-text-primary)}.gate.selected{stroke:var(--color-signal-on);stroke-width:2.5px;filter:drop-shadow(0 0 8px var(--color-signal-glow))}.gate.active{stroke:var(--color-signal-on);filter:drop-shadow(0 0 6px var(--color-signal-glow))}.gate-text{fill:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-semibold);text-anchor:middle;dominant-baseline:central;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;letter-spacing:.05em}.gate.active+.gate-text,.gate-text.active{fill:var(--color-signal-on);filter:drop-shadow(0 0 8px var(--color-signal-glow))}.pin{fill:none;stroke:var(--color-text-dim);stroke-width:1.5px;cursor:pointer;transition:all var(--duration-fast)var(--ease-standard)}.pin:hover{stroke:var(--color-text-primary)}.pin.connected{fill:var(--color-text-dim);stroke:var(--color-text-dim)}.pin.active{fill:var(--color-signal-on);stroke:var(--color-signal-on);filter:drop-shadow(0 0 4px var(--color-signal-glow))}.pin-line{stroke:var(--color-text-dim);stroke-width:1.5px;transition:stroke var(--duration-fast)var(--ease-standard)}.pin-line.active{stroke:var(--color-signal-on)}.wire{fill:none;stroke:var(--color-signal-off);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;pointer-events:all;transition:stroke var(--duration-fast)var(--ease-standard),stroke-width var(--duration-fast)var(--ease-standard)}.wire.active{stroke:var(--color-signal-on);filter:drop-shadow(0 0 4px var(--color-signal-glow))}.wire.wire-hover,.wire:hover,.wire-group:hover .wire:not(.selected){filter:brightness(1.3);stroke-width:3px}.wire.selected{filter:drop-shadow(0 0 8px #06b6d4b3);stroke:#06b6d4!important;stroke-width:3px!important}.wire[data-new=true],.wire-enter-animation{animation:wire-enter var(--duration-normal)var(--ease-out)}@keyframes wire-enter{0%{stroke-dasharray:1000;stroke-dashoffset:1000px;opacity:.5}to{stroke-dasharray:none;stroke-dashoffset:0;opacity:1}}@keyframes wire-pulse{0%{stroke-dashoffset:0}to{stroke-dashoffset:8px}}.signal-particle{fill:var(--color-signal-on);filter:drop-shadow(0 0 6px var(--color-signal-glow))}.wire-delete-group{animation:delete-button-appear var(--duration-normal)var(--ease-spring);transform-origin:50%}@keyframes delete-button-appear{0%{opacity:0;filter:blur(2px)}to{opacity:1;filter:none}}.wire-delete-glow{transition:all var(--duration-fast)var(--ease-standard)}.wire-delete-button{transition:all var(--duration-fast)var(--ease-standard);transform-origin:50%}.wire-delete-icon{transition:all var(--duration-fast)var(--ease-standard)}.wire-delete-group:hover .wire-delete-glow{fill:#ef44444d;filter:blur(1px)}.wire-delete-group:hover .wire-delete-button{fill:var(--color-error);stroke:var(--color-text-primary);stroke-width:2.5px;filter:drop-shadow(0 0 8px #ef444499)}.wire-delete-group:hover .wire-delete-icon line{stroke:var(--color-text-primary);stroke-width:2.2px}.wire-delete-group:active .wire-delete-button{fill:var(--color-error-dark);stroke-width:3px}.switch-track{transition:all var(--duration-fast)var(--ease-standard)}.switch-track:hover{filter:brightness(1.1)}.switch-track.active{filter:drop-shadow(0 0 6px var(--color-signal-glow))}.switch-thumb{transition:cx var(--duration-fast)var(--ease-standard),fill var(--duration-fast)var(--ease-standard)}.selection-box{fill:var(--theme-primary-subtle);stroke:var(--color-signal-on);stroke-width:1px;stroke-dasharray:4 2}.connection-preview{stroke:var(--color-signal-on);stroke-width:2px;stroke-dasharray:8 4;fill:none;opacity:.6;animation:1s ease-in-out infinite connection-pulse}@keyframes connection-pulse{0%,to{opacity:.6}50%{opacity:1}}.tool-card.selected{border:2px solid var(--color-signal-on);background-color:var(--color-signal-dim);transform:scale(1.02)}@keyframes signal-propagate{0%{stroke-dashoffset:100%;filter:drop-shadow(0 0 #0000)}50%{filter:drop-shadow(0 0 8px var(--color-signal-glow))}to{stroke-dashoffset:0%;filter:drop-shadow(0 0 4px var(--color-signal-glow))}}@keyframes gate-evaluate{0%,to{filter:brightness()}30%{filter:brightness(1.4)drop-shadow(0 0 12px var(--color-signal-glow))}}@keyframes gate-drop{0%{opacity:.85;transform:scale(1.05)}60%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes switch-toggle{0%{transform:scale(1)}40%{transform:scale(.92)}to{transform:scale(1)}}@keyframes slide-in{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-highlight{0%,to{filter:drop-shadow(0 0 12px var(--color-warning))}50%{filter:drop-shadow(0 0 20px var(--color-warning))}}@keyframes clock-pulse{0%,to{opacity:.8;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@keyframes glow-pulse{0%,to{filter:drop-shadow(0 0 4px var(--color-signal-glow))}50%{filter:drop-shadow(0 0 12px var(--color-signal-glow))}}@keyframes wire-connect-success{0%{stroke-width:2px;filter:none}50%{stroke-width:4px;filter:drop-shadow(0 0 12px var(--color-signal-glow))}to{stroke-width:2px;filter:drop-shadow(0 0 4px var(--color-signal-glow))}}@keyframes place-ripple{0%{opacity:.6;transform:scale(.5)}to{opacity:0;transform:scale(2)}}.animate-fade-in{animation:fade-in var(--duration-normal)var(--ease-out)}.animate-slide-in{animation:slide-in var(--duration-normal)var(--ease-out)}.animate-scale-in{animation:scale-in var(--duration-normal)var(--ease-out)}.animate-spin{animation:1s linear infinite spin}.animate-glow{animation:glow-pulse 2s var(--ease-standard)infinite}.hover-lift{transition:transform var(--duration-fast)var(--ease-standard)}.hover-lift:hover{transform:translateY(-2px)}.hover-scale{transition:transform var(--duration-fast)var(--ease-standard)}.hover-scale:hover{transform:scale(1.02)}.press-effect:active{transition-duration:var(--duration-instant);transform:scale(.97)}.focus-ring:focus{box-shadow:0 0 0 2px var(--color-signal-on);outline:none}.focus-ring:focus-visible{outline:2px solid var(--color-signal-on);outline-offset:2px}.loading-spinner{border:2px solid var(--color-border-subtle);border-top-color:var(--color-signal-on);width:20px;height:20px;animation:spin 1s var(--ease-standard)infinite;border-radius:50%;display:inline-block}.stagger-enter{animation:fade-in var(--duration-slow)var(--ease-out)forwards;opacity:0}.stagger-delay-1{animation-delay:50ms}.stagger-delay-2{animation-delay:.1s}.stagger-delay-3{animation-delay:.15s}.stagger-delay-4{animation-delay:.2s}.stagger-delay-5{animation-delay:.25s}.gate-place-ripple{background:radial-gradient(circle,var(--color-signal-dim)0%,transparent 70%);pointer-events:none;width:60px;height:60px;animation:place-ripple var(--duration-slow)var(--ease-out)forwards;border-radius:50%;position:absolute}.wire-connect-success{animation:wire-connect-success var(--duration-normal)var(--ease-out)}.signal-propagating{animation:signal-propagate var(--duration-slow)var(--ease-out)}.gate-evaluating{animation:gate-evaluate var(--duration-fast)var(--ease-out)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-dim{color:var(--color-text-dim)}.text-signal{color:var(--color-signal-on)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.hidden{display:none!important}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-center{justify-content:center;align-items:center;display:flex}.flex-center-between{justify-content:space-between;align-items:center;display:flex}.flex-center-start{justify-content:flex-start;align-items:center;display:flex}.flex-center-end{justify-content:flex-end;align-items:center;display:flex}.flex-col-center{flex-direction:column;align-items:center;display:flex}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.m-0{margin:0}.m-auto{margin:auto}.mt-auto{margin-top:auto}.mr-auto{margin-right:auto}.mb-auto{margin-bottom:auto}.ml-auto{margin-left:auto}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-0{z-index:0}.z-dropdown{z-index:var(--z-dropdown)}.z-panel{z-index:var(--z-panel)}.z-overlay{z-index:var(--z-overlay)}.z-modal{z-index:var(--z-modal)}.z-toast{z-index:var(--z-toast)}.border{border:1px solid var(--color-border)}.border-subtle{border:1px solid var(--color-border-subtle)}.border-t{border-top:1px solid var(--color-border)}.border-r{border-right:1px solid var(--color-border)}.border-b{border-bottom:1px solid var(--color-border)}.border-l{border-left:1px solid var(--color-border)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:9999px}.bg-void{background-color:var(--color-void)}.bg-surface{background-color:var(--color-surface)}.bg-elevated{background-color:var(--color-elevated)}.bg-overlay{background-color:var(--color-overlay)}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-hidden{overflow-x:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-auto{overflow-y:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-move{cursor:move}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-crosshair{cursor:crosshair}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.w-full{width:100%}.h-full{height:100%}.min-h-0{min-height:0}.min-h-full{min-height:100%}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.outline-none{outline:none}.fill-muted{fill:var(--color-text-muted)}.fill-dim{fill:var(--color-text-dim)}.fill-signal{fill:var(--color-signal-on)}.fill-signal-off{fill:var(--color-signal-off)}.stroke-muted{stroke:var(--color-text-muted)}.stroke-dim{stroke:var(--color-text-dim)}.stroke-signal{stroke:var(--color-signal-on)}.stroke-signal-off{stroke:var(--color-signal-off)}@media (max-width:640px){.mobile\:hidden{display:none}.mobile\:block{display:block}.mobile\:flex{display:flex}}@media (min-width:641px) and (max-width:1024px){.tablet\:hidden{display:none}.tablet\:block{display:block}.tablet\:flex{display:flex}}@media (min-width:1025px){.desktop\:hidden{display:none}.desktop\:block{display:block}.desktop\:flex{display:flex}}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{color:#000!important;background:#fff!important;font-size:12pt!important;line-height:1.4!important}.no-print,.header,.sidebar-left,.sidebar-right,.zoom-controls,.canvas-toolbar,.status-bar{display:none!important}.app-container{grid-template-rows:none!important;grid-template-columns:none!important;gap:0!important;display:block!important}.main-canvas{background:#fff!important;border:1px solid #ccc!important;width:100%!important;height:auto!important;min-height:70vh!important;margin:0!important;padding:20pt!important}.gate{fill:#fff!important;stroke:#000!important;stroke-width:2px!important}.gate-text{fill:#000!important;font-family:Arial,sans-serif!important;font-size:10pt!important;font-weight:700!important}.wire{stroke:#000!important;stroke-width:1.5px!important;fill:none!important}.wire.active{stroke:#333!important;stroke-width:2px!important;filter:none!important}.pin{fill:#fff!important;stroke:#000!important;stroke-width:1px!important}.pin.active{fill:#666!important;stroke:#000!important;filter:none!important}.print-header{text-align:center!important;border-bottom:1px solid #ccc!important;margin-bottom:20pt!important;padding-bottom:10pt!important;display:block!important}.print-header h1{color:#000!important;margin:0 0 5pt!important;font-size:18pt!important;font-weight:700!important}.print-header .print-info{color:#666!important;margin:0!important;font-size:10pt!important}@page{margin:1in;size:A4 landscape}.page-break-before{page-break-before:always!important}.page-break-after{page-break-after:always!important}.page-break-avoid{page-break-inside:avoid!important}.print-only{display:block!important}.screen-only{display:none!important}}
