:root{--bg-primary: #080c18;--bg-secondary: #0e1525;--bg-tertiary: #151d33;--bg-card: rgba(14, 21, 37, .85);--bg-card-hover: rgba(21, 29, 51, .95);--bg-glass: rgba(14, 21, 37, .65);--bg-input: rgba(12, 17, 30, .95);--bg-surface: rgba(20, 28, 48, .6);--border-primary: rgba(99, 102, 241, .12);--border-hover: rgba(99, 102, 241, .3);--border-active: rgba(99, 102, 241, .55);--border-subtle: rgba(255, 255, 255, .04);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #5e6b82;--text-accent: #818cf8;--accent-blue: #00D4FF;--accent-purple: #8B5CF6;--accent-pink: #EC4899;--accent-green: #10B981;--accent-orange: #F59E0B;--accent-red: #EF4444;--accent-cyan: #06B6D4;--gradient-blue: linear-gradient(135deg, #00D4FF 0%, #6366F1 100%);--gradient-purple: linear-gradient(135deg, #8B5CF6 0%, #EC4899 100%);--gradient-green: linear-gradient(135deg, #10B981 0%, #06B6D4 100%);--gradient-warm: linear-gradient(135deg, #F59E0B 0%, #EF4444 100%);--gradient-accent: linear-gradient(135deg, #00D4FF 0%, #8B5CF6 50%, #EC4899 100%);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .5);--shadow-glow-blue: 0 0 24px rgba(0, 212, 255, .12), 0 0 6px rgba(0, 212, 255, .05);--shadow-glow-purple: 0 0 24px rgba(139, 92, 246, .12);--shadow-glow-green: 0 0 24px rgba(16, 185, 129, .12);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--sidebar-width: 320px;--header-height: 52px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);overflow:hidden;height:100vh}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#6366f133;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#6366f159}#app{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(0,212,255,.04),transparent),radial-gradient(ellipse 60% 60% at 100% 100%,rgba(139,92,246,.03),transparent),var(--bg-primary)}#app-header{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 16px;background:#0e1525e6;border-bottom:1px solid var(--border-primary);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:100;flex-shrink:0}.header-left{display:flex;align-items:center;gap:14px}.logo{display:flex;align-items:center;gap:9px}.logo-icon{width:26px;height:26px;animation:logoFloat 4s ease-in-out infinite}@keyframes logoFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(1deg)}}.logo h1{font-size:1.1rem;font-weight:700;background:var(--gradient-blue);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.header-subtitle{font-size:.72rem;color:var(--text-muted);font-weight:400}.header-right{display:flex;align-items:center;gap:8px}.header-controls{display:flex;gap:6px}.header-divider{width:1px;height:24px;background:var(--border-primary);margin:0 4px}.header-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.header-btn svg{width:15px;height:15px}.header-btn:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-card-hover)}.header-btn.danger:hover{border-color:#ef444459;color:var(--accent-red)}.ctrl-btn{display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 14px;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);font-family:var(--font-sans);font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.ctrl-btn svg{width:14px;height:14px}.ctrl-btn:disabled{opacity:.35;cursor:not-allowed}.ctrl-btn:hover:not(:disabled){border-color:var(--border-hover);color:var(--text-primary)}.ctrl-btn.primary{background:var(--gradient-blue);border-color:transparent;color:#fff}.ctrl-btn.primary:hover:not(:disabled){box-shadow:var(--shadow-glow-blue);opacity:.92}.speed-control{display:flex;align-items:center;gap:6px}.speed-control label{font-size:.68rem;color:var(--text-muted);white-space:nowrap}.speed-control input[type=range]{width:60px;height:3px;-webkit-appearance:none;appearance:none;background:var(--bg-primary);border-radius:2px;outline:none}.speed-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent-blue);cursor:pointer;box-shadow:0 0 6px #00d4ff40}#speed-value{font-family:var(--font-mono);font-size:.68rem;color:var(--accent-blue);min-width:22px}#main-layout{display:flex;flex:1;overflow:hidden}#sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.sidebar-section{padding:14px;border-bottom:1px solid var(--border-subtle)}.section-header{display:flex;align-items:center;gap:7px;margin-bottom:10px}.section-header h2{font-size:.78rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.06em}.section-icon{width:16px;height:16px;color:var(--accent-blue)}.section-subheader{font-size:.68rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.toggle-header{cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-header:hover h2{color:var(--accent-blue)}.toggle-chevron{width:14px;height:14px;margin-left:auto;color:var(--text-muted);transition:transform var(--transition-normal)}.collapsible .collapse-body{overflow:hidden;max-height:500px;transition:max-height var(--transition-slow),opacity var(--transition-normal);opacity:1}.collapsible.collapsed .collapse-body{max-height:0;opacity:0}.collapsible.collapsed .toggle-chevron{transform:rotate(-90deg)}.layer-count-badge{font-family:var(--font-mono);font-size:.62rem;font-weight:600;background:var(--accent-blue);color:var(--bg-primary);padding:1px 5px;border-radius:10px;margin-left:auto;min-width:18px;text-align:center;display:none}.layer-count-badge.visible{display:inline-block}.input-tabs{display:flex;gap:2px;background:var(--bg-primary);border-radius:var(--radius-sm);padding:3px;margin-bottom:10px}.tab-btn{flex:1;padding:5px 0;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--text-muted);font-family:var(--font-sans);font-size:.72rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.tab-btn.active{background:var(--bg-tertiary);color:var(--text-primary);box-shadow:0 1px 4px #0003}.tab-btn:hover:not(.active){color:var(--text-secondary)}.tab-content{display:none}.tab-content.active{display:block}#digit-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}.digit-card{aspect-ratio:1;border:1.5px solid var(--border-primary);border-radius:var(--radius-xs);background:var(--bg-primary);cursor:pointer;transition:all var(--transition-fast);overflow:hidden;position:relative}.digit-card:hover{border-color:var(--accent-blue);transform:scale(1.1);z-index:2;box-shadow:var(--shadow-glow-blue)}.digit-card.selected{border-color:var(--accent-blue);box-shadow:var(--shadow-glow-blue);border-width:2px}.digit-card canvas{width:100%;height:100%;display:block}#draw-canvas{width:100%;aspect-ratio:1;border:1.5px solid var(--border-primary);border-radius:var(--radius-md);background:#000;cursor:crosshair;display:block}.draw-controls{display:flex;gap:6px;margin-top:6px}.upload-zone{border:2px dashed var(--border-primary);border-radius:var(--radius-md);padding:20px;text-align:center;cursor:pointer;transition:all var(--transition-normal);color:var(--text-muted)}.upload-zone:hover,.upload-zone.dragover{border-color:var(--accent-blue);color:var(--text-primary);background:#00d4ff08}.upload-zone svg{width:28px;height:28px;margin-bottom:6px;opacity:.6}.upload-zone p{font-size:.72rem}.input-preview{display:none;align-items:center;gap:10px;margin-top:10px;padding:8px;background:var(--bg-primary);border-radius:var(--radius-md);border:1px solid var(--border-primary)}.input-preview.visible{display:flex}.input-preview canvas{border-radius:var(--radius-xs);border:1px solid var(--border-subtle);image-rendering:pixelated;width:48px;height:48px}.preview-info{font-size:.68rem;color:var(--text-muted);font-family:var(--font-mono)}#layer-list{display:flex;flex-direction:column;gap:3px;margin-bottom:10px;max-height:260px;overflow-y:auto}.layer-item{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xs);cursor:grab;transition:all var(--transition-fast);font-size:.78rem}.layer-item:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.layer-item.dragging{opacity:.5;cursor:grabbing}.layer-badge{font-family:var(--font-mono);font-size:.62rem;font-weight:700;padding:2px 5px;border-radius:3px;color:#fff;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.3)}.layer-badge.conv{background:var(--gradient-blue)}.layer-badge.pool{background:var(--gradient-purple)}.layer-badge.flatten{background:var(--gradient-warm)}.layer-badge.dense{background:var(--gradient-green)}.layer-badge.bn{background:linear-gradient(135deg,#10b981,#0ea5e9)}.layer-badge.act{background:linear-gradient(135deg,#ec4899,#8b5cf6)}.layer-info{flex:1;font-size:.7rem;color:var(--text-secondary);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-actions{display:flex;gap:3px}.layer-action-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:3px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.layer-action-btn svg{width:12px;height:12px}.layer-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.layer-action-btn.delete:hover{color:var(--accent-red)}.add-layer-group{display:flex;gap:6px;margin-bottom:10px}.add-layer-group select{flex:1;padding:6px 8px;border:1px solid var(--border-primary);border-radius:var(--radius-xs);background:var(--bg-input);color:var(--text-primary);font-family:var(--font-sans);font-size:.72rem;cursor:pointer;outline:none;transition:border-color var(--transition-fast)}.add-layer-group select:hover,.add-layer-group select:focus{border-color:var(--border-hover)}.templates-group{display:flex;flex-wrap:wrap;gap:4px;padding-top:2px}.template-btn{padding:4px 8px;border:1px solid var(--border-primary);border-radius:var(--radius-xs);background:var(--bg-primary);color:var(--text-secondary);font-family:var(--font-sans);font-size:.68rem;cursor:pointer;transition:all var(--transition-fast)}.template-btn:hover{border-color:var(--accent-purple);color:var(--accent-purple);box-shadow:var(--shadow-glow-purple);transform:translateY(-1px)}.sm-btn{padding:5px 10px;border:1px solid var(--border-primary);border-radius:var(--radius-xs);background:var(--bg-tertiary);color:var(--text-secondary);font-family:var(--font-sans);font-size:.72rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:4px;white-space:nowrap}.sm-btn svg{width:13px;height:13px}.sm-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.sm-btn.primary{background:var(--gradient-blue);border-color:transparent;color:#fff;font-weight:600}.sm-btn.primary:hover{opacity:.9;box-shadow:var(--shadow-glow-blue)}#main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}#pipeline-flow-section{padding:10px 16px;background:#0e152599;border-bottom:1px solid var(--border-subtle);overflow-x:auto;flex-shrink:0}.pipeline-flow{display:flex;align-items:center;gap:3px;min-height:65px}.flow-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:72px;transition:all var(--transition-normal);position:relative;cursor:pointer}.flow-card:hover{border-color:var(--border-hover);transform:translateY(-1px)}.flow-card.active{border-color:var(--accent-blue);box-shadow:var(--shadow-glow-blue);background:#00d4ff0f}.flow-card.completed{border-color:var(--accent-green);opacity:.85}.flow-card.completed:after{content:"✓";position:absolute;top:-5px;right:-5px;width:14px;height:14px;border-radius:50%;background:var(--accent-green);color:#fff;font-size:8px;display:flex;align-items:center;justify-content:center;font-weight:700}.flow-icon{width:20px;height:20px;color:var(--accent-blue)}.flow-icon svg{width:100%;height:100%}.flow-name{font-size:.62rem;font-weight:600;color:var(--text-primary);text-align:center}.flow-dims{font-family:var(--font-mono);font-size:.56rem;color:var(--accent-blue);text-align:center}.flow-params{font-size:.52rem;color:var(--text-muted)}.flow-arrow{display:flex;align-items:center;flex-shrink:0}.model-summary-stats{margin-top:10px;padding:8px 14px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.75rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.model-summary-stats strong{color:var(--text-primary);font-weight:600}#viz-area{flex:1;overflow-y:auto;padding:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:350px;text-align:center;opacity:.8}.empty-state.hidden{display:none}.empty-icon{width:72px;height:72px;margin-bottom:14px;animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}.empty-state h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:6px}.empty-state p{font-size:.82rem;color:var(--text-muted);max-width:380px;line-height:1.5;margin-bottom:20px}.empty-state-hints{display:flex;gap:20px}.hint-item{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-secondary)}.hint-badge{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.68rem;font-weight:700;color:#fff}.hint-badge.blue{background:var(--gradient-blue)}.hint-badge.purple{background:var(--gradient-purple)}.hint-badge.green{background:var(--gradient-green)}#viz-steps{display:flex;flex-direction:column;gap:14px}.viz-step{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:stepFadeIn .4s ease-out}@keyframes stepFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#0003;border-bottom:1px solid var(--border-subtle)}.step-title{display:flex;align-items:center;gap:8px}.step-number{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.68rem;font-weight:700;color:#fff}.step-number.input,.step-number.conv{background:var(--gradient-blue)}.step-number.pool{background:var(--gradient-purple)}.step-number.flatten{background:var(--gradient-warm)}.step-number.dense{background:var(--gradient-green)}.step-number.bn{background:linear-gradient(135deg,#10b981,#0ea5e9)}.step-number.act{background:linear-gradient(135deg,#ec4899,#8b5cf6)}.step-name{font-size:.82rem;font-weight:600}.step-dims{font-family:var(--font-mono);font-size:.68rem;color:var(--accent-blue);background:#00d4ff14;padding:2px 6px;border-radius:3px}.step-params{font-size:.68rem;color:var(--text-muted)}.step-conv-info{display:flex;gap:6px;align-items:center}.conv-info-chip{font-family:var(--font-mono);font-size:.62rem;padding:2px 6px;border-radius:3px;font-weight:500}.conv-info-chip.stride{background:#8b5cf61f;color:var(--accent-purple);border:1px solid rgba(139,92,246,.2)}.conv-info-chip.padding{background:#10b9811f;color:var(--accent-green);border:1px solid rgba(16,185,129,.2)}.conv-info-chip.kernel{background:#00d4ff1a;color:var(--accent-blue);border:1px solid rgba(0,212,255,.2)}.conv-info-chip.activation{background:#ec48991a;color:var(--accent-pink);border:1px solid rgba(236,72,153,.2)}.step-body{padding:14px}.step-content{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}.step-viz-group{display:flex;flex-direction:column;gap:5px}.step-viz-label{font-size:.68rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.fm-label{font-size:.68rem;font-weight:500;color:var(--text-muted);margin-bottom:5px}.fm-grid{display:flex;flex-wrap:wrap;gap:6px}.fm-single{display:flex;flex-direction:column;align-items:center;gap:2px}.fm-canvas{border-radius:2px;border:1px solid var(--border-subtle);image-rendering:pixelated}.fm-dim{font-family:var(--font-mono);font-size:.56rem;color:var(--text-muted)}.kernel-header{font-size:.68rem;font-weight:500;color:var(--text-muted);margin-bottom:6px}.kernel-grid{display:flex;flex-wrap:wrap;gap:8px}.kernel-single{display:flex;flex-direction:column;align-items:center;gap:2px}.kernel-label{font-family:var(--font-mono);font-size:.58rem;font-weight:600;color:var(--accent-purple)}.kernel-canvas{border-radius:2px;border:1px solid var(--border-subtle)}.flatten-viz{width:100%}.flatten-viz canvas{border-radius:3px;width:100%;height:20px}.flatten-info{font-family:var(--font-mono);font-size:.65rem;color:var(--text-muted);margin-top:3px}.dense-viz{width:100%}.prediction-label{display:flex;align-items:center;gap:10px;margin-bottom:10px}.pred-digit{font-family:var(--font-mono);font-size:2.8rem;font-weight:800;background:var(--gradient-blue);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.pred-conf{font-family:var(--font-mono);font-size:1.1rem;color:var(--accent-green);font-weight:600}.confidence-bars{display:flex;flex-direction:column;gap:3px;max-width:480px}.conf-row{display:flex;align-items:center;gap:6px;transition:transform var(--transition-fast)}.conf-row.predicted{transform:scale(1.02)}.conf-label{font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--text-secondary);width:14px;text-align:right}.conf-bar-bg{flex:1;height:18px;background:var(--bg-primary);border-radius:3px;overflow:hidden}.conf-bar-fill{height:100%;background:var(--gradient-purple);border-radius:3px;transition:width .6s cubic-bezier(.22,1,.36,1);min-width:2px}.conf-bar-fill.top{background:var(--gradient-blue);box-shadow:0 0 8px #00d4ff40}.conf-value{font-family:var(--font-mono);font-size:.65rem;color:var(--text-muted);min-width:42px;text-align:right}.dense-info{font-family:var(--font-mono);font-size:.65rem;color:var(--text-muted);margin-top:3px}.conv-params-viz{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;padding:10px 14px;background:#00000026;border-radius:var(--radius-md);margin-bottom:10px;border:1px solid var(--border-subtle)}.conv-param-item{display:flex;flex-direction:column;gap:2px;align-items:center}.conv-param-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.conv-param-value{font-family:var(--font-mono);font-size:.82rem;font-weight:700;padding:2px 8px;border-radius:var(--radius-xs)}.conv-param-value.stride-val{color:var(--accent-purple);background:#8b5cf61a}.conv-param-value.padding-val{color:var(--accent-green);background:#10b9811a}.conv-param-value.kernel-val{color:var(--accent-blue);background:#00d4ff1a}.conv-param-value.activation-val{color:var(--accent-pink);background:#ec48991a}.stride-arrow-viz{display:flex;align-items:center;gap:4px}.stride-arrow-viz svg{width:20px;height:20px;color:var(--accent-purple)}.padding-indicator{position:relative;display:inline-block}.padding-border{border:2px dashed rgba(16,185,129,.4);padding:4px;border-radius:3px;position:relative}.padding-label-corner{position:absolute;top:-8px;left:4px;font-size:.52rem;font-family:var(--font-mono);color:var(--accent-green);background:var(--bg-card);padding:0 3px}.modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}.modal.hidden{display:none}.modal-overlay{position:absolute;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);min-width:360px;max-width:480px;box-shadow:var(--shadow-lg);animation:modalIn .25s ease}.modal-content-lg{min-width:500px;max-width:700px}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-subtle)}.modal-header h3{font-size:.88rem;font-weight:600}.modal-close{background:none;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:4px;line-height:1}.modal-close:hover{color:var(--text-primary)}#modal-body{padding:14px 16px;max-height:380px;overflow-y:auto}#conv-detail-body{padding:14px 16px;max-height:500px;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:6px;padding:10px 16px;border-top:1px solid var(--border-subtle)}.aug-controls{display:flex;flex-direction:column;gap:6px}.aug-controls .form-group{margin-bottom:0}.aug-controls label{display:flex;justify-content:space-between;align-items:center;font-size:.68rem;color:var(--text-secondary);margin-bottom:3px}.aug-controls label span{font-family:var(--font-mono);color:var(--accent-blue);font-weight:500}.aug-controls input[type=range]{width:100%;height:3px;-webkit-appearance:none;appearance:none;background:var(--bg-primary);border-radius:2px;outline:none}.aug-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:var(--text-primary);cursor:pointer}.aug-controls input[type=checkbox]{accent-color:var(--accent-blue)}.form-group{margin-bottom:10px}.form-group label{display:block;font-size:.72rem;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.form-group select,.form-group input[type=number]{width:100%;padding:6px 8px;border:1px solid var(--border-primary);border-radius:var(--radius-xs);background:var(--bg-input);color:var(--text-primary);font-family:var(--font-sans);font-size:.78rem;outline:none;transition:border-color var(--transition-fast)}.form-group select:focus,.form-group input:focus{border-color:var(--accent-blue)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.processing-shimmer{background:linear-gradient(90deg,transparent,rgba(0,212,255,.08),transparent);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes slideInRight{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.ctrl-btn.primary.running{animation:glow-pulse 1.5s ease-in-out infinite}@keyframes glow-pulse{0%,to{box-shadow:0 0 8px #00d4ff26}50%{box-shadow:0 0 20px #00d4ff59}}.ctrl-btn.train{background:linear-gradient(135deg,#f59e0b,#ef4444);border-color:transparent;color:#fff;font-weight:700}.ctrl-btn.train:hover:not(:disabled){box-shadow:0 0 16px #f59e0b59;opacity:.92}.ctrl-btn.train.running{animation:train-pulse 1.2s ease-in-out infinite;pointer-events:none}@keyframes train-pulse{0%,to{box-shadow:0 0 8px #f59e0b33}50%{box-shadow:0 0 24px #f59e0b8c}}.training-progress{padding:8px 0}.train-progress-bar{width:100%;height:20px;background:var(--bg-tertiary);border-radius:var(--radius-md);overflow:hidden;margin-bottom:16px;border:1px solid var(--border-primary)}.train-progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#ef4444,#8b5cf6);background-size:200% 100%;border-radius:var(--radius-md);transition:width .4s ease;animation:progress-shimmer 2s linear infinite}@keyframes progress-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.train-metrics{display:flex;gap:24px;margin-bottom:16px;flex-wrap:wrap}.train-metric{display:flex;flex-direction:column;align-items:center;min-width:100px;padding:12px 16px;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-primary)}.train-metric-label{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-tertiary);margin-bottom:4px}.train-metric-value{font-size:1.2rem;font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.train-log{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.train-log-entry{display:flex;gap:16px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--bg-tertiary);font-family:var(--font-mono);font-size:.78rem;border-left:3px solid var(--accent-orange);animation:fadeInRight .3s ease}.train-log-entry.train-log-final{border-left-color:var(--accent-green);background:#22c55e0d;font-size:.85rem;padding:12px 16px}.train-log-epoch{color:var(--accent-blue);font-weight:600;min-width:60px}.train-log-loss{color:var(--text-secondary);min-width:110px}.train-log-acc{font-weight:700}:root{--accent-orange: #f59e0b;--accent-red: #ef4444;--gradient-green: linear-gradient(90deg, #22c55e, #10b981)}@media(max-width:1024px){.header-subtitle,.speed-control{display:none}}@media(max-width:900px){#main-layout{flex-direction:column}#sidebar{width:100%;min-width:unset;max-height:35vh;border-right:none;border-bottom:1px solid var(--border-primary)}.pipeline-flow{overflow-x:auto}.header-controls{gap:4px}.ctrl-btn{padding:5px 8px;font-size:.68rem}}
