:root{--primary:#1e8a4f;--primary-dark:#0d3d22;--primary-hover:#166d3f;--cta-bg-start:#1e8a4f;--cta-bg-end:#2aa765;--accent:#d97706;--accent-hover:#b45309;--accent-dark:#7a3e00;--accent-muted:#fde8c0;--background:#f0faf4;--foreground:#0d1f12;--card:#ffffff;--muted:#e8f5ee;--muted-foreground:#3a5c44;--border:#b6dfc5;--border-light:#c8e6d0;--nav-active-bg:#c2ecd4;--shadow:0 20px 48px rgba(13,61,34,0.10);--shadow-soft:0 10px 28px rgba(13,61,34,0.08);--font-sans:"Montserrat",Arial,sans-serif;--font-display:"Be Vietnam Pro","Montserrat",Arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{min-height:100vh;font-family:var(--font-sans);color:var(--foreground);background:radial-gradient(circle at 8% 12%,rgba(198,236,212,.76),transparent 28%),radial-gradient(circle at 88% 14%,rgba(253,232,192,.7),transparent 28%),linear-gradient(180deg,#f8fcfa 0,var(--background) 100%);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}.app-shell{min-height:100vh}.topbar{height:72px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border-light);position:-webkit-sticky;position:sticky;top:0;z-index:10}.topbar-inner{width:min(1500px,calc(100% - 2.4rem));height:100%;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:1rem;gap:1rem}.brand{display:flex;align-items:center;gap:.72rem;width:-moz-fit-content;width:fit-content}.brand-logo{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#48bd78);color:white;font-weight:900;box-shadow:0 12px 24px rgba(30,138,79,.2);transition:.25s ease}.brand:hover .brand-logo{transform:rotate(-6deg) scale(1.05)}.brand-name{font-family:var(--font-display);color:var(--primary-dark);font-size:1.05rem;font-weight:900;letter-spacing:-.04em}.nav-tabs{display:flex;gap:.18rem;padding:.28rem;background:var(--muted);border:1px solid rgba(182,223,197,.86);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.nav-tab,.nav-tabs{align-items:center;border-radius:999px}.nav-tab{display:inline-flex;gap:.42rem;padding:.56rem .94rem;color:var(--muted-foreground);font-size:.78rem;font-weight:900;white-space:nowrap}.nav-tab.active{background:var(--nav-active-bg);color:var(--primary-dark)}.nav-actions{justify-self:end;display:flex;align-items:center;gap:.6rem}.avatar-menu{display:inline-flex;align-items:center;gap:.42rem;cursor:pointer;padding:.3rem .5rem .3rem .3rem;border-radius:999px;transition:.15s ease}.avatar-menu:hover{background:rgba(255,255,255,.7)}.avatar-menu:hover .avatar-chevron{animation:chevronBob .6s ease-in-out infinite}.avatar-chevron{width:14px;height:14px;color:var(--muted-foreground);transition:.15s ease}.avatar{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;background:var(--nav-active-bg);color:var(--primary-dark);font-weight:900;border:1px solid var(--border)}.page{width:min(1500px,calc(100% - 2.4rem));margin:0 auto;padding:1.2rem 0 2rem}.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.2rem 0 1.25rem}.page-title-row h1{font-family:var(--font-display);font-size:clamp(1.45rem,2.2vw,2rem);color:var(--primary);letter-spacing:-.03em;font-weight:900;line-height:1.05;opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease}.welcome-name{color:var(--primary-dark);font-size:1.04em;padding:0 .08em;border-radius:.24em;background:linear-gradient(180deg,transparent 58%,rgba(217,119,6,.24) 0)}.page-title-row h1.visible{opacity:1;transform:translateY(0)}.btn{border:0;cursor:pointer;font-family:var(--font-sans);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;padding:.82rem 1.02rem;font-size:.82rem;font-weight:900;transition:.18s ease}.btn.primary{color:#fff;background:var(--primary);box-shadow:0 12px 26px rgba(30,138,79,.2)}.btn.primary:hover{transform:translateY(-1px);background:var(--primary-hover)}.btn.accent{color:#fff;background:var(--accent);box-shadow:0 12px 26px rgba(217,119,6,.2)}.btn.accent.cta-pulse{animation:pulseCTA 2.2s ease-in-out infinite}.btn.accent:hover{transform:translateY(-1px);background:var(--accent-hover,#b45309)}.btn.ghost{border:1px solid var(--border-light);background:rgba(255,255,255,.8);color:var(--primary-dark)}.btn.ghost:hover{transform:translateY(-1px);border-color:var(--primary)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.84fr);grid-gap:1.15rem;gap:1.15rem;align-items:start}.main-stack{display:grid;grid-gap:1.32rem;gap:1.32rem}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.72rem;gap:.72rem;align-items:stretch}.side-stack .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:rgba(255,255,255,.88);border:1px solid var(--border-light);border-radius:24px;box-shadow:var(--shadow-soft);overflow:hidden;animation:riseIn .5s ease both}.main-stack>.card:first-of-type{animation-delay:.16s}.main-stack>.card:nth-of-type(2){animation-delay:.26s}.main-stack>.card:nth-of-type(3){animation-delay:.36s}.side-stack>.card:first-of-type{animation-delay:.22s}.side-stack>.card:nth-of-type(2){animation-delay:.32s}.side-stack>.card:nth-of-type(3){animation-delay:.42s}.card-inner{padding:1.15rem}.section-title{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.75rem}.section-title h2{font-family:var(--font-display);font-size:1.2rem;letter-spacing:-.03em;color:var(--foreground)}.section-title p{color:var(--muted-foreground);font-size:.78rem;font-weight:600;margin-top:.16rem}.hero-next{position:relative;min-height:168px;background:radial-gradient(circle at 84% 22%,rgba(253,232,192,.34),transparent 30%),linear-gradient(135deg,var(--cta-bg-start),var(--cta-bg-end));color:#fff;border-radius:24px;overflow:hidden;box-shadow:0 22px 48px rgba(13,61,34,.18);animation:riseIn .55s ease both;animation-delay:.06s}.hero-next:after{width:220px;height:220px;right:-76px;bottom:-102px;background:rgba(255,255,255,.13);animation:heroOrbFloat 7s ease-in-out infinite}.hero-next:after,.hero-next:before{content:"";position:absolute;border-radius:999px}.hero-next:before{width:120px;height:120px;left:18%;top:-62px;background:rgba(253,232,192,.13);filter:blur(2px);animation:heroOrbFloat 9s ease-in-out infinite reverse}.hero-next-content{position:relative;z-index:1;padding:clamp(1.1rem,1.8vw,1.55rem);display:grid;grid-template-columns:minmax(0,1fr) max-content;grid-gap:clamp(1rem,2.4vw,2rem);gap:clamp(1rem,2.4vw,2rem);align-items:start;min-height:clamp(168px,18vw,220px)}.dashboard-hero-copy{max-width:min(760px,100%);min-width:0;display:grid;grid-gap:.52rem;gap:.52rem;align-self:start;align-content:start;justify-items:start;padding:0;margin:0;transform:none}.hero-kicker{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:.3rem .62rem;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);color:#ffffff;font-size:.82rem;line-height:1.1;font-weight:800;text-shadow:0 1px 8px rgba(0,0,0,.2)}.dashboard-hero-cta{display:grid;justify-items:end;align-self:start;align-content:start;justify-self:end;grid-gap:.62rem;gap:.62rem;inline-size:clamp(10.5rem,15vw,13rem);max-inline-size:100%;min-width:0}.hero-tag{justify-self:end;width:-moz-fit-content;width:fit-content;max-width:100%;margin-bottom:.08rem;font-size:.82rem;padding:.46rem .9rem;white-space:nowrap;text-align:center;line-height:1.2}.hero-actions-vertical{display:grid;grid-template-columns:1fr;justify-items:stretch;justify-self:end;grid-gap:.62rem;gap:.62rem;margin-top:0;inline-size:clamp(9.75rem,12vw,11.5rem)}.hero-actions-vertical .btn{width:100%;font-size:.9rem;font-weight:900;line-height:1.1;padding-top:.74rem;padding-bottom:.74rem;color:#fff}.eyebrow{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.26);border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:999px;padding:.34rem .66rem;font-size:.68rem;font-weight:900;margin-bottom:.78rem}.eyebrow:before{content:"";width:8px;height:8px;border-radius:999px;background:var(--muted);box-shadow:0 0 0 5px rgba(232,245,238,.2)}.hero-next h2{font-family:var(--font-display);font-size:clamp(1.65rem,2.45vw,2.25rem);line-height:1.04;letter-spacing:-.055em;margin-bottom:.02rem;font-weight:950;color:#ffffff;text-shadow:0 1px 8px rgba(0,0,0,.22)}.hero-next p{max-width:min(760px,100%);color:#ffffff;font-size:clamp(.88rem,1.05vw,1rem);line-height:1.42;font-weight:750;text-shadow:0 1px 8px rgba(0,0,0,.18)}.hero-actions{display:flex;gap:.62rem;margin-top:.8rem;flex-wrap:wrap}.hero-actions .btn.ghost{background:rgba(255,255,255,.12);color:#fff;border-color:#ffffff}.hero-actions-vertical .btn.ghost:hover{background:rgba(255,255,255,.26);border-color:rgba(255,255,255,.62);transform:translateY(-1px)}.quick-actions-section{margin-top:.9rem}.quick-actions-section .section-title{margin-bottom:.65rem}.next-panel{width:260px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:1rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.next-panel strong{display:block;font-size:.82rem;margin-bottom:.5rem}.next-panel .mini-status{display:grid;grid-gap:.44rem;gap:.44rem;margin-top:.6rem}.mini-status span{display:flex;justify-content:space-between;gap:.6rem;font-size:.72rem;color:rgba(255,255,255,.82);border-top:1px solid rgba(255,255,255,.16);padding-top:.44rem;font-weight:700}.mini-status b{color:#fff}.topic-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.topic-card{position:relative;border:1px solid var(--border-light);border-radius:20px;background:rgba(255,255,255,.82);padding:1rem;min-height:180px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;animation:riseIn .55s ease both}.topic-card:nth-child(2){animation-delay:.06s}.topic-card:nth-child(3){animation-delay:.12s}.topic-card:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 16px 34px rgba(13,61,34,.14)}.topic-state{display:inline-flex;align-items:center;gap:.34rem;border:1px solid var(--border-light);border-radius:999px;background:var(--muted);padding:.3rem .56rem;font-size:.7rem;font-weight:900;color:var(--primary-dark);margin-bottom:.72rem}.topic-state.warn{background:#fef2f2;color:#c0362c;border-color:#f0a9a6}.topic-state.warn.hero-tag{font-size:.95rem;padding:.6rem 1rem}.topic-card h3{font-family:var(--font-display);font-size:.98rem;line-height:1.26;letter-spacing:-.03em;margin-bottom:.5rem}.topic-card p{color:var(--muted-foreground);font-size:.77rem;line-height:1.48;font-weight:600}.topic-actions{display:flex;gap:.45rem;margin-top:.9rem;flex-wrap:wrap}.small-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--border-light);background:#fff;color:var(--primary-dark);padding:.42rem .62rem;font-size:.7rem;font-weight:900;transition:.15s ease}.small-btn:hover{transform:translateY(-1px);border-color:var(--primary);box-shadow:0 6px 14px rgba(30,138,79,.14)}.small-btn.fill{background:var(--primary);border-color:var(--primary);color:#fff}.small-btn.fill:hover{background:var(--primary-hover);box-shadow:0 6px 14px rgba(30,138,79,.26)}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.72rem;gap:.72rem;align-items:stretch}.quick-action{border:1px solid var(--border-light);border-radius:18px;background:rgba(255,255,255,.78);padding:.82rem;min-height:118px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;animation:popIn .4s ease both;display:flex;flex-direction:column;justify-content:center;gap:.34rem;height:100%}.quick-action-head{display:flex;align-items:center;gap:.52rem;width:100%;min-width:0}.quick-action:first-child{animation-delay:.06s}.quick-action:nth-child(2){animation-delay:.12s}.quick-action:nth-child(3){animation-delay:.18s}.quick-action:nth-child(4){animation-delay:.24s}.quick-action:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 16px 34px rgba(13,61,34,.14)}.feature-grid>.quick-action:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 22px 48px rgba(13,61,34,.2)}.quick-action:nth-child(odd):hover{border:2px solid var(--primary)}.quick-action:nth-child(2n):hover{border:2px solid var(--accent)}.quick-action.feature-accent.hover-border-green:hover{border:2px solid var(--primary)}.quick-action.feature-success.hover-border-orange:hover{border:2px solid var(--accent)}.quick-action:hover .quick-icon{transform:scale(1.12) rotate(6deg)}.quick-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--muted);color:var(--primary);margin-bottom:.12rem;font-weight:900;transition:.22s ease;flex:0 0 auto}.quick-icon svg{width:20px;height:20px}.quick-action-head .quick-icon{margin-bottom:0}.quick-action:nth-child(odd) .quick-icon{background:var(--accent);color:#fff}.quick-action:nth-child(odd) strong{color:var(--accent)}.quick-action:nth-child(2n) .quick-icon{background:var(--primary);color:#fff}.quick-action:nth-child(2n) strong{color:var(--primary-dark)}.quick-action.feature-accent .quick-icon{background:var(--accent);color:#fff}.quick-action.feature-accent strong{color:var(--accent)}.quick-action.feature-success .quick-icon{background:var(--primary);color:#fff}.feature-grid>.quick-action:first-child strong,.feature-grid>.quick-action:nth-child(2) strong,.feature-grid>.quick-action:nth-child(3) strong,.quick-action.feature-success strong,.quick-grid>.quick-action:first-child strong,.quick-grid>.quick-action:nth-child(3) strong{color:var(--primary-dark)}.quick-action strong{display:block;font-family:var(--font-display);font-size:1rem;line-height:1.16;margin-bottom:0;min-width:0;overflow-wrap:anywhere}.quick-action span{display:block;color:var(--muted-foreground);font-size:.82rem;line-height:1.32;font-weight:600;overflow-wrap:anywhere}.sessions-table{width:100%;border-collapse:collapse;font-size:.74rem}.sessions-table th{text-align:left;color:var(--primary-dark);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;background:var(--muted);padding:.84rem 1rem}.sessions-table tbody tr{animation:fadeUp .4s ease both;transition:background .15s ease}.sessions-table tbody tr:hover{background:var(--muted)}.sessions-table tbody tr:first-child{animation-delay:.06s}.sessions-table tbody tr:nth-child(2){animation-delay:.13s}.sessions-table tbody tr:nth-child(3){animation-delay:.2s}.sessions-table td{padding:.92rem 1rem;border-top:1px solid rgba(200,230,208,.78);color:var(--foreground);font-weight:700;vertical-align:middle}.mode-tag{border-radius:999px;border:1px solid var(--border-light);background:#fff;color:var(--primary-dark);font-size:.84rem}.content-tag,.mode-tag{display:inline-flex;padding:.34rem .56rem;font-weight:900;white-space:nowrap}.content-tag{border-radius:999px;border:1px dashed var(--border);background:transparent;color:var(--muted-foreground);font-size:.7rem}.content-row{background:rgba(232,245,238,.4)}.score-pill{display:inline-flex;align-items:center;justify-content:center;width:44px;height:34px;border-radius:999px;background:var(--muted);color:var(--primary-dark);font-weight:900;border:1px solid var(--border-light);animation:popIn .35s ease both;animation-delay:.3s}.score-pill.empty{color:var(--muted-foreground)}.score-pill.low{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.score-pill.mid{background:#ffedd5;border-color:#fdba74;color:#9a3412}.score-pill.high{background:var(--muted);border-color:var(--border);color:var(--primary-dark)}.next-text{color:var(--muted-foreground);font-weight:700}.side-stack{display:grid;grid-gap:1.6rem;gap:1.6rem}.stats-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.9rem;gap:.9rem}.stat-card{border:1px solid var(--border-light);background:rgba(255,255,255,.86);border-radius:18px;padding:.82rem;min-height:112px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;animation:popIn .4s ease both;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;grid-column-gap:.52rem;column-gap:.52rem;grid-row-gap:.3rem;row-gap:.3rem;align-items:center}.stat-card:first-child{animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.17s}.stat-card:nth-child(3){animation-delay:.24s}.stat-card:nth-child(4){animation-delay:.31s}.stat-card:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 16px 34px rgba(13,61,34,.14)}.stat-card:hover .stat-icon{transform:scale(1.1) rotate(-4deg)}.stat-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--primary);color:#fff;margin-bottom:0;font-weight:900;transition:.22s ease}.stat-icon svg{width:20px;height:20px}.stat-icon-orange{background:var(--accent);color:#fff}.stat-icon-green{background:var(--primary);color:#fff}.stat-label{color:var(--muted-foreground);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.stat-label,.stat-value{font-weight:900;align-self:center}.stat-value{font-family:var(--font-display);font-size:1.45rem;color:var(--foreground);line-height:1.1;margin-top:0;grid-column:1/-1;justify-self:center;text-align:center}.stat-sub{color:var(--muted-foreground);font-size:.68rem;font-weight:700;margin-top:.15rem}.readiness-card .readiness-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.9rem}.readiness-card .card-inner{min-height:280px;padding-top:1.15rem;padding-bottom:1.15rem;display:flex;flex-direction:column}.readiness-label{display:inline-flex;border-radius:999px;background:var(--muted);color:var(--primary-dark);border:1px solid var(--border-light);padding:.36rem .62rem;font-size:.68rem;font-weight:900}.skill-list{display:grid;grid-gap:.85rem;gap:.85rem;flex:1 1;align-content:start}.skill-block{display:grid;grid-gap:.6rem;gap:.6rem}.skill-name{font-size:.98rem;font-weight:800;color:var(--foreground);line-height:1.2}.skill-bar-row{display:grid;grid-template-columns:auto 1fr auto;grid-gap:.52rem;gap:.52rem;align-items:center}.level-badge{font-size:.93rem;font-weight:900;color:var(--muted-foreground);min-width:38px;text-align:center;line-height:1;white-space:nowrap}.skill-row{display:grid;grid-template-columns:108px 1fr auto;grid-gap:1.5rem;gap:1.5rem;align-items:center;font-size:.86rem;font-weight:800;line-height:1.35}.bar{height:8px;border-radius:999px;background:#ddefe4;overflow:hidden}.bar span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.progress-row-header{display:flex;justify-content:space-between;align-items:baseline}.progress-pct{font-size:.72rem;font-weight:900;color:var(--muted-foreground)}.bar span.good{background:var(--primary)}.bar span.warn{background:var(--accent)}.progress-note{font-size:.98rem;font-weight:800;padding-left:0;line-height:1.3}.progress-note.good{color:var(--primary)}.progress-note.warn{color:var(--accent-dark)}.coach-note{border:1px solid var(--border-light);background:linear-gradient(135deg,var(--muted),rgba(255,255,255,.9));border-radius:20px;padding:1rem;animation:riseIn .5s ease both;animation-delay:.25s}.coach-note strong{display:block;font-family:var(--font-display);font-size:.9rem;color:var(--primary-dark);margin-bottom:.4rem}.coach-note p{color:var(--muted-foreground);font-size:.76rem;line-height:1.48;font-weight:600}.streak-card .card-inner{padding:1.15rem}.streak-header{display:flex;align-items:baseline;gap:.38rem;margin-bottom:1rem}.streak-fire{font-size:1.8rem;line-height:1}.streak-fire.faded{filter:grayscale(1) opacity(.38)}.streak-count{font-family:var(--font-display);font-size:2.8rem;font-weight:900;color:var(--accent);line-height:1}.streak-count.muted,.streak-unit{color:var(--muted-foreground)}.streak-unit{font-size:.86rem;font-weight:800;align-self:flex-end;padding-bottom:.22rem}.streak-dots-row{display:flex;gap:.28rem;margin-bottom:.9rem;justify-content:space-between}.streak-day-col{flex-direction:column;gap:.3rem;flex:1 1}.streak-day-col,.streak-dot{display:flex;align-items:center}.streak-dot{width:28px;height:28px;border-radius:999px;background:var(--muted);border:1.5px solid var(--border-light);justify-content:center;transition:background .2s ease,border-color .2s ease}.streak-dot.filled{background:var(--accent);border-color:var(--accent)}.streak-day-label{font-size:.62rem;font-weight:900;color:var(--muted-foreground);letter-spacing:.01em}.streak-date-label{font-size:.58rem;font-weight:700;color:var(--muted-foreground);text-align:center;line-height:1}.streak-note{font-size:.86rem;font-weight:800;color:var(--primary-dark)}.dashboard-profile-card{background:rgba(255,255,255,.92);border:1px solid var(--border-light);border-radius:24px;box-shadow:var(--shadow-soft);padding:1.2rem;animation:riseIn .5s ease both}.dashboard-toast{position:fixed;right:1.3rem;bottom:1.3rem;width:min(360px,calc(100% - 2.6rem));border:1px solid var(--border-light);border-radius:20px;background:rgba(255,255,255,.97);box-shadow:0 22px 56px rgba(13,61,34,.18);padding:1rem 1.1rem;display:none;animation:fadeUp .3s ease both;z-index:80}.dashboard-toast.show{display:grid;grid-gap:.25rem;gap:.25rem}.dashboard-toast strong{font-family:var(--font-display);color:var(--primary-dark);font-size:.94rem}.dashboard-toast span{color:var(--muted-foreground);font-size:.78rem;line-height:1.45;font-weight:700}.dashboard-error-page{min-height:calc(100vh - 72px);display:grid;place-items:center;padding-top:2rem;padding-bottom:2rem}.dashboard-error-card{width:min(860px,100%);text-align:center;border-color:rgba(200,230,208,.95);box-shadow:0 24px 64px rgba(13,61,34,.12)}.dashboard-error-card .card-inner{display:grid;justify-items:center;grid-gap:.8rem;gap:.8rem;padding:1.6rem}.dashboard-error-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#fef2f2;color:#991b1b;border:1px solid #fecaca;font-weight:900;font-size:1.2rem}.dashboard-error-card h1{font-family:var(--font-display);font-size:1.35rem;line-height:1.15;letter-spacing:-.04em;color:var(--foreground);font-weight:900}.dashboard-error-card p{max-width:760px;color:var(--muted-foreground);font-size:.95rem;line-height:1.45;font-weight:700}.dashboard-error-card .btn{margin-top:.2rem}@media (max-width:640px){.dashboard-error-page{place-items:start center;padding-top:1.2rem}.dashboard-error-card{width:100%}.dashboard-error-card .card-inner{padding:1.5rem 1.15rem}.dashboard-error-card h1{font-size:1.32rem}.dashboard-error-card p{font-size:.86rem}}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes heroOrbFloat{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-8px,-14px) scale(1.06)}}@keyframes popIn{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseDot{0%,to{box-shadow:0 0 0 0 rgba(253,232,192,.4)}50%{box-shadow:0 0 0 5px rgba(253,232,192,0)}}@keyframes pulseCTA{0%,to{box-shadow:0 12px 24px rgba(217,119,6,.22),0 0 0 0 rgba(217,119,6,.35)}50%{box-shadow:0 12px 24px rgba(217,119,6,.22),0 0 0 8px rgba(217,119,6,0)}}@keyframes chevronBob{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}@media (min-width:1181px) and (max-height:760px){.page{padding-top:.95rem}.page-title-row{margin-bottom:1rem}.hero-next{min-height:150px}.hero-next-content{min-height:150px;padding:.95rem 1.12rem}.hero-next h2{font-size:clamp(1.48rem,2.15vw,1.95rem)}.hero-next p{font-size:.88rem;line-height:1.38}.hero-kicker{font-size:.78rem;padding:.28rem .56rem}.hero-actions-vertical{width:158px;gap:.5rem}.hero-actions-vertical .btn{font-size:.84rem;padding-top:.62rem;padding-bottom:.62rem}.hero-tag{font-size:.78rem;padding:.4rem .68rem}.main-stack,.side-stack{gap:1rem}}@media (max-width:1180px){.dashboard-grid{grid-template-columns:1fr}.side-stack{grid-template-columns:1fr 1fr}.topic-row{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:820px){.topbar{height:auto;padding:.9rem 0}.topbar-inner{grid-template-columns:1fr;justify-items:center}.nav-actions{justify-self:center}.nav-tabs{max-width:100%;overflow-x:auto;justify-content:flex-start}.hero-next-content{grid-template-columns:1fr;align-items:start}.dashboard-hero-cta{justify-self:stretch;inline-size:100%}.hero-actions-vertical{grid-template-columns:repeat(2,minmax(0,1fr))}.next-panel{width:100%}.side-stack{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.sessions-table{min-width:840px}.table-scroll{overflow-x:auto}}@media (max-width:640px){.hero-actions-vertical,.quick-grid,.side-stack,.stats-grid{grid-template-columns:1fr}}html[data-theme=dark] .dashboard-profile-card,html[data-theme=dark] .dashboard-toast{background:rgba(32,60,43,.94);border-color:var(--border-light);color:var(--foreground)}html[data-theme=dark] .dashboard-profile-card .profile-section-title,html[data-theme=dark] .dashboard-profile-card .section-title h2,html[data-theme=dark] .dashboard-toast strong{color:var(--foreground)}html[data-theme=dark] .dashboard-profile-card .section-title p,html[data-theme=dark] .dashboard-toast span{color:var(--muted-foreground)}html[data-theme=dark] .coach-note,html[data-theme=dark] .content-tag,html[data-theme=dark] .mode-tag,html[data-theme=dark] .quick-action,html[data-theme=dark] .score-pill,html[data-theme=dark] .stat-card,html[data-theme=dark] .topic-card{background:rgba(37,70,50,.96);border-color:var(--border-light);color:var(--foreground)}html[data-theme=dark] .quick-action strong,html[data-theme=dark] .skill-name,html[data-theme=dark] .stat-value,html[data-theme=dark] .streak-note,html[data-theme=dark] .topic-card h3{color:var(--foreground)}html[data-theme=dark] .level-badge,html[data-theme=dark] .next-text,html[data-theme=dark] .progress-pct,html[data-theme=dark] .quick-action span,html[data-theme=dark] .stat-label,html[data-theme=dark] .stat-sub,html[data-theme=dark] .topic-card p{color:var(--muted-foreground)}html[data-theme=dark] .sessions-table th{background:rgba(41,75,54,.98);color:var(--primary-dark);border-color:var(--border-light)}html[data-theme=dark] .sessions-table td{color:var(--foreground);border-color:var(--border-light)}html[data-theme=dark] .content-row,html[data-theme=dark] .sessions-table tbody tr:hover{background:rgba(45,82,59,.92)}