@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";
:root{--bg-primary:#0f1214;--bg-secondary:#181b1f;--bg-card:#20242a;--bg-card-hover:#292d35;--border:#333842;--text-primary:#f8fafc;--text-secondary:#a1a1aa;--text-muted:#71717a;--accent-blue:#10b981;--accent-cyan:#10b981;--accent-green:#10b981;--accent-yellow:#fbbf24;--accent-orange:#fb923c;--accent-red:#f87171;--accent-purple:#10b981;--accent-pink:#10b981;--gradient-hero:linear-gradient(135deg,#10b981 0%,#10b981 30%,#10b981 60%,#10b981 100%);--gradient-card:linear-gradient(135deg,#10b98114,#34d39908);--glass:#181b1fb3;--glass-border:#10b9812e;--code-header-bg:#181b1f;--line-number-color:#52525b;--code-bg:#0f1214;--accent-bg:#10b9811f;--hover-shadow:#10b98126;--sidebar-width:300px;--radius:.3rem;--radius-lg:.5rem}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:Inter,-apple-system,sans-serif;line-height:1.7}.app-layout{min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-width);flex:1;max-width:900px;padding:2rem 3rem;overflow-x:hidden}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);z-index:100;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar-logo{color:var(--text-primary);border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:1.25rem 1.5rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.logo-icon{font-size:1.5rem}.sidebar-nav{flex:1;padding:.5rem 0;overflow-y:auto}.nav-phase-btn{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:all .2s;display:flex}.nav-phase-btn span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-phase-btn:hover,.nav-phase-btn.expanded{color:var(--text-primary);background:#ffffff08}.nav-phase-btn.active{color:var(--accent-blue);background:#10b98114}.expand-icon{opacity:.5;font-size:.7rem}.nav-topics{padding:0;list-style:none;animation:.2s slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.nav-topic-link{color:var(--text-muted);border-left:2px solid #0000;padding:.4rem 1.5rem .4rem 2.25rem;font-size:.8rem;text-decoration:none;transition:all .2s;display:block}.nav-topic-link:hover{color:var(--text-secondary);background:#ffffff05}.nav-topic-link.active{color:var(--accent-blue);border-left-color:var(--accent-blue);background:#10b98114}.mobile-menu-btn{z-index:200;background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius);cursor:pointer;padding:.5rem .75rem;font-size:1.2rem;display:none;position:fixed;top:1rem;left:1rem}.sidebar-overlay{z-index:90;background:#0009;display:none;position:fixed;inset:0}.hero{text-align:center;padding:3rem 0 2rem}.hero h1{background:var(--gradient-hero);-webkit-text-fill-color:transparent;letter-spacing:-.03em;-webkit-background-clip:text;background-clip:text;margin-bottom:.75rem;font-size:3rem;font-weight:800}.hero p{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.15rem}.phases-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem;margin-top:2.5rem;display:grid}.phase-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;color:inherit;padding:1.5rem;text-decoration:none;transition:all .3s}.phase-card:hover{border-color:var(--accent-blue);background:var(--bg-card-hover);box-shadow:none;transform:translateY(-2px)}.phase-card-emoji{margin-bottom:.5rem;font-size:2rem}.phase-card h3{margin-bottom:.4rem;font-size:1.15rem;font-weight:700}.phase-card p{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.phase-card-count{color:var(--accent-cyan);margin-top:.75rem;font-size:.75rem;font-weight:600;display:inline-block}.phase-header{margin-bottom:2rem}.phase-header h1{margin-bottom:.5rem;font-size:2rem}.phase-header p{color:var(--text-secondary)}.topics-list{flex-direction:column;gap:.75rem;display:flex}.topic-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:inherit;align-items:center;gap:1rem;padding:1rem 1.25rem;text-decoration:none;transition:all .25s;display:flex}.topic-card:hover{background:var(--bg-card-hover);border-color:var(--accent-blue);transform:translate(4px)}.topic-number{background:var(--accent-bg);width:32px;height:32px;color:var(--accent-blue);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.topic-card h3{font-size:.95rem;font-weight:600}.breadcrumb{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.8rem;display:flex}.breadcrumb a{color:var(--text-muted);text-decoration:none;transition:color .2s}.breadcrumb a:hover{color:var(--accent-blue)}.breadcrumb span{color:var(--text-muted)}.topic-page h1{letter-spacing:-.02em;overflow-wrap:break-word;margin-bottom:1.5rem;font-size:2rem;font-weight:800}.section{margin-bottom:2.5rem}.section-title{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.15rem;font-weight:700;display:flex}.section-title .icon{font-size:1.2rem}.explanation{color:var(--text-secondary);font-size:.92rem;line-height:1.8;overflow-x:auto}.explanation p{margin-bottom:1rem}.explanation p:last-child{margin-bottom:0}.explanation ul,.explanation ol{margin-bottom:1rem;padding-left:1.5rem}.explanation li{margin-bottom:.4rem}.explanation h3{color:var(--text-primary);margin:1.5rem 0 .75rem;font-size:1.05rem}.explanation h4{color:var(--text-primary);margin:1.25rem 0 .5rem;font-size:.95rem}.explanation pre{background:var(--code-bg,#070f0b);border-radius:var(--radius);color:var(--text-secondary);border:1px solid var(--border);margin:1rem 0;padding:1rem;font-family:JetBrains Mono,monospace;font-size:.85rem;overflow-x:auto}.explanation table{border-collapse:collapse;-webkit-overflow-scrolling:touch;width:100%;margin:1rem 0;font-size:.85rem;display:block;overflow-x:auto}.explanation th,.explanation td{border:1px solid var(--border);text-align:left;padding:.75rem}.explanation th{color:var(--text-primary);background:#ffffff08}.explanation strong{color:var(--text-primary)}.explanation code:not(pre code){color:var(--accent-cyan);background:#10b9811f;border-radius:4px;padding:.15rem .4rem;font-family:JetBrains Mono,monospace;font-size:.85em}.code-block-wrapper{border-radius:var(--radius);border:1px solid var(--border);max-width:100%;margin:1rem 0;overflow:hidden}.code-block-header-clickable{cursor:zoom-in}.code-block-header-clickable:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.code-block-header{background:var(--code-header-bg,#0b1a12);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.code-block-actions,.code-dialog-actions{align-items:center;gap:.5rem;display:flex}.code-lang{color:var(--accent-purple);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.expand-code-hint{color:var(--text-muted);font-size:.7rem}.copy-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:.25rem .75rem;font-family:inherit;font-size:.75rem;transition:all .2s}.copy-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.line-number{text-align:right;width:2.5rem;color:var(--line-number-color,#3a6b50);-webkit-user-select:none;user-select:none;margin-right:1rem;font-size:.75rem;display:inline-block}.code-dialog-backdrop{z-index:1200;background:#050806f0;padding:1rem;position:fixed;inset:0}.code-dialog{background:var(--bg-primary);border:1px solid var(--border);border-radius:1rem;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.code-dialog-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.code-dialog-content{flex:1;min-height:0;overflow:auto}.code-block-fullscreen-pre{height:100%;min-height:100%;border-radius:0!important}.code-view-toggle{border:1px solid var(--border);border-radius:999px;align-items:center;gap:.4rem;margin-bottom:.8rem;padding:.2rem;display:inline-flex}.code-view-toggle-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.35rem .8rem;font-family:inherit;font-size:.78rem;font-weight:600}.code-view-toggle-btn.active{color:var(--accent-blue);background:#10b98124}.playground-loading{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);padding:1rem}.code-playground{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);flex-direction:column;margin-top:.7rem;display:flex;overflow:hidden}.code-playground-toolbar{border-bottom:1px solid var(--border);background:var(--code-header-bg,#0b1a12);justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .85rem;display:flex}.code-playground-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.code-playground-actions .copy-btn:disabled{opacity:.6;cursor:not-allowed}.code-playground-grid{flex:1;min-height:0;display:grid}.code-playground-editor{min-width:0;min-height:0}.code-playground-splitter{background:color-mix(in srgb,var(--border)70%,#000 30%);cursor:col-resize}.code-playground-splitter.vertical{cursor:row-resize}.code-playground-console{border-left:1px solid var(--border);background:#0b1118;min-width:0;min-height:0;padding:.8rem;font-family:JetBrains Mono,monospace;font-size:.8rem;line-height:1.5;overflow:auto}.console-placeholder{color:#7b8a9a;margin:0}.console-line{white-space:pre-wrap;word-break:break-word;margin:0 0 .45rem}.console-line.log{color:#6ee7b7}.console-line.error{color:#f87171}.exercise-try-btn{border:1px solid color-mix(in srgb,var(--accent-green)40%,var(--border)60%);color:var(--accent-green);cursor:pointer;background:#4ade801a;border-radius:.5rem;margin-top:.9rem;padding:.4rem .9rem;font-family:inherit;font-size:.8rem;font-weight:600}.exercise-try-btn:hover{background:#4ade802e}.exercise-playground-wrap{margin-top:1rem}.exercise-playground-title{color:var(--accent-green);margin-bottom:.6rem;font-size:.95rem}.exercise-playground-instructions{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);background:color-mix(in srgb,var(--bg-card)75%,#000 25%);margin-bottom:.8rem;padding:.9rem 1rem;font-size:.84rem}.exercise-playground-instructions p{margin-bottom:.6rem}.exercise-playground-instructions p:last-child{margin-bottom:0}.exercise-playground-instructions ul,.exercise-playground-instructions ol{margin:.6rem 0;padding-left:1.4rem}.exercise-card{border-radius:var(--radius);background:#4ade800f;border:1px solid #4ade8033;padding:1.25rem}.exercise-card h4{color:var(--accent-green);margin-bottom:.5rem;font-size:.9rem}.exercise-text{color:var(--text-secondary);font-size:.88rem;line-height:1.7}.exercise-text p{margin-bottom:.75rem}.exercise-text p:last-child{margin-bottom:0}.exercise-text ul,.exercise-text ol{margin-bottom:.75rem;padding-left:1.5rem}.exercise-text strong{color:var(--accent-green)}.exercise-text code{color:var(--accent-green);background:#4ade801a;border-radius:3px;padding:.1rem .35rem;font-family:JetBrains Mono,monospace;font-size:.85em}.mistakes-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.mistakes-list li{color:var(--text-secondary);border-left:3px solid var(--accent-red);border-radius:0 var(--radius)var(--radius)0;background:#f871710f;padding:.65rem 1rem;font-size:.85rem;line-height:1.6}.mistakes-list li p{margin-bottom:.5rem}.mistakes-list li p:last-child{margin-bottom:0}.mistakes-list li code:not(pre code){color:var(--accent-orange);background:#f871711f;border-radius:3px;padding:.1rem .35rem;font-family:JetBrains Mono,monospace;font-size:.85em}.accordion{flex-direction:column;gap:.5rem;display:flex}.accordion-item{border:1px solid var(--border);border-radius:var(--radius);transition:all .3s;overflow:hidden}.accordion-item.open{border-color:var(--accent-blue)}.accordion-header{background:var(--bg-card);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;padding:.85rem 1rem;font-family:inherit;font-size:.85rem;transition:background .2s;display:flex}.accordion-header:hover{background:var(--bg-card-hover)}.accordion-title{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.q-badge{border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.q-label{color:var(--accent-blue);font-size:.8rem;font-weight:700}.accordion-icon{color:var(--text-muted);flex-shrink:0;margin-left:.5rem;font-size:1.2rem}.accordion-body{border-top:1px solid var(--border);color:var(--text-secondary);background:#0003;padding:1rem;font-size:.85rem;line-height:1.7;animation:.2s slideDown}.accordion-body .answer{margin-top:.75rem}.accordion-body strong{color:var(--accent-green)}.answer-text{color:var(--text-secondary)}.answer-text p,.q-full p{margin-bottom:.75rem}.answer-text p:last-child,.q-full p:last-child{margin-bottom:0}.answer-text ul,.answer-text ol,.q-full ul,.q-full ol{margin-bottom:.75rem;padding-left:1.5rem}.answer-text li,.q-full li{margin-bottom:.3rem}.q-full.markdown-body{border-bottom:1px dashed var(--border);margin-bottom:1rem;padding-bottom:1rem}.answer-text code:not(pre code),.accordion-body code:not(pre code){color:var(--accent-cyan);background:#10b9811f;border-radius:3px;padding:.1rem .35rem;font-family:JetBrains Mono,monospace;font-size:.85em}.answer-text pre,.q-full pre,.q-code,.a-code{background:var(--code-bg,#070f0b);border-radius:var(--radius);color:var(--text-secondary);border:1px solid var(--border);margin:.5rem 0;padding:.75rem 1rem;font-family:JetBrains Mono,monospace;font-size:.8rem;line-height:1.6;overflow-x:auto}.q-code,.a-code{background:var(--code-bg,#070f0b);border-radius:var(--radius);color:var(--text-secondary);white-space:pre;margin:.5rem 0;padding:.75rem 1rem;font-family:JetBrains Mono,monospace;font-size:.8rem;line-height:1.6;overflow-x:auto}.topic-nav{border-top:1px solid var(--border);justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:2rem;display:flex}.topic-nav a{border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);color:inherit;flex-direction:column;flex:1;gap:.2rem;min-width:0;padding:.75rem 1rem;font-size:.85rem;text-decoration:none;transition:all .25s;display:flex}.topic-nav a:hover{border-color:var(--accent-blue);transform:translateY(-2px)}.topic-nav .nav-label{color:var(--text-muted);font-size:.75rem}.topic-nav .nav-title{color:var(--text-primary);overflow-wrap:break-word;font-weight:600;line-height:1.3}@media (max-width:900px){.sidebar{transition:transform .3s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay,.mobile-menu-btn{display:block}.main-content{margin-left:0;padding:3.5rem 1.25rem 1.25rem}.hero h1{font-size:2rem}.phases-grid{grid-template-columns:1fr}.topic-nav{gap:.5rem}.topic-nav a{padding:.5rem .75rem;font-size:.75rem}.top-controls{gap:.5rem;right:1rem}}@media (max-width:768px){.themes-grid{grid-template-columns:repeat(2,1fr)}.code-playground{min-height:520px;height:auto!important}.code-playground-grid{grid-template-rows:1fr auto 220px!important;grid-template-columns:1fr!important}.code-playground-splitter{cursor:row-resize;width:100%;height:8px}.code-playground-console{border-left:none;border-top:1px solid var(--border)}.code-playground-toolbar{align-items:flex-start}}@media (max-width:600px){.top-controls{gap:.35rem;top:.75rem;right:.75rem}.code-block-header{flex-wrap:nowrap;align-items:center;padding:.55rem .7rem}.code-block-actions{flex-wrap:nowrap;justify-content:flex-end;gap:.35rem;width:auto;margin-left:auto}.code-block-header .copy-btn{padding:.2rem .45rem;font-size:.7rem}.expand-code-hint{white-space:nowrap;font-size:.62rem}.mode-toggle{width:38px;height:38px}.hero h1{font-size:1.8rem}.hero p{font-size:1rem}.settings-header h1{font-size:1.5rem}}@media (max-width:480px){.line-number{width:2rem;margin-right:.7rem}.hero h1{font-size:1.6rem}.hero p{font-size:.95rem}.topic-page h1{font-size:1.5rem}.roadmaps-grid{grid-template-columns:1fr}.topic-nav{flex-direction:column}.topic-nav a{text-align:left!important;margin-left:0!important}.top-controls{gap:.25rem;top:.65rem;right:.5rem}.mode-toggle{width:36px;height:36px}.themes-grid{grid-template-columns:1fr}.breadcrumb{gap:.3rem;font-size:.7rem}.main-content{padding:3.5rem 1rem 1rem}.phase-card{padding:1.25rem}.section{margin-bottom:2rem}}.roadmaps-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;margin-top:2.5rem;display:grid}.roadmap-card{border-radius:var(--radius-lg);color:inherit;text-decoration:none;transition:all .3s;overflow:hidden}.roadmap-card-inner{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);color:inherit;flex-direction:column;height:100%;padding:1.5rem;text-decoration:none;transition:all .3s;display:flex;position:relative}.roadmap-card:not(.coming-soon) .roadmap-card-inner:hover{border-color:var(--accent-blue);box-shadow:none;transform:translateY(-2px)}.roadmap-card.coming-soon .roadmap-card-inner{opacity:.5;cursor:default}.roadmap-card-accent{border-radius:3px 3px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.roadmap-emoji{margin:.5rem 0 .75rem;font-size:2.5rem}.roadmap-card-inner h3{margin-bottom:.4rem;font-size:1.2rem;font-weight:700}.roadmap-card-inner p{color:var(--text-secondary);flex:1;font-size:.85rem;line-height:1.6}.roadmap-tags{flex-wrap:wrap;gap:.4rem;margin-top:.75rem;display:flex}.roadmap-tag{background:var(--accent-bg,#6366f11a);color:var(--accent-blue);border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.roadmap-count{color:var(--accent-cyan);margin-top:.75rem;font-size:.75rem;font-weight:600;display:block}.coming-soon-badge{background:var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.2rem .6rem;font-size:.65rem;font-weight:700;position:absolute;top:.75rem;right:.75rem}.sidebar-back{color:var(--text-muted);border-bottom:1px solid var(--border);padding:.6rem 1.25rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:color .2s;display:block}.sidebar-back:hover{color:var(--accent-blue)}.sidebar-roadmap-title{color:var(--text-primary);border-bottom:1px solid var(--border);padding:.85rem 1.25rem;font-size:1rem;font-weight:700;text-decoration:none;transition:color .2s;display:block}.sidebar-roadmap-title:hover{color:var(--accent-blue)}.sidebar-roadmap-list{padding:.5rem 0}.sidebar-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:.5rem 1.25rem;font-size:.7rem;font-weight:700}.sidebar-roadmap-link{color:var(--text-secondary);justify-content:space-between;align-items:center;padding:.6rem 1.25rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar-roadmap-link:hover{color:var(--text-primary);background:#ffffff08}.sidebar-roadmap-link.active{color:var(--accent-blue);background:#ffffff0a}.sidebar-roadmap-link.disabled{opacity:.4;cursor:default}.sidebar-roadmap-link.disabled:hover{color:var(--text-secondary);background:0 0}.sidebar-soon{background:var(--border);color:var(--text-muted);text-transform:uppercase;border-radius:999px;padding:.1rem .4rem;font-size:.6rem;font-weight:700}.sidebar-settings{color:var(--text-muted);border-top:1px solid var(--border);align-items:center;gap:.5rem;padding:.85rem 1.5rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.sidebar-settings:hover{color:var(--text-primary);background:#ffffff08}.sidebar-settings.active{color:var(--accent-blue);background:#ffffff0a}.settings-header{margin-bottom:2rem}.settings-header h1{margin-bottom:.5rem;font-size:2rem}.settings-header p{color:var(--text-secondary)}.themes-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.theme-card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;color:var(--text-primary);flex-direction:column;padding:1rem;font-family:inherit;transition:all .3s;display:flex;position:relative}.theme-card:hover{border-color:var(--text-muted);transform:translateY(-3px);box-shadow:0 6px 24px #0000004d}.theme-card.active{border-color:var(--accent-blue);box-shadow:0 0 0 1px var(--accent-blue),0 6px 24px #0000004d}.theme-active-badge{background:var(--accent-blue);color:#000;border-radius:999px;padding:.2rem .5rem;font-size:.65rem;font-weight:700;position:absolute;top:.6rem;right:.6rem}.theme-preview{gap:.4rem;margin-bottom:.85rem;display:flex}.theme-swatch{border:1px solid #ffffff14;border-radius:6px;flex:1;height:32px}.theme-swatch:first-child{border-radius:6px 2px 2px 6px;flex:1.5}.theme-swatch:last-child{border-radius:2px 6px 6px 2px}.theme-info{flex-direction:column;gap:.15rem;display:flex}.theme-emoji{margin-bottom:.15rem;font-size:1.2rem}.theme-info h3{font-size:.9rem;font-weight:700}.theme-info p{color:var(--text-secondary);font-size:.75rem;line-height:1.4}.top-controls{z-index:200;align-items:center;gap:.75rem;display:flex;position:fixed;top:1rem;right:1.5rem}.top-control-slot{align-items:center;display:flex}.header-controls-desktop{align-items:center;gap:.75rem;display:flex}.header-controls-mobile{display:none;position:relative}.mobile-menu-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transform-origin:100% 0;z-index:300;min-width:200px;padding:.5rem;animation:.2s cubic-bezier(.16,1,.3,1) slideDown;position:absolute;top:calc(100% + 10px);right:0;overflow:visible;box-shadow:0 10px 40px #0006}.mobile-menu-row{border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .75rem;transition:background .15s;display:flex}.mobile-menu-row:hover{background:#ffffff0a}.mobile-menu-label{color:var(--text-secondary);white-space:nowrap;font-size:.85rem;font-weight:500}@media (max-width:767px){.header-controls-desktop{display:none}.header-controls-mobile{display:block}}.chatbot-top-toggle-icon{font-size:1.25rem;line-height:1}.chatbot-top-toggle{border-color:var(--glass-border);animation:2.5s ease-in-out infinite chatbot-pulse;box-shadow:0 4px 24px #0000004d,0 0 #10b98166}.chatbot-top-toggle:hover{box-shadow:0 6px 32px #0006,0 0 20px #10b98140}.mode-toggle{border:1px solid var(--border);background:var(--bg-card);width:44px;height:44px;color:var(--text-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0003}.mode-toggle:hover{border-color:var(--accent-blue);transform:scale(1.1);box-shadow:0 4px 16px #0000004d}.mode-toggle:disabled{cursor:not-allowed;opacity:.8}.mode-toggle:disabled:hover{border-color:var(--border);transform:none;box-shadow:0 2px 8px #0003}.theme-dropdown-container{position:relative}.theme-trigger-emoji{font-size:1.3rem;line-height:1}.theme-dropdown-menu{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transform-origin:100% 0;z-index:400;width:280px;animation:.2s cubic-bezier(.16,1,.3,1) slideDown;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 10px 40px #0006}.theme-dropdown-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);padding:1rem}.theme-dropdown-header h4{color:var(--text-primary);margin:0;font-size:.9rem;font-weight:700}.theme-dropdown-list{max-height:400px;padding:.5rem;overflow-y:auto}.theme-dropdown-item{border-radius:var(--radius);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:.75rem;width:100%;padding:.75rem;transition:all .2s;display:flex;position:relative}.theme-dropdown-item:hover{background:#ffffff08}.theme-dropdown-item.active{border-color:var(--border);background:#ffffff0d}.theme-item-emoji{font-size:1.25rem}.theme-item-info{flex-direction:column;flex:1;gap:.25rem;display:flex}.theme-item-name{color:var(--text-primary);font-size:.85rem;font-weight:600}.theme-item-preview{gap:2px;display:flex}.theme-item-swatch{border:1px solid #ffffff1a;border-radius:50%;width:16px;height:16px}.theme-item-check{color:var(--accent-blue);font-size:1.2rem;font-weight:700}.auth-dropdown-container{position:relative}.auth-dropdown-menu{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:300;width:240px;animation:.2s cubic-bezier(.16,1,.3,1) slideDown;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 10px 40px #0006}.auth-dropdown-header{border-bottom:1px solid var(--border);background:var(--bg-secondary);padding:1rem}.auth-dropdown-actions{padding:.5rem}.auth-dropdown-item{border-radius:var(--radius);cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.6rem .75rem;font-size:.85rem;transition:background .15s;display:flex}.auth-dropdown-item:hover{background:#ffffff0d}.auth-spinner{border:2px solid var(--border);border-top-color:var(--text-primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.mode-icon{opacity:0;font-size:1.2rem;transition:all .3s;position:absolute;transform:scale(.5)rotate(-90deg)}.mode-icon.show{opacity:1;transform:scale(1)rotate(0)}[data-mode=light]{--bg-primary:#ededf0!important;--bg-secondary:#e2e2e8!important;--bg-card:#f5f5f8!important;--bg-card-hover:#eaeaef!important;--border:#d1d1d8!important;--text-primary:#1a1a2e!important;--text-secondary:#4a4a6a!important;--text-muted:#7a7a9a!important;--glass:#f0f0f5b3!important;--glass-border:#00000014!important;--code-header-bg:#e0e0e8!important;--line-number-color:#a0a0b0!important;--code-bg:#e8e8ef!important}[data-mode=light] body{background:var(--bg-primary)}[data-mode=light] .sidebar{background:var(--bg-secondary);box-shadow:2px 0 8px #0000000d}[data-mode=light] .mode-toggle{box-shadow:0 2px 8px #0000001a}[data-mode=light] .phase-card{box-shadow:0 1px 4px #0000000f}[data-mode=light] .phase-card:hover{box-shadow:0 8px 32px #0000001a}[data-mode=light] .accordion-body{background:#00000008}[data-mode=light] .q-code,[data-mode=light] .a-code{color:#333;background:#f0f0f5}[data-mode=light] .exercise-card{background:#34d39914}[data-mode=light] .mistakes-list li{background:#f8717114}[data-mode=light] .theme-swatch{border-color:#0000001a}[data-mode=light] .theme-card{box-shadow:0 1px 4px #00000014}.chatbot-selection-btn{background:var(--accent-blue);color:#000;cursor:pointer;z-index:1000;border:none;border-radius:999px;align-items:center;gap:.3rem;padding:.4rem .8rem;font-size:.8rem;font-weight:600;animation:.2s cubic-bezier(.16,1,.3,1) chatbot-pop-in;display:flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 4px 12px #0003}.chatbot-selection-btn:hover{background:var(--accent-green);transform:translate(-50%,-105%)scale(1.05)}.chatbot-selection-tooltip{--tooltip-bg:linear-gradient(145deg,color-mix(in srgb,var(--bg-card)82%,#000 18%)0%,color-mix(in srgb,var(--bg-secondary)78%,#000 22%)100%);--tooltip-surface:color-mix(in srgb,var(--bg-card)88%,#000 12%);--tooltip-border:color-mix(in srgb,var(--accent-blue)42%,var(--border)58%);--tooltip-text:color-mix(in srgb,var(--text-primary)92%,#fff 8%);--tooltip-muted:color-mix(in srgb,var(--text-secondary)88%,var(--text-primary)12%);--tooltip-label:color-mix(in srgb,var(--text-muted)78%,var(--accent-blue)22%);--tooltip-code-bg:color-mix(in srgb,var(--accent-blue)16%,var(--bg-secondary)84%);background:var(--tooltip-bg);border:1px solid var(--tooltip-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:1001;opacity:0;transform-origin:top;flex-direction:column;width:min(420px,100vw - 2rem);max-height:360px;transition:top .2s cubic-bezier(.16,1,.3,1),left .2s cubic-bezier(.16,1,.3,1);animation:.2s cubic-bezier(.16,1,.3,1) forwards chatbot-tooltip-in;display:flex;position:fixed;overflow:hidden;transform:scale(.97);box-shadow:0 16px 40px #00000073,0 0 0 1px #ffffff14}@keyframes chatbot-tooltip-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.chatbot-selection-tooltip-header{border-bottom:1px solid var(--tooltip-border);background:var(--tooltip-surface);justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .85rem;display:flex}.chatbot-selection-tooltip-header-actions{align-items:center;gap:.35rem;display:inline-flex}.chatbot-selection-tooltip-title{color:var(--tooltip-text);margin:0;font-size:.8rem;font-weight:700}.chatbot-selection-tooltip-expand,.chatbot-selection-tooltip-close{border:1px solid var(--tooltip-border);color:var(--tooltip-muted);cursor:pointer;background:0 0;border-radius:6px;padding:.2rem .35rem;line-height:1}.chatbot-selection-tooltip-expand:hover,.chatbot-selection-tooltip-close:hover{border-color:var(--accent-blue);color:var(--tooltip-text)}.chatbot-selection-tooltip-expanded{border-radius:var(--radius-lg);opacity:1;transform-origin:50%;animation:.25s cubic-bezier(.16,1,.3,1) chatbot-selection-expand;transform:none;visibility:visible!important;width:auto!important;height:auto!important;max-height:calc(100vh - 2rem)!important;transition:none!important;inset:1rem!important}.chatbot-selection-tooltip-expanded .chatbot-selection-tooltip-body{flex:1 1 0;min-height:0}@keyframes chatbot-selection-expand{0%{opacity:.92;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.chatbot-selection-tooltip-label{text-transform:uppercase;letter-spacing:.05em;color:var(--tooltip-label);margin:0;padding:.6rem .85rem .25rem;font-size:.68rem}.chatbot-selection-tooltip-selected{color:var(--tooltip-muted);-webkit-line-clamp:2;line-clamp:2;border-bottom:1px solid var(--tooltip-border);-webkit-box-orient:vertical;margin:0;padding:0 .85rem .6rem;font-size:.76rem;line-height:1.4;display:-webkit-box;overflow:hidden}.chatbot-selection-tooltip-body{color:var(--tooltip-text);padding:.75rem .85rem;font-size:.82rem;overflow-y:auto}.chatbot-selection-tooltip .chatbot-markdown{color:var(--tooltip-text);font-size:.8rem}.chatbot-selection-tooltip .chatbot-markdown strong,.chatbot-selection-tooltip .chatbot-markdown h1,.chatbot-selection-tooltip .chatbot-markdown h2,.chatbot-selection-tooltip .chatbot-markdown h3,.chatbot-selection-tooltip .chatbot-markdown h4,.chatbot-selection-tooltip .chatbot-markdown h5,.chatbot-selection-tooltip .chatbot-markdown h6{color:var(--tooltip-text)}.chatbot-selection-tooltip .chatbot-markdown code:not(pre code){background:var(--tooltip-code-bg);color:var(--tooltip-text)}.chatbot-selection-tooltip .chatbot-markdown pre{background:color-mix(in srgb,var(--bg-primary)72%,#000 28%);border-color:var(--tooltip-border);color:var(--tooltip-text)}.chatbot-selection-tooltip .chatbot-markdown blockquote{color:var(--tooltip-muted);border-left-color:var(--accent-blue)}.chatbot-selection-tooltip-error{color:color-mix(in srgb,var(--accent-red)72%,#fff 28%);margin:0;font-size:.78rem}.chatbot-selection-tooltip-actions{border-top:1px solid var(--tooltip-border);background:var(--tooltip-surface);padding:.7rem .85rem}.chatbot-selection-tooltip-chat-btn{border:1px solid color-mix(in srgb,var(--accent-blue)35%,var(--border)65%);background:color-mix(in srgb,var(--accent-blue)14%,transparent);width:100%;color:var(--accent-blue);cursor:pointer;border-radius:999px;padding:.45rem .75rem;font-family:inherit;font-size:.77rem;font-weight:600;transition:all .2s}.chatbot-selection-tooltip-chat-btn:hover{background:color-mix(in srgb,var(--accent-blue)22%,transparent);border-color:var(--accent-blue)}@keyframes chatbot-pop-in{0%{opacity:0;transform:translate(-50%,-80%)scale(.9)}to{opacity:1;transform:translate(-50%,-100%)scale(1)}}.chatbot-fab{border:1px solid var(--glass-border);background:var(--bg-card);width:56px;height:56px;color:var(--text-primary);cursor:pointer;z-index:1000;border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.16,1,.3,1);animation:2.5s ease-in-out infinite chatbot-pulse;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 24px #0000004d,0 0 #10b98166}.chatbot-fab:hover{border-color:var(--accent-blue);transform:scale(1.1);box-shadow:0 6px 32px #0006,0 0 20px #10b98140}.chatbot-fab-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.8)}.chatbot-fab-icon{font-size:1.8rem;line-height:1;transition:transform .3s}@keyframes chatbot-pulse{0%,to{box-shadow:0 4px 24px #0000004d,0 0 #10b98166}50%{box-shadow:0 4px 24px #0000004d,0 0 0 10px #10b98100}}.chatbot-drawer{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-lg);z-index:999;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;width:400px;max-height:560px;animation:.3s cubic-bezier(.16,1,.3,1) chatbot-slide-up;display:flex;position:fixed;bottom:5.5rem;right:1.5rem;overflow:hidden;box-shadow:0 16px 64px #0006,0 0 0 1px #ffffff08}@keyframes chatbot-slide-up{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.chatbot-header{background:var(--bg-card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.chatbot-header-info{align-items:center;gap:.65rem;display:flex}.chatbot-header-icon{font-size:1.5rem}.chatbot-title{color:var(--text-primary);margin:0;font-size:.9rem;font-weight:700}.chatbot-subtitle{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:200px;margin:0;font-size:.72rem;overflow:hidden}.chatbot-header-actions{align-items:center;gap:.35rem;display:flex}.chatbot-action-btn{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-secondary);background:0 0;padding:.35rem .5rem;font-size:.9rem;line-height:1;transition:all .2s}.chatbot-action-btn:hover{border-color:var(--accent-blue);color:var(--text-primary);background:#10b98114}.chatbot-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:998;background:#0009;animation:.2s chatbot-fade-in;position:fixed;inset:0}@keyframes chatbot-fade-in{0%{opacity:0}to{opacity:1}}.chatbot-drawer.chatbot-fullscreen{border-radius:var(--radius-lg);width:auto;max-height:none;animation:.3s cubic-bezier(.16,1,.3,1) chatbot-expand;position:fixed;inset:2rem}.chatbot-fullscreen .chatbot-messages{flex:1 1 0;min-height:0;max-height:none}@keyframes chatbot-expand{0%{opacity:.8;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.chatbot-messages{scroll-behavior:smooth;flex-direction:column;flex:auto;gap:.75rem;min-height:0;max-height:380px;padding:1rem;display:flex;overflow-y:auto}.chatbot-messages::-webkit-scrollbar{width:4px}.chatbot-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.chatbot-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem 0;display:flex}.chatbot-empty-icon{opacity:.4;font-size:2.5rem}.chatbot-empty p{color:var(--text-muted);max-width:220px;font-size:.85rem}.chatbot-empty strong{color:var(--text-secondary)}.chatbot-suggestions{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:.25rem;display:flex}.chatbot-suggestion{color:var(--accent-blue);cursor:pointer;background:#10b98114;border:1px solid #10b98133;border-radius:999px;padding:.3rem .75rem;font-family:inherit;font-size:.72rem;font-weight:500;transition:all .2s}.chatbot-suggestion:hover{border-color:var(--accent-blue);background:#10b98126}.chatbot-bubble{gap:.5rem;max-width:90%;animation:.2s chatbot-bubble-in;display:flex}.chatbot-fullscreen .chatbot-bubble{max-width:75%}@keyframes chatbot-bubble-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chatbot-bubble-user{flex-direction:row-reverse;align-self:flex-end}.chatbot-bubble-assistant{align-self:flex-start}.chatbot-bubble-avatar{flex-shrink:0;margin-top:.15rem;font-size:1.1rem}.chatbot-bubble-content{word-break:break-word;overflow-wrap:break-word;border-radius:14px;min-width:0;padding:.6rem .85rem;font-size:.83rem;line-height:1.6}.chatbot-bubble-user .chatbot-bubble-content{background:var(--accent-blue);color:#000;white-space:pre-wrap;border-bottom-right-radius:4px;font-weight:500}.chatbot-bubble-assistant .chatbot-bubble-content{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);border-bottom-left-radius:4px;overflow-x:auto}.chatbot-markdown{font-size:.83rem;line-height:1.7}.chatbot-markdown p{margin-bottom:.6rem}.chatbot-markdown p:last-child{margin-bottom:0}.chatbot-markdown h1,.chatbot-markdown h2,.chatbot-markdown h3,.chatbot-markdown h4,.chatbot-markdown h5,.chatbot-markdown h6{color:var(--text-primary);margin:.8rem 0 .4rem;font-weight:700}.chatbot-markdown h1{font-size:1.1rem}.chatbot-markdown h2{font-size:1rem}.chatbot-markdown h3{font-size:.95rem}.chatbot-markdown h4{font-size:.9rem}.chatbot-markdown strong{color:var(--text-primary)}.chatbot-markdown em{font-style:italic}.chatbot-markdown code:not(pre code){color:var(--accent-cyan);background:#10b9811f;border-radius:4px;padding:.1rem .4rem;font-family:JetBrains Mono,monospace;font-size:.8em}.chatbot-markdown pre{background:var(--code-bg,#070f0b);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);margin:.5rem 0;padding:.75rem 1rem;font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.6;overflow-x:auto}.chatbot-markdown ul,.chatbot-markdown ol{margin-bottom:.6rem;padding-left:1.25rem}.chatbot-markdown li{margin-bottom:.25rem}.chatbot-markdown blockquote{border-left:3px solid var(--accent-blue);color:var(--text-muted);margin:.5rem 0;padding-left:.75rem;font-style:italic}.chatbot-markdown table{border-collapse:collapse;-webkit-overflow-scrolling:touch;width:100%;margin:.5rem 0;font-size:.8rem;display:block;overflow-x:auto}.chatbot-markdown th,.chatbot-markdown td{border:1px solid var(--border);text-align:left;padding:.4rem .6rem}.chatbot-markdown th{color:var(--text-primary);background:#ffffff08;font-weight:600}.chatbot-markdown hr{border:none;border-top:1px solid var(--border);margin:.75rem 0}.chatbot-markdown a{color:var(--accent-blue);text-decoration:underline}.chatbot-typing,.chatbot-typing-sm{align-items:center;gap:4px;padding:2px 0;display:inline-flex}.chatbot-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite chatbot-bounce}.chatbot-dot:nth-child(2){animation-delay:.2s}.chatbot-dot:nth-child(3){animation-delay:.4s}.chatbot-typing-sm .chatbot-dot{width:4px;height:4px}@keyframes chatbot-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.chatbot-input-area{border-top:1px solid var(--border);background:var(--bg-card);gap:.5rem;padding:.75rem 1rem;display:flex}.chatbot-input{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);border-radius:999px;outline:none;flex:1;padding:.55rem .85rem;font-family:inherit;font-size:.83rem;transition:border-color .2s}.chatbot-input::placeholder{color:var(--text-muted)}.chatbot-input:focus{border-color:var(--accent-blue)}.chatbot-input:disabled{opacity:.6}.chatbot-send-btn{background:var(--accent-blue);color:#000;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;transition:all .2s;display:flex}.chatbot-send-btn:hover:not(:disabled){background:var(--accent-green);transform:scale(1.05)}.chatbot-send-btn:disabled{opacity:.4;cursor:not-allowed}[data-mode=light] .chatbot-fab,[data-mode=light] .chatbot-top-toggle{box-shadow:0 4px 24px #0000001f,0 0 #10b9814d}[data-mode=light] .chatbot-drawer{background:var(--bg-secondary);border-color:var(--border);box-shadow:0 16px 64px #00000026,0 0 0 1px #0000000d}[data-mode=light] .chatbot-header,[data-mode=light] .chatbot-bubble-assistant .chatbot-bubble-content{background:var(--bg-card);border-color:var(--border)}[data-mode=light] .chatbot-markdown pre{color:#333;background:#f0f0f5}[data-mode=light] .chatbot-backdrop{background:#0000004d}@media (max-width:520px){.chatbot-selection-tooltip{width:calc(100vw - 1rem);max-height:320px;left:.5rem!important;right:.5rem!important}.chatbot-selection-tooltip-expanded{border-radius:var(--radius-lg);max-height:calc(100vh - 1rem)!important;inset:.5rem!important}.chatbot-drawer{touch-action:manipulation;overscroll-behavior:contain;border-radius:0;width:100%;height:100%;max-height:none;position:fixed;inset:0}.chatbot-drawer.chatbot-fullscreen{border-radius:0;inset:0}.chatbot-messages{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1 1 0;min-height:0;max-height:none}.chatbot-bubble{max-width:90%!important}#chatbot-fullscreen-toggle{display:none!important}.chatbot-fab{width:56px;height:56px;bottom:1rem;right:1rem}.chatbot-input-area{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}.chatbot-send-btn{width:44px;height:44px}.chatbot-input{padding:.6rem .85rem;font-size:1rem}.chatbot-suggestion{padding:.45rem .85rem;font-size:.78rem}.chatbot-action-btn{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.45rem .6rem;display:flex}}.careerforge-wide{max-width:1100px}.cf-hero-title{margin-bottom:.75rem;font-size:2.2rem}.cf-tab-bar{background:var(--bg-secondary);border-radius:var(--radius);-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;flex:1;gap:.25rem;padding:.3rem;display:flex;overflow-x:auto}.cf-tab-bar::-webkit-scrollbar{display:none}@media (max-width:600px){.cf-hero-title{font-size:1.6rem}.cf-history-card{gap:.75rem!important;padding:.85rem 1rem!important}.cf-tab-bar button{white-space:nowrap;padding:.45rem .75rem!important;font-size:.8rem!important}.cf-card{padding:1rem!important}}@media (max-width:480px){.cf-hero-title{font-size:1.4rem}.cf-history-card{flex-direction:column!important;align-items:flex-start!important}.cf-history-card>a{width:100%}.cf-history-actions{justify-content:flex-end;gap:.5rem;width:100%;display:flex}.cf-phase-content{padding:.75rem .85rem!important}}@keyframes cf-spin{to{transform:rotate(360deg)}}@keyframes search-fade-in{0%{opacity:0;transform:translate(-50%)scale(.96)translateY(-8px)}to{opacity:1;transform:translate(-50%)scale(1)translateY(0)}}.search-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1300;background:#0009;position:fixed;inset:0}.search-modal{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1301;flex-direction:column;width:min(640px,100vw - 2rem);max-height:70vh;animation:.2s cubic-bezier(.16,1,.3,1) search-fade-in;display:flex;position:fixed;top:15vh;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 24px 80px #00000080}.search-input-container{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.search-icon-prefix{flex-shrink:0;font-size:1.1rem}.search-input{color:var(--text-primary);caret-color:var(--accent-blue);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:1.125rem}.search-input::placeholder{color:var(--text-muted)}.search-kbd{border:1px solid var(--border);color:var(--text-muted);background:var(--bg-card);border-radius:4px;flex-shrink:0;padding:.2rem .4rem;font-family:inherit;font-size:.7rem}.search-results{flex:1;padding:.5rem;overflow-y:auto}.search-result-group{margin-bottom:.25rem}.search-result-group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:.5rem .75rem .25rem;font-size:.7rem;font-weight:700}.search-result-item{border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:1px solid #0000;align-items:flex-start;gap:.75rem;padding:.65rem .75rem;transition:background .15s;display:flex}.search-result-item:hover,.search-result-item:focus{background:var(--bg-card-hover);border-color:var(--glass-border);outline:none}.search-result-emoji{flex-shrink:0;padding-top:2px;font-size:1.1rem}.search-result-body{flex:1;min-width:0}.search-result-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.search-result-meta{color:var(--text-muted);margin-top:2px;font-size:.75rem}.search-result-snippet{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:480px;margin-top:3px;font-size:.78rem;overflow:hidden}.search-empty{text-align:center;color:var(--text-muted);padding:2rem;font-size:.9rem}.quiz-dialog-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998;background:#000000bf;animation:.2s chatbot-fade-in;position:fixed;inset:0}.quiz-dialog-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:9999;flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) chatbot-expand;display:flex;position:fixed;inset:2rem;overflow:hidden;box-shadow:0 16px 64px #00000080}.quiz-dialog-header{background:var(--bg-card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.quiz-dialog-title{color:var(--text-primary);align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:700;display:flex}.quiz-dialog-close{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.quiz-dialog-close:hover{border-color:var(--accent-red);color:var(--accent-red);background:#f871711a}.quiz-dialog-content{flex:1;padding:0;position:relative;overflow-y:auto}.quiz-dialog-content .quiz-container{border:none;border-radius:0}@media (max-width:640px){.quiz-dialog-container{border-radius:0;inset:0}}.quiz-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.quiz-header{padding:1.25rem 1.5rem 0}.quiz-body{padding:1rem 1.5rem 1.5rem}.quiz-progress-bar{background:#ffffff1a;border-radius:2px;height:4px;margin-bottom:.5rem;overflow:hidden}.quiz-progress-fill{background:var(--accent-blue);border-radius:2px;height:100%;transition:width .3s}.quiz-progress-text{color:var(--text-muted);margin-bottom:.5rem;font-size:.8rem}.quiz-question-text{color:var(--text-primary);margin-bottom:1rem;font-size:1rem;font-weight:600;line-height:1.6}.quiz-code-block{margin-bottom:1rem}.quiz-options{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.quiz-option{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-secondary);text-align:left;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.9rem;transition:all .2s;display:flex}.quiz-option:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--accent-blue)}.quiz-option-selected{border-color:var(--accent-blue);color:var(--text-primary);background:#10b9811f}.quiz-option-correct{color:var(--text-primary);border-color:var(--accent-green)!important;background:#34d3991f!important}.quiz-option-incorrect{color:var(--text-primary);border-color:var(--accent-red)!important;background:#f871711f!important}.quiz-option:disabled{cursor:default}.quiz-option-letter{background:var(--bg-card);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:600;display:flex}.quiz-option-correct .quiz-option-letter{background:var(--accent-green);color:var(--bg-primary)}.quiz-option-incorrect .quiz-option-letter{background:var(--accent-red);color:var(--bg-primary)}.quiz-option-text{flex:1;line-height:1.4}.quiz-confirm-btn{width:100%;margin-top:.5rem}.quiz-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.quiz-feedback{background:var(--bg-secondary);border-radius:var(--radius);margin-top:1rem;padding:1rem;animation:.2s quizSlideDown}@keyframes quizSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.quiz-feedback-badge{margin-bottom:.5rem;font-size:1rem;font-weight:700}.quiz-feedback-correct{color:var(--accent-green)}.quiz-feedback-incorrect{color:var(--accent-red)}.quiz-feedback-explanation{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem;line-height:1.6}.quiz-btn{border-radius:var(--radius);cursor:pointer;border:none;padding:.6rem 1.5rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .2s}.quiz-btn-primary{background:var(--accent-blue);color:var(--bg-primary)}.quiz-btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.quiz-btn-large{padding:.75rem 2rem;font-size:1rem}.quiz-results{text-align:center;padding:2rem 1.5rem}.quiz-score-circle{align-items:baseline;gap:.25rem;margin-bottom:.5rem;display:inline-flex}.quiz-score-number{color:var(--accent-green);font-size:3rem;font-weight:800}.quiz-score-total{color:var(--text-muted);font-size:1.5rem}.quiz-score-percent{color:var(--text-primary);margin-bottom:.25rem;font-size:1.2rem;font-weight:600}.quiz-time{color:var(--text-muted);margin-bottom:1.5rem;font-size:.85rem}.quiz-actions{margin-top:1.5rem}.quiz-best-score{border-radius:var(--radius);color:var(--accent-green);background:#34d3991a;border:1px solid #34d3994d;margin-bottom:1rem;padding:.3rem .75rem;font-size:.8rem;display:inline-block}.quiz-generate-card{background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius);text-align:center;padding:2rem}.quiz-generate-text{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem}.quiz-generating{color:var(--text-muted);flex-direction:column;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.quiz-error{color:var(--accent-red);margin-top:.75rem;font-size:.85rem}.quiz-review{text-align:left;margin:1.5rem 0}.quiz-review-title{color:var(--text-primary);margin-bottom:.75rem;font-size:1rem;font-weight:600}.quiz-review-item{border-radius:var(--radius);border-left:3px solid;margin-bottom:.5rem;padding:.75rem}.quiz-review-correct{border-left-color:var(--accent-green);background:#34d3990d}.quiz-review-incorrect{border-left-color:var(--accent-red);background:#f871710d}.quiz-review-question{color:var(--text-primary);margin-bottom:.25rem;font-size:.85rem;font-weight:600}.quiz-review-answer{color:var(--text-secondary);font-size:.8rem}.quiz-topic-breakdown{text-align:left;background:var(--bg-secondary);border-radius:var(--radius);max-width:400px;margin:1rem auto;padding:1rem}.quiz-topic-score{border-bottom:1px solid var(--border);color:var(--text-secondary);justify-content:space-between;padding:.4rem 0;font-size:.85rem;display:flex}.quiz-topic-score:last-child{border-bottom:none}.phase-assessment-section,.topic-quiz-section,.mock-interview-section{margin-top:2rem}.phase-assessment-trigger{text-align:center;margin-top:2rem}.phase-assessment-container{margin-top:2rem}@media (max-width:520px){.quiz-header{padding:1rem 1rem 0}.quiz-body{padding:.75rem 1rem 1rem}.quiz-results{padding:1.5rem 1rem}.quiz-option{padding:.6rem .75rem;font-size:.85rem}.quiz-score-number{font-size:2.5rem}}.feedback-fab{z-index:1100;border:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(12px);height:44px;color:var(--text-primary);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0 1.25rem;font-size:.95rem;font-weight:600;transition:all .25s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 20px #10b9811f}.feedback-fab:hover{border-color:var(--accent-blue);transform:scale(1.08);box-shadow:0 4px 28px #10b98140}body[data-drawer-open] .feedback-fab{opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;transform:translateY(10px)}.feedback-fab{transition:all .25s,opacity .2s}.feedback-overlay{z-index:1200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050c08bf;justify-content:center;align-items:center;padding:1rem;animation:.2s feedbackFadeIn;display:flex;position:fixed;inset:0}@keyframes feedbackFadeIn{0%{opacity:0}to{opacity:1}}.feedback-modal{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:100%;max-width:460px;max-height:90vh;animation:.25s feedbackSlideUp;overflow-y:auto;box-shadow:0 24px 64px #0006}@keyframes feedbackSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.feedback-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.feedback-modal-header h3{font-size:1rem;font-weight:700}.feedback-modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.1rem;line-height:1;transition:color .2s}.feedback-modal-close:hover{color:var(--text-primary)}.feedback-form{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.feedback-chips-fieldset{border:none;padding:0}.feedback-label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.feedback-required{color:var(--accent-red)}.feedback-chips{flex-wrap:wrap;gap:.4rem;display:flex}.feedback-chip{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;padding:.35rem .75rem;font-family:inherit;font-size:.78rem;font-weight:500;transition:all .2s}.feedback-chip:hover{border-color:var(--accent-blue);color:var(--text-primary)}.feedback-chip.active{border-color:var(--accent-blue);color:var(--accent-blue);background:#10b98124}.feedback-field{flex-direction:column;display:flex}.feedback-rating{gap:.25rem;display:flex}.feedback-star{cursor:pointer;color:var(--border);background:0 0;border:none;padding:.1rem;font-size:1.35rem;line-height:1;transition:color .15s,transform .15s}.feedback-star:hover{transform:scale(1.15)}.feedback-star.active{color:var(--accent-yellow)}.feedback-textarea,.feedback-input{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text-primary);outline:none;padding:.65rem .85rem;font-family:Inter,-apple-system,sans-serif;font-size:.85rem;transition:border-color .2s}.feedback-textarea:focus,.feedback-input:focus{border-color:var(--accent-blue)}.feedback-textarea{resize:vertical;min-height:80px}.feedback-textarea::placeholder,.feedback-input::placeholder{color:var(--text-muted)}.feedback-submit{border-radius:var(--radius);background:var(--accent-blue);color:#0a1a14;cursor:pointer;border:none;padding:.6rem 1.2rem;font-family:inherit;font-size:.85rem;font-weight:700;transition:all .2s}.feedback-submit:hover:not(:disabled){filter:brightness(1.15);box-shadow:0 4px 16px #10b98140}.feedback-submit:disabled{opacity:.6;cursor:not-allowed}.feedback-error{color:var(--accent-red);font-size:.8rem}.feedback-form-container,.feedback-success-container{animation:.3s cubic-bezier(.16,1,.3,1) feedbackFormContent}@keyframes feedbackFormContent{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.feedback-success{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1rem;display:flex}.feedback-success-icon{width:48px;height:48px;color:var(--accent-green);background:#10b98126;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex}.feedback-success p{color:var(--text-secondary);font-size:.95rem}.feedback-contextual{background:var(--gradient-card);border:1px solid var(--glass-border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:2rem 0;padding:1rem 1.25rem;display:flex}.feedback-contextual-inner{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.feedback-contextual-label{color:var(--text-secondary);font-size:.88rem;font-weight:600}.feedback-thumbs{gap:.35rem;display:flex}.feedback-thumb{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.3rem .6rem;font-size:1.1rem;line-height:1;transition:all .2s}.feedback-thumb:hover:not(:disabled){border-color:var(--accent-blue);background:#10b98114}.feedback-thumb.active{border-color:var(--accent-green);background:#34d39926}.feedback-thumb:disabled:not(.active){opacity:.4;cursor:default}.feedback-thanks{color:var(--accent-green);font-size:.82rem;animation:.3s feedbackFadeIn}.feedback-report-link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.8rem;transition:color .2s}.feedback-report-link:hover{color:var(--accent-red)}@media (max-width:768px){.feedback-fab{height:40px;padding:0 1rem;font-size:.88rem;bottom:1rem;right:1rem}.feedback-overlay{align-items:flex-end;padding:0}.feedback-modal{border-radius:var(--radius-lg)var(--radius-lg)0 0;width:100%;max-width:100%;max-height:90vh;padding-bottom:env(safe-area-inset-bottom,1rem);overscroll-behavior:contain;border-bottom:none;border-left:none;border-right:none;margin:0;animation:.3s cubic-bezier(.32,.72,0,1) feedbackSlideUpMobile}.feedback-modal:before{content:"";background:var(--border);border-radius:2px;width:36px;height:4px;margin:.75rem auto 0;display:block}.feedback-modal-header{padding:.75rem 1rem}.feedback-form{gap:.875rem;padding:1rem}.feedback-chip{min-height:36px;padding:.5rem .9rem;font-size:.82rem}.feedback-star{padding:.25rem .3rem;font-size:1.6rem}.feedback-submit{width:100%;padding:.75rem 1.2rem;font-size:.9rem}.feedback-contextual{flex-direction:column;align-items:flex-start}}.topic-title-row{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.bookmark-btn-wrap{flex-shrink:0;align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.bookmark-bottom{justify-content:center;margin:1.5rem 0 .5rem;display:flex}.bookmark-bottom .bookmark-btn-wrap{padding-top:0}.bookmark-bottom .bookmark-btn{padding:.5rem 1.5rem;font-size:.95rem}.bookmark-btn{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.85rem;transition:all .2s;display:flex}.bookmark-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#10b9810f}.bookmark-btn.active{border-color:var(--accent-blue);color:var(--accent-blue);background:#10b9811a}.bookmark-btn-label{font-weight:500}.bookmark-toast{color:var(--accent-green);font-size:.8rem;font-weight:600;animation:.2s toastFadeIn}@keyframes toastFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.topic-card-wrap{align-items:stretch;display:flex;position:relative}.topic-card-wrap .topic-card{border-radius:var(--radius)0 0 var(--radius);flex:1}.topic-card-bookmark{background:var(--bg-card);border:1px solid var(--border);border-radius:0 var(--radius)var(--radius)0;cursor:pointer;color:var(--text-muted);opacity:.5;border-left:none;flex-shrink:0;justify-content:center;align-items:center;padding:0 .6rem;font-size:.9rem;transition:all .2s;display:flex}.topic-card-wrap:hover .topic-card-bookmark{opacity:1}.topic-card-bookmark:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#10b98114}.topic-card-bookmark.active{opacity:1;color:var(--accent-blue);border-color:var(--accent-blue);background:#10b98114}.bookmarks-page{padding-bottom:3rem}.bookmarks-header{margin-bottom:2rem}.bookmarks-title{align-items:center;gap:.75rem;margin-bottom:.35rem;font-size:1.75rem;font-weight:800;display:flex}.bookmarks-count{background:var(--accent-blue);color:var(--bg-primary);border-radius:999px;justify-content:center;align-items:center;min-width:1.6rem;padding:.1rem .55rem;font-size:.8rem;font-weight:700;display:inline-flex}.bookmarks-subtitle{color:var(--text-secondary);font-size:.95rem}.bookmarks-empty{color:var(--text-secondary)}.bookmarks-empty-state{text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1rem;display:flex}.bookmarks-empty-icon{margin-bottom:.5rem;font-size:3rem}.bookmarks-browse-link{color:var(--accent-blue);margin-top:1rem;font-weight:600;text-decoration:none}.bookmarks-browse-link:hover{text-decoration:underline}.bookmarks-groups{flex-direction:column;gap:1rem;display:flex}.bookmarks-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);overflow:hidden}.bookmarks-group-header{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;font-size:1rem;font-weight:700;transition:background .15s;display:flex}.bookmarks-group-header:hover{background:#ffffff08}.bookmarks-group-title{flex:1}.bookmarks-group-meta{align-items:center;gap:.5rem;display:flex}.bookmarks-group-count{background:var(--border);color:var(--text-secondary);border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:700}.bookmarks-group-chevron{color:var(--text-muted);font-size:.85rem}.bookmarks-list{border-top:1px solid var(--border);list-style:none}.bookmarks-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1.25rem;transition:background .15s;display:flex}.bookmarks-item:last-child{border-bottom:none}.bookmarks-item:hover{background:#ffffff05}.bookmarks-item-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.bookmarks-item-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;text-decoration:none;overflow:hidden}.bookmarks-item-title:hover{color:var(--accent-blue)}.bookmarks-item-phase{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.bookmarks-remove-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;flex-shrink:0;padding:.1rem .3rem;font-size:1.2rem;line-height:1;transition:all .15s}.bookmarks-remove-btn:hover{color:var(--accent-red);background:#f871711a}@media (max-width:768px){.topic-title-row{flex-direction:column;align-items:flex-start;gap:.5rem}.topic-card-bookmark{opacity:1;padding:0 .75rem}}@keyframes feedbackSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.mock-interview-entry-card{border-style:solid}.mock-interview-dialog-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:9999;flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) chatbot-expand;display:flex;position:fixed;inset:2rem;overflow:hidden;box-shadow:0 16px 64px #00000080}.mock-interview-dialog-header{border-bottom:1px solid var(--border)}.mock-interview-body{flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}.mock-interview-body>*{flex:1;min-height:0}.interview-score-badge{border:1px solid;border-radius:999px;justify-content:center;align-items:center;padding:.25rem .75rem;font-size:.85rem;font-weight:700;display:inline-flex}.interview-score-badge--green{color:var(--accent-green);background:#34d3991f}.interview-score-badge--yellow{color:var(--accent-yellow,#fbbf24);background:#fbbf241f}.interview-score-badge--red{color:var(--accent-red,#f87171);background:#f871711f}.interview-score-badge--lg{padding:.5rem 1.1rem;font-size:1.4rem}.interview-evaluation-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.5rem;padding:.85rem 1rem;display:flex}.interview-evaluation-header{align-items:center;gap:.65rem;display:flex}.interview-feedback-text{font-size:.83rem}.interview-nav-btn{color:var(--accent-blue);border:1px solid var(--accent-blue);border-radius:var(--radius);cursor:pointer;background:0 0;align-self:flex-end;padding:.55rem 1.25rem;font-size:.85rem;font-weight:600;transition:all .2s}.interview-nav-btn:hover{background:#60a5fa1a}.interview-freeform-panel{flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}.interview-text-input-bar{border-top:1px solid var(--border);background:var(--bg-card);flex-shrink:0;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.interview-text-input{border:1px solid var(--border);background:var(--bg-primary);min-width:0;color:var(--text-primary);border-radius:999px;outline:none;flex:1;padding:.5rem .75rem;font-family:inherit;font-size:.85rem;transition:border-color .2s}.interview-text-input:focus{border-color:var(--accent-blue)}.interview-text-input:disabled{opacity:.5}.interview-text-send-btn{background:var(--accent-blue);color:#000;cursor:pointer;border:none;border-radius:999px;flex-shrink:0;padding:.5rem 1rem;font-size:.82rem;font-weight:600;transition:all .2s}.interview-text-send-btn:hover:not(:disabled){background:var(--accent-green)}.interview-text-send-btn:disabled{opacity:.4;cursor:not-allowed}.interview-voice-panel{border-bottom:1px solid var(--border);background:linear-gradient(180deg,#60a5fa14,transparent),var(--bg-card);flex-direction:column;gap:.65rem;padding:1rem 1.1rem .9rem;display:flex}.interview-voice-status-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.interview-voice-indicator{border:1px solid var(--border);min-height:32px;color:var(--text-secondary);letter-spacing:.03em;text-transform:uppercase;background:#ffffff0a;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.74rem;font-weight:700;display:inline-flex}.interview-voice-indicator:before{content:"";opacity:.75;background:currentColor;border-radius:999px;width:.5rem;height:.5rem}.interview-voice-indicator--listening{color:var(--accent-green);background:#10b9811f;border-color:#10b98152}.interview-voice-indicator--processing,.interview-voice-indicator--starting{color:var(--accent-blue);background:#60a5fa1f;border-color:#60a5fa52}.interview-voice-indicator--error,.interview-voice-indicator--unsupported{color:#f87171;background:#f871711f;border-color:#f8717147}.interview-voice-action-btn{min-height:34px;color:var(--text-primary);cursor:pointer;background:#60a5fa1f;border:1px solid #60a5fa59;border-radius:999px;padding:.45rem .85rem;font-size:.78rem;font-weight:600;transition:all .2s}.interview-voice-action-btn:hover:not(:disabled){background:#60a5fa2e;transform:translateY(-1px)}.interview-voice-action-btn:disabled{opacity:.5;cursor:not-allowed}.interview-voice-status-text{color:var(--text-primary);margin:0;font-size:.84rem;font-weight:600}.interview-voice-hint{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.5}.interview-voice-transcript{border-radius:var(--radius);background:#60a5fa0f;border:1px dashed #60a5fa52;flex-direction:column;gap:.4rem;padding:.8rem .9rem;display:flex}.interview-voice-transcript-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.68rem;font-weight:700}.interview-voice-transcript p{color:var(--text-primary);margin:0;font-size:.84rem;line-height:1.55}.interview-chat-messages{flex:1;min-height:0;max-height:none;overflow-y:auto}.interview-complete{flex-direction:column;flex:1;gap:1rem;padding:1.25rem;display:flex}.interview-complete-header{text-align:center;border-bottom:1px solid var(--border);flex-direction:column;align-items:center;gap:.5rem;padding-bottom:.5rem;display:flex}.interview-complete-header h4{color:var(--text-primary);margin:0;font-size:1rem;font-weight:700}.interview-summary-text{color:var(--text-secondary);font-size:.85rem;line-height:1.7}.interview-answers-review{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:0;max-height:160px;padding:.25rem 0;display:flex;overflow-y:auto}.interview-answer-review-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .75rem;display:flex}.interview-answer-review-item:last-child{border-bottom:none}.interview-question-mini{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:.78rem;overflow:hidden}.interview-complete-actions{flex-direction:column;align-items:center;gap:.5rem;margin-top:auto;padding-top:.5rem;display:flex}.interview-save-toast{color:var(--accent-green);margin:0;font-size:.82rem;font-weight:600}.interview-retry-save{color:var(--accent-red,#f87171);border:1px solid var(--accent-red,#f87171);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.3rem .75rem;font-size:.8rem}.interview-restart-btn{background:var(--accent-blue);color:#000;border-radius:var(--radius);cursor:pointer;border:none;padding:.55rem 1.25rem;font-size:.85rem;font-weight:600;transition:all .2s}.interview-restart-btn:hover{background:var(--accent-green)}[data-mode=light] .mock-interview-dialog-container{box-shadow:0 16px 64px #00000026}@media (max-width:768px){.mock-interview-dialog-container{border-radius:0;inset:0}}
