@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.min-h-screen{min-height:100vh}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.border{border-style:var(--tw-border-style);border-width:1px}.text-center{text-align:center}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--bg:#07070f;--surface:#0e0e1a;--surface2:#161625;--surface3:#1e1e30;--border:#ffffff0f;--border2:#ffffff18;--border3:#ffffff25;--primary:#7c5cfc;--primary-light:#a78bfa;--primary-dark:#6d28d9;--primary-glow:#7c5cfc40;--primary-subtle:#7c5cfc14;--green:#22d3a5;--green-glow:#22d3a526;--green-subtle:#22d3a514;--amber:#f59e0b;--amber-subtle:#f59e0b1a;--red:#f43f5e;--red-glow:#f43f5e33;--red-subtle:#f43f5e14;--text:#f0f0ff;--text2:#8585aa;--text3:#4a4a6a;--font:"Plus Jakarta Sans", sans-serif;--mono:"JetBrains Mono", monospace;--radius:14px;--radius-sm:10px;--radius-lg:20px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--primary-glow);color:var(--primary-light)}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes waveBar{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@keyframes pulseRing{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}@keyframes pulseRing2{0%{opacity:.4;transform:scale(1)}to{opacity:0;transform:scale(2.1)}}@keyframes recordingGlow{0%,to{box-shadow:0 0 20px var(--red-glow), 0 0 40px var(--red-glow)}50%{box-shadow:0 0 40px var(--red-glow), 0 0 80px var(--red-glow)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}.anim-fade-up{animation:.45s cubic-bezier(.16,1,.3,1) both fadeUp}.anim-fade-in{animation:.3s both fadeIn}.anim-scale-in{animation:.35s cubic-bezier(.16,1,.3,1) both scaleIn}.anim-float{animation:3.5s ease-in-out infinite float}.anim-spin{animation:1s linear infinite spin}.anim-delay-1{animation-delay:50ms}.anim-delay-2{animation-delay:.1s}.anim-delay-3{animation-delay:.15s}.anim-delay-4{animation-delay:.2s}.anim-delay-5{animation-delay:.25s}.wave-bars{align-items:center;gap:3px;height:20px;display:flex}.wave-bar{background:var(--primary);border-radius:99px;width:3px;animation:.8s ease-in-out infinite waveBar}.wave-bar:first-child{height:8px;animation-delay:0s}.wave-bar:nth-child(2){height:16px;animation-delay:.1s}.wave-bar:nth-child(3){height:20px;animation-delay:.2s}.wave-bar:nth-child(4){height:14px;animation-delay:.15s}.wave-bar:nth-child(5){height:10px;animation-delay:50ms}.mic-pulse{position:relative}.mic-pulse:before,.mic-pulse:after{content:"";border:1.5px solid var(--red);pointer-events:none;border-radius:50%;position:absolute;inset:-8px}.mic-pulse:before{animation:1.4s ease-out infinite pulseRing}.mic-pulse:after{animation:1.4s ease-out .5s infinite pulseRing2}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card-raised{background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius)}.glass{-webkit-backdrop-filter:blur(20px)saturate(1.4);backdrop-filter:blur(20px)saturate(1.4);border:1px solid var(--border);border-radius:var(--radius);background:#0e0e1abf}.shimmer{background:linear-gradient(90deg, var(--surface2) 25%, var(--surface3) 50%, var(--surface2) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.6s infinite shimmer}.gradient-text{background:linear-gradient(135deg, var(--primary-light), var(--green));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;font-weight:700;transition:all .2s;position:relative;overflow:hidden}.btn-primary:after{content:"";background:#fff0;transition:background .15s;position:absolute;inset:0}.btn-primary:hover:after{background:#ffffff14}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{border:1px solid var(--border2);color:var(--text2);border-radius:var(--radius-sm);cursor:pointer;background:0 0;font-weight:600;transition:all .2s}.btn-ghost:hover{background:var(--surface2);border-color:var(--border3);color:var(--text)}.btn-ghost:active{transform:scale(.98)}.input{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);outline:none;width:100%;padding:12px 16px;font-size:14px;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.input::placeholder{color:var(--text3)}.badge{letter-spacing:.03em;text-transform:uppercase;border-radius:99px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-green{background:var(--green-subtle);color:var(--green)}.badge-purple{background:var(--primary-subtle);color:var(--primary-light)}.badge-amber{background:var(--amber-subtle);color:var(--amber)}.badge-red{background:var(--red-subtle);color:var(--red)}.score-ring{stroke-dasharray:283;stroke-dashoffset:283px;stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.16,1,.3,1)}.noise:after{content:"";border-radius:inherit;pointer-events:none;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");position:absolute;inset:0}.nav-item{border-radius:var(--radius-sm);color:var(--text2);cursor:pointer;align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:all .18s;display:flex}.nav-item:hover{background:var(--surface2);color:var(--text)}.nav-item.active{background:var(--primary-subtle);color:var(--primary-light);font-weight:600}.nav-item .nav-icon{background:0 0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:background .18s;display:flex}.nav-item.active .nav-icon{background:var(--primary-subtle)}.correction-card{background:var(--red-subtle);border-radius:var(--radius-sm);border:1px solid #f43f5e33;margin-top:8px;padding:14px}.vocab-card{background:var(--green-subtle);border-radius:var(--radius-sm);border:1px solid #22d3a533;margin-top:8px;padding:14px}.divider{background:var(--border);height:1px;margin:0}.hero-gradient{background:linear-gradient(135deg,#1a1040 0%,#0f1a30 50%,#0a1a20 100%);position:relative;overflow:hidden}.hero-gradient:before{content:"";pointer-events:none;background:radial-gradient(circle,#7c5cfc33 0%,#0000 70%);width:300px;height:300px;position:absolute;top:-60px;right:-60px}.hero-gradient:after{content:"";pointer-events:none;background:radial-gradient(circle,#22d3a51f 0%,#0000 70%);width:200px;height:200px;position:absolute;bottom:-40px;left:40px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:default;padding:20px;transition:border-color .2s,transform .2s}.stat-card:hover{border-color:var(--border2);transform:translateY(-2px)}.topic-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;padding:20px;transition:all .2s}.topic-card:hover{background:var(--surface2);border-color:var(--border3);transform:translateY(-2px)}.topic-card.featured{background:linear-gradient(135deg,#7c5cfc26,#7c5cfc0d);border-color:#7c5cfc59}.topic-card.featured:hover{border-color:var(--primary)}.bubble-ai{background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:4px 18px 18px;padding:14px 16px;font-size:15px;line-height:1.6}.bubble-user{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);color:#fff;border-radius:18px 4px 18px 18px;padding:14px 16px;font-size:15px;line-height:1.6}.messages-area{flex-direction:column;flex:1;gap:4px;padding:24px 16px;display:flex;overflow-y:auto}@keyframes recordDot{0%,to{opacity:1}50%{opacity:.3}}.record-dot{background:var(--red);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite recordDot}@media (max-width:768px){.stat-grid-4{grid-template-columns:repeat(2,1fr)!important}.two-col,.three-col{grid-template-columns:1fr!important}.res-grid{grid-template-columns:repeat(2,1fr)!important}}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.15)}28%{transform:scale(1)}42%{transform:scale(1.08)}70%{transform:scale(1)}}.heartbeat{animation:1.8s ease-in-out infinite heartbeat}@keyframes glow-pulse{0%,to{box-shadow:0 0 10px #7c5cfc33}50%{box-shadow:0 0 24px #7c5cfc80}}.glow-pulse{animation:2s ease-in-out infinite glow-pulse}.page-pad{padding:28px}.secret-row:hover{border-color:var(--border3)!important;background:var(--surface2)!important}.status-connector{transition:background .4s}nav::-webkit-scrollbar{width:2px}nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
