@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-ext-wght-normal.460bdf14.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-wght-normal.491cbc05.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-ext-wght-normal.23aae568.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-wght-normal.4449bf7a.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-vietnamese-wght-normal.113a630f.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-ext-wght-normal.3835a68e.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-wght-normal.6c596dfc.woff2) format("woff2-variations");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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-vietnamese-wght-normal.a3924ff4.woff2) format("woff2-variations");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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-latin-ext-wght-normal.55a1343a.woff2) format("woff2-variations");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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-latin-wght-normal.5a0c43ff.woff2) format("woff2-variations");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}:root{--color-bg:var(--eui-bg);--color-fg:var(--eui-text);--color-accent:var(--eui-primary)}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:40;justify-content:space-between;gap:var(--eui-space-4);padding:0 var(--eui-space-6);height:64px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--eui-border)}.nav,.nav__logo{display:flex;align-items:center}.nav__logo{gap:var(--eui-space-2);font-family:var(--eui-font-display);font-weight:700;font-size:1.125rem;color:var(--eui-ink);text-decoration:none}.nav__logo-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--eui-radius-sm);background:var(--eui-primary-tint);color:var(--eui-primary);font-size:.75rem;font-weight:600;letter-spacing:.04em}.nav__links{display:none;list-style:none;margin:0;padding:0;gap:var(--eui-space-1)}@media (min-width:768px){.nav__links{display:flex}}.nav__link{display:inline-flex;align-items:center;padding:var(--eui-space-2) var(--eui-space-3);border-radius:var(--eui-radius-sm);font-size:.9375rem;font-weight:500;color:var(--eui-text);text-decoration:none;transition:all var(--eui-transition)}.nav__link:hover{background:var(--eui-surface-2);color:var(--eui-ink)}.nav__link--active{color:var(--eui-primary);background:var(--eui-primary-tint)}.nav__actions{display:flex;align-items:center;gap:var(--eui-space-2)}.hero{position:relative;overflow:hidden;padding:var(--eui-space-16) var(--eui-space-6);text-align:center;background:linear-gradient(160deg,var(--eui-brand-lavender) 0,#ffffff 60%)}.hero:before{content:"";position:absolute;inset:-80px -80px auto auto;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(109,40,217,.12) 0,transparent 70%);pointer-events:none}.hero__kicker{display:inline-flex;align-items:center;gap:var(--eui-space-2);padding:4px 14px;border-radius:999px;border:1px solid var(--eui-primary-tint-border);background:var(--eui-primary-tint);color:var(--eui-primary);font-size:.8125rem;font-weight:600;letter-spacing:.04em;margin-bottom:var(--eui-space-6)}.hero__title{font-family:var(--eui-font-display);font-weight:700;font-size:clamp(2rem,6vw,3.5rem);line-height:1.1;color:var(--eui-ink);max-width:18ch;margin:0 auto var(--eui-space-6)}.hero__title em{font-style:normal;background:linear-gradient(135deg,var(--eui-brand-primary) 0,var(--eui-brand-primary-2) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero__sub{font-size:1.125rem;color:var(--eui-text);max-width:52ch;margin:0 auto var(--eui-space-8);line-height:1.7}.hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--eui-space-3)}.features{padding:var(--eui-space-16) var(--eui-space-6);background:var(--eui-surface)}.section-label{font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--eui-primary);margin-bottom:var(--eui-space-3)}.section-label,.section-title{text-align:center;font-weight:700}.section-title{font-family:var(--eui-font-display);font-size:clamp(1.5rem,4vw,2.25rem);color:var(--eui-ink);margin:0 auto var(--eui-space-12);max-width:28ch}.features__grid{display:grid;grid-gap:var(--eui-space-6);gap:var(--eui-space-6);max-width:960px;margin:0 auto}@media (min-width:640px){.features__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:960px){.features__grid{grid-template-columns:repeat(3,1fr)}}.feature-card{padding:var(--eui-space-6);border-radius:var(--eui-radius-lg);border:1px solid var(--eui-border);background:var(--eui-surface);box-shadow:var(--eui-shadow-sm);transition:all var(--eui-transition)}.feature-card:hover{box-shadow:var(--eui-shadow-md);transform:translateY(-2px)}.feature-card__icon{width:48px;height:48px;border-radius:var(--eui-radius);background:var(--eui-primary-tint);color:var(--eui-primary);display:flex;align-items:center;justify-content:center;margin-bottom:var(--eui-space-4)}.feature-card__title{font-family:var(--eui-font-display);font-weight:600;font-size:1.0625rem;color:var(--eui-ink);margin:0 0 var(--eui-space-2)}.feature-card__body{font-size:.9375rem;color:var(--eui-text);line-height:1.6;margin:0}.stats{padding:var(--eui-space-12) var(--eui-space-6);background:var(--eui-primary);color:white}.stats__grid{display:grid;grid-gap:var(--eui-space-8);gap:var(--eui-space-8);text-align:center;max-width:720px;margin:0 auto}@media (min-width:640px){.stats__grid{grid-template-columns:repeat(3,1fr)}}.stats__number{font-family:var(--eui-font-display);font-weight:700;font-size:2.5rem;color:white;line-height:1}.stats__label{font-size:.9375rem;color:rgba(255,255,255,.8);margin-top:var(--eui-space-1)}.cta-banner{padding:var(--eui-space-16) var(--eui-space-6);text-align:center;background:linear-gradient(160deg,var(--eui-brand-lavender) 0,white 100%)}.footer{padding:var(--eui-space-8) var(--eui-space-6);border-top:1px solid var(--eui-border);display:flex;flex-direction:column;align-items:center;gap:var(--eui-space-4);font-size:.875rem;color:var(--eui-muted)}@media (min-width:640px){.footer{flex-direction:row;justify-content:space-between}}.footer__links{display:flex;gap:var(--eui-space-4);flex-wrap:wrap;justify-content:center}.footer__link{color:var(--eui-muted);text-decoration:none}.footer__link:hover{color:var(--eui-ink)}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:var(--eui-space-6);background:var(--eui-surface-2)}.auth-card{width:100%;max-width:420px;background:var(--eui-surface);border:1px solid var(--eui-border);border-radius:var(--eui-radius-lg);box-shadow:var(--eui-shadow-md);padding:var(--eui-space-8)}.auth-logo{display:flex;flex-direction:column;align-items:center;gap:var(--eui-space-2);margin-bottom:var(--eui-space-8)}.auth-logo__name{font-family:var(--eui-font-display);font-weight:700;font-size:1.25rem;color:var(--eui-ink)}.auth-logo__mark{width:48px;height:48px;border-radius:var(--eui-radius);background:var(--eui-primary);box-shadow:var(--eui-shadow-primary);justify-content:center;color:white}.auth-divider,.auth-logo__mark{display:flex;align-items:center}.auth-divider{gap:var(--eui-space-3);color:var(--eui-muted);font-size:.8125rem;margin:var(--eui-space-6) 0}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--eui-border)}.auth-links{display:flex;flex-direction:column;gap:var(--eui-space-2);margin-top:var(--eui-space-4);font-size:.875rem;text-align:center}.auth-links a{color:var(--eui-primary);text-decoration:none}.auth-links a:hover{text-decoration:underline}.school-list{list-style:none;margin:-4px 0 0;padding:4px;border:1px solid var(--eui-border);border-top:none;border-radius:0 0 var(--eui-radius) var(--eui-radius);background:var(--eui-surface);box-shadow:var(--eui-shadow-md);max-height:200px;overflow-y:auto}.school-list__item{display:block;width:100%;text-align:left;padding:var(--eui-space-3) var(--eui-space-3);border:none;background:transparent;border-radius:var(--eui-radius-sm);cursor:pointer;font-size:.9375rem;color:var(--eui-ink);transition:background var(--eui-transition)}.school-list__item:hover{background:var(--eui-surface-2)}.school-chip{display:inline-flex;align-items:center;gap:var(--eui-space-2);padding:var(--eui-space-2) var(--eui-space-3);border-radius:var(--eui-radius-sm);background:var(--eui-primary-tint);color:var(--eui-primary);font-size:.875rem;font-weight:500;margin-bottom:var(--eui-space-3);cursor:pointer;border:none}.teach-shell{display:flex;min-height:100dvh}.teach-sidebar{display:none;width:240px;flex-shrink:0;border-right:1px solid var(--eui-border);background:var(--eui-surface);padding:var(--eui-space-6) var(--eui-space-4);flex-direction:column;gap:var(--eui-space-1)}@media (min-width:768px){.teach-sidebar{display:flex}}.teach-sidebar__logo{display:flex;align-items:center;gap:var(--eui-space-2);font-family:var(--eui-font-display);font-weight:700;font-size:1rem;color:var(--eui-ink);text-decoration:none;padding:var(--eui-space-2) var(--eui-space-3);margin-bottom:var(--eui-space-4)}.teach-sidebar__nav{display:flex;flex-direction:column;gap:var(--eui-space-1);flex:1 1}.teach-nav-link{display:flex;align-items:center;gap:var(--eui-space-3);padding:var(--eui-space-2) var(--eui-space-3);border-radius:var(--eui-radius-sm);font-size:.9375rem;font-weight:500;color:var(--eui-text);text-decoration:none;transition:all var(--eui-transition)}.teach-nav-link:hover{background:var(--eui-surface-2);color:var(--eui-ink)}.teach-nav-link--active{background:var(--eui-primary-tint);color:var(--eui-primary)}.teach-main{flex:1 1;min-width:0;display:flex;flex-direction:column}.teach-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--eui-space-4);padding:0 var(--eui-space-6);height:64px;border-bottom:1px solid var(--eui-border);background:var(--eui-surface)}.teach-content{flex:1 1;padding:var(--eui-space-6);background:var(--eui-surface-2)}.page-header{margin-bottom:var(--eui-space-6)}.page-title{font-family:var(--eui-font-display);font-weight:700;font-size:1.5rem;color:var(--eui-ink);margin:0 0 var(--eui-space-1)}.page-subtitle{font-size:.9375rem;color:var(--eui-muted);margin:0}.dashboard-grid{display:grid;grid-gap:var(--eui-space-4);gap:var(--eui-space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:var(--eui-space-8)}.stat-card{background:var(--eui-surface);border:1px solid var(--eui-border);border-radius:var(--eui-radius-lg);padding:var(--eui-space-6);box-shadow:var(--eui-shadow-sm)}.stat-card__label{font-size:.8125rem;font-weight:500;color:var(--eui-muted);letter-spacing:.02em;margin-bottom:var(--eui-space-2)}.stat-card__value{font-family:var(--eui-font-display);font-weight:700;font-size:2rem;color:var(--eui-ink);line-height:1}.stat-card__value--primary{color:var(--eui-primary)}.play-shell{min-height:100dvh;background:var(--eui-bg);color:var(--eui-text)}.play-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 var(--eui-space-4);height:56px;border-bottom:1px solid var(--eui-border)}.play-topbar__logo{font-family:var(--eui-font-display);font-weight:700;font-size:1.0625rem;color:var(--eui-primary)}.play-content{padding:var(--eui-space-4);max-width:640px;margin:0 auto}.play-greeting{margin-bottom:var(--eui-space-6)}.play-greeting__name{font-family:var(--eui-font-display);font-weight:700;font-size:1.5rem;color:var(--eui-ink);margin:0 0 var(--eui-space-1)}.play-greeting__sub{font-size:.9375rem;color:var(--eui-muted);margin:0}.quest-grid{display:grid;grid-gap:var(--eui-space-4);gap:var(--eui-space-4)}.quest-card{background:var(--eui-surface);border:1px solid var(--eui-border);border-radius:var(--eui-radius-lg);padding:var(--eui-space-5);transition:all var(--eui-transition);cursor:pointer;text-decoration:none}.quest-card:hover{border-color:var(--eui-primary-tint-border);box-shadow:var(--eui-shadow-primary);transform:translateY(-2px)}.quest-card__title{font-family:var(--eui-font-display);font-weight:600;font-size:1.0625rem;color:var(--eui-ink);margin:0 0 var(--eui-space-2)}.quest-card__meta{font-size:.8125rem;color:var(--eui-muted);margin:0}.alert,.quest-card__meta{display:flex;gap:var(--eui-space-3)}.alert{align-items:flex-start;padding:var(--eui-space-3) var(--eui-space-4);border-radius:var(--eui-radius);border:1px solid transparent;font-size:.9375rem}.alert--error{background:var(--eui-danger-bg);border-color:var(--eui-danger);color:var(--eui-danger)}.alert--success{background:var(--eui-ok-bg);border-color:var(--eui-ok);color:var(--eui-ok)}.container{max-width:960px;margin:0 auto}.container--sm{max-width:640px;margin:0 auto}:root{--eui-brand-primary:#6d28d9;--eui-brand-primary-2:#8b5cf6;--eui-brand-primary-strong:#5b21b6;--eui-brand-primary-deep:#4c1d95;--eui-brand-lavender:#f3f0fc;--eui-brand-lavender-2:#e9e3fa;--eui-brand-lavender-border:#ddd3f6;--eui-brand-dark:#12101f;--eui-brand-dark-2:#1a1730;--eui-brand-dark-border:rgba(255,255,255,0.09);--eui-radius-lg:24px;--eui-radius:16px;--eui-radius-sm:12px;--eui-shadow-sm:0 1px 2px rgba(13,14,28,0.05);--eui-shadow-md:0 6px 24px -4px rgba(13,14,28,0.08);--eui-shadow-lg:0 24px 64px -16px rgba(13,14,28,0.18);--eui-shadow-primary:0 12px 32px -8px rgba(109,40,217,0.4);--eui-font-display:"Space Grotesk Variable","Space Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;--eui-font-body:"Inter Variable","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--eui-space-1:4px;--eui-space-2:8px;--eui-space-3:12px;--eui-space-4:16px;--eui-space-6:24px;--eui-space-8:32px;--eui-space-12:48px;--eui-space-16:64px;--eui-transition:200ms ease-out}:root,[data-theme=teach]{color-scheme:light;--eui-bg:#ffffff;--eui-surface:#ffffff;--eui-surface-2:#f7f7fa;--eui-ink:#0d0e1c;--eui-text:#454b5e;--eui-muted:#6e7487;--eui-border:#e6e7ee;--eui-primary:var(--eui-brand-primary);--eui-primary-hover:var(--eui-brand-primary-2);--eui-primary-active:var(--eui-brand-primary-strong);--eui-primary-contrast:#ffffff;--eui-primary-tint:var(--eui-brand-lavender);--eui-primary-tint-2:var(--eui-brand-lavender-2);--eui-primary-tint-border:var(--eui-brand-lavender-border);--eui-ok:#0f766e;--eui-ok-bg:#ecfdf5;--eui-warn:#b45309;--eui-warn-bg:#fffbeb;--eui-danger:#dc2626;--eui-danger-bg:#fef2f2;--eui-focus-ring:0 0 0 3px rgba(109,40,217,0.15);--eui-backdrop:rgba(13,14,28,0.6);--eui-card-shadow:var(--eui-shadow-sm);--eui-card-shadow-hover:var(--eui-shadow-md)}[data-theme=play]{color-scheme:dark;--eui-bg:var(--eui-brand-dark);--eui-surface:var(--eui-brand-dark-2);--eui-surface-2:#221e3d;--eui-ink:#f4f2ff;--eui-text:#c9c5dd;--eui-muted:#928da9;--eui-border:var(--eui-brand-dark-border);--eui-primary:var(--eui-brand-primary-2);--eui-primary-hover:#a78bfa;--eui-primary-active:var(--eui-brand-primary);--eui-primary-contrast:#ffffff;--eui-primary-tint:rgba(139,92,246,0.12);--eui-primary-tint-2:rgba(139,92,246,0.2);--eui-primary-tint-border:rgba(139,92,246,0.35);--eui-ok:#2dd4bf;--eui-ok-bg:rgba(45,212,191,0.12);--eui-warn:#fbbf24;--eui-warn-bg:rgba(251,191,36,0.12);--eui-danger:#f87171;--eui-danger-bg:rgba(248,113,113,0.12);--eui-lp:#f59e0b;--eui-crystal:#67e8f9;--eui-focus-ring:0 0 0 3px rgba(139,92,246,0.35);--eui-backdrop:rgba(13,14,28,0.6);--eui-card-shadow:none;--eui-card-shadow-hover:var(--eui-shadow-primary)}:where([data-theme]){background:var(--eui-bg);color:var(--eui-text);font-family:var(--eui-font-body);font-size:.9375rem;line-height:1.6;-webkit-font-smoothing:antialiased}:where([data-theme]) *,:where([data-theme]) :after,:where([data-theme]) :before{box-sizing:border-box}:where(html[data-theme]) body{margin:0}.eui-h1{font-family:var(--eui-font-display);font-weight:700;font-size:2rem;line-height:1.2;color:var(--eui-ink);margin:0}.eui-h2{font-size:1.5rem;line-height:1.25}.eui-h2,.eui-h3{font-family:var(--eui-font-display);font-weight:600;color:var(--eui-ink);margin:0}.eui-h3{font-size:1.125rem;line-height:1.3}@media (min-width:768px){.eui-h1{font-size:2.5rem}.eui-h2{font-size:1.75rem}}.eui-label{color:var(--eui-ink)}.eui-caption,.eui-label{font-family:var(--eui-font-body);font-weight:500;font-size:.8125rem;letter-spacing:.02em}.eui-caption{color:var(--eui-muted)}:where([data-theme]) :focus-visible{outline:none;box-shadow:var(--eui-focus-ring);border-radius:var(--eui-radius-sm)}.eui-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){:where([data-theme]) *,:where([data-theme]) :after,:where([data-theme]) :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.eui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--eui-space-2);min-height:44px;padding:0 var(--eui-space-6);border-radius:var(--eui-radius);border:1.5px solid transparent;font-family:var(--eui-font-body);font-weight:600;font-size:.9375rem;line-height:1;cursor:pointer;text-decoration:none;transition:all var(--eui-transition);-webkit-tap-highlight-color:transparent}.eui-btn:focus-visible{outline:none;box-shadow:var(--eui-focus-ring)}.eui-btn:disabled,.eui-btn[aria-disabled=true]{opacity:.4;cursor:not-allowed;pointer-events:none}.eui-btn--primary{background:var(--eui-primary);color:var(--eui-primary-contrast)}.eui-btn--primary:hover:not(:disabled){background:var(--eui-primary-hover);box-shadow:var(--eui-shadow-primary);transform:translateY(-1px)}.eui-btn--primary:active:not(:disabled){background:var(--eui-primary-active);transform:translateY(0);box-shadow:none}.eui-btn--secondary{background:transparent;border-color:var(--eui-primary);color:var(--eui-primary)}.eui-btn--secondary:hover:not(:disabled){background:var(--eui-primary-tint);transform:translateY(-1px)}.eui-btn--ghost{background:transparent;color:var(--eui-ink)}.eui-btn--ghost:hover:not(:disabled){background:var(--eui-surface-2)}.eui-btn--danger{background:var(--eui-danger);color:#ffffff}.eui-btn--danger:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.eui-btn--sm{min-height:36px;padding:0 var(--eui-space-4);font-size:.8125rem;border-radius:var(--eui-radius-sm)}.eui-btn--lg{min-height:52px;padding:0 var(--eui-space-8);font-size:1.0625rem}.eui-btn--block{display:flex;width:100%}.eui-btn__spinner{animation:eui-spin .8s linear infinite}@keyframes eui-spin{to{transform:rotate(1turn)}}.eui-field{display:flex;flex-direction:column;gap:var(--eui-space-2)}.eui-field__label{font-weight:500;font-size:.8125rem;letter-spacing:.02em;color:var(--eui-ink)}.eui-field__hint{font-size:.8125rem;color:var(--eui-muted);margin:0}.eui-field__error{font-size:.8125rem;color:var(--eui-danger);margin:0;display:flex;align-items:center;gap:var(--eui-space-1)}.eui-input,.eui-select{width:100%;min-height:44px;padding:12px 16px;border:1.5px solid var(--eui-border);border-radius:var(--eui-radius);background:var(--eui-surface);color:var(--eui-ink);font-family:var(--eui-font-body);font-size:.9375rem;transition:border-color var(--eui-transition),box-shadow var(--eui-transition)}.eui-input::placeholder{color:var(--eui-muted)}.eui-input:focus-visible,.eui-select:focus-visible{outline:none;border-color:var(--eui-primary);box-shadow:var(--eui-focus-ring)}.eui-input[aria-invalid=true],.eui-select[aria-invalid=true]{border-color:var(--eui-danger)}.eui-input:disabled,.eui-select:disabled{opacity:.4;cursor:not-allowed;background:var(--eui-surface-2)}.eui-select-wrap{position:relative}.eui-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--eui-space-12);cursor:pointer}.eui-select-wrap__chevron{position:absolute;right:var(--eui-space-4);top:50%;transform:translateY(-50%);pointer-events:none;color:var(--eui-muted)}.eui-check{display:flex;align-items:flex-start;gap:var(--eui-space-3);min-height:44px;padding:var(--eui-space-2) 0;cursor:pointer;color:var(--eui-text);font-size:.9375rem}.eui-check input{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;width:22px;height:22px;margin:2px 0 0;border:1.5px solid var(--eui-border);background:var(--eui-surface);cursor:pointer;transition:all var(--eui-transition);display:grid;place-content:center}.eui-check input[type=checkbox]{border-radius:6px}.eui-check input[type=radio]{border-radius:50%}.eui-check input:hover{border-color:var(--eui-primary)}.eui-check input:focus-visible{outline:none;border-color:var(--eui-primary);box-shadow:var(--eui-focus-ring)}.eui-check input:checked{border-color:var(--eui-primary);background:var(--eui-primary)}.eui-check input[type=checkbox]:checked:before{content:"";width:12px;height:12px;background:var(--eui-primary-contrast);-webkit-clip-path:polygon(14% 44%,0 60%,40% 100%,100% 16%,84% 4%,38% 70%);clip-path:polygon(14% 44%,0 60%,40% 100%,100% 16%,84% 4%,38% 70%)}.eui-check input[type=radio]:checked{background:var(--eui-surface)}.eui-check input[type=radio]:checked:before{content:"";width:12px;height:12px;border-radius:50%;background:var(--eui-primary)}.eui-check input:disabled{opacity:.4;cursor:not-allowed}.eui-check__text{padding-top:2px}.eui-dialog::-webkit-backdrop,.eui-sheet::-webkit-backdrop{background:rgba(13,14,28,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.eui-dialog::backdrop,.eui-sheet::backdrop{background:rgba(13,14,28,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.eui-dialog{border:none;padding:0;background:var(--eui-surface);color:var(--eui-text);border-radius:var(--eui-radius-lg);box-shadow:var(--eui-shadow-lg);width:min(calc(100vw - 32px),480px);max-height:calc(100dvh - 48px);overflow:hidden;display:none;flex-direction:column}.eui-dialog[open]{display:flex;animation:eui-dialog-in var(--eui-transition)}.eui-dialog--wide{width:min(calc(100vw - 32px),720px)}@keyframes eui-dialog-in{0%{opacity:0;transform:scale(.96)}}.eui-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:var(--eui-space-4);padding:var(--eui-space-6) var(--eui-space-6) 0}.eui-dialog__body{padding:var(--eui-space-4) var(--eui-space-6) var(--eui-space-6);overflow-y:auto;overscroll-behavior:contain}.eui-dialog__footer{display:flex;justify-content:flex-end;gap:var(--eui-space-3);padding:var(--eui-space-4) var(--eui-space-6);border-top:1px solid var(--eui-border)}.eui-dialog__close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-12px -12px -12px 0;border:none;background:transparent;color:var(--eui-muted);border-radius:var(--eui-radius-sm);cursor:pointer;transition:all var(--eui-transition)}.eui-dialog__close:hover{background:var(--eui-surface-2);color:var(--eui-ink)}.eui-sheet{border:none;padding:0;margin:0;background:var(--eui-surface);color:var(--eui-text);border-radius:var(--eui-radius-lg) var(--eui-radius-lg) 0 0;box-shadow:var(--eui-shadow-lg);position:fixed;inset:auto 0 0 0;width:100%;max-width:640px;margin-inline:auto;max-height:calc(100dvh - 48px);display:none;flex-direction:column;touch-action:none}.eui-sheet[open]{display:flex;animation:eui-sheet-in .24s ease-out}.eui-sheet--dragging[open]{animation:none;transition:none}@keyframes eui-sheet-in{0%{transform:translateY(100%)}}.eui-sheet__grip{flex-shrink:0;display:flex;justify-content:center;padding:var(--eui-space-3) 0 var(--eui-space-2);cursor:-webkit-grab;cursor:grab;touch-action:none}.eui-sheet__grip:before{content:"";width:48px;height:4px;border-radius:999px;background:var(--eui-muted);opacity:.5}.eui-sheet__header{flex-shrink:0;padding:0 var(--eui-space-4) var(--eui-space-2)}.eui-sheet__body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:var(--eui-space-2) var(--eui-space-4) var(--eui-space-4)}.eui-sheet__footer{flex-shrink:0;padding:var(--eui-space-3) var(--eui-space-4);padding-bottom:calc(var(--eui-space-3) + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--eui-border);background:var(--eui-surface)}.eui-sheet__footer,.eui-toasts{display:flex;flex-direction:column;gap:var(--eui-space-2)}.eui-toasts{position:fixed;z-index:60;bottom:calc(var(--eui-space-4) + env(safe-area-inset-bottom, 0px));left:var(--eui-space-4);right:var(--eui-space-4);pointer-events:none}@media (min-width:640px){.eui-toasts{left:auto;width:380px}}.eui-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--eui-space-3);padding:var(--eui-space-3) var(--eui-space-4);border-radius:var(--eui-radius);border:1px solid var(--eui-border);background:var(--eui-surface);color:var(--eui-text);box-shadow:var(--eui-shadow-md);animation:eui-toast-in var(--eui-transition)}@keyframes eui-toast-in{0%{opacity:0;transform:translateY(8px)}}.eui-toast__icon{flex-shrink:0;margin-top:2px}.eui-toast--success .eui-toast__icon{color:var(--eui-ok)}.eui-toast--warning .eui-toast__icon{color:var(--eui-warn)}.eui-toast--error .eui-toast__icon{color:var(--eui-danger)}.eui-toast__title{font-weight:600;color:var(--eui-ink);font-size:.9375rem}.eui-toast__description{font-size:.8125rem;color:var(--eui-muted)}.eui-toast__close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:-4px -8px -4px auto;border:none;background:transparent;color:var(--eui-muted);border-radius:var(--eui-radius-sm);cursor:pointer}.eui-toast__close:hover{background:var(--eui-surface-2);color:var(--eui-ink)}.eui-badge{display:inline-flex;align-items:center;gap:var(--eui-space-1);padding:2px 10px;border-radius:var(--eui-radius-sm);font-size:.8125rem;font-weight:500;letter-spacing:.02em;border:1px solid transparent}.eui-badge--neutral{background:var(--eui-surface-2);color:var(--eui-text);border-color:var(--eui-border)}.eui-badge--primary{background:var(--eui-primary-tint);color:var(--eui-primary);border-color:var(--eui-primary-tint-border)}.eui-badge--success{background:var(--eui-ok-bg);color:var(--eui-ok)}.eui-badge--warning{background:var(--eui-warn-bg);color:var(--eui-warn)}.eui-badge--danger{background:var(--eui-danger-bg);color:var(--eui-danger)}.eui-progress{display:flex;flex-direction:column;gap:var(--eui-space-2)}.eui-progress__head{display:flex;justify-content:space-between;font-size:.8125rem;font-weight:500;color:var(--eui-ink)}.eui-progress__value{color:var(--eui-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eui-progress__track{height:8px;border-radius:999px;background:var(--eui-surface-2);overflow:hidden}[data-theme=play] .eui-progress__track{background:rgba(255,255,255,.08)}.eui-progress__fill{height:100%;border-radius:999px;background:var(--eui-primary);transition:width .3s ease-out}.eui-skeleton{display:block;background:var(--eui-surface-2);border-radius:var(--eui-radius-sm);animation:eui-skeleton-pulse 1.4s ease-in-out infinite}[data-theme=play] .eui-skeleton{background:rgba(255,255,255,.07)}@keyframes eui-skeleton-pulse{50%{opacity:.5}}.eui-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--eui-space-3);padding:var(--eui-space-12) var(--eui-space-6);border-radius:var(--eui-radius-lg);background:var(--eui-primary-tint);border:1px dashed var(--eui-primary-tint-border)}.eui-empty__icon{color:var(--eui-primary)}.eui-empty__title{font-family:var(--eui-font-display);font-weight:600;font-size:1.125rem;color:var(--eui-ink);margin:0}.eui-empty__description{max-width:40ch;color:var(--eui-muted);margin:0}.eui-empty__action{margin-top:var(--eui-space-2)}.eui-card{background:var(--eui-surface);border:1px solid var(--eui-border);border-radius:var(--eui-radius-lg);box-shadow:var(--eui-card-shadow);padding:var(--eui-space-6);transition:all var(--eui-transition)}.eui-card--interactive{cursor:pointer}.eui-card--interactive:focus-visible,.eui-card--interactive:hover{box-shadow:var(--eui-card-shadow-hover);transform:translateY(-1px)}.eui-card__title{font-family:var(--eui-font-display);font-weight:600;font-size:1.125rem;color:var(--eui-ink);margin:0 0 var(--eui-space-3)}.eui-card__footer{margin-top:var(--eui-space-4);padding-top:var(--eui-space-4);border-top:1px solid var(--eui-border)}.eui-tabs__list{display:flex;gap:var(--eui-space-1);border-bottom:1.5px solid var(--eui-border);overflow-x:auto;scrollbar-width:none}.eui-tabs__list::-webkit-scrollbar{display:none}.eui-tabs__tab{flex-shrink:0;min-height:44px;padding:var(--eui-space-2) var(--eui-space-4);border:none;border-bottom:2px solid transparent;margin-bottom:-1.5px;background:transparent;color:var(--eui-muted);font-family:var(--eui-font-body);font-weight:500;font-size:.9375rem;cursor:pointer;transition:all var(--eui-transition)}.eui-tabs__tab:hover{color:var(--eui-ink)}.eui-tabs__tab:focus-visible{outline:none;box-shadow:var(--eui-focus-ring);border-radius:var(--eui-radius-sm) var(--eui-radius-sm) 0 0}.eui-tabs__tab[aria-selected=true]{color:var(--eui-primary);border-bottom-color:var(--eui-primary);font-weight:600}.eui-tabs__panel{padding-top:var(--eui-space-4)}.eui-tabs__panel:focus-visible{outline:none;box-shadow:none}.eui-table-wrap{overflow-x:auto;border:1px solid var(--eui-border);border-radius:var(--eui-radius);background:var(--eui-surface)}.eui-table{width:100%;border-collapse:collapse;font-size:.9375rem}.eui-table th{text-align:left;font-size:.8125rem;font-weight:600;letter-spacing:.02em;color:var(--eui-muted);background:var(--eui-surface-2);white-space:nowrap}.eui-table td,.eui-table th{padding:var(--eui-space-3) var(--eui-space-4);border-bottom:1px solid var(--eui-border)}.eui-table td{color:var(--eui-text)}.eui-table tbody tr:last-child td{border-bottom:none}.eui-table tbody tr:hover{background:var(--eui-surface-2)}.eui-table__sort{display:inline-flex;align-items:center;gap:var(--eui-space-1);border:none;background:transparent;padding:0;margin:0;font:inherit;color:inherit;letter-spacing:inherit;cursor:pointer;min-height:24px}.eui-table__sort:hover{color:var(--eui-ink)}.eui-table__sort:focus-visible{outline:none;box-shadow:var(--eui-focus-ring);border-radius:4px}th[aria-sort] .eui-table__sort{color:var(--eui-primary)}