@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Roboto+Mono:wght@400;500;600;700&display=swap";:root{--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-tertiary: #141414;--bg-hover: #1a1a1a;--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-tertiary: #666666;--border: #1a1a1a;--border-light: #2a2a2a;--border-bright: #ffffff;--radius: 0px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;font-size:14px;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}#root,.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1}h1,h2,h3,h4,h5,h6{font-family:Inter,sans-serif;font-weight:800;letter-spacing:-.03em;line-height:1.2}h1{font-size:2.5rem}h2{font-size:1.5rem}h3{font-size:1.25rem}code,pre{font-family:Roboto Mono,monospace}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:600;text-decoration:none;border:2px solid var(--border-bright);background:var(--bg-primary);color:var(--text-primary);transition:all .3s ease;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;position:relative}.btn:hover{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.btn:hover svg{stroke:var(--bg-primary)}.btn-primary{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.btn-primary:hover{background:var(--bg-primary);color:var(--text-primary);border-color:var(--text-primary)}.btn-primary:hover svg{stroke:var(--text-primary)}.btn-large{padding:10px 20px;font-size:13px}.page-container{max-width:1400px;margin:0 auto;padding:0 48px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(3,1fr)}@media(max-width:1024px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid-3{grid-template-columns:1fr}}.grid-4{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.section-title{display:flex;align-items:center;gap:10px;font-size:1.25rem;margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid var(--border-light);text-transform:uppercase;letter-spacing:.05em}.loading{text-align:center;padding:48px 24px;color:var(--text-secondary);font-size:14px;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.empty-state{text-align:center;padding:48px 24px;color:var(--text-tertiary);border:2px dashed var(--border-light);background:var(--bg-secondary);font-size:14px}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes glitch{0%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}to{transform:translate(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){h1{font-size:2rem}h2{font-size:1.25rem}h3{font-size:1.1rem}.page-container{padding:0 24px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--bg-primary);animation:slideDown .6s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.navbar-container{max-width:1400px;margin:0 auto;padding:0 48px;height:70px;display:flex;align-items:center;justify-content:space-between}.navbar-logo{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:var(--text-primary);text-decoration:none;text-transform:uppercase;letter-spacing:.05em;transition:opacity .3s ease}.navbar-logo:hover{opacity:.8}.navbar-links{display:flex;align-items:center;gap:4px}.nav-link{display:flex;align-items:center;gap:5px;padding:6px 12px;color:var(--text-secondary);text-decoration:none;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;transition:color .3s ease}.nav-link:hover{color:var(--text-primary)}.navbar-user{position:relative;margin-left:8px}.user-trigger{display:flex;align-items:center;gap:6px;padding:4px 10px;background:transparent;border:2px solid var(--border-light);color:var(--text-primary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:border-color .3s ease}.user-trigger:hover{border-color:var(--text-primary)}.user-avatar{width:20px;height:20px;object-fit:cover;border:1px solid var(--text-primary)}.user-name{font-size:11px}.user-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:150px;background:var(--bg-secondary);border:2px solid var(--text-primary);z-index:1001}.dropdown-item{width:100%;display:flex;align-items:center;gap:8px;padding:10px 14px;background:transparent;border:none;color:var(--text-secondary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s ease;text-align:left}.dropdown-item:hover{background:var(--text-primary);color:var(--bg-primary)}.hamburger-btn{display:none;background:transparent;border:2px solid var(--text-primary);color:var(--text-primary);padding:6px;cursor:pointer;transition:all .3s ease;border-radius:4px}.hamburger-btn:hover{background:var(--text-primary);color:var(--bg-primary)}.mobile-menu{overflow:hidden;background:var(--bg-secondary);border-top:2px solid var(--border-light)}.mobile-link{display:flex;align-items:center;gap:12px;padding:16px 24px;color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;transition:all .3s ease;background:transparent;border:none;width:100%;text-align:left;cursor:pointer;border-bottom:1px solid var(--border-light)}.mobile-link:hover{background:var(--text-primary);color:var(--bg-primary)}.mobile-link:last-child{border-bottom:none}@media(max-width:768px){.navbar-container{padding:0 20px}.navbar-logo{font-size:13px}.navbar-links{display:none}.hamburger-btn{display:block}}@media(min-width:769px)and (max-width:1024px){.navbar-container{padding:0 32px}.nav-link{padding:6px 10px;font-size:11px}.user-name{display:none}}.logo-icon{position:relative;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.spark-dot{width:12px;height:12px;background:#fff;border-radius:50%;position:absolute;box-shadow:0 0 10px #ffffff80;animation:pulse 2s ease-in-out infinite}.spark-line{width:2px;height:18px;background:linear-gradient(180deg,white 0%,transparent 100%);position:absolute;top:-3px;animation:sparkGlow 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 10px #ffffff80}50%{transform:scale(1.1);box-shadow:0 0 20px #fffc}}@keyframes sparkGlow{0%,to{opacity:.8}50%{opacity:1}}.logo-text{background:linear-gradient(135deg,#fff,#f0f0f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;letter-spacing:-.5px}.navbar-logo:hover .spark-dot{animation:pulse 1s ease-in-out infinite}.navbar-logo:hover .logo-text{background:linear-gradient(135deg,#fff,#e0e0e0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.orb-logo{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#fff,#e0e0e0);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 2px 8px #fff3;transition:all .3s ease}.logo-initials{font-size:14px;font-weight:900;background:linear-gradient(135deg,#1a1a1a,#0a0a0a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-1px}.navbar-logo:hover .orb-logo{transform:scale(1.1);box-shadow:0 4px 16px #fff6}.app-footer{padding:24px 0;background:var(--bg-secondary);border-top:2px solid var(--border-light);margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.footer-content p{margin:0;color:var(--text-secondary);font-size:13px}.footer-link{display:flex;align-items:center;gap:8px;color:var(--text-secondary);text-decoration:none;font-size:13px;transition:all .3s ease}.footer-link:hover{color:var(--text-primary);transform:translateY(-2px)}@media(max-width:600px){.footer-content{flex-direction:column;text-align:center}}.floating-notification{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--text-primary);color:var(--bg-primary);border:2px solid var(--bg-primary);box-shadow:0 8px 32px #fff3;transform:translate(400px);opacity:0;transition:all .5s cubic-bezier(.4,0,.2,1);max-width:320px}.floating-notification.visible{transform:translate(0);opacity:1;animation:bounce .6s cubic-bezier(.4,0,.2,1)}@keyframes bounce{0%,to{transform:translate(0)}50%{transform:translate(-10px)}}.notification-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);color:var(--text-primary);border:2px solid var(--text-primary);animation:pulse 2s ease infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notification-content{flex:1;display:flex;align-items:center;gap:8px}.notification-content p{margin:0;font-size:13px;font-weight:600;line-height:1.4;text-transform:uppercase;letter-spacing:.02em}.notification-emoji{font-size:1.25rem;margin-left:8px;animation:wave 1s ease infinite}.notification-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;border-radius:4px;margin-left:auto}.notification-close:hover{background:#ffffff1a;color:var(--text-primary);transform:scale(1.1)}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}@media(max-width:768px){.floating-notification{display:none!important}}.modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-secondary);border:3px solid var(--border-bright);max-width:450px;width:90%;padding:32px;position:relative;box-shadow:0 20px 60px #00000080}.modal-close{position:absolute;top:16px;right:16px;background:transparent;border:2px solid var(--border-light);color:var(--text-secondary);padding:6px;cursor:pointer;transition:all .3s ease}.modal-close:hover{border-color:var(--text-primary);color:var(--text-primary);transform:rotate(90deg)}.modal-icon{display:flex;justify-content:center;margin-bottom:20px}.warning-icon{font-size:4rem;filter:drop-shadow(0 4px 8px rgba(255,68,68,.3))}.modal-title{font-size:1.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;margin:0 0 16px;text-align:center;color:var(--text-primary)}.modal-message{font-size:14px;color:var(--text-secondary);text-align:center;margin:0 0 12px;line-height:1.6}.modal-message strong{color:var(--text-primary);font-weight:700}.modal-warning{font-size:12px;color:#f44;text-align:center;margin:0 0 24px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.modal-actions{display:flex;gap:12px;justify-content:center}.btn-cancel,.btn-delete{padding:12px 28px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .3s ease;border:2px solid}.btn-cancel{background:transparent;border-color:var(--border-light);color:var(--text-secondary)}.btn-cancel:hover{border-color:var(--text-primary);color:var(--text-primary);transform:translateY(-2px)}.btn-delete{background:#f44;border-color:#f44;color:#fff}.btn-delete:hover{background:#c00;border-color:#c00;transform:translateY(-2px);box-shadow:0 4px 12px #f446}@media(max-width:768px){.modal-content{padding:24px}.modal-title{font-size:1.5rem}.warning-icon{font-size:3rem}.modal-actions{flex-direction:column}.btn-cancel,.btn-delete{width:100%}}.companion-card{display:block;background:var(--bg-secondary);border:2px solid var(--border-light);text-decoration:none;transition:border-color .3s ease;position:relative;animation:slideInUp .6s cubic-bezier(.4,0,.2,1);text-align:left}.companion-card:hover{border-color:var(--text-primary)}.companion-card-header{position:relative;z-index:1;padding:16px;background:var(--text-primary)!important;color:var(--bg-primary);display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--bg-primary)}.companion-card-subject{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-family:Roboto Mono,monospace}.card-actions{display:flex;gap:8px}.bookmark-btn,.delete-btn{padding:6px;background:transparent;color:var(--bg-primary);border:2px solid var(--bg-primary);transition:all .3s ease;cursor:pointer}.bookmark-btn:hover{background:var(--bg-primary);color:var(--text-primary);transform:scale(1.1)}.delete-btn:hover{background:#f44;border-color:#f44;color:#fff;transform:scale(1.1)}.companion-card-body{position:relative;z-index:1;padding:20px;display:flex;flex-direction:column;gap:10px}.companion-card-name{font-size:1.25rem;font-weight:800;color:var(--text-primary);text-transform:uppercase;letter-spacing:-.02em;margin:0}.companion-card-topic{color:var(--text-secondary);font-size:.8rem;line-height:1.5;margin:0;min-height:36px}.companion-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding-top:12px;border-top:2px solid var(--border-light)}.companion-card-duration,.companion-card-style{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:5px 10px;border:2px solid var(--border-light);background:var(--bg-primary);color:var(--text-secondary);font-family:Roboto Mono,monospace}.grid .companion-card:nth-child(1){animation-delay:0s}.grid .companion-card:nth-child(2){animation-delay:.1s}.grid .companion-card:nth-child(3){animation-delay:.2s}.grid .companion-card:nth-child(4){animation-delay:.3s}.grid .companion-card:nth-child(5){animation-delay:.4s}.grid .companion-card:nth-child(6){animation-delay:.5s}@media(max-width:768px){.companion-card-name{font-size:1.1rem}.companion-card-body{padding:16px}}.hero-robot-container{position:absolute;z-index:2}.hero-robot-left{left:5%;top:15%}.robot-3d{position:relative;width:120px;height:140px;filter:drop-shadow(0 10px 20px rgba(255,255,255,.1))}.robot-head-3d{position:relative;width:70px;height:70px;background:linear-gradient(135deg,#fff,#e0e0e0);margin:0 auto;border:3px solid #000;box-shadow:inset -5px -5px 10px #0003,inset 5px 5px 10px #fffc}.robot-face{position:relative;width:100%;height:100%;padding:12px}.robot-eyes{display:flex;justify-content:space-between;margin-bottom:8px}.robot-eye-3d{width:16px;height:16px;background:#000;border:2px solid #fff;box-shadow:inset 2px 2px 4px #00000080,0 2px 4px #ffffff4d;position:relative;animation:blink 4s ease-in-out infinite}.pupil{position:absolute;width:6px;height:6px;background:#fff;border-radius:50%;top:3px;left:3px;animation:look 5s ease-in-out infinite}@keyframes blink{0%,96%,to{height:16px}98%{height:2px}}@keyframes look{0%,to{transform:translate(0)}25%{transform:translate(2px)}50%{transform:translateY(2px)}75%{transform:translate(-2px)}}.robot-mouth-3d{width:30px;height:3px;background:#000;margin:0 auto;box-shadow:0 1px 2px #ffffff80}.robot-antenna-3d{position:absolute;top:-20px;left:50%;transform:translate(-50%);width:3px;height:18px;background:linear-gradient(180deg,#fff,#ccc);border:1px solid #000}.antenna-ball{position:absolute;top:-8px;left:50%;transform:translate(-50%);width:10px;height:10px;background:radial-gradient(circle at 30% 30%,#fff,#999);border:2px solid #000;animation:pulse-light 2s ease-in-out infinite}@keyframes pulse-light{0%,to{box-shadow:0 0 5px #ffffff80}50%{box-shadow:0 0 15px #ffffffe6}}.robot-body-3d{position:relative;width:60px;height:50px;background:linear-gradient(135deg,#f5f5f5,#d0d0d0);margin:8px auto 0;border:3px solid #000;box-shadow:inset -4px -4px 8px #0003,inset 4px 4px 8px #fffc}.body-panel{position:absolute;top:10px;left:10px;right:10px;height:20px;background:#000;border:2px solid #fff;box-shadow:inset 0 2px 4px #ffffff4d}.body-light{position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:8px;height:8px;background:radial-gradient(circle,#fff,#aaa);border:1px solid #000;animation:pulse-light 1.5s ease-in-out infinite}.robot-arms{position:absolute;width:100%;top:80px}.robot-arm-3d{position:absolute;width:8px;height:30px;background:linear-gradient(90deg,#fff,#d0d0d0);border:2px solid #000;box-shadow:inset -2px 0 4px #0003}.robot-arm-3d.left{left:15px;animation:wave-arm-left 3s ease-in-out infinite;transform-origin:top center}.robot-arm-3d.right{right:15px;animation:wave-arm-right 3s ease-in-out infinite;transform-origin:top center}@keyframes wave-arm-left{0%,to{transform:rotate(0)}50%{transform:rotate(-15deg)}}@keyframes wave-arm-right{0%,to{transform:rotate(0)}50%{transform:rotate(15deg)}}.speech-bubble{position:absolute;top:-20px;background:#fff;color:#000;padding:12px 16px;border:3px solid #000;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;box-shadow:4px 4px #0003;animation:float-bubble 3s ease-in-out infinite}@keyframes float-bubble{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.left-bubble{left:100%;margin-left:20px}.left-bubble:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:12px solid #000}.left-bubble:after{content:"";position:absolute;left:-7px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:10px solid #fff}.elegant-splash{position:absolute;bottom:100px;right:60px;width:70px;height:70px;z-index:1;pointer-events:none;display:flex;align-items:center;justify-content:center}.splash-ring{position:absolute;border:2px solid #ffffff;border-radius:50%;width:100%;height:100%}.ring-1{width:45px;height:45px}.ring-2{width:60px;height:60px}.splash-core{width:30px;height:30px;background:radial-gradient(circle,rgba(255,255,255,.2) 0%,transparent 70%);border-radius:50%;border:2px solid #ffffff}@media(max-width:768px){.robot-3d{width:80px;height:100px;transform:scale(.7)}.hero-robot-left{left:2%;top:10%}.speech-bubble{font-size:10px;padding:8px 12px}.left-bubble{margin-left:10px}.elegant-splash{width:80px;height:80px;bottom:40px;right:40px}.ring-1{width:50px;height:50px}.ring-2{width:65px;height:65px}.splash-core{width:30px;height:30px}}@media(max-width:768px){.robot-3d{width:80px;height:100px}.robot-head-3d{width:60px;height:60px}.robot-body-3d{width:50px;height:40px}.speech-bubble{font-size:11px;padding:8px 12px;max-width:180px}.elegant-splash{width:50px;height:50px;bottom:80px;right:40px}.ring-1{width:30px;height:30px}.ring-2{width:45px;height:45px}.splash-core{width:20px;height:20px}}.typing-cursor{animation:blink 1s step-end infinite;font-weight:700;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.home-page{min-height:calc(100vh - 70px);animation:fadeIn .8s ease;padding-top:70px}.home-hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 48px;border-bottom:2px solid var(--border-bright);background-color:#000!important;background:#000;overflow:hidden}.home-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 100px,var(--border) 100px,var(--border) 102px);opacity:.3;animation:slideBackground 20s linear infinite}@keyframes slideBackground{0%{transform:translate(0)}to{transform:translate(100px)}}.home-title{font-size:clamp(1.5rem,5vw,2.5rem);font-weight:800;margin-bottom:16px;text-transform:uppercase;letter-spacing:-.03em;position:relative;z-index:1;animation:glitchIn 1s cubic-bezier(.4,0,.2,1);line-height:1.1}@keyframes glitchIn{0%{opacity:0;transform:translateY(50px);text-shadow:-5px 0 0 rgba(255,255,255,.7),5px 0 0 rgba(255,255,255,.7)}20%{text-shadow:-2px 0 0 rgba(255,255,255,.5),2px 0 0 rgba(255,255,255,.5)}to{opacity:1;transform:translateY(0);text-shadow:none}}.home-title:after{content:"";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:80px;height:3px;background:var(--text-primary);animation:expandLine 1s cubic-bezier(.4,0,.2,1) .5s backwards}@keyframes expandLine{0%{width:0}to{width:80px}}.home-subtitle{font-size:clamp(.75rem,1.2vw,.875rem);color:var(--text-secondary);max-width:500px;margin:0 auto 28px;line-height:1.5;position:relative;z-index:1;animation:slideInUp 1s cubic-bezier(.4,0,.2,1) .3s backwards}.home-hero .btn{position:relative;z-index:1;animation:slideInUp 1s cubic-bezier(.4,0,.2,1) .6s backwards;padding:8px 16px!important;font-size:11px!important;gap:6px}.home-section{padding:80px 0;animation:slideInUp .8s cubic-bezier(.4,0,.2,1)}.sessions-list{display:flex;flex-direction:column;gap:12px}.session-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:transparent;border:none;border-bottom:1px solid var(--border-light)}.session-info h3{font-size:.875rem;margin-bottom:3px;text-transform:uppercase;letter-spacing:.05em}.session-info p{color:var(--text-tertiary);font-size:.7rem;font-family:Roboto Mono,monospace}.session-duration{font-size:.875rem;font-weight:700;color:var(--text-primary);font-family:Roboto Mono,monospace;padding:4px 10px;border:1px solid var(--border-light);background:var(--bg-primary)}@media(max-width:768px){.home-hero{min-height:100vh;padding:60px 24px}.home-title{font-size:2rem}.home-subtitle{font-size:.875rem;margin-bottom:28px}.home-section{padding:60px 0}.session-item{flex-direction:column;align-items:flex-start;gap:12px}.session-duration{align-self:flex-end}}@media(max-width:768px){.hero-robot-container,.hero-robot-left{display:none!important}.home-container{padding:60px 14px 25px}.hero{padding:20px 0 30px;text-align:center}.hero h1{font-size:1.4rem!important;margin-bottom:10px}.hero p{font-size:11px!important;margin-bottom:16px}.cta-buttons{flex-direction:column;gap:10px;align-items:center}.cta-buttons .btn{width:auto!important;max-width:200px!important;padding:8px 16px!important;font-size:11px!important;text-align:center!important}.stats-grid{grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.stat-card{padding:12px}.stat-card h3{font-size:1.1rem!important}.stat-card p{font-size:9px!important}.features-grid{grid-template-columns:1fr;gap:10px}.feature-card{padding:14px}.feature-card h3{font-size:13px!important}.feature-card p{font-size:10px!important}.cta{padding:25px 14px}.cta h2{font-size:1.1rem!important;margin-bottom:8px}.cta p{font-size:11px!important;margin-bottom:14px}}@media(max-width:480px){.home-container{padding:55px 12px 20px}.hero{padding:15px 0 25px}.hero h1{font-size:1.25rem!important}.hero p{font-size:10px!important}.cta-buttons .btn{max-width:180px!important;padding:7px 14px!important;font-size:10px!important}.stats-grid{grid-template-columns:1fr;gap:8px}.stat-card{padding:10px}.stat-card h3{font-size:1rem!important}.stat-card p{font-size:8px!important}.feature-card{padding:12px}.feature-card h3{font-size:12px!important}.feature-card p{font-size:9px!important}}.signin-page{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:40px 20px;background:radial-gradient(circle at top left,var(--bg-tertiary),var(--bg-primary))}.signin-container{width:100%;max-width:440px;transform:translateY(-20px);animation:slideIn .5s ease-out forwards}@keyframes slideIn{0%{opacity:0;transform:translateY(0)}to{opacity:1;transform:translateY(-20px)}}.signin-card{background:var(--bg-secondary);border:1px solid var(--border-light);padding:40px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.signin-title{font-size:28px;font-weight:700;margin-bottom:8px;color:var(--text-primary);text-align:center}.signin-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:32px;font-size:14px}.error-alert{background:#ef44441a;color:var(--danger);padding:12px;margin-bottom:24px;font-size:13px;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm)}.signin-form{margin-bottom:24px}.form-group{margin-bottom:20px}.form-label{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text-secondary);margin-bottom:8px;font-size:13px}.btn-full{width:100%;padding:12px 24px;font-size:14px}.signin-divider{display:flex;align-items:center;text-align:center;margin:24px 0;color:var(--text-tertiary);font-size:12px}.signin-divider:before,.signin-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-light)}.signin-divider span{padding:0 16px}.signin-footer{text-align:center;margin-top:24px;color:var(--text-secondary);font-size:13px}.link-button{background:none;border:none;color:var(--accent-primary);font-weight:500;cursor:pointer;font-size:13px;margin-left:4px}.link-button:hover{text-decoration:underline;color:var(--accent-hover)}@media(max-width:480px){.signin-card{padding:24px;border:none;box-shadow:none;background:transparent}}.custom-select{position:relative;width:100%}.custom-select-trigger{width:100%;padding:12px 16px;background:var(--bg-primary);border:2px solid var(--border-light);color:var(--text-primary);font-size:14px;font-family:Inter,sans-serif;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.custom-select-trigger:hover{border-color:var(--text-primary)}.custom-select-trigger:focus{outline:none;border-color:var(--text-primary);background:var(--bg-tertiary)}.custom-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-secondary);border:2px solid var(--text-primary);z-index:1000;max-height:250px;overflow-y:auto}.custom-select-option{width:100%;padding:12px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-family:Inter,sans-serif;text-align:left;cursor:pointer;transition:all .2s ease;border-bottom:1px solid var(--border)}.custom-select-option:last-child{border-bottom:none}.custom-select-option:hover{background:var(--bg-tertiary);color:var(--text-primary)}.custom-select-option.selected{background:var(--text-primary);color:var(--bg-primary);font-weight:600}.custom-select-dropdown::-webkit-scrollbar{width:6px}.custom-select-dropdown::-webkit-scrollbar-track{background:var(--bg-primary)}.custom-select-dropdown::-webkit-scrollbar-thumb{background:var(--border-light)}.custom-select-dropdown::-webkit-scrollbar-thumb:hover{background:var(--text-primary)}.library-page{min-height:calc(100vh - 70px);padding:60px 0;animation:fadeIn .6s ease}.library-filters{display:grid;grid-template-columns:1fr auto;gap:16px;margin-bottom:40px;animation:slideInUp .8s cubic-bezier(.4,0,.2,1) .2s backwards}.search-box{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-secondary);border:2px solid var(--border-light);transition:border-color .3s ease}.search-box:focus-within{border-color:var(--text-primary)}.search-box svg{color:var(--text-secondary);flex-shrink:0}.search-input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:14px;font-family:Inter,sans-serif;outline:none}.search-input::placeholder{color:var(--text-tertiary)}.filter-box{display:flex;align-items:center;gap:12px;min-width:250px}.filter-box svg{color:var(--text-secondary);flex-shrink:0}@media(max-width:768px){.library-page{padding:40px 0}.page-title{font-size:1.5rem;margin-bottom:32px}.library-filters{grid-template-columns:1fr}.filter-box{min-width:auto}}@media(max-width:768px){.library-container{padding:80px 14px 30px}.library-header h1{font-size:1.4rem!important;margin-bottom:6px}.library-header p{font-size:11px!important}.filters{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:16px}.search-box,.filters select{width:100%;padding:8px 12px;font-size:12px}.grid-3{grid-template-columns:1fr!important;gap:12px}.companion-card{padding:14px}.companion-card h3{font-size:14px!important;margin-bottom:4px}.companion-card p{font-size:11px!important}.tag{font-size:9px!important;padding:2px 6px!important}}@media(max-width:480px){.library-container{padding:70px 12px 25px}.library-header h1{font-size:1.25rem!important}.companion-card{padding:12px}.companion-card h3{font-size:13px!important}.companion-card p{font-size:10px!important}}.create-companion-page{min-height:calc(100vh - 70px);padding:60px 0;animation:fadeIn .6s ease}.page-title{font-size:2rem;text-align:center;margin-bottom:48px;text-transform:uppercase;letter-spacing:.05em;position:relative;animation:slideInUp .6s cubic-bezier(.4,0,.2,1)}.page-title:after{content:"";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:80px;height:3px;background:var(--text-primary)}.create-companion-card{max-width:700px;margin:0 auto;background:var(--bg-secondary);border:2px solid var(--border-light);padding:40px;animation:slideInUp .8s cubic-bezier(.4,0,.2,1) .2s backwards}.error-alert{padding:12px 16px;background:var(--bg-primary);border:2px solid #ff4444;color:#f44;margin-bottom:24px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.companion-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary)}.required{color:#f44}.input{padding:12px 16px;background:var(--bg-primary);border:2px solid var(--border-light);color:var(--text-primary);font-size:14px;font-family:Space Grotesk,sans-serif;transition:all .3s ease}.input:focus{outline:none;border-color:var(--text-primary);background:var(--bg-tertiary)}.input::placeholder{color:var(--text-tertiary)}.input-error{border-color:#f44}.error-message{font-size:12px;color:#f44;font-family:JetBrains Mono,monospace}textarea.input{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:12px;padding-top:24px;border-top:2px solid var(--border-light)}.btn-secondary{background:transparent;color:var(--text-secondary);border:2px solid var(--border-light)}.btn-secondary:before{background:var(--bg-tertiary)}.btn-secondary:hover>span{color:var(--text-primary)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@media(max-width:768px){.create-companion-page{padding:40px 0}.create-companion-card{padding:24px}.page-title{font-size:1.5rem;margin-bottom:32px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.voice-modal-backdrop{position:fixed;inset:0;z-index:9999;background:#000;display:flex;align-items:center;justify-content:center;animation:vmFadeIn .3s ease}@keyframes vmFadeIn{0%{opacity:0}to{opacity:1}}.voice-modal{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:40px;position:relative;font-family:Inter,-apple-system,sans-serif}.voice-modal-header{display:flex;flex-direction:column;align-items:center;gap:8px;position:absolute;top:60px}.voice-modal-name{font-size:14px;font-weight:700;color:#fff;letter-spacing:.1em;text-transform:uppercase}.voice-modal-state{font-size:11px;font-weight:600;color:#ffffff59;text-transform:uppercase;letter-spacing:.15em}.voice-orb-container{display:flex;align-items:center;justify-content:center;width:200px;height:200px;position:relative}.voice-orb{width:120px;height:120px;border-radius:50%;background:#ffffff14;border:2px solid rgba(255,255,255,.2);position:relative;transition:transform .12s ease,box-shadow .12s ease,border-color .2s ease;will-change:transform,box-shadow}.voice-orb-inner{display:none}.voice-orb-ring{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.05);pointer-events:none}.voice-orb-ring--1{inset:-20px;animation:orbRingPulse 3s ease-in-out infinite}.voice-orb-ring--2{inset:-42px;animation:orbRingPulse 3s ease-in-out infinite 1.2s;border-color:#ffffff08}@keyframes orbRingPulse{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.04);opacity:.8}}.voice-orb--connecting{animation:orbConnecting 1.8s ease-in-out infinite;border-color:#ffffff1a}@keyframes orbConnecting{0%,to{transform:scale(.94);opacity:.35}50%{transform:scale(1.02);opacity:.6}}.voice-orb--listening{animation:orbListening 2.5s ease-in-out infinite;border-color:#ffffff40}@keyframes orbListening{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.voice-orb--speaking{animation:none;border-color:#fff6}.voice-captions{max-width:480px;width:100%;max-height:80px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:0 20px;text-align:center;scrollbar-width:none}.voice-captions::-webkit-scrollbar{display:none}.voice-caption-hint{color:#fff3;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin:0}.voice-caption{margin:0;font-size:13px;line-height:1.5;animation:captionSlideIn .2s ease}.voice-caption--user{color:#fff6}.voice-caption--ai{color:#ffffffd9;font-weight:500}@keyframes captionSlideIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.voice-controls{display:flex;align-items:center;gap:20px;position:absolute;bottom:60px}.voice-ctrl-btn{display:flex;flex-direction:column;align-items:center;gap:6px;background:transparent;border:none;cursor:pointer;transition:all .2s ease;padding:10px 14px}.voice-ctrl-btn span{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-family:Inter,sans-serif}.voice-ctrl-btn--mute{color:#ffffff80}.voice-ctrl-btn--mute:hover{color:#fff}.voice-ctrl-btn--end{color:#fff;background:transparent;border:2px solid rgba(255,255,255,.3);width:58px;height:58px;padding:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px}.voice-ctrl-btn--end span{font-size:8px}.voice-ctrl-btn--end:hover{border-color:#fff;background:#ffffff0f}.voice-ctrl-btn--text{color:#ffffff80}.voice-ctrl-btn--text:hover{color:#fff}.voice-ctrl-btn--save{color:#ffffff80}.voice-ctrl-btn--save:hover{color:#fff}@media(max-width:768px){.voice-modal-header{top:40px}.voice-modal-name{font-size:12px}.voice-orb-container{width:160px;height:160px}.voice-orb{width:96px;height:96px}.voice-controls{bottom:40px;gap:14px}.voice-ctrl-btn--end{width:50px;height:50px}.voice-captions{max-width:90vw}.voice-caption{font-size:12px}}.quiz-backdrop{position:fixed;inset:0;z-index:9999;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px;animation:quizFadeIn .25s ease}@keyframes quizFadeIn{0%{opacity:0}to{opacity:1}}.quiz-modal{background:var(--bg-primary, #0b0b0f);border:1px solid var(--border-light, rgba(255,255,255,.1));width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:quizSlideUp .3s ease}@keyframes quizSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.quiz-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border-light, rgba(255,255,255,.08))}.quiz-header-left{flex:1}.quiz-module-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fff6}.quiz-title{margin:4px 0 0;font-size:15px;font-weight:600;color:var(--text-primary, #fff)}.quiz-close-btn{background:none;border:none;color:#fff6;cursor:pointer;padding:4px;transition:color .2s}.quiz-close-btn:hover{color:#fff}.quiz-progress-wrapper{display:flex;align-items:center;gap:12px;padding:12px 24px}.quiz-progress-bar{flex:1;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.quiz-progress-fill{height:100%;background:var(--text-primary, #fff);transition:width .3s ease}.quiz-progress-text{font-size:11px;color:#fff6;font-weight:600;white-space:nowrap}.quiz-body{flex:1;overflow-y:auto;padding:24px}.quiz-question{font-size:15px;font-weight:500;line-height:1.6;color:var(--text-primary, #fff);margin:0 0 20px}.quiz-options{display:flex;flex-direction:column;gap:10px}.quiz-option{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--bg-secondary, rgba(255,255,255,.04));border:1.5px solid rgba(255,255,255,.08);cursor:pointer;text-align:left;color:var(--text-primary, #fff);font-family:inherit;font-size:13px;line-height:1.5;transition:all .2s ease}.quiz-option:hover{border-color:#fff3;background:#ffffff0f}.quiz-option.selected{border-color:var(--text-primary, #fff);background:#ffffff14}.quiz-option-letter{min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:1.5px solid rgba(255,255,255,.15);color:#ffffff80;flex-shrink:0}.quiz-option.selected .quiz-option-letter{background:var(--text-primary, #fff);color:var(--bg-primary, #000);border-color:var(--text-primary, #fff)}.quiz-option-text{padding-top:2px}.quiz-results{display:flex;flex-direction:column;align-items:center;text-align:center}.quiz-score-circle{width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid;margin-bottom:16px}.quiz-score-circle.passed{border-color:#4caf50}.quiz-score-circle.failed{border-color:#fff3}.quiz-score-number{font-size:28px;font-weight:800;color:var(--text-primary, #fff)}.quiz-result-title{font-size:18px;font-weight:700;margin:0 0 8px}.quiz-result-title.passed{color:#4caf50}.quiz-result-title.failed{color:#fff9}.quiz-result-desc{font-size:13px;color:#ffffff80;line-height:1.6;margin:0 0 24px;max-width:360px}.quiz-breakdown{width:100%;text-align:left;display:flex;flex-direction:column;gap:8px}.quiz-breakdown-item{padding:12px 14px;border:1px solid rgba(255,255,255,.06);background:#ffffff05}.quiz-breakdown-item.correct{border-left:3px solid #4CAF50}.quiz-breakdown-item.wrong{border-left:3px solid #ef5350}.quiz-breakdown-header{display:flex;align-items:flex-start;gap:8px}.quiz-breakdown-icon{font-size:14px;flex-shrink:0}.quiz-breakdown-q{font-size:12px;color:var(--text-primary, #fff);line-height:1.5}.quiz-breakdown-explanation{font-size:11px;color:#ffffff73;margin:6px 0 0 22px;line-height:1.5}.quiz-footer{display:flex;justify-content:space-between;gap:12px;padding:16px 24px;border-top:1px solid var(--border-light, rgba(255,255,255,.08))}.quiz-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease;border:none}.quiz-btn:disabled{opacity:.3;cursor:not-allowed}.quiz-btn--primary{background:var(--text-primary, #fff);color:var(--bg-primary, #000)}.quiz-btn--primary:hover:not(:disabled){transform:translateY(-1px);opacity:.9}.quiz-btn--secondary{background:transparent;color:#fff9;border:1px solid rgba(255,255,255,.12)}.quiz-btn--secondary:hover:not(:disabled){color:#fff;border-color:#ffffff4d}@media(max-width:600px){.quiz-modal{max-height:100vh;height:100vh}.quiz-body{padding:16px}.quiz-footer{padding:12px 16px}}.video-modal-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fadeInVideo .2s ease-out forwards}@keyframes fadeInVideo{0%{opacity:0}to{opacity:1}}.ai-presentation-mode{background:linear-gradient(135deg,#121212,#1a1a24);border:1px solid rgba(100,100,255,.2);border-radius:20px;width:90%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 30px 60px #0009,0 0 40px #6464ff1a;overflow:hidden;animation:slideUpVideo .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideUpVideo{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.video-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#0006;border-bottom:1px solid rgba(255,255,255,.05)}.video-header-left{display:flex;align-items:center;gap:12px}.ai-recording-indicator{width:10px;height:10px;border-radius:50%;background:#f44;opacity:.3}.ai-recording-indicator.active{animation:pulseRecording 1.5s infinite}@keyframes pulseRecording{0%{transform:scale(1);opacity:1;box-shadow:0 0 10px #f44}50%{transform:scale(1.2);opacity:.5;box-shadow:0 0 20px #f44}to{transform:scale(1);opacity:1;box-shadow:0 0 10px #f44}}.video-header-left h3{margin:0;font-size:1.1rem;font-weight:500;color:#fff;letter-spacing:.5px}.btn-close-video{background:#ffffff1a;border:none;color:#fff;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-close-video:hover{background:#fff3;transform:rotate(90deg)}.presentation-body{padding:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:30px;flex:1}.presentation-topic{font-size:1.5rem;font-weight:300;color:#fff9;margin:0;text-transform:uppercase;letter-spacing:2px}.presentation-stage{display:flex;flex-direction:column;align-items:center;gap:40px;width:100%}.ai-avatar-container{position:relative;width:150px;height:150px;display:flex;align-items:center;justify-content:center}.ai-avatar-core{width:100px;height:100px;background:linear-gradient(135deg,#4facfe,#00f2fe);border-radius:50%;border:4px solid #fff;display:flex;align-items:center;justify-content:center;font-size:40px;z-index:10;box-shadow:0 10px 30px #0096ff66;transition:all .3s ease}.ai-avatar-container.speaking .ai-avatar-core{transform:scale(1.05);box-shadow:0 15px 40px #0096ff99}.ai-name-badge{position:absolute;bottom:-10px;background:#222;color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700;letter-spacing:1px;border:1px solid #4facfe;z-index:11}.avatar-rings .ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(79,172,254,.3);opacity:0}.ai-avatar-container.speaking .ring-1{width:140px;height:140px;animation:ripple 1.5s linear infinite}.ai-avatar-container.speaking .ring-2{width:180px;height:180px;animation:ripple 1.5s linear infinite .5s}.ai-avatar-container.speaking .ring-3{width:220px;height:220px;animation:ripple 1.5s linear infinite 1s}@keyframes ripple{0%{transform:translate(-50%,-50%) scale(.8);opacity:1}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}.presentation-captions{width:100%;max-width:700px;min-height:120px;background:#0000004d;border-radius:16px;padding:24px;display:flex;align-items:center;justify-content:center;border-left:4px solid #00f2fe}.caption-text{font-size:1.4rem;line-height:1.6;color:#fff;margin:0;font-weight:300;text-shadow:0 2px 10px rgba(0,0,0,.5)}.paused-text{color:#fff6;font-style:italic;font-size:1.2rem}.fade-in-text{animation:textReveal .5s ease-out forwards}@keyframes textReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.presentation-controls{display:flex;gap:16px;margin-top:20px}.ctrl-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:10px 20px;border-radius:30px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.ctrl-btn:hover{background:#fff3;transform:translateY(-2px)}.ctrl-btn.play{background:#00f2fe;color:#000;border:none;font-weight:600;padding:12px 24px}.ctrl-btn.play:hover{background:#4facfe;box-shadow:0 5px 15px #00f2fe66}.layout-split{flex-direction:row;align-items:stretch;gap:20px;padding:30px}.split-left{flex:0 0 35%;justify-content:flex-start;border-right:1px solid rgba(255,255,255,.1);padding-right:20px}.split-right{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0}.vscode-theme{display:flex;width:100%;height:100%}.vscode-window{display:flex;flex-direction:column;width:100%;height:100%;background:#1e1e1e;border-radius:8px;overflow:hidden;box-shadow:0 20px 50px #00000080;border:1px solid #333}.vscode-titlebar{display:flex;align-items:center;justify-content:center;height:30px;background:#323233;position:relative;-webkit-user-select:none;user-select:none}.mac-buttons{position:absolute;left:12px;display:flex;gap:8px}.mac-btn{width:12px;height:12px;border-radius:50%}.mac-btn.close{background:#ff5f56}.mac-btn.min{background:#ffbd2e}.mac-btn.max{background:#27c93f}.vscode-title{color:#ccc;font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.vscode-main{display:flex;flex:1;overflow:hidden;background:#1e1e1e}.vscode-activity-bar{width:48px;background:#333;display:flex;flex-direction:column;align-items:center;padding-top:10px;gap:15px}.activity-icon{font-size:20px;opacity:.4;cursor:pointer}.activity-icon.active{opacity:1;border-left:2px solid #fff}.vscode-sidebar{width:200px;background:#252526;border-right:1px solid #333;display:flex;flex-direction:column}.sidebar-title{color:#858585;font-size:11px;padding:10px 20px}.explorer-header{color:#ccc;font-size:11px;font-weight:700;padding:4px 10px;background:#2d2d2d;cursor:pointer}.explorer-item{color:#ccc;font-size:13px;padding:4px 10px 4px 24px;display:flex;align-items:center;gap:6px;cursor:pointer}.explorer-item:hover{background:#2a2d2e}.explorer-item.active{background:#37373d}.vscode-editor{flex:1;display:flex;flex-direction:column;background:#1e1e1e;overflow:hidden}.vscode-tabs{display:flex;background:#252526;height:35px}.vscode-tab{display:flex;align-items:center;gap:6px;padding:0 16px;background:#1e1e1e;color:#fff;font-size:13px;border-top:1px solid #007acc}.tab-close{margin-left:8px;opacity:.5}.tab-close:hover{opacity:1}.vscode-editor-content{display:flex;flex:1;overflow-y:auto;font-family:Fira Code,Consolas,monospace}.vscode-editor-content::-webkit-scrollbar{width:10px}.vscode-editor-content::-webkit-scrollbar-thumb{background:#424242}.vscode-line-numbers{width:50px;padding:16px 0;display:flex;flex-direction:column;align-items:flex-end;color:#858585;font-size:14px;background:#1e1e1e;border-right:1px solid #333;-webkit-user-select:none;user-select:none}.line-num{padding-right:14px;height:24px}.vscode-code-area{flex:1;padding:16px;color:#d4d4d4;overflow-x:auto}.vscode-code-area pre{margin:0;padding:0;background:transparent;border:none;border-radius:0}.vscode-code-area code{font-family:Fira Code,Courier New,monospace;font-size:14px;line-height:24px;white-space:pre}.code-comments{color:#6a9955}.live-typing{color:#9cdcfe}.cursor-blink{animation:blink 1s step-end infinite;color:#00f2fe}.real-video-player{width:100%;height:100%;min-height:420px;background:#000;border-radius:10px}.video-progress-wrap{width:100%;display:flex;align-items:center;gap:10px;color:#d1d5db;font-size:12px}.video-progress-bar{flex:1;height:8px;background:#ffffff24;border-radius:999px;overflow:hidden}.video-progress-fill{height:100%;background:linear-gradient(90deg,#4facfe,#00f2fe)}.video-error{width:100%;font-size:12px;color:#fca5a5;border:1px solid rgba(239,68,68,.3);background:#7f1d1d40;padding:10px;border-radius:8px;text-align:left}.live-caption{margin-top:12px;font-size:12px;color:#9ca3af;border-top:1px dashed #334155;padding-top:8px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--text-primary);color:var(--bg-primary);padding:12px 20px;border-radius:0;font-size:14px;font-weight:500;box-shadow:0 4px 12px #00000026;pointer-events:auto;animation:slideIn .3s ease,fadeOut .3s ease 2.7s;min-width:150px;text-align:center}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.code-sandbox{position:fixed;bottom:0;left:0;right:0;height:45vh;min-height:320px;z-index:900;background:#0d0d12;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;animation:sandboxSlideUp .3s ease}.code-sandbox.expanded{height:85vh}@keyframes sandboxSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sandbox-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.sandbox-header-left{display:flex;align-items:center;gap:10px}.sandbox-icon{font-size:12px;font-weight:700;color:#ffffff80;font-family:Courier New,monospace}.sandbox-title{font-size:12px;font-weight:600;color:#ffffffb3}.sandbox-header-right{display:flex;align-items:center;gap:4px}.sandbox-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;font-size:11px;font-weight:600;font-family:inherit;border:none;cursor:pointer;transition:all .15s ease;border-radius:4px}.sandbox-btn--run{background:#1a7a1a;color:#fff}.sandbox-btn--run:hover:not(:disabled){background:#1f8f1f}.sandbox-btn--ai{background:#6c5cff;color:#fff}.sandbox-btn--ai:hover:not(:disabled){background:#7d6fff}.sandbox-btn--ai:disabled{opacity:.5;cursor:not-allowed}.sandbox-btn--clear,.sandbox-btn--expand,.sandbox-btn--close{background:transparent;color:#fff6;padding:5px 6px}.sandbox-btn--clear:hover,.sandbox-btn--expand:hover{color:#fffc;background:#ffffff0f}.sandbox-btn--close:hover{color:#ef5350;background:#ef53501a}.lang-selector{position:relative;display:flex;align-items:center;gap:4px;padding:4px 10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.lang-current{font-size:11px;font-weight:600;color:#fff9}.lang-dropdown{position:absolute;top:100%;left:0;margin-top:4px;background:#1a1a22;border:1px solid rgba(255,255,255,.1);border-radius:4px;min-width:140px;max-height:200px;overflow-y:auto;z-index:100;box-shadow:0 8px 24px #0006}.lang-option{display:block;width:100%;text-align:left;padding:7px 12px;font-size:11px;color:#fff9;background:none;border:none;cursor:pointer;font-family:inherit}.lang-option:hover{background:#ffffff0f;color:#fff}.lang-option.active{color:#6c5cff;font-weight:700}.sandbox-body{flex:1;display:flex;overflow:hidden;min-height:0}.sandbox-editor{flex:1;min-width:0;border-right:1px solid rgba(255,255,255,.06)}.sandbox-output{flex:1;min-width:0;display:flex;flex-direction:column}.output-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.output-tab{padding:7px 14px;font-size:11px;font-weight:600;color:#fff6;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-family:inherit;transition:all .15s}.output-tab:hover{color:#ffffffb3}.output-tab.active{color:#fff;border-bottom-color:#6c5cff}.output-content{flex:1;overflow:auto;min-height:0}.output-iframe{width:100%;height:100%;border:none;background:#fff}.output-console{margin:0;padding:12px 14px;font-size:12px;font-family:Fira Code,Courier New,monospace;color:#fffc;line-height:1.6;white-space:pre-wrap;word-break:break-word}.output-placeholder{padding:32px;text-align:center;color:#ffffff40;font-size:12px}.output-placeholder strong{color:#ffffff80}.output-review{padding:14px;overflow-y:auto;height:100%}.review-loading{display:flex;align-items:center;gap:10px;padding:20px;color:#ffffff80;font-size:12px}.review-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.1);border-top-color:#6c5cff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.review-content{font-size:13px;color:#fffc;line-height:1.7}.review-content h1,.review-content h2,.review-content h3{color:#fff;font-size:14px;margin:16px 0 8px}.review-content p{margin:0 0 10px}.review-content code{background:#6c5cff26;padding:2px 6px;border-radius:3px;font-size:12px;font-family:Fira Code,monospace;color:#b3a5ff}.review-content pre{background:#ffffff0a;padding:12px;border-radius:4px;overflow-x:auto;font-size:12px}.review-content pre code{background:none;padding:0}.review-content ul,.review-content ol{padding-left:18px;margin:8px 0}.review-content li{margin:4px 0}.review-content strong{color:#fff}@media(max-width:768px){.code-sandbox{height:55vh}.code-sandbox.expanded{height:92vh}.sandbox-body{flex-direction:column}.sandbox-editor{height:50%;border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}.sandbox-output{height:50%}.sandbox-header{padding:6px 8px;flex-wrap:wrap;gap:6px}.sandbox-title{display:none}.sandbox-btn{padding:4px 7px;font-size:10px}}.modal-overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.rating-modal{background:#1a1a24;border-radius:12px;width:100%;max-width:320px;padding:24px;position:relative;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 40px #0009;animation:modalScaleIn .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.close-btn{position:absolute;top:16px;right:16px;background:none;border:none;color:#ffffff80;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn:hover:not(:disabled){background:#ffffff1a;color:#fff}.rating-header{text-align:center;margin-bottom:24px}.rating-header h2{font-size:18px;font-weight:700;margin:0 0 8px;color:#fff}.rating-header p{margin:0;color:#fff9;font-size:13px}.rating-header strong{color:#6c5cff}.stars-container{display:flex;justify-content:center;gap:8px;margin-bottom:24px}.star-btn{background:none;border:none;cursor:pointer;color:#ffffff26;padding:2px;transition:all .2s;display:flex;align-items:center;justify-content:center}.star-btn:hover{transform:scale(1.1)}.star-btn.active{color:#ffc107}.rating-error{color:#ff6b6b;font-size:13px;margin-bottom:16px;text-align:center}.rating-actions{display:flex;gap:12px;margin-top:24px}.rating-actions button{flex:1;padding:10px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-secondary{background:#ffffff14;color:#fff}.btn-secondary:hover:not(:disabled){background:#ffffff1f}.btn-primary{background:#6c5cff;color:#fff}.btn-primary:hover:not(:disabled){background:#5b4ce6}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}.session-container{height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);position:relative}.session-main{flex:1;overflow-y:auto;display:flex;flex-direction:column;padding-bottom:80px}.session-header{padding:12px 20px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;background:var(--bg-primary);position:sticky;top:0;z-index:50}.header-left{display:flex;align-items:center;gap:14px}.btn-back{padding:8px;background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;transition:all .2s}.btn-back:hover{border-color:var(--text-primary);color:var(--text-primary);background:var(--bg-primary)}.companion-info h2{font-size:14px;font-weight:700;margin:0 0 4px;color:var(--text-primary)}.companion-tags{display:flex;gap:8px;flex-wrap:wrap}.tag{font-size:10px;padding:2px 6px;border-radius:3px;background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.header-right{display:flex;align-items:center;gap:16px}.session-timer{font-size:13px;font-weight:700;color:var(--text-primary);padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border-light)}.header-actions-divider{width:1px;height:24px;background:var(--border-light);margin:0 4px}.session-xp-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ffc1071a;color:#ffc107;border:1px solid rgba(255,193,7,.2);border-radius:20px;font-size:13px;font-weight:700}.xp-icon{color:#ffc107}.header-action-buttons{display:flex;align-items:center;gap:8px}.btn-header-action{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);letter-spacing:.3px}.btn-code{background:transparent;border:1px solid var(--text-primary);color:var(--text-primary)}.btn-code:hover{background:#ffffff0d}.btn-code.active{background:#6c5cff;border-color:#6c5cff;color:#fff}.btn-curriculum{background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-primary)}.btn-curriculum:hover{background:var(--bg-hover);border-color:var(--border-bright)}.btn-curriculum.active{background:var(--text-primary);color:var(--bg-primary)}.btn-end-session{background:transparent;border:1px solid rgba(255,68,68,.5);color:#f44}.btn-end-session:hover{background:#ff44441a;border-color:#f44}.chat-messages{flex:1;overflow-y:auto;padding:20px 30px 100px}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-thumb{background:var(--border-light)}.messages-list{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.msg-bubble{display:flex;gap:10px;max-width:70%}.msg-bubble.user{align-self:flex-start}.msg-bubble.ai{align-self:flex-end;flex-direction:row-reverse}.msg-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0;background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-primary)}.msg-bubble.ai .msg-avatar{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-primary)}.msg-body{display:flex;flex-direction:column;gap:4px}.msg-name{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.msg-text{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-light);padding:10px 14px;font-size:13px;line-height:1.5;word-wrap:break-word}.msg-text p{margin:0 0 8px}.msg-text p:last-child{margin-bottom:0}.msg-text strong{font-weight:700;color:#000}.msg-text em{font-style:italic}.msg-text code{background:var(--bg-primary);padding:2px 4px;border-radius:2px;font-family:Courier New,monospace;font-size:12px;color:#fff}.msg-text ul,.msg-text ol{margin:8px 0;padding-left:20px}.msg-text li{margin:4px 0}.msg-bubble.ai .msg-text{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.msg-actions{display:flex;gap:6px;margin-top:8px;opacity:0;transition:opacity .2s ease}.msg-bubble:hover .msg-actions{opacity:1}.action-btn{background:transparent;border:1px solid var(--text-secondary);color:var(--text-secondary);padding:6px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.action-btn:hover{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary);transform:translateY(-1px)}.action-btn:active{transform:translateY(0)}.typing-indicator{display:flex;gap:6px;padding:12px 16px;background:var(--text-primary);border:1px solid var(--text-primary);align-items:center}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--bg-primary);animation:typingPulse 1.4s infinite ease-in-out;opacity:.3}.typing-indicator span:nth-child(1){animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingPulse{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1.2)}}.chat-input-area{position:fixed;bottom:0;left:0;right:0;padding:12px 20px;background:var(--bg-primary);border-top:1px solid var(--border-light);z-index:100}.input-container{max-width:900px;margin:0 auto;display:flex;gap:8px;align-items:center}.input-wrapper{flex:1;display:flex;align-items:center;gap:8px;background:var(--bg-secondary);border:1px solid var(--border-light);padding:8px 12px;transition:border-color .2s}.input-wrapper:focus-within{border-color:var(--text-primary)}.input-field{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;resize:none;max-height:100px;line-height:1.4}.input-field::placeholder{color:var(--text-secondary);opacity:.5}.input-btn{padding:8px;background:transparent;border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.input-btn.upload{border:none;padding:4px}.input-btn:hover{border-color:var(--text-primary);color:var(--text-primary)}.input-btn:disabled{opacity:.3;cursor:not-allowed}.input-btn.send:disabled:hover{border-color:var(--border-light);color:var(--text-secondary)}.input-btn.recording{background:#f44;border-color:#f44;color:#fff}.voice-tutor-panel{flex:1;display:flex;align-items:center;gap:10px;padding:4px 0}.voice-visualizer{display:flex;align-items:center;gap:3px;height:32px;padding:0 8px}.voice-bar{width:4px;min-height:4px;background:var(--text-primary);transition:height .15s ease;animation:voiceBarPulse 1.2s ease-in-out infinite alternate}.voice-bar:nth-child(1){animation-delay:0s}.voice-bar:nth-child(2){animation-delay:.15s}.voice-bar:nth-child(3){animation-delay:.3s}.voice-bar:nth-child(4){animation-delay:.45s}.voice-bar:nth-child(5){animation-delay:.6s}@keyframes voiceBarPulse{0%{transform:scaleY(.4);opacity:.6}to{transform:scaleY(1);opacity:1}}.voice-status{flex:1;font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.voice-btn-call{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:var(--text-primary);color:var(--bg-primary);border:2px solid var(--text-primary);font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.05em}.voice-btn-call:hover{background:var(--bg-primary);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.voice-btn-call:active{transform:translateY(0)}.voice-btn-mute{padding:8px;background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.voice-btn-mute:hover{border-color:var(--text-primary);color:var(--text-primary)}.voice-btn-mute.muted{background:#f44;border-color:#f44;color:#fff}.voice-btn-end{padding:8px 14px;background:transparent;border:2px solid #ff4444;color:#f44;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.voice-btn-end:hover{background:#f44;color:#fff;transform:translateY(-1px)}.voice-connecting{flex:1;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;color:var(--text-secondary)}.connecting-pulse{width:10px;height:10px;background:var(--text-primary);border-radius:50%;animation:connectPulse 1.2s ease-in-out infinite}@keyframes connectPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.voice-error{font-size:11px;color:#f44;padding:4px 8px;border:1px solid #ff4444;background:#ff44440d;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pulse-dot{width:8px;height:8px;background:#f44;border-radius:50%;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.empty-state{display:flex;flex-direction:column;justify-content:center;height:100%;text-align:center}.empty-state h1{font-size:2rem;font-weight:700;margin:.5rem 0;text-transform:uppercase;line-height:1.2}.empty-state p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem}.chat-robot-center{transform:scale(.7)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pre-session{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.session-controls{display:flex;gap:12px;margin-bottom:24px}.mode-btn{padding:10px 20px;background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.mode-btn:hover{border-color:var(--text-primary);color:var(--text-primary)}.mode-btn.active{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.btn-start{padding:12px 32px;background:var(--text-primary);color:var(--bg-primary);border:1px solid var(--text-primary);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s}.btn-start:hover{background:var(--bg-primary);color:var(--text-primary)}.curriculum-sidebar{position:fixed;right:0;top:0;bottom:0;width:320px;background:var(--bg-primary);border-left:2px solid var(--border-light);overflow-y:auto;padding:80px 24px 24px;z-index:100;animation:slideInRight .3s ease}.curriculum-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;margin-top:-60px}.curriculum-header h3{font-size:1.1rem;font-weight:600;margin:0}.curriculum-close-btn{background:transparent;border:1px solid var(--text-secondary);color:var(--text-secondary);width:30px;height:30px;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1;padding:0}.curriculum-close-btn:hover{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary);transform:rotate(90deg)}.curriculum-sidebar::-webkit-scrollbar{width:4px}.curriculum-sidebar::-webkit-scrollbar-thumb{background:var(--border-light)}.curriculum-sidebar h3{font-size:16px;font-weight:700;margin-bottom:24px;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.module-list{display:flex;flex-direction:column;gap:16px}.module-item{padding:16px;border:2px solid var(--border-light);background:var(--bg-secondary);transition:all .2s;cursor:default;position:relative}.module-item.locked{opacity:.5;cursor:not-allowed}.module-item.unlocked{cursor:pointer;opacity:1}.module-item.unlocked:hover{border-color:var(--text-primary);background:var(--bg-primary);transform:translate(-4px)}.module-item.current{border-left:4px solid var(--text-primary);background:var(--bg-primary);border-color:var(--text-primary)}.module-item.completed{border-color:#4caf50}.module-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.module-number{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px}.module-status{font-size:18px}.module-title{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:6px;line-height:1.3}.module-description{font-size:12px;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.module-timer{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light);font-size:11px;color:var(--text-secondary);line-height:1.6}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.curriculum-panel{padding:20px;border-bottom:1px solid var(--border-light)}.btn-complete-module{padding:8px 16px;background:var(--text-primary);color:var(--bg-primary);border:1px solid var(--text-primary);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:12px}.btn-complete-module:hover{background:var(--bg-primary);color:var(--text-primary)}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.9)}}@media(max-width:768px){.chat-robot-container{display:none!important}.session-header{padding:8px 12px;min-height:auto}.header-left{gap:8px}.btn-back{padding:6px}.companion-info h2{font-size:12px;margin:0}.companion-tags{display:none}.header-right{gap:4px;flex-wrap:wrap}.btn-show,.btn-end{padding:5px 8px;font-size:9px;white-space:nowrap}.session-timer{font-size:10px;padding:3px 6px}.session-main{padding:10px 8px}.pre-session{padding:12px 10px;text-align:center}.pre-session h2{font-size:1.1rem!important;margin-bottom:6px}.pre-session h3{font-size:12px!important;margin-bottom:12px}.pre-session p{font-size:10px!important;margin-bottom:10px}.pre-session button{padding:7px 12px!important;font-size:10px!important;margin:0 auto}.transcript-area{padding:10px 8px}.messages-list{gap:10px}.msg-bubble{padding:8px 10px;max-width:85%}.msg-avatar{width:28px;height:28px;font-size:12px}.msg-name{font-size:10px;margin-bottom:3px}.msg-text{font-size:12px;line-height:1.4}.msg-text p{margin-bottom:8px}.msg-text h1,.msg-text h2,.msg-text h3{font-size:13px!important;margin:8px 0 6px}.msg-text ul,.msg-text ol{padding-left:18px;margin:6px 0}.msg-text code{font-size:10px;padding:1px 4px}.msg-actions{gap:4px;margin-top:4px}}.curriculum-header{padding:10px 12px}.curriculum-header h3{font-size:12px}.module-list{padding:8px}.module-item{padding:10px;margin-bottom:8px}.module-number{font-size:9px}.module-title{font-size:11px}.module-description{font-size:10px}.module-status{font-size:16px}@media(min-width:769px)and (max-width:1024px){.session-header{padding:14px 20px}.companion-info h2{font-size:15px}.msg-bubble{max-width:80%}.curriculum-sidebar{width:320px}.chat-robot-container{transform:scale(.75);bottom:70px;right:15px}}@media(max-width:480px){.session-header{padding:6px 10px}.header-left{gap:6px}.companion-info h2{font-size:11px}.btn-back{padding:5px}.btn-show,.btn-end{padding:4px 6px;font-size:8px}.session-timer{font-size:9px;padding:2px 5px}.session-main{padding:8px 6px}.pre-session{padding:10px 8px}.pre-session h2{font-size:1rem!important}.pre-session h3{font-size:11px!important}.pre-session p{font-size:9px!important}.pre-session button{padding:6px 10px!important;font-size:9px!important}.msg-bubble{padding:7px 8px;max-width:90%}.msg-avatar{width:24px;height:24px;font-size:11px}.msg-name{font-size:9px}.msg-text{font-size:11px}.msg-text code{font-size:9px}.input-field{font-size:12px;padding:6px 8px;min-height:32px;max-height:50px}.audio-mode-btn,.send-btn{padding:6px 8px;font-size:9px}.scroll-to-bottom{bottom:65px;right:12px;width:38px;height:38px}}.module-item{padding:8px}.module-title{font-size:10px}.module-description{font-size:9px}.scroll-to-bottom{position:fixed;bottom:90px;right:30px;width:48px;height:48px;border-radius:50%;background:var(--text-primary);color:var(--bg-primary);border:2px solid var(--bg-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #fff3;transition:all .3s ease;z-index:100;animation:fadeIn .3s ease}.scroll-to-bottom:hover{transform:translateY(-3px);box-shadow:0 6px 20px #ffffff4d}.scroll-to-bottom:active{transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.tts-controls{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:3px;animation:fadeIn .3s ease}.btn-tts{padding:5px 8px;background:transparent;border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;border-radius:3px}.btn-tts:hover{border-color:var(--text-primary);color:var(--text-primary);background:var(--bg-primary)}.btn-tts:active{transform:scale(.95)}.unlock-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.unlock-modal{background:var(--bg-secondary);border:2px solid var(--text-primary);border-radius:8px;padding:32px;max-width:450px;text-align:center;animation:slideUp .4s ease}.unlock-icon{font-size:64px;margin-bottom:16px;animation:bounce .6s ease infinite alternate}.unlock-modal h2{color:var(--text-primary);font-size:1.8rem;margin-bottom:12px}.unlock-modal p{color:var(--text-secondary);margin-bottom:8px;font-size:14px}.unlock-req{color:#4caf50;font-weight:600;font-size:13px;margin:16px 0}.unlock-buttons{display:flex;gap:12px;margin-top:24px}.btn-continue,.btn-stay{flex:1;padding:12px 20px;border:2px solid var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;transition:all .2s;border-radius:4px}.btn-continue{background:var(--text-primary);color:var(--bg-primary)}.btn-continue:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffffff4d}.btn-stay{background:transparent;color:var(--text-secondary)}.btn-stay:hover{background:var(--bg-primary);color:var(--text-primary)}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}@media(max-width:768px){.unlock-modal{margin:20px;padding:24px}.unlock-modal h2{font-size:1.4rem}.unlock-buttons{flex-direction:column}}.curriculum-presession{max-width:1200px;width:100%;margin:0 auto;padding:0 16px}.curriculum-presession-title{font-size:.85rem;margin-bottom:20px;text-align:center;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.learning-dashboard-card{margin-bottom:14px;padding:14px;border:1px solid var(--border-light);border-radius:12px;background:linear-gradient(180deg,#ffffff05,#ffffff01);text-align:left}.learning-dashboard-title{font-size:12px;color:var(--text-secondary);margin-bottom:10px;letter-spacing:.04em;text-transform:uppercase}.learning-dashboard-metrics{display:flex;gap:8px;margin-bottom:8px}.metric-chip{flex:1;border:1px solid var(--border-light);background:var(--bg-primary);border-radius:8px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.metric-chip-label{color:var(--text-secondary);font-size:11px}.learning-dashboard-weak{font-size:12px;color:var(--text-secondary);display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.learning-dashboard-next{font-size:12px;color:var(--text-primary);border-top:1px dashed var(--border-light);padding-top:8px}.resume-module-card{margin-bottom:16px;padding:12px;border:1px solid var(--border-light);border-radius:12px;background:var(--bg-secondary);display:flex;justify-content:space-between;align-items:center;gap:10px}.resume-module-copy{text-align:left}.resume-module-label{font-size:12px;color:var(--text-secondary)}.resume-module-title{font-size:14px;font-weight:700;color:var(--text-primary)}.module-cards-list{display:flex;flex-direction:column;gap:10px}.module-card-wide{border:1px solid var(--border-light);background:var(--bg-secondary);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;width:100%}.module-card-wide.locked{opacity:.4;background:var(--bg-tertiary)}.module-card-wide.completed{border-color:var(--text-primary)}.module-card-wide.expanded{border-color:var(--border-bright)}.module-card-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;cursor:pointer;transition:background .2s ease;gap:12px}.module-card-header:hover{background:var(--bg-hover)}.module-card-left{display:flex;align-items:flex-start;gap:14px;flex:1;min-width:0}.module-card-status{font-size:10px;color:var(--text-secondary);margin-top:4px;flex-shrink:0;width:14px;text-align:center}.module-card-wide.completed .module-card-status{color:var(--text-primary)}.module-card-info{flex:1;min-width:0}.module-card-number{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--text-tertiary);font-weight:700;display:block;margin-bottom:2px}.module-card-title{margin:0;font-size:.85rem;font-weight:700;color:var(--text-primary);line-height:1.3}.module-card-desc{margin:4px 0 0;color:var(--text-secondary);font-size:11px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.module-card-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.module-start-btn{padding:6px 14px;background:var(--text-primary);color:var(--bg-primary);border:1px solid var(--text-primary);cursor:pointer;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:all .2s ease}.module-start-btn:hover{background:var(--bg-primary);color:var(--text-primary)}.module-done-badge{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary);border:1px solid var(--text-primary);padding:4px 8px;font-weight:700}.module-expand-icon{font-size:14px;color:var(--text-secondary);transition:transform .3s ease;display:inline-block}.module-expand-icon.rotated{transform:rotate(180deg)}.subtopics-dropdown{border-top:1px solid var(--border-light);background:var(--bg-primary);animation:slideDown .25s ease}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:500px;opacity:1}}.subtopic-item{display:flex;justify-content:space-between;align-items:center;padding:10px 18px 10px 46px;border-bottom:1px solid var(--border);transition:all .2s ease;cursor:pointer;gap:12px}.subtopic-item:last-child{border-bottom:none}.subtopic-item:hover{background:var(--bg-hover)}.subtopic-item.sub-locked{opacity:.35;cursor:not-allowed}.subtopic-left{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0;text-align:left!important}.subtopic-status{font-size:8px;color:var(--text-tertiary);margin-top:3px;flex-shrink:0}.subtopic-title{display:block;font-size:12px;font-weight:600;color:var(--text-primary);line-height:1.3}.subtopic-desc{display:block;font-size:10px;color:var(--text-secondary);line-height:1.3;margin-top:2px}.subtopic-xp{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);white-space:nowrap;flex-shrink:0;padding:3px 8px;border:1px solid var(--border-light)}.subtopic-item.sub-unlocked .subtopic-xp{color:var(--text-primary);border-color:var(--text-primary)}.mermaid-diagram{background:var(--bg-secondary);border:1px solid var(--border-light);padding:16px;margin:8px 0;overflow-x:auto}.mermaid-diagram svg{max-width:100%;height:auto}.go-pro-container{display:flex;justify-content:center;margin-top:30px}.go-pro-btn{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,gold,orange);color:#111;border:none;padding:12px 30px;border-radius:30px;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ffa5004d}.go-pro-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffa50066}.journey-page{min-height:100vh;padding:80px 24px;position:relative;overflow:hidden;background:var(--bg-primary);color:var(--text-primary)}.journey-bg-effects{display:none}.journey-content-wrapper{max-width:1200px;margin:0 auto;position:relative;z-index:1}.glass-panel{background:var(--bg-secondary);border:2px solid var(--border-light);border-radius:0;transition:all .3s ease}.glass-panel:hover{border-color:var(--text-primary)}.gradient-text{color:var(--text-primary)}.journey-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:50px}.nav-buttons{display:flex;gap:12px}.glass-btn{background:var(--bg-primary);border:2px solid var(--border-light);color:var(--text-primary);border-radius:0;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.glass-btn.icon-only{width:44px;height:44px}.glass-btn:hover{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.glass-btn:hover svg{stroke:var(--bg-primary)}.streak-badge{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-primary);border:2px solid var(--text-primary);font-weight:700;font-size:.9rem;color:var(--text-primary)}.journey-hero{text-align:center;margin-bottom:60px}.journey-hero h1{font-size:2.2rem;font-weight:800;margin-bottom:12px;letter-spacing:-.02em}.hero-subtitle{color:var(--text-secondary);font-size:.95rem;line-height:1.6;max-width:500px;margin:0 auto}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-bottom:60px}.metric-card{padding:18px 20px;display:flex;align-items:center;gap:16px}.metric-icon-box{width:52px;height:52px;border-radius:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--border-light);background:var(--bg-primary);color:var(--text-primary)}.metric-value{display:block;font-size:1.6rem;font-weight:800;line-height:1;margin-bottom:4px;color:var(--text-primary)}.metric-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.achievements-section{margin-bottom:60px}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid var(--border-light)}.section-header h2{font-size:1.25rem;font-weight:700}.section-icon{color:var(--text-primary)}.achievements-deck{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.achievement-card{padding:24px 20px;text-align:center;position:relative;transition:all .3s ease;min-height:180px;display:flex;flex-direction:column;justify-content:center;align-items:center}.achievement-icon-wrapper{margin-bottom:12px;color:var(--text-secondary)}.achievement-name{font-size:1rem;font-weight:700;margin-bottom:6px;color:var(--text-primary)}.achievement-desc{font-size:.75rem;color:var(--text-secondary);line-height:1.4;margin-bottom:16px}.achievement-card.locked{opacity:.4;background:var(--bg-tertiary);border-color:var(--border-light)}.achievement-progress-bar{width:100%;height:6px;background:var(--bg-primary);border:1px solid var(--border-light);margin-top:auto}.progress-fill{height:100%;background:var(--text-primary);transition:width 1s ease-in-out}.achievement-card.unlocked{background:var(--bg-secondary);border-color:var(--text-primary)}.achievement-card.unlocked .achievement-icon-wrapper{color:var(--text-primary)}.achievement-card.unlocked:hover{background:var(--text-primary)}.achievement-card.unlocked:hover .achievement-name,.achievement-card.unlocked:hover .achievement-desc,.achievement-card.unlocked:hover .achievement-icon-wrapper{color:var(--bg-primary)}.achievement-card.unlocked:hover .unlocked-badge{color:var(--bg-primary);border-color:var(--bg-primary)}.unlocked-badge{margin-top:auto;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;color:var(--text-primary);font-size:.75rem;font-weight:700;border:2px solid var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.journey-cta{padding:30px;display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary);border:2px solid var(--border-light)}.cta-content h3{font-size:1.25rem;font-weight:800;margin-bottom:6px}.cta-content p{font-size:.85rem;color:var(--text-secondary)}.btn-glow{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--text-primary);color:var(--bg-primary);font-weight:700;font-size:.9rem;border:2px solid var(--text-primary);cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.05em}.btn-glow:hover{background:var(--bg-primary);color:var(--text-primary)}.journey-loader{display:flex;flex-direction:column;justify-content:center;align-items:center;height:60vh;gap:20px;color:var(--text-primary)}.glow-icon{color:var(--text-primary)}@media(max-width:900px){.journey-cta{flex-direction:column;text-align:center;gap:24px}}@media(max-width:600px){.journey-page{padding:40px 16px}.journey-hero h1{font-size:2.2rem}.achievements-deck{grid-template-columns:1fr}}.amazing-fire{position:relative;width:32px;height:32px;display:flex;justify-content:center;align-items:center;margin-right:8px}.flame-main,.flame-middle,.flame-inner,.flame-bottom{position:absolute;bottom:0;border-radius:50% 0 50% 50%;transform:rotate(-45deg);transition:all .2s}.flame-main{width:30px;height:30px;background:#ff5722;box-shadow:0 0 10px #ff5722,0 0 20px #ff5722,0 0 30px #ff5722;animation:flame-pulse-1 .8s infinite alternate ease-in-out;bottom:2px}.flame-middle{width:22px;height:22px;background:#ff9800;bottom:4px;box-shadow:0 0 10px #ff9800,0 0 15px #ff9800;animation:flame-pulse-2 .6s infinite alternate ease-in-out}.flame-inner{width:14px;height:14px;background:#ffeb3b;bottom:6px;box-shadow:0 0 8px #ffeb3b;animation:flame-pulse-3 .4s infinite alternate ease-in-out}.flame-bottom{width:16px;height:16px;background:linear-gradient(to top,#fffc,#fff0);bottom:0;border-radius:50%;transform:none;animation:flame-base 1s infinite alternate ease-in-out}@keyframes flame-pulse-1{0%{transform:scale(1) rotate(-45deg);box-shadow:0 0 15px #ff5722,0 0 25px #ff5722;filter:blur(1px)}25%{transform:scale(1.05) rotate(-42deg) skew(2deg);filter:blur(0px)}50%{transform:scale(.95) rotate(-48deg) skew(-2deg);box-shadow:0 0 10px #ff5722,0 0 35px #ff5722;filter:blur(1px)}75%{transform:scale(1.1) rotate(-44deg) skew(1deg);filter:blur(.5px)}to{transform:scale(1) rotate(-45deg);box-shadow:0 0 20px #ff5722,0 0 45px #ff5722;filter:blur(0px)}}@keyframes flame-pulse-2{0%{transform:scale(1) rotate(-45deg)}50%{transform:scale(.9) rotate(-40deg) skew(3deg)}to{transform:scale(1.1) rotate(-50deg) skew(-3deg)}}@keyframes flame-pulse-3{0%{transform:scale(1) rotate(-45deg)}50%{transform:scale(1.2) rotate(-52deg) skew(-4deg)}to{transform:scale(.8) rotate(-38deg) skew(4deg)}}@keyframes flame-base{0%{opacity:.8;transform:scale(1)}to{opacity:.4;transform:scale(.9)}}.subscription-page{min-height:calc(100vh - 60px);padding:30px 0}.subscription-header{text-align:center;margin-bottom:40px}.subscription-subtitle{font-size:14px;color:var(--gray-600);margin-top:8px}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-bottom:60px;max-width:900px;margin-left:auto;margin-right:auto}.plan-card{background:var(--white);border:1px solid var(--gray-200);padding:32px;position:relative;display:flex;flex-direction:column;transition:all .2s}.plan-card:hover{border-color:var(--black);transform:translateY(-2px)}.plan-card.popular{border-color:var(--black);border-width:2px}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--black);color:var(--white);padding:6px 12px;font-size:11px;font-weight:600;display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.5px}.popular-badge svg{width:12px;height:12px}.plan-header{text-align:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--gray-200)}.plan-name{font-size:20px;font-weight:600;margin-bottom:8px;color:var(--black)}.plan-price{display:flex;align-items:baseline;justify-content:center;gap:6px}.price-amount{font-size:32px;font-weight:600;color:var(--black)}.price-period{font-size:14px;color:var(--gray-600)}.plan-features{list-style:none;margin-bottom:24px;flex:1}.feature-item{display:flex;align-items:flex-start;gap:8px;padding:10px 0;color:var(--gray-700);font-size:13px}.feature-item svg{color:var(--black);flex-shrink:0;margin-top:2px;width:14px;height:14px}.btn-plan{width:100%;margin-top:auto}.subscription-info{max-width:800px;margin:0 auto;background:var(--white);border:1px solid var(--gray-200);padding:32px}.subscription-info h3{font-size:20px;font-weight:600;margin-bottom:20px;color:var(--black)}.faq-list{display:flex;flex-direction:column;gap:20px}.faq-item h4{font-size:16px;font-weight:600;margin-bottom:8px;color:var(--black)}.faq-item p{color:var(--gray-600);line-height:1.5;font-size:13px}@media(max-width:768px){.plan-card.popular{transform:scale(1)}.plans-grid{grid-template-columns:1fr}}.not-found-page{min-height:100vh;background:#000;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;font-family:Inter,-apple-system,sans-serif}.not-found-content{display:flex;flex-direction:column;align-items:center;gap:24px;z-index:2;text-align:center;padding:20px}.not-found-code{font-size:clamp(100px,20vw,180px);font-weight:900;color:#fff;letter-spacing:-.04em;line-height:1;position:relative;animation:notFoundPulse 3s ease-in-out infinite}.not-found-code:before,.not-found-code:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.not-found-code:before{color:#ffffff0f;animation:glitchShift 4s ease-in-out infinite;clip-path:polygon(0 0,100% 0,100% 45%,0 45%)}.not-found-code:after{color:#ffffff0a;animation:glitchShift 4s ease-in-out infinite reverse;clip-path:polygon(0 55%,100% 55%,100% 100%,0 100%)}@keyframes notFoundPulse{0%,to{opacity:1}50%{opacity:.85}}@keyframes glitchShift{0%,to{transform:translate(0)}20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-1px)}60%{transform:translate(-2px,-2px)}80%{transform:translate(2px,1px)}}.not-found-title{font-size:20px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.15em;margin:0}.not-found-desc{font-size:14px;color:#fff6;max-width:360px;line-height:1.6;margin:0}.not-found-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap;justify-content:center}.not-found-btn{display:flex;align-items:center;gap:8px;padding:12px 22px;border:none;cursor:pointer;font-size:13px;font-weight:600;font-family:Inter,sans-serif;letter-spacing:.04em;transition:all .25s ease}.not-found-btn--primary{background:#fff;color:#000}.not-found-btn--primary:hover{background:#ffffffd9;transform:translateY(-2px)}.not-found-btn--secondary{background:transparent;color:#fff9;border:1px solid rgba(255,255,255,.15)}.not-found-btn--secondary:hover{color:#fff;border-color:#fff6;transform:translateY(-2px)}.not-found-particles{position:absolute;inset:0;pointer-events:none;z-index:1}.not-found-particle{position:absolute;width:3px;height:3px;background:#ffffff14;border-radius:50%;animation:particleFloat 12s ease-in-out infinite}.not-found-particle:nth-child(1){left:15%;top:20%}.not-found-particle:nth-child(2){left:75%;top:30%;width:4px;height:4px}.not-found-particle:nth-child(3){left:40%;top:70%}.not-found-particle:nth-child(4){left:85%;top:65%;width:2px;height:2px}.not-found-particle:nth-child(5){left:25%;top:80%;width:5px;height:5px}.not-found-particle:nth-child(6){left:60%;top:15%}@keyframes particleFloat{0%,to{transform:translateY(0) translate(0);opacity:.3}25%{transform:translateY(-30px) translate(15px);opacity:.7}50%{transform:translateY(-10px) translate(-10px);opacity:.4}75%{transform:translateY(-40px) translate(5px);opacity:.6}}@media(max-width:768px){.not-found-actions{flex-direction:column;width:100%;max-width:260px}.not-found-btn{justify-content:center}}.profile-page{min-height:calc(100vh - 70px);padding:60px 24px;background:var(--bg-primary);color:var(--text-primary);animation:fadeIn .4s ease-out}.profile-container{max-width:1000px;margin:0 auto}.profile-header{margin-bottom:40px}.profile-header h1{font-size:2rem;font-weight:800;margin-bottom:8px;color:var(--text-primary)}.profile-header p{color:var(--text-secondary);font-size:1rem}.profile-alert{padding:16px 20px;border-radius:0;margin-bottom:24px;font-weight:600;font-size:.95rem;animation:fadeIn .3s ease-out}.profile-alert.error{background:#ff44441a;color:#f44;border:1px solid rgba(255,68,68,.3)}.profile-alert.success{background:#28a7451a;color:#28a745;border:1px solid rgba(40,167,69,.3)}.profile-content{display:grid;grid-template-columns:300px 1fr;gap:30px}.glass-panel{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:0;padding:30px}.profile-sidebar{display:flex;flex-direction:column;align-items:center;text-align:center}.avatar-wrapper{position:relative;margin-bottom:20px}.avatar-circle{width:120px;height:120px;border-radius:0;background:var(--bg-tertiary);border:3px solid var(--border-bright);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;box-shadow:0 10px 25px #0003}.avatar-circle img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{font-size:3rem;font-weight:800;color:var(--text-secondary)}.btn-upload-photo{position:absolute;bottom:0;left:0;right:0;height:35px;background:#0009;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.avatar-circle:hover .btn-upload-photo{opacity:1}.sidebar-name{font-size:1.4rem;font-weight:700;margin-bottom:8px}.sidebar-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:#6c5cff1a;color:#6c5cff;border-radius:0;font-size:.8rem;font-weight:700;text-transform:uppercase;margin-bottom:30px}.sidebar-stats{width:100%;display:flex;flex-direction:column;gap:16px;margin-bottom:30px;padding-top:20px;border-top:1px solid var(--border-light)}.stat-row{display:flex;justify-content:space-between;align-items:center}.stat-label{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.9rem}.stat-val{font-weight:600;color:var(--text-primary)}.btn-outline-action{width:100%;padding:12px;background:transparent;border:1px solid var(--border-bright);color:var(--text-primary);border-radius:0;font-weight:600;cursor:pointer;transition:all .2s}.btn-outline-action:hover{background:#ffffff0d}.details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.details-header h3{font-size:1.25rem;font-weight:700}.btn-text-action{background:transparent;border:none;color:#6c5cff;font-weight:600;cursor:pointer;padding:8px 16px;border-radius:0;transition:background .2s}.btn-text-action:hover{background:#6c5cff1a}.profile-form{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.form-group{display:flex;flex-direction:column;gap:10px}.form-group label{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-secondary);font-weight:500}.profile-input{width:100%;padding:14px 16px;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:0;color:var(--text-primary);font-size:1rem;transition:border-color .2s}.profile-input:focus:not(:disabled){outline:none;border-color:var(--border-bright)}.profile-input.disabled{opacity:.6;cursor:not-allowed}.input-hint{font-size:.8rem;color:var(--text-tertiary)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.btn-cancel{padding:12px 24px;background:transparent;border:1px solid var(--border-light);color:var(--text-secondary);border-radius:0;font-weight:600;cursor:pointer}.btn-cancel:hover{background:#ffffff0d;color:var(--text-primary)}.btn-save{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--text-primary);color:var(--bg-primary);border:none;border-radius:0;font-weight:700;cursor:pointer;transition:opacity .2s}.btn-save:hover:not(:disabled){opacity:.9}.btn-save:disabled{opacity:.5;cursor:wait}.profile-subtitle{color:var(--text-secondary);font-size:.9rem;margin-bottom:10px}.profile-title{margin-bottom:6px}.sidebar-joined{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:20px;color:var(--text-secondary);font-size:.95rem}.profile-block{border-top:1px solid var(--border-light);padding-top:14px;margin-top:14px}.block-title{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-tile{border:1px solid var(--border-light);padding:10px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary)}.stat-tile strong{font-size:14px;color:var(--text-primary)}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-btn{border:1px solid var(--border-light);background:var(--bg-primary);color:var(--text-primary);padding:10px;display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;font-weight:600}.quick-btn:hover{border-color:var(--border-bright)}@media(max-width:768px){.profile-content{grid-template-columns:1fr}}
