@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--bg-base:#f0f2f5;--bg-surface:#fff;--bg-elevated:#fff;--bg-glass:#ffffffb3;--bg-glass-hover:#ffffffeb;--border:#e2e8f0;--border-active:#4f46e5;--accent:#4f46e5;--accent-bright:#6366f1;--accent-glow:#4f46e524;--accent-blue:#3b82f6;--accent-green:#059669;--accent-orange:#d97706;--accent-violet:#7c3aed;--accent-rose:#e11d48;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--sidebar-bg:#0f172a;--sidebar-w:260px;--sidebar-border:#ffffff12;--sidebar-text:#94a3b8;--sidebar-text-hover:#e2e8f0;--sidebar-active-bg:#6366f12e;--sidebar-active-text:#a5b4fc;--radius:12px;--radius-sm:8px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 2px #0000000d, 0 2px 8px #0000000a;--shadow-md:0 4px 6px #0000000a, 0 10px 32px #00000014;--shadow-lg:0 8px 16px #0000000f, 0 24px 64px #0000001a;--shadow-glow:0 0 0 3px #4f46e526}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,system-ui,sans-serif}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit}.dashboard-layout{min-height:100vh;display:flex}.dashboard-main{margin-left:var(--sidebar-w);background:var(--bg-base);flex:1;min-height:100vh;padding:28px 0 96px;transition:margin-left .3s;overflow-y:auto}@media (width<=1024px){.dashboard-main{margin-left:0;padding-top:16px}}.dashboard-footer{bottom:0;left:var(--sidebar-w);border-top:1px solid var(--border);color:var(--text-muted);z-index:100;background:#fffffff2;justify-content:space-between;align-items:center;padding:12px 32px;font-size:12px;display:flex;position:fixed;right:0}@media (width<=1024px){.dashboard-footer{left:0}}.footer-links{gap:20px;display:flex}.footer-links a{color:var(--text-muted);transition:color .2s}.footer-links a:hover{color:var(--accent-bright)}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);z-index:500;flex-direction:column;height:100vh;transition:transform .3s;display:flex;position:fixed;top:0;left:0;overflow:hidden}@media (width<=1024px){.sidebar{transform:translate(-100%)}.sidebar--open{transform:translate(0);box-shadow:24px 0 80px #00000059}}.sidebar-overlay{z-index:490;background:#0000008c;animation:.25s fadeIn;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar-logo{border-bottom:1px solid var(--sidebar-border);flex-shrink:0;align-items:center;gap:10px;padding:22px 18px 18px;display:flex}.sidebar-logo-icon{background:linear-gradient(135deg, var(--accent), var(--accent-bright));color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 4px 12px #4f46e566}.sidebar-logo-text{letter-spacing:-.3px;color:#f1f5f9;font-size:16px;font-weight:800}.sidebar-logo-tagline{color:var(--sidebar-text);letter-spacing:.01em;margin-top:2px;font-size:11px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:0}.sidebar-section-label{letter-spacing:.1em;color:#94a3b880;text-transform:uppercase;-webkit-user-select:none;user-select:none;padding:12px 10px 6px;font-size:10px;font-weight:700}.sidebar-section-label:first-child{padding-top:4px}.sidebar-link{border-radius:var(--radius-sm);color:var(--sidebar-text);align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative}.sidebar-link:hover{color:var(--sidebar-text-hover);background:#ffffff0f}.sidebar-link--active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:600}.sidebar-link--active:before{content:"";background:var(--accent-bright);border-radius:0 3px 3px 0;width:3px;position:absolute;top:20%;bottom:20%;left:0}.sidebar-footer{border-top:1px solid var(--sidebar-border);flex-shrink:0;align-items:center;gap:8px;padding:14px 12px;display:flex}.sidebar-user{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.sidebar-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-bright));color:#fff;letter-spacing:.02em;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:800;display:flex}.sidebar-user-info{min-width:0}.sidebar-user-name{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user-email{color:var(--sidebar-text);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;overflow:hidden}.sidebar-logout{border-radius:var(--radius-sm);color:var(--sidebar-text);flex-shrink:0;padding:7px;transition:background .15s,color .15s}.sidebar-logout:hover{color:#f87171;background:#ef444426}.sidebar-close-btn{width:30px;height:30px;color:var(--sidebar-text);border-radius:var(--radius-sm);z-index:510;justify-content:center;align-items:center;transition:background .15s;display:none;position:absolute;top:14px;right:14px}.sidebar-close-btn:hover{background:#ffffff14}@media (width<=1024px){.sidebar-close-btn{display:flex}}.mobile-header{z-index:400;border-bottom:1px solid var(--border);background:#fffffffa;justify-content:space-between;align-items:center;padding:12px 16px;display:none;position:sticky;top:0}@media (width<=1024px){.mobile-header{display:flex}}.mobile-logo{border:none!important;padding:0!important}.menu-toggle{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border);width:38px;height:38px;color:var(--text-primary);justify-content:center;align-items:center;transition:all .2s;display:flex}.menu-toggle:hover{border-color:var(--border-active);color:var(--accent)}.page-container{max-width:1140px;padding:36px 40px}@media (width<=768px){.page-container{padding:20px 18px}.page-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:24px}.page-title{font-size:22px}}.page-header{align-items:center;gap:14px;margin-bottom:32px;display:flex}.page-header-icon{border-radius:var(--radius);width:44px;height:44px;color:var(--accent);background:#4f46e51a;flex-shrink:0;justify-content:center;align-items:center;display:flex}.page-icon{color:var(--accent-bright)}.page-title{letter-spacing:-.6px;color:var(--text-primary);font-size:26px;font-weight:800;line-height:1.15}.page-desc{color:var(--text-secondary);margin-top:3px;font-size:13.5px;line-height:1.5}.section-heading{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:16px;font-size:13px;font-weight:700;display:flex}.section-heading:after{content:"";background:var(--border);flex:1;height:1px}.hero-strip{flex-wrap:wrap;align-items:center;gap:12px;padding:0 4px 24px;display:flex}.hero-pill{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;background:#4f46e51a;border:1px solid #4f46e52e;border-radius:999px;justify-content:center;align-items:center;padding:5px 12px;font-size:11px;font-weight:700;display:inline-flex}.hero-copy{color:var(--text-secondary);max-width:680px;font-size:14px;font-weight:400}.highlight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:32px;display:grid}@media (width<=900px){.highlight-grid{grid-template-columns:1fr}}.highlight-card{border-radius:var(--radius);background:var(--bg-surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);align-items:center;gap:14px;padding:18px 20px;transition:box-shadow .2s,border-color .2s,transform .2s;display:flex}.highlight-card:hover{box-shadow:var(--shadow-md);border-color:#4f46e533;transform:translateY(-2px)}.highlight-icon{width:40px;height:40px;color:var(--accent);background:#4f46e514;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.highlight-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:3px;font-size:11px;font-weight:600}.highlight-value{color:var(--text-primary);font-size:14.5px;font-weight:700;line-height:1.3}.welcome-banner{border-radius:var(--radius-xl);background:linear-gradient(135deg,#0d1129 0%,#1e1b4b 45%,#1a103a 100%);justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;padding:36px 40px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 72px #0f172a47,0 4px 16px #6366f11f}.welcome-banner:before{content:"";pointer-events:none;background:radial-gradient(circle,#6366f147,#0000 65%);border-radius:50%;width:260px;height:260px;position:absolute;top:-60px;right:80px}.welcome-banner:after{content:"";pointer-events:none;background:radial-gradient(circle,#8b5cf62e,#0000 65%);border-radius:50%;width:200px;height:200px;position:absolute;bottom:-50px;left:25%}@media (width<=640px){.welcome-banner{flex-direction:column;align-items:flex-start;gap:20px;padding:28px 24px}.welcome-name{font-size:26px}.banner-ring{align-self:flex-end}}.welcome-left{z-index:1;flex-direction:column;flex:1;gap:0;min-width:0;display:flex;position:relative}.welcome-greeting{color:#94a3b8e6;letter-spacing:.01em;margin-bottom:5px;font-size:13px;font-weight:500}.welcome-name{letter-spacing:-1px;color:#f8fafc;margin-bottom:6px;font-size:34px;font-weight:800;line-height:1.1}.welcome-tagline{color:#94a3b8bf;margin-bottom:20px;font-size:14px;font-weight:400}.banner-meta{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px;display:flex}.banner-streak{background:#ffffff14;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:6px;padding:5px 12px 5px 8px;display:flex}.streak-fire{font-size:16px;line-height:1}.streak-count{color:#fcd34d;font-size:15px;font-weight:800;line-height:1}.streak-label{color:#94a3b8cc;font-size:12px;font-weight:500}.banner-divider{background:#ffffff1f;flex-shrink:0;width:1px;height:20px}.banner-goal-bar{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.goal-label-small{color:#94a3b8bf;white-space:nowrap;font-size:12px;font-weight:500}.banner-progress-track{background:#ffffff1a;border-radius:999px;flex:1;min-width:60px;max-width:120px;height:5px;overflow:hidden}.banner-progress-fill{background:linear-gradient(90deg,#a5b4fc,#c4b5fd);border-radius:999px;height:100%;transition:width 1s}.goal-pct{color:#a5b4fc;white-space:nowrap;font-size:12px;font-weight:700}.banner-motivational{color:#94a3b880;font-size:12px;font-style:italic;font-weight:400}.banner-ring{z-index:1;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex;position:relative}.progress-ring-svg{display:block}.ring-arc{transition:stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1)}.ring-caption{color:#94a3b8a6;letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.stats-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:32px;display:grid}@media (width<=1024px){.stats-row{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.stats-row{grid-template-columns:1fr}}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:22px 24px;transition:box-shadow .2s,transform .2s,border-color .2s;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-bright));opacity:0;height:3px;transition:opacity .2s;position:absolute;top:0;left:0;right:0}.stat-card:hover{box-shadow:var(--shadow-md);border-color:#4f46e52e;transform:translateY(-3px)}.stat-card:hover:before{opacity:1}.stat-icon{color:var(--accent);opacity:.8;margin-bottom:12px}.stat-value{letter-spacing:-.8px;color:var(--text-primary);margin-bottom:6px;font-size:30px;font-weight:800;line-height:1}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:500}.progress-section{margin-bottom:32px}.progress-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:center;gap:16px;margin-bottom:12px;padding:18px 22px;transition:box-shadow .2s,transform .2s;display:flex}.progress-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.progress-info{color:var(--text-primary);flex:1;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.progress-bar{background:var(--bg-base);border-radius:999px;flex:1;max-width:180px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-bright));border-radius:999px;height:100%;transition:width .5s}.streak-card{background:linear-gradient(135deg, var(--accent), var(--accent-bright));color:#fff;border-radius:var(--radius);align-items:center;gap:10px;padding:16px 22px;font-size:14px;font-weight:600;display:flex;box-shadow:0 8px 24px #4f46e54d}.quick-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}@media (width<=640px){.quick-grid{grid-template-columns:1fr}}.quick-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);box-shadow:var(--shadow-sm);cursor:pointer;align-items:center;gap:16px;padding:20px 22px;transition:box-shadow .25s,transform .25s,border-color .25s;display:flex;position:relative;overflow:hidden}.quick-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.quick-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;transition:transform .2s;display:flex}.quick-card:hover .quick-icon{transform:scale(1.08)}.card-blue .quick-icon{color:#3b82f6;background:#3b82f61a}.card-blue:hover{border-color:#3b82f659}.card-purple .quick-icon{color:#7c3aed;background:#7c3aed1a}.card-purple:hover{border-color:#7c3aed59}.card-green .quick-icon{color:#059669;background:#0596691a}.card-green:hover{border-color:#05966959}.card-orange .quick-icon{color:#d97706;background:#d977061a}.card-orange:hover{border-color:#d9770659}.quick-label{color:var(--text-primary);font-size:14.5px;font-weight:700}.quick-desc{color:var(--text-secondary);margin-top:3px;font-size:12px}.coming-soon-card{background:var(--bg-surface);border:1px dashed var(--border);border-radius:var(--radius-lg);text-align:center;max-width:520px;padding:64px 40px}.coming-soon-icon{color:var(--accent);opacity:.6;margin-bottom:20px}.coming-soon-card h2{margin-bottom:10px;font-size:20px;font-weight:700}.coming-soon-card p{color:var(--text-secondary);font-size:14px;line-height:1.6}.auth-split{min-height:100vh;display:flex}.auth-split-left{background:#0f172a;flex-direction:column;flex-shrink:0;justify-content:space-between;width:480px;padding:48px 52px;display:flex;position:relative;overflow:hidden}.auth-split-left:before{content:"";pointer-events:none;background:radial-gradient(circle,#6366f133,#0000 65%);width:320px;height:320px;position:absolute;top:-80px;right:-80px}.auth-split-left:after{content:"";pointer-events:none;background:radial-gradient(circle,#8b5cf626,#0000 65%);width:250px;height:250px;position:absolute;bottom:-60px;left:-60px}@media (width<=900px){.auth-split-left{display:none}}.auth-brand-logo{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.auth-brand-icon{background:linear-gradient(135deg, var(--accent), var(--accent-bright));color:#fff;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex;box-shadow:0 8px 24px #4f46e566}.auth-brand-name{color:#f1f5f9;letter-spacing:-.3px;font-size:20px;font-weight:800}.auth-brand-tagline{color:#64748b;margin-top:2px;font-size:11px}.auth-brand-content{z-index:1;flex-direction:column;flex:1;justify-content:center;gap:32px;display:flex;position:relative}.auth-brand-heading{color:#f8fafc;letter-spacing:-1px;font-size:36px;font-weight:800;line-height:1.2}.auth-brand-heading span{background:linear-gradient(90deg,#a5b4fc,#c4b5fd);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.auth-brand-desc{color:#64748b;max-width:340px;font-size:15px;line-height:1.65}.auth-brand-stats{flex-direction:column;gap:14px;display:flex}.auth-stat-row{border-radius:var(--radius);background:#ffffff0a;border:1px solid #ffffff0f;align-items:center;gap:12px;padding:14px 18px;display:flex}.auth-stat-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.auth-stat-icon.indigo{color:#a5b4fc;background:#6366f133}.auth-stat-icon.green{color:#6ee7b7;background:#05966933}.auth-stat-icon.amber{color:#fcd34d;background:#d9770633}.auth-stat-label{color:#94a3b8;font-size:13px;font-weight:600}.auth-stat-value{color:#475569;margin-top:1px;font-size:11px}.auth-brand-footer{color:#334155;z-index:1;font-size:12px;position:relative}.auth-split-right{background:#fafafa;flex:1;justify-content:center;align-items:center;padding:48px 40px;display:flex}@media (width<=640px){.auth-split-right{padding:32px 20px}}.auth-bg{background:#fafafa;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:44px 40px;animation:.45s both fadeSlide;position:relative}.auth-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-bright));border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:3px;position:absolute;top:0;left:0;right:0}@keyframes fadeSlide{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.auth-logo{align-items:center;gap:12px;margin-bottom:32px;display:flex}.auth-logo-icon{background:linear-gradient(135deg, var(--accent), var(--accent-bright));border-radius:var(--radius);color:#fff;justify-content:center;align-items:center;width:42px;height:42px;display:flex;box-shadow:0 6px 16px #4f46e54d}.auth-logo-title{letter-spacing:-.3px;color:var(--text-primary);font-size:20px;font-weight:800}.auth-logo-sub{color:var(--text-secondary);margin-top:2px;font-size:12px}.auth-heading{letter-spacing:-.5px;color:var(--text-primary);margin-bottom:6px;font-size:24px;font-weight:800}.auth-sub{color:var(--text-secondary);margin-bottom:28px;font-size:14px;line-height:1.5}.auth-error{color:#dc2626;border-radius:var(--radius-sm);background:#ef44440f;border:1px solid #ef444433;margin-bottom:20px;padding:10px 14px;font-size:13px;font-weight:500}.auth-success{color:#059669;border-radius:var(--radius-sm);background:#05966912;border:1px solid #05966940;margin-bottom:20px;padding:10px 14px;font-size:13px;font-weight:500}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-switch{text-align:center;color:var(--text-secondary);margin-top:22px;font-size:13px}.auth-switch a{color:var(--accent);font-weight:600}.auth-switch a:hover{text-decoration:underline}.input-group{flex-direction:column;gap:6px;display:flex}.input-group label{color:var(--text-secondary);letter-spacing:.01em;font-size:12.5px;font-weight:600}.input-wrap{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:13px}.input-wrap input,.input-wrap select,.input-wrap textarea{background:var(--bg-surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:11px 14px 11px 40px;font-size:14px;transition:border-color .2s,box-shadow .2s}.input-wrap input::placeholder,.input-wrap textarea::placeholder{color:var(--text-muted)}.input-wrap input:focus,.input-wrap select:focus,.input-wrap textarea:focus{border-color:var(--accent);box-shadow:var(--shadow-glow)}.input-eye{color:var(--text-muted);border-radius:4px;padding:4px;transition:color .15s;position:absolute;right:11px}.input-eye:hover{color:var(--text-primary)}.btn-primary{background:var(--accent);color:#fff;border-radius:var(--radius-sm);letter-spacing:.01em;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:4px;padding:12px;font-size:14px;font-weight:700;transition:background .2s,transform .15s,box-shadow .2s;display:flex;box-shadow:0 4px 12px #4f46e540}.btn-primary:hover:not(:disabled){background:#4338ca;transform:translateY(-1px);box-shadow:0 6px 20px #4f46e559}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-google{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:10px;padding:11px;font-size:14px;font-weight:600;text-decoration:none;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.btn-google:hover{background:#fafafa;border-color:#4285f4;box-shadow:0 2px 8px #4285f426}.auth-divider{color:var(--text-muted);align-items:center;gap:12px;margin:16px 0;font-size:12px;font-weight:500;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.btn-secondary{border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg-surface);color:var(--text-primary);align-items:center;gap:8px;padding:11px 20px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-sm)}.btn-accent{width:auto;padding:11px 26px}.badge-pill,.status-pill{letter-spacing:.02em;color:var(--accent);background:#4f46e51a;border:1px solid #4f46e526;border-radius:999px;justify-content:center;align-items:center;padding:4px 12px;font-size:11.5px;font-weight:700;display:inline-flex}.spin{animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.input-accent{padding-left:14px}.input-group--inline{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=900px){.input-group--inline{grid-template-columns:1fr}}.input-group--compact .input-wrap input,.input-group--compact .input-wrap select{padding-left:14px}.input-rounded{border-radius:16px}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.panel-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px;transition:box-shadow .2s,border-color .2s,transform .2s}.panel-card:hover{box-shadow:var(--shadow-md);border-color:#4f46e529;transform:translateY(-2px)}.panel-card--dark{color:#e2e8f0!important;background:#0f172a!important;border-color:#ffffff12!important}.panel-card--dark p,.panel-card--dark span,.panel-card--dark li{color:#e2e8f0}.panel-card--dark .section-heading{color:#475569}.panel-card--dark .section-heading:after{background:#ffffff14}.panel-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}@media (width<=900px){.panel-grid-2{grid-template-columns:1fr}}.panel-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (width<=1024px){.panel-grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.panel-grid-3{grid-template-columns:1fr}}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}@media (width<=720px){.card-grid{grid-template-columns:1fr}}.card-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (width<=900px){.card-grid-2{grid-template-columns:1fr}}.card-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}@media (width<=1024px){.card-grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.card-grid-3{grid-template-columns:1fr}}.responsive-grid-2{grid-template-columns:repeat(2,1fr);align-items:start;gap:24px;display:grid}@media (width<=900px){.responsive-grid-2{grid-template-columns:1fr}}.form-panel{flex-direction:column;gap:18px;display:flex}.form-panel .input-group{margin-bottom:0}.form-panel .input-wrap input,.form-panel .input-wrap select,.form-panel .input-wrap textarea{border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg-surface);width:100%;padding:12px 16px;transition:border-color .2s,box-shadow .2s}.form-panel .input-wrap input:focus,.form-panel .input-wrap select:focus,.form-panel .input-wrap textarea:focus{border-color:var(--accent);box-shadow:var(--shadow-glow)}.form-panel label{color:var(--text-secondary);font-size:12.5px;font-weight:600}.page-loading-center,.page-empty-state{min-height:60vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.chat-container{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;flex:1;max-height:calc(100vh - 160px);display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--border);background:var(--bg-surface);padding:16px 20px}.subject-badge{color:var(--text-secondary);background:var(--bg-base);border:1.5px solid var(--border);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .2s}.subject-badge:hover{color:var(--text-primary);border-color:var(--text-muted)}.subject-badge-active{color:#fff;background:var(--accent);border-color:var(--accent);box-shadow:0 4px 12px #4f46e540}.chat-messages{background:#f8fafc;flex-direction:column;flex:1;gap:18px;padding:24px;display:flex;overflow-y:auto}.chat-bubble-wrapper{gap:10px;max-width:85%;display:flex}.chat-left{align-self:flex-start}.chat-right{flex-direction:row-reverse;align-self:flex-end}.chat-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex}.chat-left .chat-avatar{background:var(--accent);color:#fff}.chat-right .chat-avatar{background:var(--bg-surface);color:var(--text-secondary);border:1.5px solid var(--border)}.chat-bubble{border-radius:14px;max-width:78%;padding:12px 16px;font-size:14px;line-height:1.6}.chat-left .chat-bubble{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);border-bottom-left-radius:4px}.chat-right .chat-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.chat-panel{border-radius:var(--radius-lg);background:var(--bg-surface);border:1px solid var(--border);min-height:560px;box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.chat-input-area{background:var(--bg-surface);border-top:1px solid var(--border);gap:10px;padding:16px;display:flex}.chat-input{background:var(--bg-base);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text-primary);outline:none;flex:1;padding:12px 18px;font-size:14px;transition:border-color .2s,box-shadow .2s}.chat-input:focus{border-color:var(--accent);box-shadow:var(--shadow-glow)}.chat-send{background:var(--accent);color:#fff;border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;transition:background .2s,transform .15s;display:flex}.chat-send:hover:not(:disabled){background:#4338ca;transform:scale(1.04)}.chat-send:disabled{opacity:.45;cursor:not-allowed}.conversation-title{color:var(--text-secondary);letter-spacing:.02em;text-transform:uppercase;font-size:13px;font-weight:700}.planner-grid{flex-direction:column;gap:28px;display:flex}@media (width>=900px){.planner-grid{flex-direction:row;align-items:flex-start}.planner-grid>.auth-card{flex-shrink:0;width:380px;position:sticky;top:40px}.planner-grid>.plan-timeline{flex:1}}.plan-stack{flex-direction:column;gap:14px;display:flex}.plan-day-card{cursor:default;flex-direction:column;align-items:flex-start;gap:14px;padding:22px;display:flex}.plan-day-head{align-items:center;gap:14px;margin-bottom:6px;display:flex}.plan-day-marker{color:#fff;background:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:13px;font-weight:800;display:grid}.plan-day-title{color:var(--text-primary);margin:0;font-size:17px;font-weight:700}.plan-day-subtitle{color:var(--text-secondary);margin:0;font-size:13px}.task-list{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.task-item{color:var(--text-primary);align-items:center;gap:10px;font-size:14px;display:flex}.voice-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px;transition:box-shadow .2s,transform .2s}.voice-panel:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.voice-control{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.voice-status{color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:13px;font-weight:600;display:inline-flex}.pulse-ring{background:currentColor;border-radius:50%;width:10px;height:10px}.pulse{animation:1.4s infinite pulse-ring}@keyframes pulse-ring{0%{opacity:.9;transform:scale(.9)}50%{opacity:.4;transform:scale(1.25)}to{opacity:.9;transform:scale(.9)}}.voice-transcript{flex-direction:column;gap:12px;display:flex}.voice-bubble{border-radius:14px;max-width:80%;padding:14px 18px;font-size:14px;line-height:1.6}.voice-bubble.user{color:var(--accent);background:#4f46e51a;border:1px solid #4f46e526;align-self:flex-end}.voice-bubble.ai{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);align-self:flex-start}.tutor-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px;transition:box-shadow .2s,transform .2s}.tutor-panel:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.solution-card,.analysis-card,.topic-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px;transition:box-shadow .2s,transform .2s,border-color .2s}.solution-card:hover,.analysis-card:hover,.topic-card:hover{box-shadow:var(--shadow-md);border-color:#4f46e529;transform:translateY(-2px)}.topic-accordion{flex-direction:column;gap:9px;display:flex}.topic-preview{border-radius:var(--radius-sm);background:var(--bg-base);border:1px solid var(--border);cursor:pointer;width:100%;color:var(--text-primary);justify-content:space-between;align-items:center;padding:13px 16px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s;display:flex}.topic-preview:hover{background:#4f46e50d;border-color:#4f46e533}.topic-list{flex-direction:column;gap:7px;padding:10px 0 0;display:flex}.topic-button{text-align:left;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border);width:100%;color:var(--text-secondary);padding:10px 14px;font-size:13.5px;transition:all .2s}.topic-button:hover{color:var(--accent);background:#4f46e50f;border-color:#4f46e533}.topic-block{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px}.topic-pill{color:var(--accent);background:#4f46e514;border:1px solid #4f46e51f;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:6px 13px;font-size:12px;font-weight:700;display:inline-flex}.flashcard-panel,.flashcard-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px;transition:box-shadow .2s,transform .2s}.flashcard-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.flashcard-large{border-radius:var(--radius-xl)}.flashcard-progress{background:var(--bg-base);border-radius:999px;height:6px;overflow:hidden}.flashcard-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-bright));border-radius:999px;height:100%;transition:width .4s}.flashcard-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.flashcard-button{border-radius:var(--radius);cursor:pointer;border:none;padding:13px 26px;font-size:14px;font-weight:700;transition:transform .2s,box-shadow .2s}.flashcard-button:hover{transform:translateY(-2px)}.flashcard-button.primary{background:var(--accent);color:#fff;box-shadow:0 6px 16px #4f46e54d}.flashcard-button.primary:hover{box-shadow:0 8px 20px #4f46e566}.flashcard-button.secondary{background:var(--bg-surface);border:1.5px solid var(--border);color:var(--text-primary)}.flashcard-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.flashcard-summary .pill{color:var(--accent);background:#4f46e51a}.chart-card,.weak-area-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px;transition:box-shadow .2s,transform .2s}.chart-card:hover,.weak-area-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.status-card{border-radius:var(--radius);color:var(--text-primary);background:#4f46e50f;border:1px solid #4f46e51f;padding:14px 18px}.overlay-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.note-box,.ai-call-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.error-boundary{color:#e2e8f0;text-align:center;background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 100%);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:100vh;padding:2rem;display:flex}.intelligence-grid{grid-template-rows:auto auto;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:32px;display:grid}.continue-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm), inset 0 1px 0 #fff9;cursor:pointer;background:linear-gradient(135deg,#4f46e50f 0%,#6366f108 100%);border:1px solid #4f46e533;grid-column:1/-1;align-items:center;gap:16px;padding:18px 22px;transition:transform .22s,box-shadow .22s,border-color .22s;display:flex;position:relative;overflow:hidden}.continue-card:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-bright));border-radius:0 3px 3px 0;width:3px;position:absolute;top:0;bottom:0;left:0}.continue-card:hover{box-shadow:var(--shadow-md), inset 0 1px 0 #fff9;border-color:#4f46e559;transform:translateY(-2px)}.continue-icon-wrap{background:linear-gradient(135deg, var(--accent), var(--accent-bright));color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 12px #4f46e559}.continue-card:hover .continue-icon-wrap{transform:scale(1.08);box-shadow:0 6px 18px #4f46e573}.continue-body{flex:1;min-width:0}.continue-eyebrow{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:700}.continue-title{color:var(--text-primary);margin-bottom:2px;font-size:15px;font-weight:700}.continue-sub{color:var(--text-secondary);font-size:12px}.continue-arrow{color:var(--text-muted);flex-shrink:0;transition:transform .2s,color .2s}.continue-card:hover .continue-arrow{color:var(--accent);transform:translate(3px)}.ai-insight-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm), inset 0 1px 0 #fff9;background:linear-gradient(135deg,#d977060d 0%,#fbbf2408 100%);border:1px solid #d9770638;flex-direction:column;gap:6px;padding:20px 22px;transition:transform .22s,box-shadow .22s;display:flex}.ai-insight-card:hover{box-shadow:0 8px 28px #d977061f, var(--shadow-sm);transform:translateY(-2px)}.insight-header{align-items:center;gap:7px;margin-bottom:2px;display:flex}.insight-icon-wrap{color:#d97706;background:#d977061f;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.insight-eyebrow{color:#d97706;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.insight-title{color:var(--text-primary);font-size:14.5px;font-weight:700;line-height:1.3}.insight-title span{color:#d97706}.insight-sub{color:var(--text-secondary);font-size:12px;line-height:1.4}.insight-cta{color:#d97706;background:#d977061a;border:1px solid #d9770633;border-radius:6px;align-items:center;gap:5px;width:fit-content;margin-top:4px;padding:5px 10px;font-size:12px;font-weight:700;transition:background .15s,transform .15s;display:inline-flex}.insight-cta:hover{background:#d977062e;transform:translateY(-1px)}.recommend-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm), inset 0 1px 0 #fff9;background:linear-gradient(135deg,#7c3aed0d 0%,#8b5cf608 100%);border:1px solid #7c3aed38;flex-direction:column;gap:6px;padding:20px 22px;transition:transform .22s,box-shadow .22s;display:flex}.recommend-card:hover{box-shadow:0 8px 28px #7c3aed1f, var(--shadow-sm);transform:translateY(-2px)}.recommend-header{align-items:center;gap:7px;margin-bottom:2px;display:flex}.recommend-icon-wrap{color:#7c3aed;background:#7c3aed1f;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.recommend-eyebrow{color:#7c3aed;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.recommend-title{color:var(--text-primary);font-size:14.5px;font-weight:700}.recommend-sub{color:var(--text-secondary);font-size:12px;line-height:1.4}.recommend-cta{color:#7c3aed;background:#7c3aed1a;border:1px solid #7c3aed33;border-radius:6px;align-items:center;gap:5px;width:fit-content;margin-top:4px;padding:5px 10px;font-size:12px;font-weight:700;transition:background .15s,transform .15s;display:inline-flex}.recommend-cta:hover{background:#7c3aed2e;transform:translateY(-1px)}@media (width<=768px){.intelligence-grid{grid-template-columns:1fr}.continue-card{grid-column:auto}}.stat-card:focus-within,.quick-card:focus-within{box-shadow:var(--shadow-lg), 0 0 0 2px #4f46e533}.stat-card,.quick-card,.highlight-card,.progress-card{box-shadow:var(--shadow-sm), inset 0 1px 0 #fffc}.stat-card:hover,.quick-card:hover,.highlight-card:hover,.progress-card:hover{box-shadow:var(--shadow-md), inset 0 1px 0 #fffc}.dashboard-main{background:linear-gradient(160deg,#f0f2f5 0%,#eef0f8 60%,#f0eef8 100%)}@keyframes enterUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.page-container>*{animation:.4s both enterUp}.page-container>:first-child{animation-delay:50ms}.page-container>:nth-child(2){animation-delay:.1s}.page-container>:nth-child(3){animation-delay:.15s}.page-container>:nth-child(4){animation-delay:.2s}.page-container>:nth-child(5){animation-delay:.25s}.page-container>:nth-child(6){animation-delay:.3s}.page-container>:nth-child(7){animation-delay:.35s}.page-container>:nth-child(8){animation-delay:.4s}.btn-primary:active,.button-primary:active{transition:transform .1s;transform:scale(.97)}.typing-indicator{background:var(--bg-surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:18px 18px 18px 4px;align-items:center;gap:4px;padding:10px 16px;display:inline-flex}.typing-dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typingBounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.chat-cursor{color:var(--accent);vertical-align:text-bottom;margin-left:2px;font-size:1em;line-height:1;animation:.7s step-end infinite cursorBlink;display:inline-block}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.chat-word-cursor{color:var(--accent);border-bottom:2px solid var(--accent);background:#4f46e52e;border-radius:3px;padding:1px 3px;font-weight:600;animation:.15s ease-out wordLand}@keyframes wordLand{0%{background:#4f46e561}to{background:#4f46e52e}}.quick-card:after{content:"";opacity:0;pointer-events:none;border-radius:inherit;background:linear-gradient(105deg,#0000 40%,#ffffff14 50%,#0000 60%);transition:opacity .3s;position:absolute;inset:0}.quick-card:hover:after{opacity:1}.stats-row>.stat-card:first-child:before{background:linear-gradient(90deg,#3b82f6,#6366f1)}.stats-row>.stat-card:nth-child(2):before{background:linear-gradient(90deg,#6366f1,#8b5cf6)}.stats-row>.stat-card:nth-child(3):before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.progress-ring-svg .ring-arc{filter:drop-shadow(0 0 5px #a5b4fc8c)}.progress-ring-svg.ring-state-low .ring-arc{filter:drop-shadow(0 0 5px #fbbf2480);animation:2s ease-in-out infinite ringPulseLow}@keyframes ringPulseLow{0%,to{filter:drop-shadow(0 0 4px #fbbf2466)}50%{filter:drop-shadow(0 0 12px #fbbf24d9)}}.progress-ring-svg.ring-state-complete{animation:.65s cubic-bezier(.34,1.56,.64,1) both ringBurst}.progress-ring-svg.ring-state-complete .ring-arc{filter:drop-shadow(0 0 8px #34d399bf);animation:2.5s ease-in-out infinite ringGlowComplete}@keyframes ringBurst{0%{transform:scale(.88)}60%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes ringGlowComplete{0%,to{filter:drop-shadow(0 0 6px #34d39999)}50%{filter:drop-shadow(0 0 14px #34d399f2)}}.constellation-card{border-radius:var(--radius-xl);background:linear-gradient(135deg,#0d1129 0%,#1c1a45 50%,#150e30 100%);align-items:center;gap:48px;margin-bottom:32px;padding:36px 40px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 72px #0f172a4d,0 4px 16px #6366f11a}.constellation-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#6366f133,#0000 65%);width:200px;height:200px;position:absolute;top:-40px;right:-40px}.constellation-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#8b5cf626,#0000 65%);width:180px;height:180px;position:absolute;bottom:-40px;left:30%}.constellation-info{z-index:1;flex-shrink:0;max-width:210px;position:relative}.constellation-title{color:#f8fafc;letter-spacing:-.5px;margin-bottom:8px;font-size:20px;font-weight:800;line-height:1.2}.constellation-sub{color:#94a3b8b3;margin-bottom:20px;font-size:13px;line-height:1.5}.constellation-legend{flex-wrap:wrap;gap:8px;display:flex}.cleg{letter-spacing:.04em;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.cleg-physics{color:#93c5fd;background:#3b82f626;border:1px solid #3b82f64d}.cleg-chemistry{color:#6ee7b7;background:#05966926;border:1px solid #0596694d}.cleg-biology{color:#fcd34d;background:#d9770626;border:1px solid #d977064d}.constellation-stage{z-index:1;flex-shrink:0;width:260px;height:260px;margin:0 auto;position:relative}.c-orbit-path{pointer-events:none;border:1px dashed #a5b4fc24;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.c-center{background:linear-gradient(135deg, var(--accent), var(--accent-bright));color:#fff;z-index:10;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;animation:3s ease-in-out infinite cCenterPulse;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes cCenterPulse{0%,to{box-shadow:0 0 18px #6366f166,0 0 0 6px #6366f11a}50%{box-shadow:0 0 32px #6366f1a6,0 0 0 12px #6366f12e}}.c-orbit{z-index:5;width:0;height:0;position:absolute;top:50%;left:50%}.c-orbit-1{animation:9s linear infinite cOrbit}.c-orbit-2{animation:13s linear -5s infinite cOrbit}.c-orbit-3{animation:17s linear -9s infinite cOrbit}@keyframes cOrbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.c-node{white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:6px 11px;font-size:11px;font-weight:700;transition:filter .2s;display:flex;position:absolute}.c-node:hover{filter:brightness(1.25)}.c-counter-1{animation:9s linear infinite cNodeTrack1}.c-counter-2{animation:13s linear -5s infinite cNodeTrack2}.c-counter-3{animation:17s linear -9s infinite cNodeTrack3}@keyframes cNodeTrack1{0%{transform:translate(68px)translateY(-16px)rotate(0)}to{transform:translate(68px)translateY(-16px)rotate(-360deg)}}@keyframes cNodeTrack2{0%{transform:translate(92px)translateY(-16px)rotate(0)}to{transform:translate(92px)translateY(-16px)rotate(-360deg)}}@keyframes cNodeTrack3{0%{transform:translate(116px)translateY(-16px)rotate(0)}to{transform:translate(116px)translateY(-16px)rotate(-360deg)}}.c-node-physics{color:#93c5fd;background:#3b82f62e;border:1px solid #3b82f659;box-shadow:0 0 10px #3b82f633}.c-node-chemistry{color:#6ee7b7;background:#0596692e;border:1px solid #05966959;box-shadow:0 0 10px #05966933}.c-node-biology{color:#fcd34d;background:#d977062e;border:1px solid #d9770659;box-shadow:0 0 10px #d9770633}@media (width<=768px){.constellation-card{flex-direction:column;align-items:center;gap:24px;padding:28px 24px}.constellation-info{text-align:center;max-width:100%}.constellation-legend{justify-content:center}}
