:root{font-family:Inter Variable,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-main: #030712;--bg-surface: #0f172a;--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent-blue: #38bdf8;--border-subtle: rgba(255, 255, 255, .06);color-scheme:dark;scroll-behavior:smooth}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;min-width:320px;background-color:var(--bg-main);color:var(--text-primary);overflow-x:hidden;background-image:radial-gradient(at 0% 0%,rgba(56,189,248,.05) 0px,transparent 50%),radial-gradient(at 100% 0%,rgba(99,102,241,.03) 0px,transparent 50%),radial-gradient(at 50% 100%,rgba(15,23,42,.4) 0px,transparent 100%);background-attachment:fixed}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:99px;border:2px solid var(--bg-main)}::-webkit-scrollbar-thumb:hover{background:#fff3}button,input{font:inherit}.app-shell{min-height:100vh;padding:24px 18px 48px;background:transparent;color:#fff;position:relative;overflow-x:hidden}.teacher-panel{width:min(1080px,100%);margin:0 auto}.practice-panel{display:grid;gap:14px;padding:18px;border:1px solid rgba(255,255,255,.06);border-radius:8px;background:linear-gradient(180deg,#ffffff05,#00000059);-webkit-backdrop-filter:blur(8px) saturate(120%);backdrop-filter:blur(8px) saturate(120%)}.practice-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.practice-head h3,.modal-title h3{margin:0;color:#fff}.practice-head button,.modal-close{border:1px solid rgba(0,0,0,.12);border-radius:8px;color:#050505;background:linear-gradient(135deg,#fff,#e6e6e6);cursor:pointer;font-weight:900}.practice-head button{min-height:40px;padding:0 14px}.practice-preview,.question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.practice-preview a,.question-grid a{display:grid;gap:6px;min-height:112px;padding:14px;border:1px solid rgba(255,255,255,.06);border-radius:8px;color:#fff;background:linear-gradient(180deg,#ffffff05,#0000002e);text-decoration:none}.practice-preview a:hover,.question-grid a:hover{border-color:#ffffff75;background:linear-gradient(145deg,#1e1e1e,#0a0a0a)}.practice-preview span,.question-grid span{color:#aaa;font-size:.78rem;font-weight:900;text-transform:uppercase}.practice-preview strong,.question-grid strong{font-size:1.02rem}.practice-preview small,.question-grid small{color:#d2d2d2;font-weight:800}.question-modal{position:relative;display:grid;gap:18px;width:min(760px,100%);max-height:min(720px,90vh);overflow-y:auto;padding:52px 20px 20px;border:1px solid rgba(255,255,255,.06);border-radius:8px;background:linear-gradient(180deg,#ffffff05,#00000080);box-shadow:0 28px 80px #0009;-webkit-backdrop-filter:blur(10px) saturate(120%);backdrop-filter:blur(10px) saturate(120%)}.topbar{display:flex;align-items:center;gap:12px;width:min(1080px,100%);margin:0 auto 44px;padding:12px 14px;border:1px solid rgba(255,255,255,.06);border-radius:8px;background:linear-gradient(180deg,#ffffff05,#00000047);box-shadow:0 18px 60px #0000007a;-webkit-backdrop-filter:blur(6px) saturate(120%);backdrop-filter:blur(6px) saturate(120%)}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;color:#fff;background:linear-gradient(135deg,#000 10%,#ffffff0f 50%);font-weight:950}.topbar strong,.topbar span{display:block}.topbar strong{color:#f8fafc}.topbar span{color:#94a3b8;font-size:.9rem}.eyebrow{margin:0 0 8px;color:#ffffffe0;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:820px;margin-bottom:12px;color:#fff;font-size:clamp(2.5rem,7vw,5.8rem);line-height:.98;text-shadow:0 6px 18px rgba(0,0,0,.6)}.teacher-panel{width:min(1200px,92%);margin:40px auto 0}.intro{margin-bottom:40px;display:flex;flex-direction:column}.studio-banner-wrapper{display:inline-flex;align-items:center;gap:12px;padding:6px 14px;background:#0f172a66;border:1px solid rgba(255,255,255,.06);border-radius:12px;margin-bottom:24px}.intro h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;color:#fff;background:linear-gradient(180deg,#fff 50%,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:16px}.intro p:last-child{max-width:600px;color:#94a3b8;font-size:1.125rem;line-height:1.6;font-weight:400}.hero-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.hero-stats span{padding:6px 14px;border:1px solid rgba(255,255,255,.06);border-radius:100px;color:#e2e8f0;background:#ffffff08;font-size:.8rem;font-weight:500;letter-spacing:.3px;text-transform:capitalize;display:inline-flex;align-items:center;transition:all .2s ease}.hero-stats span:hover{background:#38bdf814;border-color:#38bdf84d;color:#38bdf8;transform:translateY(-1px)}.topic-form{padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#0a0f1eb3;box-shadow:0 20px 40px #00000080,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.input-row{display:flex;flex-direction:column;gap:14px}.input-field-group{display:flex;align-items:center;gap:10px;width:100%}.input-field-group input{flex:1;min-height:44px;padding:0 16px;border:1px solid rgba(255,255,255,.06);border-radius:10px;color:#f1f5f9;background:#0f172a99;font-size:14px;transition:all .2s ease}.input-field-group input:focus{background:#0f172ae6;border-color:#38bdf8;outline:none;box-shadow:0 0 0 3px #38bdf826}.input-field-group input::placeholder{color:#475569}.input-field-group input,.voice-select{height:44px;padding:0 14px;background:#0f172a99;border:1px solid rgba(255,255,255,.06);border-radius:10px;color:#e2e8f0;font-size:13px;font-weight:500;cursor:pointer;outline:none;transition:all .2s ease}.voice-select:focus{border-color:#38bdf8}.input-row button{align-self:center;width:auto;min-width:140px;height:38px;padding:0 24px;color:#0f172a;font-weight:700;font-size:13px;letter-spacing:.2px;border:none;border-radius:20px;background:linear-gradient(135deg,#38bdf8,#0284c7);box-shadow:0 4px 12px #38bdf840;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.input-row button:hover:not(:disabled){transform:translateY(-1.5px);background:linear-gradient(135deg,#4ade80,#22c55e);box-shadow:0 6px 16px #22c55e59}.input-row button:active:not(:disabled){transform:translateY(0)}.input-row button:disabled{background:#ffffff14;color:#475569;cursor:not-allowed;box-shadow:none}.topic-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.topic-chips button{background:#ffffff08;border:1px solid rgba(255,255,255,.06);color:#94a3b8;padding:6px 14px;border-radius:100px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.topic-chips button:hover{background:#38bdf814;color:#38bdf8;border-color:#38bdf84d;transform:translateY(-1px)}.status{margin:16px 0;padding:14px 16px;border-radius:8px;font-weight:700}.error{color:#fecdd3;background:#7f1d1dbf}.loading{color:#bfdbfe;background:#1e40af6b}.warning{color:#fde68a;background:#78350f8c}.loading-card{display:flex;flex-direction:column;gap:16px;margin:24px 0;padding:20px;border:1px solid rgba(56,189,248,.15);border-radius:12px;color:#e2e8f0;background:#0f172a66;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 32px #0000004d}.loading-card>div:first-child{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;color:#38bdf8}.pulse-dot{width:8px;height:8px;background-color:#38bdf8;border-radius:50%;position:relative}.pulse-dot:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background-color:#38bdf8;animation:radarPulse 1.8s infinite ease-in-out}.skeleton-lines{display:flex;flex-direction:column;gap:10px}.skeleton-lines span{height:12px;border-radius:6px;background:linear-gradient(90deg,#ffffff08 25%,#ffffff14,#ffffff08 75%);background-size:200% 100%;animation:shimmerEffect 1.6s infinite linear}.skeleton-lines span:nth-child(1){width:90%}.skeleton-lines span:nth-child(2){width:100%}.skeleton-lines span:nth-child(3){width:65%}.result{display:flex;flex-direction:column;gap:20px;padding:20px;border:1px solid rgba(255,255,255,.06);border-radius:16px;background:#0a0f1e99;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 24px 60px #00000080}.result-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(148,163,184,.16);padding-bottom:14px}.result-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.result-meta span{padding:7px 10px;border:1px solid rgba(103,232,249,.18);border-radius:8px;color:#b6f3ff;background:#082f4970;font-size:.82rem;font-weight:800}.result h2{margin-bottom:0;color:#fff;font-size:2rem}.result h3{margin-bottom:0;color:#f8fafc;font-size:1.2rem}.answer-text{margin:0;color:#ffffffeb;font-size:1.04rem;line-height:1.78;padding:18px;border:1px solid rgba(255,255,255,.04);border-radius:8px;background:linear-gradient(180deg,#ffffff05,#0000002e);font-family:Segoe UI,Inter,ui-sans-serif,system-ui,sans-serif}.answer-text p{margin:0 0 14px}.answer-text p:last-child{margin-bottom:0}.answer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.answer-toolbar button{min-height:38px;padding:0 12px;border:1px solid rgba(103,232,249,.2);border-radius:8px;color:#dbeafe;background:#1e293bf2;cursor:pointer;font-weight:800}.lesson-video{width:min(90vw,720px);margin:20px auto;padding:18px;border-radius:20px;background:linear-gradient(135deg,#0f172af2,#020617fa);border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 30px #00000040}.video-viewport{position:relative;overflow:hidden;width:100%;aspect-ratio:16 / 9;border-radius:16px;background:#020617}.video-viewport canvas{width:100%;height:100%;object-fit:contain;display:block}.video-caption{position:absolute;bottom:45px;left:50%;transform:translate(-50%);max-width:70%;padding:14px 20px;background:#0f172aeb;border-radius:14px;color:#fff;font-size:16px;line-height:1.6;text-align:center}.center-play-overlay{width:64px;height:64px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;background:#0f172abf;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:all .25s ease}.video-viewport:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;background:linear-gradient(135deg,rgba(6,182,212,.3),transparent,rgba(6,182,212,.15));z-index:0;pointer-events:none}.video-viewport:hover .center-play-overlay{opacity:1}.center-play-overlay.video-is-paused{opacity:1;transform:translate(-50%,-50%) scale(1.05);background:#0f172ad9;color:#fff}.center-play-overlay:hover{background:#38bdf8!important;color:#0f172a!important;transform:translate(-50%,-50%) scale(1.1)!important;box-shadow:0 0 24px #38bdf866}.center-play-overlay:active{transform:translate(-50%,-50%) scale(.95)!important}.video-controls-bar{margin-top:14px;padding:14px 18px;border-radius:16px;background:#0f172a99;border:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between}.control-group{display:flex;align-items:center;gap:8px}.control-action-btn{padding:10px 14px;font-size:14px;border-radius:12px}.control-action-btn:hover{background:#7dd3fc;transform:translateY(-.5px)}.control-action-btn.secondary-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#94a3b8}.control-action-btn.secondary-btn:hover{background:#ffffff14;color:#f1f5f9;border-color:#ffffff26}.time-telemetry{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:#94a3b8}.current-time{color:#67e8f9}.time-divider{color:#475569}.total-duration{color:#64748b}.result pre{margin:0;white-space:pre-wrap;word-wrap:break-word;color:#dbe4f0;font-family:Monaco,Courier New,monospace;font-size:13px;line-height:1.6;padding:20px;border:1px solid rgba(103,232,249,.15);border-radius:8px;background:linear-gradient(180deg,#020617a6,#0f172a80);box-shadow:inset 0 2px 8px #0000004d}.window-dots{position:absolute;top:18px;left:18px;display:flex;gap:8px}.window-dots span{width:12px;height:12px;border-radius:999px;background:#0b0b0b}.window-dots span:nth-child(2){background:#7a7a7a}.window-dots span:nth-child(3){background:#bdbdbd}.modal-close{position:absolute;top:12px;right:12px;width:34px;height:34px}.keyword{position:relative;color:#0b0b0b;border-bottom:1px dotted rgba(0,0,0,.3);cursor:help;font-weight:850}.keyword:hover:after{content:attr(data-definition);position:absolute;left:0;bottom:calc(100% + 8px);z-index:8;width:min(280px,80vw);padding:10px 12px;border:1px solid rgba(255,255,255,.24);border-radius:8px;color:#f1f1f1;background:#020617;box-shadow:0 16px 40px #0006;font-size:.86rem;font-weight:700;line-height:1.35}.result audio{width:100%}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#02061799;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1200;padding:20px}.modal-content-card{width:min(760px,100%);background:#0f172ad9;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:24px;box-shadow:0 30px 60px #0009;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:16px;margin-bottom:24px}.mac-controls{display:flex;gap:8px}.mac-controls .dot{width:12px;height:12px;border-radius:50%;display:block}.mac-controls .dot.close{background:#ef4444}.mac-controls .dot.minimize{background:#eab308}.mac-controls .dot.maximize{background:#22c55e}.practice-body{display:flex;gap:24px;flex-wrap:wrap}.practice-column h4{margin:0 0 12px;font-size:13px;font-weight:600;color:#38bdf8;letter-spacing:.5px;text-transform:uppercase}.modal-close{border:none;background:transparent;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;transition:all .2s ease}.modal-close:hover{background:#ffffff0f;color:#f1f5f9}.btn-practice-questions,.btn-visualize-data,.btn-leetcode,.btn-codeforces{color:#fff;border:1px solid transparent;padding:10px 16px;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease}.btn-practice-questions{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea80}.btn-practice-questions:hover{transform:translateY(-2px);box-shadow:0 12px 24px #667eea80;border-color:#667eeacc}.btn-visualize-data{background:linear-gradient(135deg,#f093fb,#f5576c);border-color:#f5576c80}.btn-visualize-data:hover{transform:translateY(-2px);box-shadow:0 12px 24px #f5576c80;border-color:#f5576ccc}.btn-leetcode{background:linear-gradient(135deg,orange,coral);text-decoration:none;border-color:#ffa50080}.btn-leetcode:hover{transform:translateY(-2px);box-shadow:0 12px 24px #ffa50080;border-color:#ffa500cc}.btn-codeforces{background:linear-gradient(135deg,#1e3a8a,#3b82f6);text-decoration:none;border-color:#3b82f680}.btn-codeforces:hover{transform:translateY(-2px);box-shadow:0 12px 24px #3b82f680;border-color:#3b82f6cc}.visualization-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:1200px;height:85vh;display:flex;flex-direction:column;z-index:1000;overflow:hidden}.visualization-modal .modal-header{border-bottom:1px solid #e5e7eb;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:12px 12px 0 0}.visualization-modal .modal-header h3{color:#fff;margin:0}.visualization-modal iframe{flex:1;border:none;border-radius:0 0 12px 12px}.visualization-modal .modal-close{background:#fff3;color:#fff;font-size:24px;padding:0 8px;border-radius:4px;transition:background .2s}.visualization-modal .modal-close:hover{background:#ffffff4d}.lesson-video{max-width:650px}canvas{width:100%;height:auto}@keyframes floatCard{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}@keyframes pulse{70%{box-shadow:0 0 0 10px #67e8f900}to{box-shadow:0 0 #67e8f900}}@keyframes radarPulse{0%{transform:scale(1);opacity:.6}to{transform:scale(3.5);opacity:0}}@keyframes buttonGlow{0%{box-shadow:0 4px 12px #38bdf840}50%{box-shadow:0 4px 20px #38bdf880}to{box-shadow:0 4px 12px #38bdf840}}.input-row button{animation:buttonGlow 3s infinite ease-in-out}@keyframes shimmer{to{background-position:-220% 0}}@keyframes shimmerEffect{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:640px){.app-shell{padding:24px 14px}.input-row{grid-template-columns:1fr}.input-row button{width:100%}.topic-form,.result{padding:18px}.result-heading,.answer-toolbar{align-items:start;flex-direction:column}.result-meta{justify-content:flex-start}}
