:root{--impact-air: #90CAF9;--venturi-suction: #1565C0;--fuel-supply: #FFEE58;--regulated-fuel: #FFA726;--metered-fuel: #EF5350;--air-color: #90CAF9;--air-glow: rgba(144, 202, 249, .3);--fuel-color: #EF5350;--fuel-glow: rgba(239, 83, 80, .3);--mixture-color: #FFA726;--mixture-glow: rgba(255, 167, 38, .3);--linkage-color: #fdd835;--linkage-glow: rgba(253, 216, 53, .3);--control-color: #66bb6a;--control-glow: rgba(102, 187, 106, .3);--sensor-color: #ab47bc;--sensor-glow: rgba(171, 71, 188, .3);--bg-primary: #0a0e1a;--bg-secondary: #111827;--bg-tertiary: #1a2236;--bg-glass: rgba(17, 24, 39, .75);--bg-glass-hover: rgba(26, 34, 54, .85);--border-color: rgba(255, 255, 255, .08);--border-active: rgba(79, 195, 247, .4);--text-primary: #f0f4f8;--text-secondary: #94a3b8;--text-muted: #64748b;--accent: #4fc3f7;--accent-warm: #ff9800;--danger: #ef4444;--success: #22c55e;--warning: #f59e0b;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 8px 32px rgba(0,0,0,.5);--shadow-glow: 0 0 20px rgba(79, 195, 247, .15);--font-main: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--topbar-height: 56px;--info-panel-width: 380px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;font-family:var(--font-main);font-size:14px;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased}#app{display:flex;flex-direction:column;height:100vh;overflow:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#00000026;border-radius:5px}::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:5px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#fff6}::-webkit-scrollbar-corner{background:transparent}.hidden{display:none!important}.blurred{filter:blur(15px);pointer-events:none}.fading-out{opacity:0;transition:opacity .8s ease-in-out}.glass-panel{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}#top-bar{display:flex;align-items:center;height:var(--topbar-height);padding:0 var(--space-md);background:linear-gradient(180deg,#111827f2,#0a0e1afa);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:2px solid rgba(0,242,254,.2);box-shadow:0 4px 20px #00000080;position:sticky;top:0;z-index:1000;gap:var(--space-md);flex-shrink:0}.logo-area{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.logo-img{height:32px;width:auto;filter:drop-shadow(0 0 8px rgba(79,195,247,.3));border-radius:var(--radius-sm)}.logo-area h1{font-size:15px;font-weight:600;letter-spacing:-.3px;white-space:nowrap;background:linear-gradient(135deg,var(--accent) 0%,#81d4fa 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}#main-nav{display:flex;gap:2px;flex:1;justify-content:center}.nav-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;background:transparent;color:var(--text-secondary);font-family:var(--font-main);font-size:12.5px;font-weight:500;cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease;white-space:nowrap}.nav-btn:hover{background:#ffffff0f;color:var(--text-primary)}.nav-btn.active{background:#4fc3f71f;color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.nav-icon{font-size:14px}.mode-selector{display:flex;gap:2px;padding:3px;background:#ffffff0a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.04);flex-shrink:0}.mode-btn{padding:7px 14px;border:1px solid rgba(0,242,254,.25);background:#00f2fe0d;color:#89a;font-family:var(--font-main);font-size:12px;font-weight:600;cursor:pointer;border-radius:6px;transition:all .25s ease;letter-spacing:.3px}.mode-btn:hover{color:#e2e8f0;background:#00f2fe1a;border-color:#00f2fe66}.mode-btn.active{background:#00f2fe2e;color:#00f2fe;border-color:#00f2fe99;box-shadow:0 0 12px #00f2fe33,inset 0 0 8px #00f2fe0d}.mode-group{border-left:1px solid rgba(0,242,254,.15);padding-left:12px!important;margin-left:4px}#main-content{flex:1;position:relative;overflow:hidden}.page{display:none;position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--space-lg);padding-bottom:100px;background:var(--bg-primary);overflow-y:auto;z-index:10}.page.active{display:flex;flex-direction:column}.page-header{margin-bottom:var(--space-lg)}.page-header h2{font-size:22px;font-weight:700;margin-bottom:4px}.page-header .subtitle{color:var(--text-secondary);font-size:13px}#page-carburetor{padding:0;height:calc(100vh - var(--topbar-height));overflow:hidden}#viewport-container{position:relative;flex:1;display:flex;flex-direction:row;min-height:50vh;overflow:hidden}#view-toolbar{display:flex;align-items:center;gap:var(--space-md);padding:8px var(--space-md);background:#111827a6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);box-shadow:inset 0 -1px #ffffff05;flex-shrink:0;flex-wrap:wrap;min-height:48px}.toolbar-group{display:flex;align-items:center;gap:4px}.toolbar-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-right:4px;font-weight:600}.tool-btn{padding:5px 10px;border:1px solid var(--border-color);background:#ffffff08;color:var(--text-secondary);font-family:var(--font-main);font-size:11.5px;cursor:pointer;border-radius:4px;transition:all .15s ease}.tool-btn:hover{background:#ffffff14;color:var(--text-primary);border-color:#ffffff26}.tool-btn.active{background:#4fc3f726;color:var(--accent);border-color:var(--border-active);box-shadow:0 0 10px #4fc3f71a}#btn-auto-rotate.active{background:#00f2fe26;color:#00f2fe;text-shadow:0 0 8px rgba(0,242,254,.4);animation:pulse-glow 2s infinite}@keyframes pulse-glow{0%{box-shadow:0 0 5px #00f2fe33}50%{box-shadow:0 0 15px #00f2fe66}to{box-shadow:0 0 5px #00f2fe33}}#cinematic-hud{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease}#cinematic-hud.hidden{opacity:0}.hud-corner{position:absolute;padding:12px 18px;color:var(--accent);text-shadow:0 0 10px rgba(0,242,254,.4);font-family:JetBrains Mono,monospace;display:flex;flex-direction:column;gap:5px;background:#0c122166;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(0,242,254,.15);pointer-events:none}.hud-corner.top-left{top:20px;left:20px;align-items:flex-start;border-left:3px solid var(--accent)}.hud-corner.top-right{top:20px;right:20px;align-items:flex-end;border-right:3px solid var(--accent)}.hud-corner.bottom-left{bottom:20px;left:20px;width:220px;border-left:3px solid var(--accent)}.hud-corner.bottom-right{bottom:20px;right:20px;align-items:flex-end;border-right:3px solid var(--accent)}.hud-data,.hud-label,.hud-status,.hud-brand,.hud-clock{font-size:11px;font-weight:700;letter-spacing:1px}.hud-status{color:#fff;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}.hud-bar-group{margin-top:10px}.hud-bar-label{font-size:8px;margin-bottom:4px;opacity:.7}.hud-bar{height:4px;width:100%;background:#00f2fe1a;border-radius:2px;overflow:hidden}.hud-bar-fill{height:100%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.hud-scanner-ring{position:absolute;border:1px solid rgba(0,242,254,.1);border-radius:50%;aspect-ratio:1}.ring-1{width:80vw;max-width:400px;border-style:dashed;animation:rotate 20s linear infinite}.ring-2{width:70vw;max-width:350px;border-width:2px;border-color:#00f2fe0d;animation:rotate 15s linear reverse infinite}@media(max-width:600px){.hud-corner{padding:8px 10px;font-size:8px;border-width:1px!important}.hud-corner.top-left,.hud-corner.top-right{top:140px}.hud-corner.bottom-left,.hud-corner.bottom-right{bottom:60px}.hud-corner.bottom-left{width:120px}.hud-data,.hud-status,.hud-brand,.hud-clock,#hud-subsystem{font-size:8px}.ring-1{width:85vw}.ring-2{width:75vw}.hud-center-reticle{width:60px;height:60px}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hud-center-reticle{width:120px;height:120px;border:1px solid rgba(0,242,254,.2);border-radius:50%;position:relative}.hud-center-reticle:before,.hud-center-reticle:after{content:"";position:absolute;background:var(--accent)}.hud-center-reticle:before{top:0;left:50%;width:1px;height:10px}.hud-center-reticle:after{left:0;top:50%;width:10px;height:1px}#three-canvas-wrap{flex:1;position:relative;overflow:hidden;display:flex}#blueprint-panel{width:50%;height:100%;background:#0c1221;border-right:2px solid var(--border-color);display:flex;flex-direction:column;position:relative;z-index:50;transition:width .5s cubic-bezier(.16,1,.3,1);overflow:hidden}#blueprint-panel.hidden{width:0;border-right:none}#blueprint-viewer{flex:1;overflow:hidden;position:relative;cursor:grab;background:#000;display:flex;align-items:center;justify-content:center}#blueprint-viewer:active{cursor:grabbing}#blueprint-canvas-wrap{position:relative;transform-origin:0 0;will-change:transform}#blueprint-img{display:block;max-width:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}#blueprint-header{padding:10px 16px;background:#111827bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;z-index:60;box-shadow:0 -4px 20px #0003}#blueprint-title{font-size:12px;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.blueprint-tools{display:flex;align-items:center;gap:16px}.blueprint-hint{font-size:10px;color:var(--text-muted)}#blueprint-zoom-reset{background:#ffffff0d;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:4px;padding:2px 10px;font-size:16px;cursor:pointer;transition:all .2s}#blueprint-zoom-reset:hover{background:#ffffff1a;color:var(--text-primary)}#blueprint-hotspots{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.blueprint-hotspot{position:absolute;pointer-events:auto;cursor:pointer;border:2px solid transparent;border-radius:4px;transition:all .2s ease;z-index:55}.blueprint-hotspot:hover{background:#4ade8026;border-color:#4ade80;box-shadow:0 0 15px #4ade8066}#three-canvas-wrap{flex:1;position:relative;min-width:0}#three-canvas{width:100%!important;height:100%!important;display:block}#label-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}.part-label{position:absolute;background:#0a0e1af7;color:#e2e8f0;padding:5px 10px;border-radius:5px;font-size:11px;font-weight:600;white-space:nowrap;pointer-events:auto;cursor:pointer;border:1px solid rgba(100,160,200,.3);border-left:3px solid rgba(100,160,200,.6);transition:transform .15s ease,box-shadow .15s ease;transform:translate(-50%,-50%);box-shadow:0 2px 8px #00000080;display:flex;flex-direction:column;align-items:flex-start;gap:2px;z-index:15}.label-main{font-weight:700;letter-spacing:.2px}.bernoulli-data{font-size:9px;color:#4fc3f7;font-family:JetBrains Mono,monospace;background:#0000004d;padding:2px 4px;border-radius:3px;margin-top:4px;border-top:1px solid rgba(79,195,247,.2)}.part-label:hover{background:#141c2dfa;border-color:var(--accent);transform:translate(-50%,-50%) scale(1.05);box-shadow:0 6px 20px #0009,0 0 10px #4fc3f74d}.part-label.zone-1{background:linear-gradient(135deg,#0a0e1afa,#141c2df2);border-width:1.5px;border-color:#4fc3f766;letter-spacing:.8px;text-transform:uppercase;padding:8px 16px;font-size:13px;font-weight:800;box-shadow:0 8px 25px #00000080,0 0 15px #4fc3f71a}.part-label.zone-1:before{content:"ASSEMBLY";position:absolute;top:-8px;left:10px;font-size:7px;background:var(--accent);color:#000;padding:1px 4px;border-radius:2px;font-weight:900}.part-label.zone-3{background:#0a0e1ae0;border-style:dashed;font-style:italic;font-size:9.5px}.part-label.occluded-ghost{display:none}.leader-lines{position:absolute;top:0;left:0;pointer-events:none;z-index:9}.context-inset{position:absolute;bottom:var(--space-md);background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-sm);z-index:20;box-shadow:var(--shadow-lg);transition:opacity .3s ease,transform .3s ease}.context-inset.hidden{opacity:0;pointer-events:none;transform:translateY(10px)}.context-inset h4{font-size:11px;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}#fuel-inset{left:var(--space-md)}#air-inset{right:calc(var(--space-md) + var(--info-panel-width) + var(--space-md))}#pressure-legend{position:absolute;top:var(--space-md);left:var(--space-md);background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);z-index:20;transition:opacity .3s ease}#pressure-legend.hidden{opacity:0;pointer-events:none}.p-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);margin-bottom:2px}.p-dot{width:10px;height:10px;border-radius:50%}.p-dot.high{background:#ef4444}.p-dot.ambient{background:#94a3b8}.p-dot.low{background:#3b82f6}#info-panel{position:absolute;top:0;right:0;background:#080c18fa;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);width:var(--info-panel-width);height:100%;padding:var(--space-xl);overflow-y:auto;transform:translate(100%);transition:transform .4s cubic-bezier(.16,1,.3,1);z-index:2000;border-radius:0;border-left:2px solid rgba(0,242,254,.3);box-shadow:-10px 0 50px #000c}#info-panel.visible{transform:translate(0)}.panel-close{position:absolute;top:var(--space-md);right:var(--space-md);width:28px;height:28px;border:1px solid var(--border-color);background:#ffffff0d;color:var(--text-secondary);font-size:16px;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.panel-close:hover{background:#ef444433;color:var(--danger);border-color:var(--danger)}.user-greeting{position:absolute;top:20px;left:20px;z-index:60;padding:10px 18px;background:#0f172a80;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-left:3px solid var(--accent);border-radius:6px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#fff;letter-spacing:.3px;box-shadow:0 10px 30px #0006;pointer-events:auto}.user-greeting:hover{background:#4fc3f71a;border-color:var(--accent);transform:translate(5px);box-shadow:0 10px 40px #4fc3f733}.set-name-prompt{color:var(--accent);font-weight:600;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}#part-name{font-size:18px;font-weight:700;margin-bottom:6px;padding-right:36px}.badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge.air{background:#4fc3f726;color:var(--air-color)}.badge.fuel{background:#c6282826;color:#ef5350}.badge.mixture{background:#ff980026;color:var(--mixture-color)}.badge.linkage{background:#fdd83526;color:var(--linkage-color)}.badge.control{background:#66bb6a26;color:var(--control-color)}.badge.sensor{background:#ab47bc26;color:var(--sensor-color)}.info-section{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-color)}.info-section h4{font-size:11.5px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}.info-section p{font-size:13px;line-height:1.6;color:var(--text-primary)}#part-mini-canvas{width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid var(--border-color);margin-top:6px;background:var(--bg-tertiary)}#process-panel{position:absolute;bottom:15px;left:15px;right:15px;max-width:none;width:auto;height:auto;background:#080c12d9;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(0,242,254,.15);border-radius:14px;box-shadow:0 10px 40px #0009;z-index:100;display:flex;flex-direction:column;padding:14px 18px;gap:10px;transition:all .5s cubic-bezier(.16,1,.3,1);overflow:visible;pointer-events:none}#process-panel>*{pointer-events:auto}#process-panel.hidden{transform:translateY(150%);opacity:0;pointer-events:none}#process-selector{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:20px;align-items:stretch}.process-groups{display:contents}.proc-group{display:flex;flex-direction:column;gap:8px}.proc-group label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-weight:700;display:block;margin-bottom:2px}.process-btn{padding:6px 10px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:var(--text-secondary);font-family:var(--font-main);font-size:11px;cursor:pointer;border-radius:6px;transition:all .2s ease;white-space:nowrap}.process-btn:hover{background:#ffffff14;color:var(--text-primary)}.process-btn.active{background:#4fc3f726;color:var(--accent);border-color:var(--border-active)}.process-btn.abnormal{border-color:#ef444433}.process-btn.abnormal:hover{background:#ef44441a;color:#fca5a5}.process-btn.abnormal.active{background:#ef444433;color:#fca5a5;border-color:#ef444466}#timeline-control{position:absolute;top:-60px;left:50%;transform:translate(-50%);min-width:450px;background:#0a0e1ae6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(0,242,254,.3);border-radius:30px;padding:8px 18px;display:flex;align-items:center;gap:12px;z-index:1000;box-shadow:0 0 15px #00f2fe33}.timeline-btn{background:transparent;border:none;font-size:18px;color:#00f2fe;cursor:pointer;transition:transform .2s}.timeline-btn:hover{transform:scale(1.2)}#timeline-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#4fc3f726;height:4px;border-radius:2px}#timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#00f2fe;border-radius:50%;box-shadow:0 0 10px #00f2fe;cursor:pointer}#timeline-slider::-moz-range-thumb{width:14px;height:14px;background:#00f2fe;border:none;border-radius:50%;cursor:pointer}#process-description-area{display:flex;gap:15px;margin-top:5px;border-top:1px solid rgba(255,255,255,.05);padding-top:10px}#process-telemetry{flex:0 0 160px;background:#0006;border:1px solid rgba(0,242,254,.1);border-radius:4px;padding:8px;display:flex;flex-direction:column;gap:8px}.telemetry-stat{display:flex;flex-direction:column;border-left:2px solid rgba(0,242,254,.2);padding-left:8px}.t-label{font-size:8px;color:#64748b;text-transform:uppercase;font-weight:800;letter-spacing:.5px}.t-value{font-family:JetBrains Mono,monospace;font-size:13px;color:#00f2fe;text-shadow:0 0 8px rgba(0,242,254,.3)}#process-description{flex:1;font-size:11.5px;line-height:1.5;color:#94a3b8;background:#0003;padding:10px 14px;border-radius:6px;max-height:110px;overflow-y:auto;border:1px solid rgba(255,255,255,.03)}#process-description p{margin:0}.leader-lines{filter:drop-shadow(0 0 2px rgba(0,242,254,.3))}#timeline-time{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);min-width:36px}#process-description{width:100%;height:auto;max-height:180px;padding:12px;background:#0000004d;border:1px solid rgba(79,195,247,.1);border-radius:8px;font-size:11px;line-height:1.5;color:#94a3b8;overflow-y:auto}#mixture-lab{padding:var(--space-md);background:#111827a6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border-color);box-shadow:inset 0 1px #ffffff08;flex-shrink:0}#mixture-lab.hidden{display:none}#mixture-lab h3{font-size:14px;margin-bottom:var(--space-sm)}.mixture-controls{margin-bottom:var(--space-sm)}.mixture-controls label{font-size:12px;color:var(--text-secondary);font-weight:600}.mixture-slider-wrap{display:flex;align-items:center;gap:var(--space-sm);margin-top:4px}.mix-label{font-size:10px;color:var(--text-muted);white-space:nowrap}#mixture-slider{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(90deg,#333 0%,var(--fuel-color) 30%,var(--mixture-color) 60%,var(--mixture-color) 80%,var(--fuel-color) 100%);border-radius:3px;outline:none}#mixture-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:#fff;border:2px solid var(--accent);border-radius:50%;cursor:pointer;box-shadow:0 0 10px #4fc3f766}#mixture-position-label{font-size:12px;color:var(--accent);font-weight:600;margin-top:4px}.mixture-graphs{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.mixture-graphs canvas{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);flex:1}#mixture-explanation{margin-top:var(--space-sm);padding:var(--space-md);font-size:13px;line-height:1.6}.fuel-system-layout{display:flex;gap:var(--space-md);flex:1;min-height:0}#fuel-schematic-container{flex:1;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;overflow:hidden}#fuel-schematic-canvas{max-width:100%;max-height:100%}#fuel-info-panel{width:340px;padding:var(--space-lg);overflow-y:auto;flex-shrink:0}#fuel-info-panel h3{font-size:16px;margin-bottom:var(--space-md)}#fuel-component-detail{font-size:13px;line-height:1.65;color:var(--text-secondary)}#fuel-component-detail h4{color:var(--text-primary);font-size:12px;margin-top:var(--space-md);margin-bottom:4px}#fuel-animations-control{display:flex;gap:8px;margin-top:var(--space-md);flex-shrink:0;flex-wrap:wrap}.fuel-anim-btn{padding:8px 16px;border:1px solid var(--border-color);background:#ffffff0a;color:var(--text-secondary);font-family:var(--font-main);font-size:12px;cursor:pointer;border-radius:var(--radius-sm);transition:all .15s ease;flex:1 1 auto}.fuel-anim-btn:hover{background:#ffffff14;color:var(--text-primary)}.fuel-anim-btn.active{background:#c6282826;color:#ef5350;border-color:#c6282866}.valves-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-md)}.valve-card{background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-lg);cursor:pointer;transition:all .2s ease}.valve-card:hover{border-color:var(--border-active);transform:translateY(-2px);box-shadow:var(--shadow-glow)}.valve-card h4{font-size:14px;margin-bottom:6px}.valve-card p{font-size:12px;color:var(--text-secondary);line-height:1.5}.valve-card .valve-icon{font-size:28px;margin-bottom:var(--space-sm)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .3s ease}.modal.hidden{display:none}.modal-content{width:90%;max-width:680px;max-height:85vh;padding:var(--space-xl);overflow-y:auto;position:relative}.modal-close{position:absolute;top:var(--space-md);right:var(--space-md);width:32px;height:32px;border:1px solid var(--border-color);background:#ffffff0d;color:var(--text-secondary);font-size:18px;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.modal-close:hover{background:#ef444433;color:var(--danger)}#valve-detail-canvas{width:100%;max-height:350px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:var(--space-md)}#valve-info{font-size:13px;line-height:1.65}#valve-info h4{font-size:13px;color:var(--accent);margin-top:var(--space-md);margin-bottom:4px}.troubleshoot-layout{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg);min-height:480px}#symptom-categories{width:320px;flex-shrink:0}#symptom-categories h3{font-size:15px;margin-bottom:var(--space-md)}#symptom-list{display:flex;flex-direction:column;gap:4px}.symptom-card{padding:var(--space-md);background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.symptom-card:hover{border-color:var(--border-active);background:var(--bg-glass-hover)}.symptom-card.active{border-color:var(--accent);background:#4fc3f714}.symptom-card h4{font-size:13px;margin-bottom:2px}.symptom-card p{font-size:11px;color:var(--text-muted)}#diagnosis-panel{flex:1;padding:var(--space-lg);overflow-y:auto}#diagnosis-content h3{font-size:16px;margin-bottom:var(--space-md)}#diagnosis-content h4{font-size:13px;color:var(--accent);margin-top:var(--space-md);margin-bottom:6px}#diagnosis-content p,#diagnosis-content li{font-size:13px;line-height:1.6;color:var(--text-secondary)}#diagnosis-content ul{padding-left:var(--space-lg);margin-top:4px}#diagnosis-content li{margin-bottom:4px}.rich-lean-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.rich-lean-badge.rich{background:#c6282833;color:#ef5350}.rich-lean-badge.lean{background:#4fc3f726;color:var(--air-color)}#mixture-diagnosis{padding:var(--space-lg)}#mixture-diagnosis h3{font-size:15px;margin-bottom:var(--space-md)}.mixture-diag-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-md);overflow-x:hidden}.mixture-diag-card{background:#0000004d;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-md)}.mixture-diag-card h4{font-size:13px;color:var(--accent);margin-bottom:6px}.mixture-diag-card p{font-size:12px;line-height:1.5;color:var(--text-secondary)}.glossary-search{margin-bottom:var(--space-md)}#glossary-search-input{width:100%;max-width:400px;padding:10px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-main);font-size:14px;outline:none;transition:border-color .2s}#glossary-search-input:focus{border-color:var(--accent)}#glossary-search-input::placeholder{color:var(--text-muted)}.glossary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-md)}.glossary-card{background:#0f172a80;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:20px;transition:border-color .2s,transform .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.glossary-card:hover{border-color:#4fc3f74d;transform:translateY(-4px);background:#0f172aa6}.glossary-card h4{font-size:14px;color:var(--accent);margin-bottom:6px}.glossary-card p{font-size:13px;line-height:1.6;color:var(--text-secondary)}.glossary-card canvas{width:100%;height:80px;margin-top:var(--space-sm);background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.quiz-page-layout{display:flex;gap:var(--space-lg);height:100%;min-height:0}.quiz-main{flex:1;min-width:0;overflow-y:auto;padding-right:var(--space-sm)}.quiz-analytics{width:320px;flex-shrink:0;background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-lg);overflow-y:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.quiz-analytics h3{font-size:14px;font-weight:700;margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-color)}.analytics-section{margin-bottom:var(--space-lg)}.analytics-section h4{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:var(--space-sm)}.analytics-section canvas{width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid var(--border-color)}#quiz-stats-bar{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-md);flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:6px}.stat-icon{font-size:18px}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:16px;font-weight:700;color:var(--text-primary);line-height:1.1}.stat-label{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-item.xp-bar-wrap{flex:1;min-width:120px;flex-direction:column;gap:4px;align-items:stretch}.xp-bar{width:100%;height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden}.xp-bar-fill{height:100%;background:linear-gradient(90deg,#4fc3f7,#039be5,#4fc3f7);background-size:200% 100%;border-radius:3px;transition:width .4s ease;animation:xp-shimmer 2s linear infinite}@keyframes xp-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.xp-bar-label{font-size:9px;color:var(--text-muted);text-align:right}.quiz-controls{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap}.quiz-selectors{display:flex;gap:var(--space-sm);flex-wrap:wrap}.quiz-selectors select{padding:10px 32px 10px 14px;background:#ffffff0a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#e2e8f0;font-size:13px;font-family:inherit;font-weight:500;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2394a3b8' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:all .2s ease}.quiz-selectors select:hover{background-color:#ffffff12;border-color:#ffffff26}.quiz-selectors select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4fc3f71a}.quiz-selectors select option{background:#0f172a;color:#e2e8f0}.quiz-selectors select optgroup{color:var(--text-muted);font-weight:600}.quiz-actions{display:flex;align-items:center;gap:var(--space-sm)}.quiz-count-label{font-size:11px;color:var(--text-muted)}.primary-btn{padding:10px 24px;background:linear-gradient(135deg,var(--accent),#039be5);border:none;color:#0c1221;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;border-radius:30px;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #4fc3f733;text-transform:uppercase;letter-spacing:.5px}.primary-btn:hover{box-shadow:0 8px 25px #4fc3f766;transform:translateY(-2px) scale(1.02);filter:brightness(1.1)}.primary-btn:active{transform:translateY(0) scale(1);box-shadow:0 4px 10px #4fc3f733}.primary-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;filter:grayscale(1);box-shadow:none}#quiz-score{font-size:14px;font-weight:600;color:var(--accent)}#quiz-score.hidden{display:none}#quiz-area{max-width:700px}#quiz-question-card{background:#0f172a66;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:32px;position:relative;box-shadow:0 12px 40px #0006,inset 0 1px #ffffff0a}#quiz-question-card.hidden{display:none}.q-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.q-num{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.difficulty-badge{font-size:10px;font-weight:600;padding:3px 10px;border-radius:12px;text-transform:capitalize}.difficulty-badge.beginner{background:#22c55e1f;color:#22c55e}.difficulty-badge.intermediate{background:#eab3081f;color:#eab308}.difficulty-badge.advanced{background:#ef44441f;color:#ef4444}.q-text{font-size:16px;line-height:1.6;margin-bottom:var(--space-lg)}.q-options{display:flex;flex-direction:column;gap:var(--space-sm)}.quiz-option{padding:16px 20px;background:#ffffff08;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.06);border-radius:14px;cursor:pointer;font-size:14px;color:#e2e8f0;font-family:var(--font-main);text-align:left;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.quiz-option:hover{background:#ffffff14;border-color:#4fc3f759;transform:translate(4px);box-shadow:0 4px 15px #0003}.quiz-option.correct{background:#22c55e26;border-color:var(--success);color:var(--success);animation:correct-pulse .4s ease}.quiz-option.incorrect{background:#ef444426;border-color:var(--danger);color:#fca5a5;animation:shake .4s ease}.quiz-option.disabled{pointer-events:none;opacity:.7}@keyframes correct-pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.q-actions{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);flex-wrap:wrap}.hint-btn{padding:6px 14px;background:#ff98001a;border:1px solid rgba(255,152,0,.25);color:#ffa726;font-family:var(--font-main);font-size:12px;cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease}.hint-btn:hover{background:#ff980033;border-color:#ff980066}.hint-btn.hidden{display:none}.hint-text{font-size:12px;color:#ffa726;padding:6px 12px;background:#ff980014;border-radius:var(--radius-sm);border-left:3px solid #ffa726}.hint-text.hidden{display:none}.xp-popup{position:absolute;top:var(--space-md);right:var(--space-lg);font-size:16px;font-weight:700;color:#4fc3f7;pointer-events:none;opacity:0;transform:translateY(0)}.xp-popup.hidden{display:none}.xp-popup.animate{animation:xp-float 1.5s ease forwards}@keyframes xp-float{0%{opacity:0;transform:translateY(10px)}20%{opacity:1;transform:translateY(-5px)}80%{opacity:1;transform:translateY(-20px)}to{opacity:0;transform:translateY(-35px)}}#process-description{background:#00f2fe0d;border:1px solid rgba(0,242,254,.2);border-radius:8px;padding:15px;max-height:160px;overflow-y:auto;font-family:var(--font-mono);font-size:11px;line-height:1.6;color:#a3b3c8;box-shadow:inset 0 0 20px #00f2fe0d}#process-description strong{color:#00f2fe;text-transform:uppercase;letter-spacing:1px;display:block;margin-bottom:8px;font-size:12px}#process-description strong{color:var(--accent);display:block;margin-bottom:6px;font-family:JetBrains Mono;text-transform:uppercase;letter-spacing:1px}#process-description::-webkit-scrollbar{width:4px}#process-description::-webkit-scrollbar-track{background:transparent}#process-description::-webkit-scrollbar-thumb{background:#4fc3f74d;border-radius:2px}.q-feedback{margin-top:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);font-size:13px;line-height:1.6}.q-feedback.hidden{display:none}.q-feedback.correct-feedback{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#86efac}.proc-group label{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:2px;margin-bottom:12px;display:block;font-weight:700}.abnormal-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.process-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}#quiz-next-btn{margin-top:var(--space-md)}#quiz-next-btn.hidden{display:none}.quiz-complete-stats{display:flex;gap:var(--space-lg);margin-top:var(--space-md);padding:var(--space-md);background:#0003;border-radius:var(--radius-md)}.complete-stat{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--text-primary)}#quiz-welcome{padding:var(--space-xl) var(--space-lg);text-align:center}.welcome-content{max-width:400px;margin:0 auto}.welcome-icon{font-size:48px;margin-bottom:var(--space-md)}.welcome-content h3{font-size:18px;margin-bottom:var(--space-sm)}.welcome-content p{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-sm)}.welcome-sub{font-size:12px!important;color:var(--text-muted)!important}.topic-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.topic-bar-name{font-size:9px;color:var(--text-secondary);width:80px;flex-shrink:0;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic-bar-track{flex:1;height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden}.topic-bar-fill{height:100%;border-radius:3px;transition:width .4s ease}.topic-bar-pct{font-size:10px;font-weight:600;width:30px;text-align:right}.glossary-phase-section{margin-bottom:var(--space-xl)}.glossary-phase-heading{font-size:15px;font-weight:700;color:var(--text-primary);padding:var(--space-sm) 0;margin-bottom:var(--space-md);border-bottom:2px solid rgba(79,195,247,.2);letter-spacing:.3px}.mental-hook{margin-top:var(--space-sm);padding:8px 12px;background:#ff98000f;border-left:3px solid rgba(255,152,0,.4);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:12px;line-height:1.5;color:#ffa726}.hook-label{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px}#color-legend{position:absolute;bottom:var(--space-md);left:var(--space-md);display:flex;flex-wrap:wrap;gap:var(--space-md);padding:8px 14px;background:#111827d9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-sm);z-index:90}.legend-item{display:flex;align-items:center;gap:4px;font-size:10.5px;color:var(--text-muted)}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.impact-air{background:var(--impact-air)}.legend-dot.venturi-suction{background:var(--venturi-suction)}.legend-dot.fuel-supply{background:var(--fuel-supply)}.legend-dot.regulated-fuel{background:var(--regulated-fuel)}.legend-dot.metered-fuel{background:var(--metered-fuel)}.legend-dot.linkage{background:var(--linkage-color)}.legend-dot.control{background:var(--control-color)}.layer-slider{width:80px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff1f;border-radius:2px;outline:none}.layer-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--accent);border-radius:50%;cursor:pointer;box-shadow:0 0 6px #4fc3f766}.layer-label-text{font-size:10px;color:var(--text-muted);min-width:28px}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #4fc3f733}50%{box-shadow:0 0 20px #4fc3f766}}@keyframes flow-dot{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fade-in .4s ease forwards}.valves-layout{display:grid;grid-template-columns:350px 1fr;gap:var(--space-lg);flex:1}#valves-side-panel{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);height:fit-content}#valves-side-panel h3{margin-bottom:0}#valves-side-panel .subtitle{font-size:12px;color:var(--text-muted);margin-bottom:var(--space-xs);line-height:1.4}@media(max-width:1024px){.valves-layout{grid-template-columns:1fr}}#valves-interaction-list{display:flex;flex-direction:column;gap:var(--space-sm);max-height:70vh;overflow-y:auto;padding-right:6px}.valve-list-item{padding:var(--space-md) var(--space-lg);background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.valve-list-item:hover{background:var(--bg-glass-hover);border-color:var(--accent);transform:translate(4px)}.valve-list-item.active{background:#4fc3f71a;border-color:var(--accent);box-shadow:0 0 15px #4fc3f71a}.valve-item-title{font-weight:700;font-size:14px;color:var(--text-primary);margin-bottom:4px}.valve-item-location{font-size:11px;color:var(--text-muted);line-height:1.4}#valve-detail-display{padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg);animation:fade-in .3s ease}.valve-detail-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:var(--space-md)}.system-badge{font-size:10px;font-weight:800;padding:4px 10px;border-radius:100px;text-transform:uppercase}.system-mixture{background:#ff980033;color:#ffab40}.system-fuel{background:#f4433633;color:#ff5252}.system-control{background:#4caf5033;color:#69f0ae}.exam-note-box{background:#fdd8350d;border:1px dashed rgba(253,216,53,.3);padding:var(--space-md);border-radius:var(--radius-md)}.exam-note-box label{color:#fdd835;font-weight:800;display:block;margin-bottom:4px;font-size:11px}.diag-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.alert-box{background:#ef44440d;border:1px solid rgba(239,68,68,.2);padding:var(--space-md);border-radius:var(--radius-md)}.alert-box.warn{background:#f59e0b0d;border-color:#f59e0b33}.alert-box label{display:block;font-weight:800;font-size:11px;color:#ef4444;margin-bottom:4px}.alert-box.warn label{color:#f59e0b}.troubleshooting-matrix-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);flex:1}#symptom-matrix-grid{display:flex;flex-direction:column;gap:var(--space-md)}.symptom-action-card{padding:var(--space-md);background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.symptom-action-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#ef4444;opacity:.5}.symptom-action-card:hover{border-color:#ef4444;background:#ef44440d}.symptom-action-card.active{border-color:#ef4444;background:#ef44441a}.symptom-title{font-weight:700;font-size:15px;margin-bottom:6px}.symptom-suspect{font-size:12px;color:var(--text-muted)}.diagnosis-detail{padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg);animation:slide-up .4s ease}.diag-suspect-box,.diag-mechanic-box{background:#ffffff08;padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color)}.diag-suspect-box label,.diag-mechanic-box label{font-weight:800;font-size:10px;text-transform:uppercase;color:var(--accent);margin-bottom:6px;display:block}.diag-grid-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.diag-checks-box{background:#22c55e08;padding:var(--space-md);border-radius:var(--radius-md);border:1px solid rgba(34,197,94,.2)}.diag-checks-box label{font-weight:800;font-size:11px;color:#22c55e;margin-bottom:8px;display:block}.diag-checks-box ul{padding-left:18px;font-size:13px;color:var(--text-secondary)}.diag-checks-box li{margin-bottom:4px}.visual-feedback-hint{border-top:1px solid var(--border-color);padding-top:var(--space-md);color:var(--accent);font-size:13px}@media(max-width:1200px){:root{--info-panel-width: 320px}}@media(max-width:900px){#main-nav{overflow-x:auto}.fuel-system-layout,.troubleshoot-layout{flex-direction:column}#fuel-info-panel,#symptom-categories{width:100%}#color-legend{display:none}.mixture-graphs{flex-wrap:wrap}.quiz-page-layout{flex-direction:column}.quiz-analytics{width:100%;max-height:400px}#quiz-stats-bar{gap:var(--space-md)}.quiz-selectors{flex-direction:column;width:100%}.quiz-selectors select{width:100%}}.icing-lab-layout{display:grid;grid-template-columns:300px 1fr;gap:var(--space-lg);flex:1;min-height:0}.lab-controls{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);overflow-y:auto}.lab-controls .control-group{display:flex;flex-direction:column;gap:6px}.lab-controls .control-group label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px}.lab-controls .control-group input[type=range]{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff1a;border-radius:3px;outline:none}.lab-controls .control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--accent);border-radius:50%;cursor:pointer;box-shadow:0 0 8px #4fc3f780;transition:box-shadow .2s}.lab-controls .control-group input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 0 16px #4fc3f7cc}.value-readout{font-size:14px;font-weight:700;color:var(--accent);font-family:var(--font-mono)}.toggle-group{flex-direction:row!important;align-items:center;justify-content:space-between}.lab-stats{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:var(--space-md);border-top:1px solid var(--border-color)}.stat{display:flex;justify-content:space-between;align-items:center;font-size:12px}.stat .label{color:var(--text-secondary)}.stat .value{font-weight:600;font-family:var(--font-mono)}.stat .value.cold{color:#81d4fa}.stat .value.warning{color:#f59e0b}.stat .value.danger{color:#ef4444;text-shadow:0 0 10px rgba(239,68,68,.5)}.toggle-btn{padding:8px 20px;background:#ffffff0d;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-main);font-weight:700;font-size:13px;transition:all .25s cubic-bezier(.4,0,.2,1)}.toggle-btn:hover{background:#ffffff1a}.toggle-btn.active{background:linear-gradient(135deg,#ef444440,#ff980033);color:#ff6b6b;border-color:#ef4444;box-shadow:0 0 20px #ef444440,inset 0 0 15px #ef444414;text-shadow:0 0 8px rgba(239,68,68,.4)}.lab-visuals{display:flex;flex-direction:column;gap:var(--space-md);min-height:0}#venturi-visual{position:relative;display:flex;flex-direction:column;padding:var(--space-lg);flex:1;min-height:280px}#venturi-visual h4{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:var(--space-sm)}.venturi-animation-wrap{flex:1;min-height:160px;background:linear-gradient(180deg,#050a18,#0a1228,#050a18);border-radius:var(--radius-md);position:relative;overflow:hidden;border:1px solid rgba(79,195,247,.08);box-shadow:inset 0 0 40px #0009}.venturi-animation-wrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(79,195,247,.12) 0%,transparent 8%),linear-gradient(270deg,rgba(79,195,247,.12) 0%,transparent 8%),radial-gradient(ellipse 30% 15% at 30% 50%,rgba(79,195,247,.08) 0%,transparent 100%),radial-gradient(ellipse 30% 15% at 70% 50%,rgba(79,195,247,.08) 0%,transparent 100%),radial-gradient(ellipse 20% 40% at 50% 50%,rgba(79,195,247,.04) 0%,transparent 100%);pointer-events:none;z-index:1}.venturi-animation-wrap:after{content:"";position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(79,195,247,.3),transparent);animation:venturi-scan 4s ease-in-out infinite;z-index:2;pointer-events:none}@keyframes venturi-scan{0%,to{top:10%;opacity:0}10%{opacity:1}90%{opacity:1}50%{top:90%}}#venturi-ice-overlay{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;z-index:3;transition:opacity 1.5s ease;background:radial-gradient(ellipse 60% 40% at 50% 50%,rgba(129,212,250,.6) 0%,rgba(129,212,250,.2) 40%,transparent 70%)}#venturi-flow-particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4}.flow-dot{position:absolute;width:3px;height:3px;background:#81d4fa;border-radius:50%;box-shadow:0 0 4px #81d4fa99;transition:none}.gauge-grid{display:flex;justify-content:space-around;padding:var(--space-sm) 0;flex-shrink:0}.gauge-wrap{display:flex;flex-direction:column;align-items:center;gap:4px}.gauge-wrap canvas{display:block}.gauge-label{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px}#icing-info{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);flex-shrink:0}#icing-info h4{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}#icing-status-msg{padding:var(--space-md);background:#ffffff08;border-radius:var(--radius-sm);font-size:13px;line-height:1.6;border-left:3px solid var(--accent);transition:all .4s ease}#icing-status-msg.warning{border-left-color:var(--warning);background:#f59e0b0f;color:#fcd34d}#icing-status-msg.danger{border-left-color:var(--danger);background:#ef44441a;color:#fca5a5;animation:pulse-border 1s infinite alternate}@keyframes pulse-border{0%{border-left-color:#ef4444}to{border-left-color:#fca5a5}}.edu-bits{padding:var(--space-md);background:#4fc3f708;border-radius:var(--radius-sm);border:1px solid rgba(79,195,247,.08)}.edu-bits h5{font-size:11px;text-transform:uppercase;color:var(--accent);margin-bottom:6px;letter-spacing:.3px}.edu-bits p{font-size:12px;color:var(--text-secondary);line-height:1.5}.venturi-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.venturi-svg path{fill:none;stroke:#4fc3f733;stroke-width:2}.venturi-svg .venturi-fill{fill:#4fc3f708;stroke:none}.primary-btn{padding:14px 24px;background:linear-gradient(135deg,#4fc3f7,#0288d1);border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s;letter-spacing:.3px}.primary-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #4fc3f74d}.primary-btn:disabled{opacity:.35;cursor:not-allowed}.welcome-modal-note{color:#475569;font-size:11px;margin-top:16px}.user-greeting{position:absolute;top:16px;left:16px;z-index:20;color:#94a3b8;font-size:13px;font-weight:600;padding:6px 14px;background:#4fc3f71a;border:1px solid rgba(79,195,247,.2);border-radius:4px;box-shadow:0 0 10px #0006;white-space:nowrap;animation:greetFade .6s ease}.admin-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px;max-width:1400px;min-height:calc(100vh - 140px)}.admin-actions,.admin-data{display:flex;flex-direction:column;gap:24px}.admin-card{padding:24px;border-radius:16px}.admin-card h3{font-size:16px;font-weight:600;color:#e0e7ff;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}.admin-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:14px;cursor:pointer;transition:all .25s;font-family:Inter,sans-serif;text-align:center}.admin-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.admin-btn-icon{font-size:28px;margin-bottom:4px}.admin-btn-label{font-size:13px;font-weight:600;color:#e0e7ff}.admin-btn-desc{font-size:10px;color:#64748b;line-height:1.3}.admin-btn.danger{border-color:#ef444426;background:#ef44440a}.admin-btn.danger:hover{background:#ef44441a;border-color:#ef44444d}.admin-btn.warn{border-color:#f59e0b26;background:#f59e0b0a}.admin-btn.warn:hover{background:#f59e0b1a;border-color:#f59e0b4d}.admin-btn.primary{border-color:#4fc3f726;background:#4fc3f70a}.admin-btn.primary:hover{background:#4fc3f71a;border-color:#4fc3f74d}.admin-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.admin-stat-card{padding:16px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:12px;text-align:center}.admin-stat-value{font-size:26px;font-weight:700;color:#4fc3f7;display:block;margin-bottom:4px}.admin-stat-label{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.admin-data-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}.admin-data-header h3{margin-bottom:0;padding-bottom:0;border-bottom:none}#admin-data-selector{padding:8px 12px;background:#ffffff0a;border:1px solid rgba(79,195,247,.15);border-radius:8px;color:#e0e7ff;font-size:12px;font-family:Inter,sans-serif;cursor:pointer;outline:none}#admin-data-selector option{background:#0f172a;color:#e0e7ff}.admin-data-viewer{max-height:600px;overflow-y:auto;padding:2px}.admin-data-viewer::-webkit-scrollbar{width:6px}.admin-data-viewer::-webkit-scrollbar-track{background:transparent}.admin-data-viewer::-webkit-scrollbar-thumb{background:#4fc3f726;border-radius:3px}.admin-data-placeholder{color:#475569;font-size:13px;text-align:center;padding:40px}.admin-json-block{background:#0000004d;border:1px solid rgba(255,255,255,.04);border-radius:10px;padding:16px;font-family:JetBrains Mono,Fira Code,monospace;font-size:11.5px;color:#94a3b8;white-space:pre-wrap;word-break:break-all;line-height:1.6}.admin-table{width:100%;border-collapse:collapse;font-size:12px}.admin-table th{text-align:left;padding:10px 12px;color:#4fc3f7;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(79,195,247,.1);position:sticky;top:0;background:#0f172af2;z-index:1}.admin-table td{padding:8px 12px;color:#cbd5e1;border-bottom:1px solid rgba(255,255,255,.03);vertical-align:top}.admin-table tr:hover td{background:#4fc3f708}.admin-table .correct-answer{color:#4ade80;font-weight:600}.admin-toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%) translateY(20px);padding:14px 28px;background:#0f172af2;border:1px solid rgba(79,195,247,.2);border-radius:12px;color:#e0e7ff;font-size:13px;font-weight:500;z-index:9999;pointer-events:none;opacity:0;animation:toastIn .3s ease forwards;box-shadow:0 12px 40px #0006}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.admin-toast.danger{border-color:#ef44444d}.admin-toast.success{border-color:#4ade804d}.welcome-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999;display:flex;align-items:center;justify-content:center}.welcome-modal.hidden{display:none!important}.welcome-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#030712d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.welcome-modal-content{position:relative;z-index:1;background:linear-gradient(135deg,#0f172abf,#141e37d9);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:28px;padding:48px 44px;max-width:480px;width:90%;text-align:center;box-shadow:0 32px 80px #00000080,inset 0 1px #ffffff0d;animation:modalSlideIn .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome-modal-icon{font-size:52px;margin-bottom:16px;animation:floatIcon 3s ease-in-out infinite}@keyframes floatIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.welcome-modal-content h2{font-size:24px;font-weight:700;color:#e0e7ff;margin-bottom:8px}.welcome-modal-sub{font-size:13px;color:#64748b;line-height:1.5;margin-bottom:28px}.welcome-modal-form{display:flex;flex-direction:column;gap:12px}.welcome-modal-form label{font-size:12px;font-weight:600;color:#94a3b8;text-align:left}.welcome-modal-form input{padding:14px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#e2e8f0;font-size:15px;font-family:var(--font-main);outline:none;transition:all .25s ease}.welcome-modal-form input:focus{border-color:#4fc3f766;box-shadow:0 0 0 3px #4fc3f714}.welcome-modal-form input::placeholder{color:#475569}.welcome-modal-form button{padding:14px;border-radius:12px;border:none;background:linear-gradient(135deg,#0288d1,#4fc3f7);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s;font-family:var(--font-main)}.welcome-modal-form button:disabled{opacity:.35;cursor:not-allowed;transform:none}.welcome-modal-form button:not(:disabled):hover{opacity:.9;transform:translateY(-1px)}.welcome-modal-note{font-size:10px;color:#475569;margin-top:16px}.user-greeting{font-size:12px;font-weight:500;color:#4fc3f7;padding:4px 12px;background:#4fc3f70f;border:1px solid rgba(79,195,247,.12);border-radius:20px;margin-left:12px;white-space:nowrap;animation:greetFade .6s ease forwards}@keyframes greetFade{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.user-greeting:empty{display:none}.wrong-review{margin-top:24px;text-align:left}.wrong-review h4{font-size:15px;font-weight:700;color:#f87171;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid rgba(248,113,113,.15)}.wrong-review.perfect h4{color:#4ade80;border-bottom-color:#4ade8026;text-align:center}.wrong-review-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding-right:4px}.wrong-review-item{display:flex;gap:10px;padding:14px;background:#f871710a;border:1px solid rgba(248,113,113,.1);border-radius:10px}.wrong-q-num{font-size:13px;font-weight:700;color:#f87171;flex-shrink:0;width:24px}.wrong-q-body{flex:1;min-width:0}.wrong-q-text{font-size:12px;font-weight:600;color:#e0e7ff;margin-bottom:8px;line-height:1.4}.wrong-q-your{font-size:11px;color:#94a3b8;margin-bottom:3px}.wrong-your{color:#f87171;font-weight:600}.wrong-q-correct{font-size:11px;color:#94a3b8;margin-bottom:6px}.wrong-correct{color:#4ade80;font-weight:600}.wrong-q-explain{font-size:10px;color:#64748b;line-height:1.4;padding-top:6px;border-top:1px solid rgba(255,255,255,.04)}.hamburger-btn{display:none;flex-direction:column;justify-content:space-between;width:30px;height:20px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001}.hamburger-btn span{width:100%;height:3px;background-color:var(--accent);border-radius:10px;transition:all .3s ease}.hamburger-btn.active span:nth-child(1){transform:translateY(8.5px) rotate(45deg)}.hamburger-btn.active span:nth-child(2){opacity:0}.hamburger-btn.active span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}#header-nav-group{display:flex;flex:1;align-items:center}@media(max-width:1024px){:root{--info-panel-width: 100%}html,body{overflow:auto!important}#app{height:auto;min-height:100vh;overflow:visible}.page-layout{flex-direction:column!important;height:auto!important;overflow:visible!important}#main-content{flex-direction:column;height:auto}#viewport-container{height:85vh;min-height:500px;border-bottom:2px solid var(--border-color)}#info-panel{width:100%!important;height:auto!important;border-left:none!important;position:static!important;overflow:visible!important;background:#0a0f19fa!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:0 -10px 30px #00000080;border-top:1px solid var(--accent)}#info-panel.visible{transform:none!important;margin-top:0}#view-toolbar{position:static;flex-direction:column;height:auto;padding:var(--space-md);background:var(--bg-secondary);border-top:1px solid var(--border-color)}.toolbar-group{width:100%;display:flex;overflow-x:auto;padding-bottom:8px;white-space:nowrap;gap:var(--space-sm);scrollbar-width:none}}@media(max-width:1300px){.hamburger-btn{display:flex}#header-nav-group{display:none;position:absolute;top:var(--topbar-height);left:0;right:0;flex-direction:column;background:var(--bg-secondary);border-bottom:2px solid var(--accent);padding:var(--space-md);z-index:10000;box-shadow:0 15px 40px #0009;animation:slideDown .3s ease-out}#header-nav-group.mobile-open{display:flex}#main-nav{flex-direction:column;width:100%;gap:8px;margin-bottom:var(--space-md)}.nav-btn{width:100%;padding:16px;justify-content:flex-start;background:#ffffff08;border-radius:var(--radius-md)}.mode-selector{width:100%;padding:8px;background:#0000004d;justify-content:space-around}.logo-area h1{display:none}.mobile-notice{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:20px;background:#04070ef2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transition:opacity .8s ease,visibility .8s ease}.mobile-notice.hidden{display:none}.mobile-notice.fading-out{opacity:0;visibility:hidden}.mobile-notice-glass{max-width:440px;background:linear-gradient(145deg,var(--bg-tertiary),#0f172a);border:1px solid var(--accent);padding:32px;border-radius:20px;text-align:center;box-shadow:0 40px 100px #000c;animation:noticePop .5s cubic-bezier(.175,.885,.32,1.275)}.mobile-icon{font-size:64px;display:block;margin-bottom:12px;filter:drop-shadow(0 0 15px var(--accent))}.mobile-notice h3{color:var(--accent);margin-bottom:12px;font-size:24px}.mobile-notice p{color:var(--text-secondary);line-height:1.8;font-size:15px}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes noticePop{0%{transform:scale(.8) translateY(40px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.troubleshooting-matrix-layout{display:flex;gap:24px;height:calc(100vh - 180px);min-height:500px}#symptom-list{flex:0 0 340px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-right:8px}#diagnosis-panel{flex:1;overflow-y:auto;min-width:0}#symptom-matrix-grid{display:flex;flex-direction:column;gap:12px}.symptom-action-card{padding:16px;background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.symptom-action-card:hover{background:#1e293bcc;border-color:#4fc3f766;transform:translate(4px)}.symptom-action-card.active{background:linear-gradient(135deg,#4fc3f726,#4fc3f70d);border-color:#4fc3f7;box-shadow:0 0 20px #4fc3f726}.symptom-title{font-size:14px;font-weight:700;color:#f1f5f9;margin-bottom:6px;line-height:1.4}.symptom-suspect{font-size:11px;color:#94a3b8;line-height:1.4}.symptom-suspect strong{color:#cbd5e1}.diagnosis-detail{padding:32px;border-radius:20px;background:#0f172a66;border:1px solid rgba(255,255,255,.05);animation:diagSlideIn .4s ease-out}@keyframes diagSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.diag-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:20px}.diag-header h3{font-size:22px;font-weight:700;color:#e2e8f0;line-height:1.3}.rich-lean-badge{flex-shrink:0;padding:6px 14px;border-radius:20px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.rich-lean-badge.rich{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.2)}.rich-lean-badge.lean{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.2)}.diag-grid-split{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}.diag-suspect-box,.diag-mechanic-box,.diag-checks-box{background:#0003;padding:24px;border-radius:16px;border:1px solid rgba(255,255,255,.03)}.diag-suspect-box label,.diag-mechanic-box label,.diag-checks-box label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;color:#64748b;margin-bottom:16px;letter-spacing:1px}.diag-suspect-box p,.diag-mechanic-box p{font-size:14px;line-height:1.6;color:#cbd5e1}.diag-checks-box ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px}.diag-checks-box li{padding:14px;background:#1e293b66;border-radius:10px;font-size:13px;color:#94a3b8;line-height:1.5;border-left:3px solid #4fc3f7}.visual-feedback-hint{margin-top:32px;padding:16px;background:#4fc3f70d;border-radius:12px;text-align:center;border:1px dashed rgba(79,195,247,.2)}.visual-feedback-hint p{font-size:13px;color:#4fc3f7}@media(max-width:1024px){.troubleshooting-matrix-layout{flex-direction:column;height:auto}#symptom-list{flex:none;width:100%;max-height:320px;padding-right:0}.diag-grid-split,.diag-checks-box ul{grid-template-columns:1fr}}@media(max-width:640px){.diagnosis-detail{padding:20px}.diag-header{flex-direction:column;align-items:flex-start}.diag-header h3{font-size:18px}}.library-layout{display:flex;gap:24px;height:calc(100vh - 200px);min-height:500px}.library-sidebar{flex:0 0 240px;padding:24px;display:flex;flex-direction:column;gap:16px}.library-sidebar h3{font-size:11px;text-transform:uppercase;color:var(--text-muted);letter-spacing:1px;font-weight:700}.library-categories{display:flex;flex-direction:column;gap:8px}.lib-cat-btn{padding:12px 16px;text-align:left;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:10px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s ease;font-family:inherit}.lib-cat-btn:hover{background:#ffffff14;color:var(--text-primary);border-color:#ffffff1a}.lib-cat-btn.active{background:#4fc3f71f;border-color:var(--accent);color:var(--accent);font-weight:600}.library-main{flex:1;background:#00000026;border-radius:20px;border:1px solid var(--border-color);overflow-y:auto;padding:24px}.library-scroll-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.ref-card{background:#0f172a80;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:18px;overflow:hidden;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;box-shadow:0 8px 30px #0003}.ref-card:hover{transform:translateY(-8px) scale(1.02);border-color:#4fc3f766;background:#0f172aa6;box-shadow:0 20px 40px #0000004d}.ref-thumb-wrap{width:100%;height:180px;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.04)}.ref-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;opacity:.85}.ref-card:hover img{transform:scale(1.05);opacity:1}.ref-info{padding:18px}.ref-info h4{font-size:15px;font-weight:700;margin-bottom:6px;color:#e2e8f0}.ref-info p{font-size:12px;color:#94a3b8;line-height:1.5}.library-viewer-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.library-viewer-modal.hidden{display:none}.viewer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#030712eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.viewer-content{position:relative;width:100%;max-width:1200px;height:100%;max-height:850px;display:flex;flex-direction:column;overflow:hidden;z-index:10;border:1px solid rgba(255,255,255,.1)}.viewer-header{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;background:#0f172acc;border-bottom:1px solid rgba(255,255,255,.05)}.viewer-header h3{font-size:16px;font-weight:700;color:var(--accent)}.close-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:24px;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:#ef444433;color:#f87171;border-color:#ef44444d}#viewer-viewport{flex:1;background:#020617;overflow:hidden;position:relative;cursor:grab}#viewer-viewport:active{cursor:grabbing}#viewer-canvas-wrap{transform-origin:0 0;will-change:transform}#viewer-img{display:block;-webkit-user-select:none;user-select:none;pointer-events:none;max-width:none;max-height:100%;width:auto;height:auto}.viewer-instructions{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background:#0f172acc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:10px 20px;border-radius:30px;font-size:12px;color:#94a3b8;pointer-events:none;z-index:5;border:1px solid rgba(255,255,255,.05)}.viewer-instructions span{color:#f1f5f9;font-weight:600}.viewer-footer{padding:20px 32px;display:flex;justify-content:space-between;align-items:center;background:#0f172ae6;border-top:1px solid rgba(255,255,255,.05)}.zoom-controls{display:flex;align-items:center;gap:20px}.zoom-controls button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.zoom-controls button:hover{background:var(--accent);color:#020617;border-color:var(--accent)}#zoom-percent{font-size:14px;font-weight:700;color:var(--text-secondary);min-width:50px;text-align:center}@media(max-width:1024px){.library-layout{flex-direction:column;height:auto}.library-sidebar{flex:none;width:100%;padding:16px;background:#0f172a66;border-radius:16px}.library-categories{flex-direction:row;overflow-x:auto;padding-bottom:4px;gap:12px;scrollbar-width:none}.library-categories::-webkit-scrollbar{display:none}.lib-cat-btn{white-space:nowrap;padding:10px 20px}.viewer-content{height:calc(100% - 40px)}}.ref-card.studied{border-color:#22c55e4d}.studied-badge{position:absolute;top:10px;right:10px;background:#22c55ed9;color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;z-index:2}.ref-thumb-wrap{position:relative}.ref-meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.ref-source{font-size:10px;color:#64748b;font-style:italic}.ref-q-count{font-size:10px;background:#4fc3f726;color:var(--accent);padding:3px 10px;border-radius:20px;font-weight:600}.ref-card.flashcard-card{background:linear-gradient(135deg,#6366f126,#8b5cf626);border:1px dashed rgba(99,102,241,.4);justify-content:center;align-items:center;min-height:280px}.ref-card.flashcard-card:hover{background:linear-gradient(135deg,#6366f140,#8b5cf640);border-color:#8b5cf6;border-style:solid}.flashcard-card-inner{padding:32px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.flashcard-icon{font-size:56px;margin-bottom:8px;filter:drop-shadow(0 0 15px rgba(99,102,241,.6));animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.flashcard-launch-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:16px 36px;border-radius:16px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 20px #6366f14d;font-family:inherit}.flashcard-launch-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px #6366f166}.explain-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.08);background:#0f172a99}.explain-tab{flex:1;padding:14px 8px;text-align:center;background:none;border:none;color:#94a3b8;font-size:12px;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;font-family:inherit}.explain-tab:hover{color:#e2e8f0}.explain-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:#4fc3f70d}.explain-body{padding:20px;flex:1;overflow-y:auto}.explain-section{margin-bottom:24px}.explain-source{font-size:11px;color:#64748b;font-style:italic;margin-bottom:16px;padding:6px 12px;background:#64748b1a;border-radius:8px;display:inline-block}.explain-section h4{font-size:13px;font-weight:700;color:var(--accent);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.explain-section p{font-size:13px;color:#cbd5e1;line-height:1.7}.explain-section ul{list-style:none;padding:0}.explain-section li{font-size:13px;color:#cbd5e1;padding:8px 0 8px 20px;position:relative;line-height:1.5;border-bottom:1px solid rgba(255,255,255,.03)}.explain-section li:before{content:"";position:absolute;left:0;color:var(--accent);font-weight:700}.exam-q-block{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.06)}.exam-q-text{font-size:14px;color:#e2e8f0;line-height:1.6;margin-bottom:12px}.exam-opts{display:flex;flex-direction:column;gap:8px}.exam-opt-btn{text-align:left;padding:12px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#cbd5e1;font-size:13px;cursor:pointer;transition:all .15s ease;font-family:inherit;line-height:1.4}.exam-opt-btn:hover:not(.disabled){background:#4fc3f71a;border-color:var(--accent);color:#fff}.exam-opt-btn.disabled{cursor:default;opacity:.7}.exam-opt-btn.correct{background:#22c55e26!important;border-color:#22c55e!important;color:#22c55e!important;font-weight:700}.exam-opt-btn.incorrect{background:#ef444426!important;border-color:#ef4444!important;color:#ef4444!important}.exam-feedback{margin-top:12px;padding:14px;background:#0f172ab3;border-radius:10px;font-size:12px;color:#94a3b8;line-height:1.6;border-left:3px solid var(--accent)}.correct-text{color:#22c55e;font-weight:700}.incorrect-text{color:#ef4444;font-weight:700}.no-exam{color:#64748b;text-align:center;padding:40px 0}.single-flashcard{background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:16px;padding:30px 24px;text-align:center;min-height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.fc-front,.fc-back{font-size:15px;line-height:1.7;color:#e2e8f0}.fc-back{color:#22c55e;font-weight:600}.fc-flip-btn{width:100%;padding:14px;background:#6366f133;border:1px solid rgba(99,102,241,.3);border-radius:12px;color:#a5b4fc;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px}.fc-flip-btn:hover{background:#6366f14d}.flashcard-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;display:none;align-items:center;justify-content:center;padding:24px}.fc-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.fc-modal-content{position:relative;width:600px;max-width:95vw;z-index:10;display:flex;flex-direction:column;overflow:hidden}.fc-modal-header{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid rgba(255,255,255,.06)}.fc-modal-header h3{font-size:18px;color:#a5b4fc;flex:1}#fc-counter{font-size:14px;color:#94a3b8;font-weight:600}.fc-card-area{padding:40px 32px;flex:1;display:flex;align-items:center;justify-content:center;min-height:200px}.fc-card{text-align:center;width:100%;max-width:540px;background:#ffffff08;padding:48px 32px;border-radius:24px;border:1px solid rgba(255,255,255,.06);box-shadow:0 20px 50px #0000004d;min-height:240px;display:flex;align-items:center;justify-content:center}.fc-card-front{font-size:20px;font-weight:700;color:#f1f5f9;line-height:1.6}.fc-card-back{font-size:17px;color:#22c55e;line-height:1.7;font-weight:500}.fc-controls{display:flex;gap:12px;padding:20px 32px;background:#0f172a80;border-top:1px solid rgba(255,255,255,.05)}.fc-nav-btn{padding:12px 24px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;border-radius:12px;color:#94a3b8;font-size:14px;cursor:pointer;transition:all .2s;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px}.fc-nav-btn:hover:not(:disabled){background:#ffffff1a;color:#fff}.fc-controls .fc-flip-btn{flex:1}.fc-progress-bar{height:4px;background:#ffffff0d}.fc-progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:4px;transition:width .3s ease}#library-viewer .viewer-content{display:flex;flex-direction:column;max-width:1400px;width:95vw;height:90vh;max-height:900px}.viewer-body{flex:1;display:flex;flex-direction:row;overflow:hidden;min-height:0}.viewer-body #viewer-viewport{flex:1;min-width:0;position:relative;background:#020617;overflow:hidden;cursor:grab;display:block}.viewer-body #viewer-viewport:active{cursor:grabbing}.viewer-explain-panel{flex:0 0 380px;max-width:420px;background:#0f172afa;border-left:1px solid rgba(255,255,255,.08);overflow-y:auto;display:flex;flex-direction:column}.analytics-toggle-btn{display:none;position:fixed;bottom:25px;right:25px;width:56px;height:56px;border-radius:50%;background:var(--accent);color:#020617;border:none;font-size:24px;box-shadow:0 4px 20px #00f2fe66;z-index:2000;cursor:pointer;align-items:center;justify-content:center;transition:transform .3s}.analytics-toggle-btn:active{transform:scale(.9)}@media(max-width:1024px){.analytics-toggle-btn.visible{display:flex}.quiz-page-layout,.fc-page-layout{flex-direction:column!important;gap:0!important}.quiz-analytics,.fc-sidebar{position:fixed;top:56px;right:-100%;width:320px!important;height:calc(100vh - 56px);background:#0a0e1afa!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1500;transition:right .4s cubic-bezier(.16,1,.3,1);border-left:1px solid rgba(0,242,254,.2);padding:24px!important;overflow-y:auto;box-shadow:-10px 0 30px #00000080}.quiz-analytics.mobile-active,.fc-sidebar.mobile-active{right:0}.quiz-analytics::-webkit-scrollbar,.fc-sidebar::-webkit-scrollbar{width:6px;display:block}.quiz-analytics::-webkit-scrollbar-track,.fc-sidebar::-webkit-scrollbar-track{background:#00000026;border-radius:4px}.quiz-analytics::-webkit-scrollbar-thumb,.fc-sidebar::-webkit-scrollbar-thumb{background:#4fc3f766;border-radius:4px}.fc-main-area,.quiz-main{width:100%!important;padding:15px!important}.fc-stats-box,.quiz-stats-bar{grid-template-columns:repeat(2,1fr)!important}}.flashcard-card:hover{background:linear-gradient(135deg,#6366f138,#8b5cf638)!important;border-color:#8b5cf680!important;transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #8b5cf633}.flashcard-card-inner{text-align:center;padding:30px 20px}.flashcard-icon{font-size:48px;display:block;margin-bottom:12px}.flashcard-card-inner h4{font-size:18px;color:#a5b4fc;margin-bottom:6px}.flashcard-card-inner p{font-size:13px;color:#94a3b8}.secondary-btn{padding:10px 20px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#94a3b8;font-size:13px;cursor:pointer;transition:all .2s;font-family:inherit}.secondary-btn:hover{background:#ffffff1a;color:#fff}@media(max-width:1024px){.viewer-body{flex-direction:column}.viewer-body #viewer-viewport{flex:1;min-height:250px}.viewer-explain-panel{flex:0 0 auto;max-width:100%;width:100%;max-height:45vh;border-left:none;border-top:1px solid rgba(255,255,255,.08)}.fc-card-front{font-size:17px}.fc-card-back{font-size:15px}#library-viewer .viewer-content{width:100%;height:100%;max-height:none;border-radius:0}}.fc-page-layout{display:flex;gap:24px;height:calc(100vh - 220px);min-height:480px}.fc-sidebar{flex:0 0 270px;padding:22px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;background:#0f172a66;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.06);border-radius:20px;box-shadow:0 8px 32px #0003}.fc-sidebar h3{font-size:11px;text-transform:uppercase;color:var(--text-muted);letter-spacing:1px;font-weight:700;margin:0}.fc-filter-group{display:flex;flex-direction:column;gap:6px}.fc-filter-group label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-weight:600}.fc-select{padding:12px 36px 12px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;color:#e2e8f0;font-size:13px;font-family:inherit;font-weight:500;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2394a3b8' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:all .2s ease}.fc-select:hover{background-color:#ffffff12;border-color:#ffffff26}.fc-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4fc3f71a,0 0 20px #4fc3f70d;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234fc3f7' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.fc-select option{background:#0f172a;color:#e2e8f0;padding:10px;font-size:13px}.fc-action-btn{padding:13px 18px;background:linear-gradient(135deg,#4fc3f714,#6366f114);border:1px solid rgba(79,195,247,.15);border-radius:14px;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-family:inherit;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden}.fc-action-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#4fc3f726,#6366f126);opacity:0;transition:opacity .25s;border-radius:inherit}.fc-action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 20px #4fc3f726;border-color:#4fc3f74d}.fc-action-btn:hover:before{opacity:1}.fc-action-btn:active{transform:translateY(0);box-shadow:none}.fc-stats-box{background:#0f172a80;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:16px;padding:18px;border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px #ffffff0a}.fc-stats-box h4,.fc-session-info h4{font-size:10px;text-transform:uppercase;color:var(--accent);letter-spacing:1px;margin-bottom:12px;font-weight:700}.fc-stat-row{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:13px;color:#cbd5e1}.fc-stat-row span:nth-child(2){flex:1}.fc-stat-row strong{color:#f1f5f9;font-weight:700}.fc-stat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 6px currentColor}.fc-progress-visual{display:flex;height:8px;border-radius:8px;overflow:hidden;margin-top:14px;background:#ffffff0d}.fc-pv-bar{height:100%;transition:width .4s ease}.fc-mastery-label{font-size:12px;color:#22c55e;font-weight:600;margin-top:8px;text-align:center}.fc-session-info{background:#0f172a80;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:16px;padding:18px;border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px #ffffff0a}.fc-session-info p{font-size:13px;color:#94a3b8;margin:4px 0}.fc-main-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-width:0}.fc-counter-bar{font-size:14px;color:#94a3b8;display:flex;align-items:center;gap:10px;font-weight:500}.fc-cat-badge{background:#4fc3f71a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--accent);padding:5px 14px;border-radius:20px;font-size:11px;font-weight:600;margin-left:10px;border:1px solid rgba(79,195,247,.1)}.fc-card-container{perspective:1200px;width:100%;max-width:560px;height:280px;cursor:pointer;filter:drop-shadow(0 12px 30px rgba(0,0,0,.25))}.fc-card{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,0,.2,1)}.fc-card.flipped{transform:rotateY(180deg)}.fc-card-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}.fc-card-front{background:linear-gradient(145deg,#0f172ad9,#1e293bd9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(79,195,247,.15);box-shadow:0 8px 40px #0000004d,inset 0 1px #ffffff0f,0 0 60px #4fc3f70a}.fc-card-back{background:linear-gradient(145deg,#0a2319d9,#0f2d1ed9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(34,197,94,.2);box-shadow:0 8px 40px #0000004d,inset 0 1px #ffffff0f,0 0 60px #22c55e0a;transform:rotateY(180deg)}.fc-card-label{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#64748b;margin-bottom:16px}.fc-card-text{font-size:20px;font-weight:600;line-height:1.5;color:#f1f5f9}.fc-card-back .fc-card-label{color:#22c55e99}.fc-card-back .fc-card-text{color:#86efac;font-weight:500;font-size:17px}.fc-tap-hint{position:absolute;bottom:16px;font-size:11px;color:#94a3b866}.fc-confidence-btns{display:flex;gap:10px;width:100%;max-width:560px}.fc-conf-btn{flex:1;padding:14px 10px;border-radius:16px;font-size:13px;font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-family:inherit;border:1.5px solid transparent;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.5px}.fc-conf-good{background:#22c55e14;border-color:#22c55e33;color:#22c55e}.fc-conf-good:hover{background:#22c55e2e;border-color:#22c55e80;box-shadow:0 4px 20px #22c55e26;transform:translateY(-2px)}.fc-conf-maybe{background:#eab30814;border-color:#eab30833;color:#eab308}.fc-conf-maybe:hover{background:#eab3082e;border-color:#eab30880;box-shadow:0 4px 20px #eab30826;transform:translateY(-2px)}.fc-conf-bad{background:#ef444414;border-color:#ef444433;color:#ef4444}.fc-conf-bad:hover{background:#ef44442e;border-color:#ef444480;box-shadow:0 4px 20px #ef444426;transform:translateY(-2px)}.fc-conf-btn:active{transform:translateY(0);box-shadow:none}.fc-nav-btns{display:flex;gap:10px;width:100%;max-width:560px}.fc-nav-btn{padding:12px 24px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:14px;color:#94a3b8;font-size:14px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-family:inherit}.fc-nav-btn:hover:not(:disabled){background:#ffffff14;color:#fff;border-color:#ffffff26;transform:translateY(-1px)}.fc-nav-btn:disabled{opacity:.3;cursor:default}.fc-nav-btn:active:not(:disabled){transform:translateY(0)}.fc-flip-main-btn{flex:1;padding:15px;background:linear-gradient(135deg,#6366f11f,#8b5cf61f);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(139,92,246,.2);border-radius:16px;color:#a5b4fc;font-size:15px;font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-family:inherit;letter-spacing:.3px}.fc-flip-main-btn:hover{background:linear-gradient(135deg,#6366f138,#8b5cf638);border-color:#8b5cf666;box-shadow:0 4px 24px #6366f126;transform:translateY(-1px)}.fc-flip-main-btn:active{transform:translateY(0);box-shadow:none}.fc-progress-track{width:100%;max-width:560px;height:4px;background:#ffffff0d;border-radius:4px;overflow:hidden}.fc-pt-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:4px;transition:width .3s ease}.fc-keyboard-hint{font-size:11px;color:#94a3b866;text-align:center}.fc-empty-state{text-align:center;padding:60px 20px}.fc-empty-icon{font-size:64px;display:block;margin-bottom:16px}.fc-empty-state h3{color:#e2e8f0;margin-bottom:8px}.fc-empty-state p{color:#94a3b8;margin-bottom:20px}@media(max-width:768px){.fc-page-layout{flex-direction:column;height:auto;min-height:auto;gap:16px}.fc-sidebar{position:fixed;top:56px;right:-100%;width:320px!important;height:calc(100vh - 56px);background:#0a0e1afa!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1500;transition:right .4s cubic-bezier(.16,1,.3,1);border-left:1px solid rgba(0,242,254,.2);padding:24px!important;overflow-y:auto;box-shadow:-10px 0 30px #00000080;display:flex;flex-direction:column;gap:16px}.fc-sidebar.mobile-active{right:0}.fc-sidebar h3{display:block;margin-bottom:8px;font-size:16px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px}.fc-filter-group{flex:1;min-width:120px}.fc-stats-box,.fc-session-info{display:flex;flex-direction:column}.fc-action-btn{padding:10px 14px;font-size:12px}.fc-card-container{height:220px;max-width:100%}.fc-card-text{font-size:17px}.fc-card-back .fc-card-text{font-size:15px}.fc-card-face{padding:20px}.fc-confidence-btns{max-width:100%;gap:8px}.fc-conf-btn{padding:12px 6px;font-size:12px}.fc-nav-btns{max-width:100%;gap:8px}.fc-nav-btn{padding:10px 16px;font-size:13px}.fc-flip-main-btn{font-size:14px;padding:12px}.fc-keyboard-hint{display:none}.fc-progress-track{max-width:100%}}@media(max-width:768px){.library-layout{flex-direction:column;height:auto}.library-sidebar{flex:none;padding:14px}.library-categories{flex-direction:row;flex-wrap:wrap;gap:6px}.lib-cat-btn{padding:8px 14px;font-size:12px}.library-main{padding:14px}.library-scroll-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.ref-thumb-wrap{height:140px}.ref-info{padding:14px}.ref-info h4{font-size:14px}.ref-info p{font-size:11px}}.spinning{animation:spin-anim .6s linear}@keyframes spin-anim{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#shuffle-quiz-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);padding:0 12px;font-size:18px;transition:all .2s;border-radius:var(--radius-sm);margin-left:8px;cursor:pointer;color:var(--text-primary)}#shuffle-quiz-btn:hover{background:var(--bg-glass-hover);transform:scale(1.05);border-color:var(--accent)}.cheat-list{display:flex;flex-direction:column;gap:10px;margin-top:15px}.cheat-item{background:var(--bg-secondary);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color)}.cheat-item[open]{border-color:var(--accent);box-shadow:var(--shadow-glow)}.cheat-item summary{padding:12px 18px;cursor:pointer;display:flex;align-items:center;gap:12px;-webkit-user-select:none;user-select:none;list-style:none}.cheat-item summary::-webkit-details-marker{display:none}.cheat-item summary:hover{background:var(--bg-tertiary)}.q-id{font-family:var(--font-mono);color:var(--accent);font-weight:700;width:40px}.q-cat{min-width:120px;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.q-diff{font-size:10px;padding:2px 8px;border-radius:4px;text-transform:capitalize}.q-summary-text{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.cheat-details{padding:15px 18px 20px 70px;border-top:1px solid var(--border-color);background:var(--bg-primary)}.full-q{margin-bottom:12px;line-height:1.5;color:var(--text-primary)}.options-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin-bottom:15px}.options-list li{padding:8px 12px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.05);background:#ffffff05}.options-list li.correct-opt{border-color:var(--success);background:#22c55e1a;color:var(--success);font-weight:600}.q-explanation{font-size:12px;color:var(--text-secondary);font-style:italic;background:var(--bg-tertiary);padding:10px;border-left:3px solid var(--accent);border-radius:4px}.powerplant-lab{position:absolute;left:20px;top:80px;width:420px;max-height:calc(100% - 120px);z-index:90;pointer-events:auto;display:flex;flex-direction:column;padding:20px;gap:20px;background:#0a0e1ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(79,195,247,.2);border-radius:20px;box-shadow:0 12px 48px #00000080,0 0 20px #4fc3f71a;animation:labEnter .4s cubic-bezier(.16,1,.3,1)}@keyframes labEnter{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.lab-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:12px}.lab-header h3{font-size:16px;font-weight:700;color:#fff;letter-spacing:-.2px}.lab-status-badge{font-size:9px;font-weight:800;color:#00f2fe;background:#00f2fe1a;padding:4px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.8px;border:1px solid rgba(0,242,254,.2);animation:statusPulse 2s infinite}@keyframes statusPulse{0%,to{opacity:.8}50%{opacity:1;border-color:#00f2fe80}}.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.lab-controls{display:flex;flex-direction:column;gap:16px}.control-group{display:flex;flex-direction:column;gap:8px}.control-group label{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.slider-wrap{display:flex;align-items:center;gap:10px;background:#ffffff0a;padding:10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.06)}.slide-label{font-size:10px;font-weight:700;color:#64748b;min-width:30px}.slider-wrap input[type=range]{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff1a;height:4px;border-radius:2px;cursor:pointer}.slider-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:14px;width:14px;border-radius:50%;background:#fff;box-shadow:0 0 10px #00000080;transition:all .2s}.slider-wrap input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);background:#4fc3f7}.physics-panel{background:linear-gradient(135deg,#4fc3f71a,#0078d40d);border:1px solid rgba(79,195,247,.2);border-radius:14px;padding:12px}.readout-header{font-size:10px;font-weight:800;color:#4fc3f7;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;display:flex;align-items:center;gap:6px}.readout-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.readout-item{display:flex;flex-direction:column;gap:2px}.readout-label{font-size:9px;color:#64748b;font-weight:500}.readout-value{font-size:13px;font-weight:700;color:#fff;font-family:var(--font-mono),monospace}.physics-principle{font-size:9px;color:#4fc3f7;font-style:italic;opacity:.8;border-top:1px solid rgba(79,195,247,.1);padding-top:6px}.lab-visuals{display:flex;flex-direction:column;gap:12px}.graph-container{background:#0003;border:1px solid rgba(255,255,255,.04);border-radius:12px;padding:10px;position:relative}.graph-legend{position:absolute;top:10px;right:12px;font-size:9px;font-weight:700;color:#ffffff4d;text-transform:uppercase;letter-spacing:.5px}@media(max-width:1024px){.powerplant-lab{width:320px;left:10px;bottom:70px}.lab-grid{grid-template-columns:1fr}}.hud-panel{position:absolute;right:20px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;z-index:40;pointer-events:auto}#hud-elevation .hud-label{color:#00f2fe;font-family:var(--font-mono);font-size:11px;font-weight:800;letter-spacing:2px;text-shadow:0 0 8px rgba(0,242,254,.6);writing-mode:vertical-rl;text-orientation:upright;margin-bottom:8px}.hud-track{height:200px;width:40px;display:flex;justify-content:center;align-items:center;background:#00f2fe0d;border:1px solid rgba(0,242,254,.2);border-radius:20px;box-shadow:inset 0 0 10px #00000080;position:relative}.hud-tick-marks{position:absolute;left:6px;top:10%;bottom:10%;width:4px;background:repeating-linear-gradient(to bottom,transparent,transparent 4px,rgba(0,242,254,.4) 4px,rgba(0,242,254,.4) 6px);pointer-events:none}#cam-elevation{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg);width:180px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#00f2fe4d;outline:none;border-radius:2px;z-index:2}#cam-elevation::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:14px;background:#00f2fe;border-radius:4px;box-shadow:0 0 15px #00f2fe,inset 0 0 4px #fff;cursor:pointer;border:1px solid #fff;transition:transform .2s}#cam-elevation::-webkit-slider-thumb:hover{transform:scale(1.3)}.hamburger-btn{display:none;flex-direction:column;justify-content:space-around;width:30px;height:24px;background:transparent;border:none;cursor:pointer;padding:0;z-index:101}.hamburger-btn span{width:30px;height:2.5px;background:var(--text-primary);border-radius:10px;transition:all .3s linear;position:relative;transform-origin:1px}#top-bar.open .hamburger-btn span:nth-child(1){transform:rotate(45deg)}#top-bar.open .hamburger-btn span:nth-child(2){opacity:0}#top-bar.open .hamburger-btn span:nth-child(3){transform:rotate(-45deg)}@media(max-width:960px){:root{--topbar-height: 50px}.hamburger-btn{display:flex;order:3;margin-left:auto}#header-nav-group{position:fixed;top:var(--topbar-height);left:0;width:100%;height:0;background:#0a0e1afa;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);flex-direction:column;padding:0;overflow:hidden;transition:height .4s cubic-bezier(.16,1,.3,1);border-bottom:0px solid var(--border-color)}#top-bar.open #header-nav-group{height:calc(100vh - var(--topbar-height));padding:var(--space-lg);border-bottom:1px solid var(--border-color)}#main-nav{flex-direction:column;gap:10px;align-items:stretch;margin-bottom:var(--space-xl)}.nav-btn{padding:14px;font-size:15px;background:#ffffff08;border:1px solid rgba(255,255,255,.05)}.mode-selector{width:100%;justify-content:space-around;padding:6px}.mode-btn{flex:1;padding:10px;font-size:13px}#view-toolbar{padding:6px 8px;gap:6px;overflow-x:auto;white-space:nowrap;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;background:#0a0e1af2;border-bottom:1px solid rgba(0,242,254,.2)}#view-toolbar::-webkit-scrollbar{display:none}.toolbar-group{flex-shrink:0}.toolbar-label{display:none}#hud-elevation{right:auto;left:50%;bottom:30px;top:auto;transform:translate(-50%);flex-direction:row;height:auto;width:auto;background:#0c1221e6;padding:8px 15px;border-radius:30px;border:1px solid rgba(0,242,254,.4);z-index:100}.hud-track{height:34px;width:120px;border:none;background:transparent;display:flex;align-items:center}#hud-elevation .hud-label{writing-mode:horizontal-tb;margin-bottom:0;margin-right:10px}#cam-elevation{position:relative;top:auto;left:auto;transform:none;width:100px;height:6px;margin:0}#cam-elevation::-webkit-slider-thumb{width:20px;height:20px;-webkit-appearance:none;-moz-appearance:none;appearance:none}#color-legend{left:10px;bottom:20px;padding:10px;max-width:160px}.legend-item{font-size:9px;gap:4px}.detail-grid,.quiz-page-layout,.fuel-system-layout,.valves-layout,.troubleshooting-matrix-layout,.fc-page-layout,#viewport-container{flex-direction:column!important;height:auto!important;overflow-y:visible!important}#blueprint-panel{width:100%!important;height:40vh!important;border-right:none!important;border-bottom:2px solid var(--border-color)}#three-canvas-wrap{height:60vh!important;width:100%!important}#fuel-schematic-container{min-height:260px;height:35vh;border-bottom:1px solid var(--border-color)}#info-panel{position:fixed!important;top:auto!important;bottom:0!important;right:0!important;left:0!important;width:100%!important;height:45vh!important;transform:translateY(100%);border-left:none!important;border-top:2px solid rgba(0,242,254,.4);border-radius:20px 20px 0 0!important;box-shadow:0 -10px 40px #000c;z-index:5000!important}#info-panel.visible{transform:translateY(0)}.quiz-analytics.mobile-active{position:fixed;top:0;left:0;width:100%!important;height:100%!important;background:#080c18fa;z-index:9000;padding:70px 20px 30px;overflow-y:auto;display:block!important;box-shadow:0 0 50px #000;animation:slideInUp .4s cubic-bezier(.16,1,.3,1)}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.quiz-main{order:1;padding-right:0;height:auto;margin-bottom:20px}#app.blurred>*:not(#quiz-analytics,#maintenance-overlay,.interaction-hint){filter:blur(10px);pointer-events:none}.user-greeting{font-size:9px;top:60px;right:12px;left:auto;opacity:.6}.welcome-modal-content{width:90%;padding:24px}.welcome-modal-icon{font-size:40px}.welcome-modal-content h2{font-size:20px}.menu-hint-dot{position:absolute;top:-4px;right:-4px;width:12px;height:12px;background:#00f2fe;border:2px solid #0a0e1a;border-radius:50%;z-index:102;box-shadow:0 0 10px #00f2fe;animation:menuPulse 1.5s infinite}.menu-hint-dot.hidden{display:none}@keyframes menuPulse{0%{transform:scale(1);box-shadow:0 0 #00f2feb3}70%{transform:scale(1.2);box-shadow:0 0 0 10px #00f2fe00}to{transform:scale(1);box-shadow:0 0 #00f2fe00}}.mobile-menu-hint{position:fixed;top:60px;right:15px;z-index:1000;pointer-events:none;animation:slideInHint .5s cubic-bezier(.16,1,.3,1)}.mobile-menu-hint.fade-out{opacity:0;transform:translateY(-10px);transition:all .4s ease}.hint-glass{background:#0a0e1af2;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(0,242,254,.4);padding:12px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 15px 35px #0009;color:#fff;max-width:220px;position:relative}.hint-glass:before,.hint-glass:after{content:"";position:absolute;width:8px;height:8px;border:1.5px solid var(--accent)}.hint-glass:before{top:-1px;left:-1px;border-right:none;border-bottom:none}.hint-glass:after{bottom:-1px;right:-1px;border-left:none;border-top:none}.hint-icon{font-size:16px;color:var(--accent);animation:arrowPulse 1.5s infinite}.hint-glass p{font-size:11px;font-weight:600;margin:0;line-height:1.4;color:#fff;text-transform:uppercase;letter-spacing:.5px}.hint-arrow{position:absolute;top:-5px;right:15px;width:10px;height:10px;background:#0a0e1af2;border-top:1px solid rgba(0,242,254,.4);border-left:1px solid rgba(0,242,254,.4);transform:rotate(45deg)}@keyframes slideInHint{0%{transform:translateY(-15px);opacity:0}to{transform:translateY(0);opacity:1}}}@media(max-width:600px){.logo-area h1{display:none}.logo-img{height:36px}.toolbar-label{font-size:9px}.tool-btn{font-size:10px;padding:4px 8px}.page-header h2{font-size:18px}.part-label{padding:2px 6px;font-size:8px;border-width:1px}.label-main{font-size:8px}.part-label.zone-1{font-size:9px}.context-inset{width:100px;padding:4px;bottom:5px}.context-inset h4{font-size:9px}.lab-controls-group{flex-direction:column;gap:15px}.readout-card{min-width:0;flex:1}.readout-val{font-size:18px}#viewport-container{flex-direction:column-reverse}#blueprint-panel{width:100%!important;height:50vh;border-right:none;border-bottom:2px solid var(--border-color)}#blueprint-panel.hidden{height:0;border-bottom:none}}@media(max-height:500px)and (orientation:landscape){#top-bar{height:40px}#header-nav-group{top:40px}#view-toolbar{display:none}#hud-elevation{right:5px;height:100px}#info-panel{width:100%;height:100%;top:0;right:0;z-index:1000}}.touch-only{display:none}@media(pointer:coarse){.touch-only{display:block}.no-touch{display:none}}.maintenance-overlay{display:none}.interaction-hint{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:10px;animation:hintIntro .6s cubic-bezier(.16,1,.3,1) forwards,hintOut .5s cubic-bezier(.7,0,.84,0) forwards 2.5s}.hint-body{background:#0a0e1ad9;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(0,242,254,.4);padding:14px 28px;color:#fff;font-family:Inter,sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;box-shadow:0 0 40px #00f2fe26,inset 0 0 10px #00f2fe1a;position:relative;display:flex;align-items:center;gap:12px}.hint-body:before,.hint-body:after{content:"";position:absolute;width:10px;height:10px;border:2px solid var(--accent)}.hint-body:before{top:-2px;left:-2px;border-right:none;border-bottom:none}.hint-body:after{bottom:-2px;right:-2px;border-left:none;border-top:none}.hint-arrow-icon{font-size:16px;color:var(--accent);animation:arrowPulse 1.5s infinite}.hint-sub{font-size:9px;color:var(--accent);opacity:.8;letter-spacing:2px}@keyframes hintIntro{0%{opacity:0;transform:translate(-50%,-40%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes hintOut{to{opacity:0;transform:translate(-50%,-60%) scale(.95);visibility:hidden}}@keyframes arrowPulse{0%,to{transform:translate(0);opacity:1}50%{transform:translate(5px);opacity:.5}}@media(max-width:600px){#timeline-control{min-width:0;width:92vw;top:-50px;padding:6px 12px}.timeline-btn{font-size:14px}#timeline-time{font-size:10px;min-width:28px}.process-panel{padding:12px}#valves-side-panel,#symptom-list,#symptom-categories{max-height:50vh;overflow-y:auto;transition:max-height .4s cubic-bezier(.16,1,.3,1),opacity .3s ease;border-bottom:2px solid var(--border-color)}#valves-side-panel.collapsed,#symptom-list.collapsed,#symptom-categories.collapsed{max-height:48px;overflow:hidden;opacity:1;background:#0f172a66;border:1px solid rgba(0,242,254,.3);border-radius:24px;padding:0 20px;margin-bottom:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.collapsed .subtitle,.collapsed #valves-interaction-list,.collapsed #symptom-matrix-grid,.collapsed .library-categories{display:none!important}#valves-side-panel h3,#symptom-categories h3,#symptom-list h3{cursor:pointer;position:relative;padding-right:40px;display:flex;align-items:center;min-height:48px;font-size:14px;font-weight:700;margin:0}#valves-side-panel h3:after,#symptom-list h3:after,#symptom-categories h3:after{content:"▼";position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--accent);transition:all .3s ease;z-index:100}#valves-side-panel.collapsed h3:after,#symptom-list.collapsed h3:after,#symptom-categories.collapsed h3:after{transform:rotate(0);content:"▶";color:var(--accent);filter:drop-shadow(0 0 5px var(--accent))}#symptom-matrix-grid{display:flex;flex-direction:column;gap:10px;padding-top:10px}#viewport-container{flex-direction:column!important;height:auto!important}#blueprint-panel{width:100%!important;height:48vh!important;border-right:none!important;border-bottom:2px solid var(--border-color)}#three-canvas-wrap{height:52vh!important;width:100%!important;min-height:350px}.collapsed #valves-interaction-list,.collapsed #symptom-matrix-grid,.collapsed .subtitle{display:none!important}}.blurred{filter:none!important;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);pointer-events:none}@media(max-width:768px){.admin-shell{padding:10px}.admin-header{padding:12px}.admin-header-right{flex-direction:column;gap:8px}.admin-body{grid-template-columns:1fr}.user-list-panel{max-height:250px}.d-panel{padding:15px}.qa-grid{grid-template-columns:1fr 1fr;gap:8px}.qa-btn{padding:10px;font-size:9px}#platform-insights{display:grid;grid-template-columns:1fr;gap:10px}}.tactical-alert{position:fixed;top:80px;right:24px;width:320px;background:#050a14f2;border:1px solid var(--accent);border-left:5px solid var(--accent);padding:16px;display:flex;gap:15px;z-index:10000;box-shadow:0 15px 50px #000c,0 0 20px var(--accent-glow);animation:ta-slide-in .5s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tactical-alert.fade-out{opacity:0;transform:translate(50px);transition:all .5s ease}@keyframes ta-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.ta-icon{font-size:24px;animation:pulse 2s infinite}.ta-header{font-size:10px;font-weight:800;color:var(--accent);letter-spacing:2px;margin-bottom:4px}.ta-msg{font-size:13px;color:#fff;line-height:1.4}#maintenance-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(circle at center,#101827e6,#050a14);z-index:20000;display:flex;align-items:center;justify-content:center;text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.m-content{max-width:500px;padding:40px;border:1px solid rgba(239,68,68,.3);background:#00000080;position:relative}.m-icon{font-size:60px;margin-bottom:20px}.m-content h1{font-size:32px;font-weight:900;color:#ef4444;letter-spacing:2px;margin-bottom:10px}.m-divider{height:2px;width:100px;background:#ef4444;margin:20px auto;opacity:.5}.m-content p{font-size:16px;color:var(--text-secondary);line-height:1.6}.m-footer{margin-top:30px;font-size:10px;color:var(--text-muted);letter-spacing:3px}body.offline{overflow:hidden!important}
