@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Plus_Jakarta_Sans_a11773;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_Fallback_a11773;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_a11773{font-family:__Plus_Jakarta_Sans_a11773,__Plus_Jakarta_Sans_Fallback_a11773;font-style:normal}.__variable_a11773{--font-jakarta:"__Plus_Jakarta_Sans_a11773","__Plus_Jakarta_Sans_Fallback_a11773"}@font-face{font-family:__geistMono_c3aa02;src:url(/_next/static/media/463dafcda517f24f-s.p.woff) format("woff");font-display:swap;font-weight:100 900}@font-face{font-family:__geistMono_Fallback_c3aa02;src:local("Arial");ascent-override:69.97%;descent-override:16.73%;line-gap-override:7.61%;size-adjust:131.49%}.__className_c3aa02{font-family:__geistMono_c3aa02,__geistMono_Fallback_c3aa02}.__variable_c3aa02{--font-geist-mono:"__geistMono_c3aa02","__geistMono_Fallback_c3aa02"}:root,[data-theme=forest]{color-scheme:dark;--color-bg:#0b1715;--color-surface:#102420;--color-surface-strong:#13312e;--color-surface-soft:#183a35;--color-accent-teal:#216974;--color-accent-teal-bright:#2d8791;--color-accent-orange:#e09453;--color-accent-orange-soft:#f0b67f;--color-beige:#dbd2c6;--color-text:#f7f4ef;--color-text-muted:#b8c5be;--color-text-subtle:#859a91;--color-border:hsla(34,23%,82%,.12);--color-border-strong:hsla(34,23%,82%,.22);--color-overlay:rgba(4,12,10,.72);--color-success:#78aa82;--color-warning:#e0aa62;--color-danger:#d97867;--color-info:#65a9ae;--progress-track:hsla(34,23%,82%,.1);--progress-not-started:#566a62;--progress-active:var(--color-accent-teal-bright);--progress-complete:#78aa82;--progress-review:var(--color-accent-orange);--xp-track:rgba(224,148,83,.13);--xp-fill:var(--color-accent-orange);--xp-glow:rgba(224,148,83,.26);--xp-level-bg:#2e2820;--pal-idle:#70978b;--pal-speaking:var(--color-accent-teal-bright);--pal-celebrating:var(--color-accent-orange);--pal-resting:#8c938c;--pal-bubble:#f1ebe2;--pal-bubble-text:#17302b;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:0.625rem;--radius-md:0.875rem;--radius-lg:1.125rem;--radius-xl:1.5rem;--radius-2xl:2rem;--radius-round:999px;--shadow-card:0 18px 50px rgba(0,0,0,.18);--shadow-raised:0 22px 70px rgba(0,0,0,.28);--shadow-inset:inset 0 1px 0 hsla(0,0%,100%,.05);--shadow-focus:0 0 0 4px rgba(45,135,145,.22);--font-sans:Inter,"Aptos","Segoe UI",ui-sans-serif,system-ui,sans-serif;--font-display:"Aptos Display",Inter,"Segoe UI",ui-sans-serif,system-ui,sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:clamp(1.75rem,3vw,2.5rem);--leading-tight:1.15;--leading-normal:1.55;--tracking-tight:-0.025em;--tracking-wide:0.08em;--card-bg:rgba(19,49,46,.78);--card-bg-hover:rgba(24,58,53,.92);--card-border:var(--color-border);--card-padding:var(--space-6);--motion-fast:140ms ease;--motion-normal:220ms ease;--motion-slow:380ms cubic-bezier(0.22,1,0.36,1);--dashboard-gap:var(--space-5);--control-height:2.75rem}[data-theme=light]{color-scheme:light;--color-bg:#f8f5ef;--color-surface:#fffdf9;--color-surface-strong:#e8f0ec;--color-surface-soft:#dce8e3;--color-text:#12302c;--color-text-muted:#566a63;--color-text-subtle:#74867f;--color-border:rgba(19,49,46,.13);--color-border-strong:rgba(19,49,46,.22);--color-overlay:rgba(11,23,21,.52);--progress-track:rgba(19,49,46,.1);--xp-track:rgba(224,148,83,.16);--xp-level-bg:#f4dfca;--card-bg:rgba(255,253,249,.92);--card-bg-hover:#fff;--card-border:rgba(19,49,46,.12);--shadow-card:0 18px 50px rgb(38 57 51/9%);--shadow-raised:0 22px 70px rgba(38,57,51,.16);--shadow-inset:inset 0 1px 0 hsla(0,0%,100%,.65)}[data-density=compact]{--card-padding:var(--space-5);--dashboard-gap:var(--space-4);--control-height:2.5rem}[data-calm=true]{--motion-fast:0ms;--motion-normal:0ms;--motion-slow:0ms}.student-shell{--background:var(--color-bg);--foreground:var(--color-text);--card:var(--card-bg);--card-foreground:var(--color-text);--popover:var(--color-surface);--popover-foreground:var(--color-text);--primary:var(--color-accent-teal);--primary-foreground:#fffdf9;--secondary:var(--color-surface-strong);--secondary-foreground:var(--color-text);--muted:var(--color-surface-strong);--muted-foreground:var(--color-text-muted);--accent:var(--color-surface-soft);--accent-foreground:var(--color-text);--destructive:var(--color-danger);--border:var(--color-border);--input:var(--color-border-strong);--ring:var(--color-accent-teal);--radius:var(--radius-md);--glass-bg:var(--card-bg);--glass-border:var(--card-border);--glass-shadow:var(--shadow-card);--chart-1:var(--color-accent-teal);--chart-2:var(--color-accent-orange);--chart-3:var(--color-success);--chart-4:var(--color-info);--chart-5:var(--color-warning);--sidebar:var(--color-surface);--sidebar-foreground:var(--color-text);--sidebar-primary:var(--color-accent-teal);--sidebar-primary-foreground:#fffdf9;--sidebar-accent:var(--color-surface-strong);--sidebar-accent-foreground:var(--color-text);--sidebar-border:var(--color-border);--sidebar-ring:var(--color-accent-teal);color:var(--color-text)}[data-theme=forest] .student-shell{--primary:var(--color-accent-orange);--primary-foreground:#14211e;--ring:var(--color-accent-orange-soft);--sidebar-primary:var(--color-accent-orange);--sidebar-primary-foreground:#14211e;--sidebar-ring:var(--color-accent-orange-soft)}.teacher-shell{--background:#f4f5f2;--foreground:#17312d;--card:#fff;--card-foreground:#17312d;--popover:#fbfcfa;--popover-foreground:#17312d;--primary:#216974;--primary-foreground:#fff;--secondary:#e5efeb;--secondary-foreground:#17312d;--muted:#f0f4f1;--muted-foreground:#60746c;--accent:#e5f0ed;--accent-foreground:#185a58;--destructive:#d97867;--border:#dce3de;--input:#d9e1dc;--ring:#216974;--radius:0.7rem;--glass-bg:#fff;--glass-border:#dce3de;--glass-shadow:0 8px 24px rgb(25 58 51/4%);--chart-1:#216974;--chart-2:#dc8046;--chart-3:#528064;--chart-4:#3d7186;--chart-5:#bf6d39;color:#17312d}