@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/2e482247ef29dcb9-s.0z23a3hpu8ttr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/068feab4deafcd0f-s.p.02aqyp7acl16b.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/db545dba463279ae-s.p.14a9xpaqsbppk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.Ua2vOa_className{font-family:Archivo,Archivo Fallback;font-style:normal}.Ua2vOa_variable{--f-archivo:"Archivo", "Archivo Fallback"}
@font-face{font-family:Anuphan;font-style:normal;font-weight:100 700;font-display:swap;src:url(../media/fe99e0d97b1bdacf-s.p.03e9h65tke1nm.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Anuphan;font-style:normal;font-weight:100 700;font-display:swap;src:url(../media/23559f0afb88083a-s.2y60e0ylj-c-t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Anuphan;font-style:normal;font-weight:100 700;font-display:swap;src:url(../media/302189be6b52e69e-s.01ck5wmqme0qc.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Anuphan;font-style:normal;font-weight:100 700;font-display:swap;src:url(../media/a2a942dd4d28daae-s.p.1hq3aonna3zri.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Anuphan Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ljIpsG_className{font-family:Anuphan,Anuphan Fallback;font-style:normal}.ljIpsG_variable{--f-anuphan:"Anuphan", "Anuphan Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b0c6b664fd57c2c6-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6e342921ee4dcd9d-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bb852295097cd96-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9eb5a876700c0028-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2a04751c893bf294-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/07a39a8a4660cc7c-s.p.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.ZJzrrG_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.ZJzrrG_variable{--f-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:144px;--z-base:1;--z-sticky:20;--z-header:40;--z-overlay:60;--z-dialog:70;--z-toast:80;--z-tooltip:90}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark],[data-theme=inverse]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){[data-theme=inverse]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}[data-theme=light] [data-theme=inverse]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] [data-theme=inverse]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root,[data-brand=aswinology],[data-theme]:not([data-brand=lurnelle],[data-brand=lurnelle] *){--p-paper:#f8f7f4;--p-paper-2:#f1efeb;--p-paper-3:#e6e3dd;--p-paper-white:#fefdfb;--p-ink:#26262b;--p-ink-2:#4f4f57;--p-ash:#66666d;--p-lime:#cdf46e;--p-lime-deep:#b8e64f;--p-lime-ink:#3d5c00;--p-lime-neon:#b9ff38;--p-lime-soft:#eef8d2;--p-graphite:#0f100e;--p-graphite-2:#181a17;--p-graphite-3:#252823;--p-graphite-4:#1f221e;--p-bone:#ecece6;--p-bone-2:#c4c5bd;--p-ash-dark:#9a9c94;--p-tint-blue:#dcebff;--p-tint-butter:#fff0c4;--p-tint-sage:#d8f3e2;--p-tint-coral:#ffdfe4;--p-tint-lime:#e4f9aa;--bg:var(--lightningcss-light,var(--p-paper))var(--lightningcss-dark,var(--p-graphite));--bg-alt:var(--lightningcss-light,var(--p-paper-2))var(--lightningcss-dark,var(--p-graphite-2));--surface:var(--lightningcss-light,var(--p-paper-white))var(--lightningcss-dark,var(--p-graphite-2));--surface-raised:var(--lightningcss-light,#fff)var(--lightningcss-dark,var(--p-graphite-3));--surface-sunken:var(--lightningcss-light,var(--p-paper-2))var(--lightningcss-dark,#0a0b0a);--fg:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-bone));--fg-2:var(--lightningcss-light,var(--p-ink-2))var(--lightningcss-dark,var(--p-bone-2));--muted:var(--lightningcss-light,var(--p-ash))var(--lightningcss-dark,var(--p-ash-dark));--line:var(--lightningcss-light,#26262b1a)var(--lightningcss-dark,#ecece621);--line-strong:var(--lightningcss-light,#26262b80)var(--lightningcss-dark,#ecece675);--accent:var(--lightningcss-light,var(--p-lime))var(--lightningcss-dark,var(--p-lime-neon));--on-accent:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-graphite));--accent-text:var(--lightningcss-light,var(--p-lime-ink))var(--lightningcss-dark,var(--p-lime-neon));--accent-soft:var(--lightningcss-light,var(--p-lime-soft))var(--lightningcss-dark,#1d2312);--primary:var(--lightningcss-light,var(--p-lime))var(--lightningcss-dark,var(--p-lime-neon));--on-primary:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-graphite));--primary-hover:var(--lightningcss-light,var(--p-lime-deep))var(--lightningcss-dark,#cbff6b);--secondary:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-bone));--on-secondary:var(--lightningcss-light,var(--p-paper))var(--lightningcss-dark,var(--p-graphite));--secondary-hover:var(--lightningcss-light,#3a3a41)var(--lightningcss-dark,#fff);--focus:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-bone));--focus-halo:var(--lightningcss-light,var(--p-lime))var(--lightningcss-dark,var(--p-lime-neon));--success:var(--lightningcss-light,#3b7527)var(--lightningcss-dark,#9be37a);--success-soft:var(--lightningcss-light,#e3f1da)var(--lightningcss-dark,#17220f);--warning:var(--lightningcss-light,#8a5600)var(--lightningcss-dark,#f2b84b);--warning-soft:var(--lightningcss-light,#fbefd6)var(--lightningcss-dark,#2a2110);--danger:var(--lightningcss-light,#b8372b)var(--lightningcss-dark,#ff8a6b);--on-danger:var(--lightningcss-light,#fff)var(--lightningcss-dark,var(--p-graphite));--danger-soft:var(--lightningcss-light,#fbe4e1)var(--lightningcss-dark,#2c1612);--info:var(--lightningcss-light,#2b59c3)var(--lightningcss-dark,#8fb0ff);--info-soft:var(--lightningcss-light,#e3ebfb)var(--lightningcss-dark,#151c2e);--overlay:var(--lightningcss-light,#26262b6b)var(--lightningcss-dark,#000000b3);--tint-1:var(--lightningcss-light,var(--p-tint-blue))var(--lightningcss-dark,#1a2028);--tint-2:var(--lightningcss-light,var(--p-tint-butter))var(--lightningcss-dark,#23211a);--tint-3:var(--lightningcss-light,var(--p-tint-sage))var(--lightningcss-dark,#1b2119);--tint-4:var(--lightningcss-light,var(--p-tint-coral))var(--lightningcss-dark,#261d19);--tint-accent:var(--lightningcss-light,var(--p-tint-lime))var(--lightningcss-dark,#1d2312);--selection-bg:var(--lightningcss-light,var(--p-lime))var(--lightningcss-dark,var(--p-lime-neon));--selection-fg:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-graphite));--font-display:var(--f-archivo,"Archivo"), var(--f-anuphan,"Anuphan"), ui-sans-serif, system-ui, sans-serif;--font-body:var(--f-archivo,"Archivo"), var(--f-anuphan,"Anuphan"), ui-sans-serif, system-ui, sans-serif;--font-thai:var(--f-anuphan,"Anuphan"), var(--f-archivo,"Archivo"), ui-sans-serif, system-ui, sans-serif;--font-mono:var(--f-geist-mono,"Geist Mono"), ui-monospace, "SFMono-Regular", Menlo, monospace;--weight-display:700;--weight-heading:650;--weight-body:400;--tracking-display:-.045em;--tracking-heading:-.03em;--tracking-meta:.06em;--stretch-display:100;--text-body:1.0625rem;--text-display:clamp(3rem, 7.4vw, 6.75rem);--text-h1:clamp(2.25rem, 4.6vw, 4rem);--text-h2:clamp(1.75rem, 3vw, 2.625rem);--text-h3:clamp(1.25rem, 1.8vw, 1.625rem);--text-lead:clamp(1.125rem, 1.5vw, 1.375rem);--text-small:.875rem;--text-meta:.75rem;--leading-tight:.98;--leading-snug:1.2;--leading-body:1.6;--radius-xs:6px;--radius-sm:10px;--radius-md:18px;--radius-lg:28px;--radius-pill:999px;--shadow-sm:0 1px 2px var(--lightningcss-light,#26262b0f)var(--lightningcss-dark,#0006);--shadow-md:0 18px 40px -24px var(--lightningcss-light,#26262b47)var(--lightningcss-dark,#000000b3);--shadow-lg:0 40px 80px -40px var(--lightningcss-light,#26262b61)var(--lightningcss-dark,#000c);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.76, 0, .24, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.18s;--dur-base:.32s;--dur-slow:.7s;--btn-radius:var(--radius-pill);--btn-shadow:none;--btn-primary-shadow:none;--btn-chip-bg:var(--fg);--btn-chip-fg:var(--bg);--btn-chip-size:32px;--field-radius:var(--radius-sm);--field-bg:var(--surface);--card-radius:var(--radius-lg);--card-bg:var(--surface);--card-border:var(--line);--card-shadow:none;--card-blur:none;--card-hover-shadow:var(--shadow-md);--panel-radius:var(--radius-md);--chip-radius:var(--radius-pill);--header-bg:var(--lightningcss-light,#f8f7f4d1)var(--lightningcss-dark,#0f100ed1);--header-radius:0px;--page-decor:none;--btn-outline-hover-bg:var(--fg);--btn-outline-hover-fg:var(--bg);--btn-outline-hover-border:var(--fg);--btn-ghost-hover-bg:var(--bg-alt);--btn-ghost-hover-fg:var(--fg);--btn-secondary-border:transparent;--btn-secondary-blur:none;--switch-thumb-off:var(--muted);--switch-thumb-shadow:none;--chip-on-bg:var(--fg);--chip-on-fg:var(--bg);--chip-on-border:var(--fg);--progress-bar:var(--fg);--tablist-bg:transparent;--tablist-pad:0px;--tablist-radius:0px;--tablist-border:var(--line);--tab-radius:0px;--tab-active-bg:transparent;--tab-active-line:var(--fg);--tab-active-shadow:none;--dialog-shadow:var(--shadow-lg);--only-aswinology:contents;--only-lurnelle:none;--mark-color:var(--accent)}[data-brand=lurnelle]{--p-mist:#f5f5f7;--p-mist-2:#ececf0;--p-ink:#1d1d1f;--p-ink-2:#3a3b45;--p-ash:#5f6068;--p-slate:#4b4e6d;--p-slate-deep:#3a3c57;--p-peri:#8b8ff7;--p-peri-ink:#4a4fc4;--p-peri-soft:#e4e5ff;--p-peri-light:#b4b7ff;--p-sun:#ffd166;--p-sun-soft:#fff1cc;--p-mint:#9be3c9;--p-mint-soft:#ddf6ec;--p-peach:#ffc4a8;--p-peach-soft:#ffe6da;--p-night:#111226;--p-night-2:#181a33;--p-night-3:#23254a;--p-haze:#ececf8;--p-haze-2:#c5c7e0;--p-ash-dark:#a0a2c4;--bg:var(--lightningcss-light,var(--p-mist))var(--lightningcss-dark,var(--p-night));--bg-alt:var(--lightningcss-light,var(--p-mist-2))var(--lightningcss-dark,var(--p-night-2));--surface:var(--lightningcss-light,#fdfdff)var(--lightningcss-dark,var(--p-night-2));--surface-raised:var(--lightningcss-light,#fff)var(--lightningcss-dark,var(--p-night-3));--surface-sunken:var(--lightningcss-light,var(--p-mist-2))var(--lightningcss-dark,#0b0c1c);--fg:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-haze));--fg-2:var(--lightningcss-light,var(--p-ink-2))var(--lightningcss-dark,var(--p-haze-2));--muted:var(--lightningcss-light,var(--p-ash))var(--lightningcss-dark,var(--p-ash-dark));--line:var(--lightningcss-light,#1d1d1f17)var(--lightningcss-dark,#ececf81f);--line-strong:var(--lightningcss-light,#4b4e6dad)var(--lightningcss-dark,#ececf86b);--accent:var(--lightningcss-light,var(--p-peri))var(--lightningcss-dark,var(--p-peri));--on-accent:var(--lightningcss-light,#14153a)var(--lightningcss-dark,var(--p-night));--accent-text:var(--lightningcss-light,var(--p-peri-ink))var(--lightningcss-dark,var(--p-peri-light));--accent-soft:var(--lightningcss-light,var(--p-peri-soft))var(--lightningcss-dark,#262a5c);--primary:var(--lightningcss-light,var(--p-slate))var(--lightningcss-dark,var(--p-peri));--on-primary:var(--lightningcss-light,#fff)var(--lightningcss-dark,var(--p-night));--primary-hover:var(--lightningcss-light,var(--p-peri-ink))var(--lightningcss-dark,var(--p-peri-light));--secondary:var(--lightningcss-light,#ffffffb8)var(--lightningcss-dark,#ffffff14);--on-secondary:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-haze));--secondary-hover:var(--lightningcss-light,#fff)var(--lightningcss-dark,#ffffff29);--focus:var(--lightningcss-light,var(--p-peri-ink))var(--lightningcss-dark,var(--p-peri-light));--focus-halo:var(--lightningcss-light,#8b8ff759)var(--lightningcss-dark,#8b8ff766);--success:var(--lightningcss-light,#1d7a46)var(--lightningcss-dark,#6fd6a0);--success-soft:var(--lightningcss-light,var(--p-mint-soft))var(--lightningcss-dark,#13281f);--warning:var(--lightningcss-light,#8a5a00)var(--lightningcss-dark,var(--p-sun));--warning-soft:var(--lightningcss-light,var(--p-sun-soft))var(--lightningcss-dark,#2a2412);--danger:var(--lightningcss-light,#b42318)var(--lightningcss-dark,#ff8a80);--on-danger:var(--lightningcss-light,#fff)var(--lightningcss-dark,var(--p-night));--danger-soft:var(--lightningcss-light,var(--p-peach-soft))var(--lightningcss-dark,#2e1616);--info:var(--lightningcss-light,var(--p-peri-ink))var(--lightningcss-dark,var(--p-peri-light));--info-soft:var(--lightningcss-light,var(--p-peri-soft))var(--lightningcss-dark,#1f2250);--overlay:var(--lightningcss-light,#1d1d1f59)var(--lightningcss-dark,#050612b8);--tint-1:var(--lightningcss-light,var(--p-peri-soft))var(--lightningcss-dark,#1f2250);--tint-2:var(--lightningcss-light,var(--p-sun-soft))var(--lightningcss-dark,#2a2412);--tint-3:var(--lightningcss-light,var(--p-mint-soft))var(--lightningcss-dark,#13281f);--tint-4:var(--lightningcss-light,var(--p-peach-soft))var(--lightningcss-dark,#2e1c16);--tint-accent:var(--lightningcss-light,var(--p-peri-soft))var(--lightningcss-dark,#262a5c);--selection-bg:var(--lightningcss-light,var(--p-peri-soft))var(--lightningcss-dark,#2f3470);--selection-fg:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-haze));--font-display:var(--f-inter-tight,"Inter Tight"), var(--f-noto-thai,"Noto Sans Thai"), ui-sans-serif, system-ui, sans-serif;--font-body:var(--f-geist,"Geist"), var(--f-noto-thai,"Noto Sans Thai"), ui-sans-serif, system-ui, sans-serif;--font-thai:var(--f-noto-thai,"Noto Sans Thai"), var(--f-geist,"Geist"), ui-sans-serif, system-ui, sans-serif;--font-mono:var(--f-geist-mono,"Geist Mono"), ui-monospace, "SFMono-Regular", Menlo, monospace;--weight-display:600;--weight-heading:600;--weight-body:400;--tracking-display:-.04em;--tracking-heading:-.025em;--tracking-meta:.08em;--stretch-display:100;--text-body:1rem;--text-display:clamp(2.75rem, 6.6vw, 6rem);--text-h1:clamp(2.125rem, 4.2vw, 3.75rem);--text-h2:clamp(1.75rem, 3vw, 2.5rem);--text-h3:clamp(1.25rem, 1.8vw, 1.6rem);--text-lead:clamp(1.08rem, 1.4vw, 1.3rem);--text-small:.875rem;--text-meta:.75rem;--leading-tight:1;--leading-snug:1.2;--leading-body:1.62;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:28px;--radius-pill:999px;--shadow-sm:0 1px 2px var(--lightningcss-light,#4b4e6d1a)var(--lightningcss-dark,#0006);--shadow-md:0 24px 44px -26px var(--lightningcss-light,#4b4e6d57)var(--lightningcss-dark,#000000b3), 0 8px 18px -10px var(--lightningcss-light,#4b4e6d24)var(--lightningcss-dark,#0006), inset 0 -8px 16px var(--lightningcss-light,#4b4e6d0f)var(--lightningcss-dark,#0003), inset 0 6px 12px var(--lightningcss-light,#fffffff2)var(--lightningcss-dark,#ffffff0a);--shadow-lg:0 34px 56px -28px var(--lightningcss-light,#4b4e6d66)var(--lightningcss-dark,#000c), 0 12px 24px -12px var(--lightningcss-light,#4b4e6d29)var(--lightningcss-dark,#00000073), inset 0 -8px 16px var(--lightningcss-light,#4b4e6d0f)var(--lightningcss-dark,#0003), inset 0 6px 12px var(--lightningcss-light,#fffffff2)var(--lightningcss-dark,#ffffff0d);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--dur-fast:.16s;--dur-base:.28s;--dur-slow:.6s;--btn-radius:var(--radius-pill);--btn-shadow:0 8px 20px -12px var(--lightningcss-light,#4b4e6d4d)var(--lightningcss-dark,#00000080), inset 0 1px 0 var(--lightningcss-light,#fff)var(--lightningcss-dark,#ffffff0f);--btn-primary-shadow:0 14px 26px -12px var(--lightningcss-light,#4b4e6d8c)var(--lightningcss-dark,#8b8ff759), inset 0 -4px 8px #00000029, inset 0 3px 6px #ffffff38;--btn-chip-bg:transparent;--btn-chip-fg:currentColor;--btn-chip-size:20px;--field-radius:var(--radius-md);--field-bg:var(--lightningcss-light,#ffffffc7)var(--lightningcss-dark,#ffffff0a);--card-radius:var(--radius-lg);--card-bg:var(--lightningcss-light,#ffffff9e)var(--lightningcss-dark,#23254a8c);--card-border:var(--lightningcss-light,#ffffffe6)var(--lightningcss-dark,#ececf81a);--card-shadow:var(--shadow-md);--card-blur:blur(18px) saturate(170%);--card-hover-shadow:var(--shadow-lg);--panel-radius:var(--radius-md);--chip-radius:var(--radius-pill);--header-bg:var(--lightningcss-light,#ffffffa8)var(--lightningcss-dark,#181a33a8);--header-radius:var(--radius-pill);--page-decor:radial-gradient(34vmax 34vmax at 12% 16%, var(--lightningcss-light,#8b8ff742)var(--lightningcss-dark,#8b8ff729), transparent 62%), radial-gradient(28vmax 28vmax at 88% 10%, var(--lightningcss-light,#ffd16647)var(--lightningcss-dark,#ffd16614), transparent 62%), radial-gradient(34vmax 34vmax at 74% 88%, var(--lightningcss-light,#9be3c947)var(--lightningcss-dark,#9be3c914), transparent 62%), radial-gradient(26vmax 26vmax at 18% 86%, var(--lightningcss-light,#ffc4a842)var(--lightningcss-dark,#ffc4a814), transparent 62%);--btn-outline-hover-bg:var(--surface-raised);--btn-outline-hover-fg:var(--accent-text);--btn-outline-hover-border:var(--accent);--btn-ghost-hover-bg:var(--accent-soft);--btn-ghost-hover-fg:var(--accent-text);--btn-secondary-border:var(--lightningcss-light,#4b4e6d2e)var(--lightningcss-dark,#ececf829);--btn-secondary-blur:blur(12px);--switch-thumb-off:var(--surface-raised);--switch-thumb-shadow:var(--shadow-sm), 0 2px 6px var(--lightningcss-light,#4b4e6d40)var(--lightningcss-dark,#00000080);--chip-on-bg:var(--accent-soft);--chip-on-fg:var(--accent-text);--chip-on-border:var(--accent);--progress-bar:var(--primary);--tablist-bg:var(--surface-sunken);--tablist-pad:4px;--tablist-radius:var(--radius-pill);--tablist-border:transparent;--tab-radius:var(--radius-pill);--tab-active-bg:var(--surface-raised);--tab-active-line:transparent;--tab-active-shadow:var(--shadow-sm), 0 4px 12px -6px var(--lightningcss-light,#4b4e6d59)var(--lightningcss-dark,#00000080);--dialog-shadow:var(--shadow-lg);--only-aswinology:none;--only-lurnelle:contents;--mark-color:var(--accent)}@scope([data-brand=aswinology]){[data-theme]{--p-paper:#f8f7f4;--p-paper-2:#f1efeb;--p-paper-3:#e6e3dd;--p-paper-white:#fefdfb;--p-ink:#26262b;--p-ink-2:#4f4f57;--p-ash:#66666d;--p-lime:#cdf46e;--p-lime-deep:#b8e64f;--p-lime-ink:#3d5c00;--p-lime-neon:#b9ff38;--p-lime-soft:#eef8d2;--p-graphite:#0f100e;--p-graphite-2:#181a17;--p-graphite-3:#252823;--p-graphite-4:#1f221e;--p-bone:#ecece6;--p-bone-2:#c4c5bd;--p-ash-dark:#9a9c94;--p-tint-blue:#dcebff;--p-tint-butter:#fff0c4;--p-tint-sage:#d8f3e2;--p-tint-coral:#ffdfe4;--p-tint-lime:#e4f9aa;--bg:var(--lightningcss-light,var(--p-paper))var(--lightningcss-dark,var(--p-graphite));--bg-alt:var(--lightningcss-light,var(--p-paper-2))var(--lightningcss-dark,var(--p-graphite-2));--surface:var(--lightningcss-light,var(--p-paper-white))var(--lightningcss-dark,var(--p-graphite-2));--surface-raised:var(--lightningcss-light,#fff)var(--lightningcss-dark,var(--p-graphite-3));--surface-sunken:var(--lightningcss-light,var(--p-paper-2))var(--lightningcss-dark,#0a0b0a);--fg:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-bone));--fg-2:var(--lightningcss-light,var(--p-ink-2))var(--lightningcss-dark,var(--p-bone-2));--muted:var(--lightningcss-light,var(--p-ash))var(--lightningcss-dark,var(--p-ash-dark));--line:var(--lightningcss-light,#26262b1a)var(--lightningcss-dark,#ecece621);--line-strong:var(--lightningcss-light,#26262b80)var(--lightningcss-dark,#ecece675);--accent:var(--lightningcss-light,var(--p-lime))var(--lightningcss-dark,var(--p-lime-neon));--on-accent:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-graphite));--accent-text:var(--lightningcss-light,var(--p-lime-ink))var(--lightningcss-dark,var(--p-lime-neon));--accent-soft:var(--lightningcss-light,var(--p-lime-soft))var(--lightningcss-dark,#1d2312);--primary:var(--lightningcss-light,var(--p-lime))var(--lightningcss-dark,var(--p-lime-neon));--on-primary:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-graphite));--primary-hover:var(--lightningcss-light,var(--p-lime-deep))var(--lightningcss-dark,#cbff6b);--secondary:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-bone));--on-secondary:var(--lightningcss-light,var(--p-paper))var(--lightningcss-dark,var(--p-graphite));--secondary-hover:var(--lightningcss-light,#3a3a41)var(--lightningcss-dark,#fff);--focus:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-bone));--focus-halo:var(--lightningcss-light,var(--p-lime))var(--lightningcss-dark,var(--p-lime-neon));--success:var(--lightningcss-light,#3b7527)var(--lightningcss-dark,#9be37a);--success-soft:var(--lightningcss-light,#e3f1da)var(--lightningcss-dark,#17220f);--warning:var(--lightningcss-light,#8a5600)var(--lightningcss-dark,#f2b84b);--warning-soft:var(--lightningcss-light,#fbefd6)var(--lightningcss-dark,#2a2110);--danger:var(--lightningcss-light,#b8372b)var(--lightningcss-dark,#ff8a6b);--on-danger:var(--lightningcss-light,#fff)var(--lightningcss-dark,var(--p-graphite));--danger-soft:var(--lightningcss-light,#fbe4e1)var(--lightningcss-dark,#2c1612);--info:var(--lightningcss-light,#2b59c3)var(--lightningcss-dark,#8fb0ff);--info-soft:var(--lightningcss-light,#e3ebfb)var(--lightningcss-dark,#151c2e);--overlay:var(--lightningcss-light,#26262b6b)var(--lightningcss-dark,#000000b3);--tint-1:var(--lightningcss-light,var(--p-tint-blue))var(--lightningcss-dark,#1a2028);--tint-2:var(--lightningcss-light,var(--p-tint-butter))var(--lightningcss-dark,#23211a);--tint-3:var(--lightningcss-light,var(--p-tint-sage))var(--lightningcss-dark,#1b2119);--tint-4:var(--lightningcss-light,var(--p-tint-coral))var(--lightningcss-dark,#261d19);--tint-accent:var(--lightningcss-light,var(--p-tint-lime))var(--lightningcss-dark,#1d2312);--selection-bg:var(--lightningcss-light,var(--p-lime))var(--lightningcss-dark,var(--p-lime-neon));--selection-fg:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-graphite));--font-display:var(--f-archivo,"Archivo"), var(--f-anuphan,"Anuphan"), ui-sans-serif, system-ui, sans-serif;--font-body:var(--f-archivo,"Archivo"), var(--f-anuphan,"Anuphan"), ui-sans-serif, system-ui, sans-serif;--font-thai:var(--f-anuphan,"Anuphan"), var(--f-archivo,"Archivo"), ui-sans-serif, system-ui, sans-serif;--font-mono:var(--f-geist-mono,"Geist Mono"), ui-monospace, "SFMono-Regular", Menlo, monospace;--weight-display:700;--weight-heading:650;--weight-body:400;--tracking-display:-.045em;--tracking-heading:-.03em;--tracking-meta:.06em;--stretch-display:100;--text-body:1.0625rem;--text-display:clamp(3rem, 7.4vw, 6.75rem);--text-h1:clamp(2.25rem, 4.6vw, 4rem);--text-h2:clamp(1.75rem, 3vw, 2.625rem);--text-h3:clamp(1.25rem, 1.8vw, 1.625rem);--text-lead:clamp(1.125rem, 1.5vw, 1.375rem);--text-small:.875rem;--text-meta:.75rem;--leading-tight:.98;--leading-snug:1.2;--leading-body:1.6;--radius-xs:6px;--radius-sm:10px;--radius-md:18px;--radius-lg:28px;--radius-pill:999px;--shadow-sm:0 1px 2px var(--lightningcss-light,#26262b0f)var(--lightningcss-dark,#0006);--shadow-md:0 18px 40px -24px var(--lightningcss-light,#26262b47)var(--lightningcss-dark,#000000b3);--shadow-lg:0 40px 80px -40px var(--lightningcss-light,#26262b61)var(--lightningcss-dark,#000c);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.76, 0, .24, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.18s;--dur-base:.32s;--dur-slow:.7s;--btn-radius:var(--radius-pill);--btn-shadow:none;--btn-primary-shadow:none;--btn-chip-bg:var(--fg);--btn-chip-fg:var(--bg);--btn-chip-size:32px;--field-radius:var(--radius-sm);--field-bg:var(--surface);--card-radius:var(--radius-lg);--card-bg:var(--surface);--card-border:var(--line);--card-shadow:none;--card-blur:none;--card-hover-shadow:var(--shadow-md);--panel-radius:var(--radius-md);--chip-radius:var(--radius-pill);--header-bg:var(--lightningcss-light,#f8f7f4d1)var(--lightningcss-dark,#0f100ed1);--header-radius:0px;--page-decor:none;--btn-outline-hover-bg:var(--fg);--btn-outline-hover-fg:var(--bg);--btn-outline-hover-border:var(--fg);--btn-ghost-hover-bg:var(--bg-alt);--btn-ghost-hover-fg:var(--fg);--btn-secondary-border:transparent;--btn-secondary-blur:none;--switch-thumb-off:var(--muted);--switch-thumb-shadow:none;--chip-on-bg:var(--fg);--chip-on-fg:var(--bg);--chip-on-border:var(--fg);--progress-bar:var(--fg);--tablist-bg:transparent;--tablist-pad:0px;--tablist-radius:0px;--tablist-border:var(--line);--tab-radius:0px;--tab-active-bg:transparent;--tab-active-line:var(--fg);--tab-active-shadow:none;--dialog-shadow:var(--shadow-lg);--only-aswinology:contents;--only-lurnelle:none;--mark-color:var(--accent)}}@scope([data-brand=lurnelle]){[data-theme]{--p-mist:#f5f5f7;--p-mist-2:#ececf0;--p-ink:#1d1d1f;--p-ink-2:#3a3b45;--p-ash:#5f6068;--p-slate:#4b4e6d;--p-slate-deep:#3a3c57;--p-peri:#8b8ff7;--p-peri-ink:#4a4fc4;--p-peri-soft:#e4e5ff;--p-peri-light:#b4b7ff;--p-sun:#ffd166;--p-sun-soft:#fff1cc;--p-mint:#9be3c9;--p-mint-soft:#ddf6ec;--p-peach:#ffc4a8;--p-peach-soft:#ffe6da;--p-night:#111226;--p-night-2:#181a33;--p-night-3:#23254a;--p-haze:#ececf8;--p-haze-2:#c5c7e0;--p-ash-dark:#a0a2c4;--bg:var(--lightningcss-light,var(--p-mist))var(--lightningcss-dark,var(--p-night));--bg-alt:var(--lightningcss-light,var(--p-mist-2))var(--lightningcss-dark,var(--p-night-2));--surface:var(--lightningcss-light,#fdfdff)var(--lightningcss-dark,var(--p-night-2));--surface-raised:var(--lightningcss-light,#fff)var(--lightningcss-dark,var(--p-night-3));--surface-sunken:var(--lightningcss-light,var(--p-mist-2))var(--lightningcss-dark,#0b0c1c);--fg:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-haze));--fg-2:var(--lightningcss-light,var(--p-ink-2))var(--lightningcss-dark,var(--p-haze-2));--muted:var(--lightningcss-light,var(--p-ash))var(--lightningcss-dark,var(--p-ash-dark));--line:var(--lightningcss-light,#1d1d1f17)var(--lightningcss-dark,#ececf81f);--line-strong:var(--lightningcss-light,#4b4e6dad)var(--lightningcss-dark,#ececf86b);--accent:var(--lightningcss-light,var(--p-peri))var(--lightningcss-dark,var(--p-peri));--on-accent:var(--lightningcss-light,#14153a)var(--lightningcss-dark,var(--p-night));--accent-text:var(--lightningcss-light,var(--p-peri-ink))var(--lightningcss-dark,var(--p-peri-light));--accent-soft:var(--lightningcss-light,var(--p-peri-soft))var(--lightningcss-dark,#262a5c);--primary:var(--lightningcss-light,var(--p-slate))var(--lightningcss-dark,var(--p-peri));--on-primary:var(--lightningcss-light,#fff)var(--lightningcss-dark,var(--p-night));--primary-hover:var(--lightningcss-light,var(--p-peri-ink))var(--lightningcss-dark,var(--p-peri-light));--secondary:var(--lightningcss-light,#ffffffb8)var(--lightningcss-dark,#ffffff14);--on-secondary:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-haze));--secondary-hover:var(--lightningcss-light,#fff)var(--lightningcss-dark,#ffffff29);--focus:var(--lightningcss-light,var(--p-peri-ink))var(--lightningcss-dark,var(--p-peri-light));--focus-halo:var(--lightningcss-light,#8b8ff759)var(--lightningcss-dark,#8b8ff766);--success:var(--lightningcss-light,#1d7a46)var(--lightningcss-dark,#6fd6a0);--success-soft:var(--lightningcss-light,var(--p-mint-soft))var(--lightningcss-dark,#13281f);--warning:var(--lightningcss-light,#8a5a00)var(--lightningcss-dark,var(--p-sun));--warning-soft:var(--lightningcss-light,var(--p-sun-soft))var(--lightningcss-dark,#2a2412);--danger:var(--lightningcss-light,#b42318)var(--lightningcss-dark,#ff8a80);--on-danger:var(--lightningcss-light,#fff)var(--lightningcss-dark,var(--p-night));--danger-soft:var(--lightningcss-light,var(--p-peach-soft))var(--lightningcss-dark,#2e1616);--info:var(--lightningcss-light,var(--p-peri-ink))var(--lightningcss-dark,var(--p-peri-light));--info-soft:var(--lightningcss-light,var(--p-peri-soft))var(--lightningcss-dark,#1f2250);--overlay:var(--lightningcss-light,#1d1d1f59)var(--lightningcss-dark,#050612b8);--tint-1:var(--lightningcss-light,var(--p-peri-soft))var(--lightningcss-dark,#1f2250);--tint-2:var(--lightningcss-light,var(--p-sun-soft))var(--lightningcss-dark,#2a2412);--tint-3:var(--lightningcss-light,var(--p-mint-soft))var(--lightningcss-dark,#13281f);--tint-4:var(--lightningcss-light,var(--p-peach-soft))var(--lightningcss-dark,#2e1c16);--tint-accent:var(--lightningcss-light,var(--p-peri-soft))var(--lightningcss-dark,#262a5c);--selection-bg:var(--lightningcss-light,var(--p-peri-soft))var(--lightningcss-dark,#2f3470);--selection-fg:var(--lightningcss-light,var(--p-ink))var(--lightningcss-dark,var(--p-haze));--font-display:var(--f-inter-tight,"Inter Tight"), var(--f-noto-thai,"Noto Sans Thai"), ui-sans-serif, system-ui, sans-serif;--font-body:var(--f-geist,"Geist"), var(--f-noto-thai,"Noto Sans Thai"), ui-sans-serif, system-ui, sans-serif;--font-thai:var(--f-noto-thai,"Noto Sans Thai"), var(--f-geist,"Geist"), ui-sans-serif, system-ui, sans-serif;--font-mono:var(--f-geist-mono,"Geist Mono"), ui-monospace, "SFMono-Regular", Menlo, monospace;--weight-display:600;--weight-heading:600;--weight-body:400;--tracking-display:-.04em;--tracking-heading:-.025em;--tracking-meta:.08em;--stretch-display:100;--text-body:1rem;--text-display:clamp(2.75rem, 6.6vw, 6rem);--text-h1:clamp(2.125rem, 4.2vw, 3.75rem);--text-h2:clamp(1.75rem, 3vw, 2.5rem);--text-h3:clamp(1.25rem, 1.8vw, 1.6rem);--text-lead:clamp(1.08rem, 1.4vw, 1.3rem);--text-small:.875rem;--text-meta:.75rem;--leading-tight:1;--leading-snug:1.2;--leading-body:1.62;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:28px;--radius-pill:999px;--shadow-sm:0 1px 2px var(--lightningcss-light,#4b4e6d1a)var(--lightningcss-dark,#0006);--shadow-md:0 24px 44px -26px var(--lightningcss-light,#4b4e6d57)var(--lightningcss-dark,#000000b3), 0 8px 18px -10px var(--lightningcss-light,#4b4e6d24)var(--lightningcss-dark,#0006), inset 0 -8px 16px var(--lightningcss-light,#4b4e6d0f)var(--lightningcss-dark,#0003), inset 0 6px 12px var(--lightningcss-light,#fffffff2)var(--lightningcss-dark,#ffffff0a);--shadow-lg:0 34px 56px -28px var(--lightningcss-light,#4b4e6d66)var(--lightningcss-dark,#000c), 0 12px 24px -12px var(--lightningcss-light,#4b4e6d29)var(--lightningcss-dark,#00000073), inset 0 -8px 16px var(--lightningcss-light,#4b4e6d0f)var(--lightningcss-dark,#0003), inset 0 6px 12px var(--lightningcss-light,#fffffff2)var(--lightningcss-dark,#ffffff0d);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--dur-fast:.16s;--dur-base:.28s;--dur-slow:.6s;--btn-radius:var(--radius-pill);--btn-shadow:0 8px 20px -12px var(--lightningcss-light,#4b4e6d4d)var(--lightningcss-dark,#00000080), inset 0 1px 0 var(--lightningcss-light,#fff)var(--lightningcss-dark,#ffffff0f);--btn-primary-shadow:0 14px 26px -12px var(--lightningcss-light,#4b4e6d8c)var(--lightningcss-dark,#8b8ff759), inset 0 -4px 8px #00000029, inset 0 3px 6px #ffffff38;--btn-chip-bg:transparent;--btn-chip-fg:currentColor;--btn-chip-size:20px;--field-radius:var(--radius-md);--field-bg:var(--lightningcss-light,#ffffffc7)var(--lightningcss-dark,#ffffff0a);--card-radius:var(--radius-lg);--card-bg:var(--lightningcss-light,#ffffff9e)var(--lightningcss-dark,#23254a8c);--card-border:var(--lightningcss-light,#ffffffe6)var(--lightningcss-dark,#ececf81a);--card-shadow:var(--shadow-md);--card-blur:blur(18px) saturate(170%);--card-hover-shadow:var(--shadow-lg);--panel-radius:var(--radius-md);--chip-radius:var(--radius-pill);--header-bg:var(--lightningcss-light,#ffffffa8)var(--lightningcss-dark,#181a33a8);--header-radius:var(--radius-pill);--page-decor:radial-gradient(34vmax 34vmax at 12% 16%, var(--lightningcss-light,#8b8ff742)var(--lightningcss-dark,#8b8ff729), transparent 62%), radial-gradient(28vmax 28vmax at 88% 10%, var(--lightningcss-light,#ffd16647)var(--lightningcss-dark,#ffd16614), transparent 62%), radial-gradient(34vmax 34vmax at 74% 88%, var(--lightningcss-light,#9be3c947)var(--lightningcss-dark,#9be3c914), transparent 62%), radial-gradient(26vmax 26vmax at 18% 86%, var(--lightningcss-light,#ffc4a842)var(--lightningcss-dark,#ffc4a814), transparent 62%);--btn-outline-hover-bg:var(--surface-raised);--btn-outline-hover-fg:var(--accent-text);--btn-outline-hover-border:var(--accent);--btn-ghost-hover-bg:var(--accent-soft);--btn-ghost-hover-fg:var(--accent-text);--btn-secondary-border:var(--lightningcss-light,#4b4e6d2e)var(--lightningcss-dark,#ececf829);--btn-secondary-blur:blur(12px);--switch-thumb-off:var(--surface-raised);--switch-thumb-shadow:var(--shadow-sm), 0 2px 6px var(--lightningcss-light,#4b4e6d40)var(--lightningcss-dark,#00000080);--chip-on-bg:var(--accent-soft);--chip-on-fg:var(--accent-text);--chip-on-border:var(--accent);--progress-bar:var(--primary);--tablist-bg:var(--surface-sunken);--tablist-pad:4px;--tablist-radius:var(--radius-pill);--tablist-border:transparent;--tab-radius:var(--radius-pill);--tab-active-bg:var(--surface-raised);--tab-active-line:transparent;--tab-active-shadow:var(--shadow-sm), 0 4px 12px -6px var(--lightningcss-light,#4b4e6d59)var(--lightningcss-dark,#00000080);--dialog-shadow:var(--shadow-lg);--only-aswinology:none;--only-lurnelle:contents;--mark-color:var(--accent)}}
@layer ds-base{*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}[data-brand],[data-theme]{color:var(--fg);font-family:var(--font-body)}body{background:var(--bg);min-height:100dvh;color:var(--fg);font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--weight-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;overflow-x:clip}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);line-height:var(--leading-snug);text-wrap:balance}p{text-wrap:pretty}a{color:inherit}img,svg,video,canvas{max-width:100%;display:block}img{height:auto}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}code,kbd,pre,samp{font-family:var(--font-mono)}::selection{background:var(--selection-bg);color:var(--selection-fg)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 5px var(--focus-halo)}:lang(th) h1,:lang(th) h2,:lang(th) h3,:lang(th) h4,:lang(th) .ds-display,:lang(th) .ds-h1,:lang(th) .ds-h2,:lang(th) .ds-h3{letter-spacing:0;line-height:1.25}:lang(th) .ds-display{line-height:1.12}:lang(en) .ds-display,:lang(en) .ds-h1,:lang(en) .ds-h2{letter-spacing:var(--tracking-display)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer ds-components{.ds-display{font-family:var(--font-display);font-size:var(--text-display);font-weight:var(--weight-display);font-stretch:calc(var(--stretch-display) * 1%);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);text-wrap:balance}.ds-h1,.ds-h2,.ds-h3{font-family:var(--font-display);font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);line-height:var(--leading-snug);text-wrap:balance}.ds-h1{font-size:var(--text-h1);line-height:1.05}.ds-h2{font-size:var(--text-h2)}.ds-h3{font-size:var(--text-h3)}.ds-lead{font-size:var(--text-lead);color:var(--fg-2);max-width:62ch;line-height:1.5}.ds-body{font-size:var(--text-body);line-height:var(--leading-body)}.ds-small{font-size:var(--text-small)}.ds-meta{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--muted)}.ds-muted{color:var(--muted)}.ds-accent-text{color:var(--accent-text)}.ds-mono{font-family:var(--font-mono)}.ds-prose{max-width:68ch;color:var(--fg-2)}.ds-prose>*+*{margin-top:1em}.ds-container{width:100%;max-width:var(--container,1280px);margin-inline:auto;padding-inline:clamp(16px,4vw,48px)}.ds-container[data-size=sm]{--container:640px}.ds-container[data-size=md]{--container:880px}.ds-container[data-size=xl]{--container:1520px}.ds-stack{gap:var(--gap,var(--space-4));flex-direction:column;display:flex}.ds-cluster{align-items:center;gap:var(--gap,var(--space-3));flex-wrap:wrap;display:flex}.ds-grid{gap:var(--gap,var(--space-5));grid-template-columns:repeat(auto-fill, minmax(min(100%, var(--min,240px)), 1fr));display:grid}[data-gap="0"]{--gap:0}[data-gap=xs]{--gap:var(--space-1)}[data-gap=sm]{--gap:var(--space-2)}[data-gap=md]{--gap:var(--space-4)}[data-gap=lg]{--gap:var(--space-6)}[data-gap=xl]{--gap:var(--space-8)}[data-align=start]{align-items:flex-start}[data-align=center]{align-items:center}[data-align=end]{align-items:flex-end}[data-justify=between]{justify-content:space-between}[data-justify=center]{justify-content:center}[data-justify=end]{justify-content:flex-end}.ds-separator{background:var(--line);border:0;flex:none;margin:0}.ds-separator:not([data-orientation=vertical]){width:100%;height:1px}.ds-separator[data-orientation=vertical]{align-self:stretch;width:1px}.ds-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ds-canvas{background:var(--page-decor), var(--bg);color:var(--fg)}}
@layer ds-base;@layer ds-components{.ds-only-aswinology{display:var(--only-aswinology)}.ds-only-lurnelle{display:var(--only-lurnelle)}.ds-degree{vertical-align:.6em;background:var(--mark-color);border:.07em solid;border-radius:50%;flex:none;width:.32em;height:.32em;margin-left:.05em;display:inline-block}.ds-degree[data-plain]{background:0 0}.ds-wordmark{font-family:var(--font-display);letter-spacing:-.045em;color:var(--fg);white-space:nowrap;align-items:flex-start;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.ds-wordmark .ds-degree{transition:transform .6s var(--ease-spring)}a.ds-wordmark:hover .ds-degree{transform:translate(.1em,-.1em)scale(1.2)}.ds-wordmark__script{width:auto;height:1.15em;display:block}.ds-wordmark__suffix{font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted);align-self:center;margin-left:.5em;font-size:.5em;font-weight:500}.ds-loop{width:100%;height:auto;color:var(--accent);display:block;overflow:visible}.ds-loop path{fill:none;stroke:currentColor;stroke-width:var(--loop-width,3);stroke-linecap:round;stroke-linejoin:round}.ds-btn{--btn-h:44px;--btn-px:20px;--btn-bg:var(--secondary);--btn-fg:var(--on-secondary);--btn-border:var(--btn-secondary-border);min-height:var(--btn-h);padding:0 var(--btn-px);border:1px solid var(--btn-border);border-radius:var(--btn-radius);background:var(--btn-bg);color:var(--btn-fg);box-shadow:var(--btn-shadow);-webkit-backdrop-filter:var(--btn-secondary-blur);backdrop-filter:var(--btn-secondary-blur);font-family:var(--font-body);letter-spacing:-.01em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);justify-content:center;align-items:center;gap:10px;font-size:.9375rem;font-weight:600;line-height:1.1;text-decoration:none;display:inline-flex;position:relative}.ds-btn:hover{--btn-bg:var(--secondary-hover)}.ds-btn:active{transform:scale(.98)}.ds-btn>svg{flex:none;width:1.15em;height:1.15em}.ds-btn[data-size=sm]{--btn-h:36px;--btn-px:14px;gap:8px;font-size:.875rem}.ds-btn[data-size=lg]{--btn-h:52px;--btn-px:26px;font-size:1rem}.ds-btn[data-icon-only]{--btn-px:0px;width:var(--btn-h)}.ds-btn[data-full]{width:100%}.ds-btn[data-variant=primary]{--btn-bg:var(--primary);--btn-fg:var(--on-primary);--btn-border:transparent;box-shadow:var(--btn-primary-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}.ds-btn[data-variant=primary]:hover{--btn-bg:var(--primary-hover)}.ds-btn[data-variant=outline]{--btn-bg:transparent;--btn-fg:var(--fg);--btn-border:var(--line-strong);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.ds-btn[data-variant=outline]:hover{--btn-bg:var(--btn-outline-hover-bg);--btn-fg:var(--btn-outline-hover-fg);--btn-border:var(--btn-outline-hover-border)}.ds-btn[data-variant=ghost]{--btn-bg:transparent;--btn-fg:var(--fg);--btn-border:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.ds-btn[data-variant=ghost]:hover{--btn-bg:var(--btn-ghost-hover-bg);--btn-fg:var(--btn-ghost-hover-fg)}.ds-btn[data-variant=danger]{--btn-bg:var(--danger);--btn-fg:var(--on-danger);--btn-border:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.ds-btn[data-variant=danger]:hover{--btn-bg:color-mix(in oklab, var(--danger) 86%, var(--fg))}.ds-btn[data-variant=link]{--btn-bg:transparent;--btn-border:transparent;--btn-fg:var(--accent-text);--btn-h:auto;--btn-px:0px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;text-underline-offset:.22em;text-decoration:underline;text-decoration-thickness:1px}.ds-btn[data-variant=link]:hover{text-decoration-thickness:2px}.ds-btn[data-variant=link]:active{transform:none}.ds-btn:disabled,.ds-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none;box-shadow:none}.ds-btn__label{display:contents}.ds-btn[aria-busy=true]{cursor:progress;opacity:1}.ds-btn[aria-busy=true]>:not(.ds-dots){visibility:hidden}.ds-btn[aria-busy=true]>.ds-dots{margin:auto;position:absolute;inset:0}.ds-btn[data-chip]{padding-right:calc((var(--btn-h) - var(--btn-chip-size)) / 2)}.ds-btn[data-chip][data-variant=link]{padding-right:0}.ds-btn__chip{width:var(--btn-chip-size);height:var(--btn-chip-size);background:var(--btn-chip-bg);color:var(--btn-chip-fg);border-radius:50%;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.ds-btn__chip>svg{width:16px;height:16px;transition:transform .55s var(--ease-out);grid-area:1/1}.ds-btn__chip>svg:last-child{transform:translate(-150%,150%)}.ds-btn:hover .ds-btn__chip>svg:first-child{transform:translate(150%,-150%)}.ds-btn:hover .ds-btn__chip>svg:last-child{transform:none}.ds-btn[data-variant=outline] .ds-btn__chip,.ds-btn[data-variant=ghost] .ds-btn__chip{color:currentColor;background:0 0}.ds-dots{justify-content:center;align-items:center;gap:4px;width:max-content;height:max-content;display:inline-flex}.ds-dots>span{width:6px;height:6px;animation:ds-dot 1s var(--ease-in-out) infinite;background:currentColor;border-radius:50%}.ds-dots>span:nth-child(2){animation-delay:.15s}.ds-dots>span:nth-child(3){animation-delay:.3s}@keyframes ds-dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.ds-link{color:var(--fg);transition:background-size var(--dur-base) var(--ease-out), color var(--dur-fast);background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;align-items:center;gap:6px;padding-bottom:2px;font-weight:500;text-decoration:none;display:inline-flex}.ds-link:hover{color:var(--accent-text);background-size:100% 2px}.ds-link>svg{width:1em;height:1em;transition:transform var(--dur-base) var(--ease-out);flex:none}.ds-link:hover>svg{transform:translate(3px)}.ds-link[data-diagonal]:hover>svg{transform:translate(2px,-2px)}.ds-link[data-subtle]{color:var(--fg-2);background-size:0 1px}.ds-link[data-subtle]:hover{color:var(--fg);background-size:100% 1px}.ds-field{flex-direction:column;gap:8px;min-width:0;display:flex}.ds-label{color:var(--fg);font-size:.875rem;font-weight:600;line-height:1.3}.ds-label__req{color:var(--danger);margin-left:2px}.ds-label__opt{color:var(--muted);margin-left:6px;font-weight:400}.ds-hint{color:var(--muted);font-size:.8125rem;line-height:1.45}.ds-error{color:var(--danger);align-items:flex-start;gap:6px;font-size:.8125rem;font-weight:500;line-height:1.45;display:flex}.ds-error>svg{flex:none;width:16px;height:16px;margin-top:1px}.ds-field__row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.ds-field__count{font-family:var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.ds-input,.ds-textarea,.ds-select{border:1px solid var(--line-strong);border-radius:var(--field-radius);background:var(--field-bg);width:100%;min-height:44px;color:var(--fg);font-family:var(--font-body);transition:border-color var(--dur-fast), box-shadow var(--dur-fast), background-color var(--dur-fast);outline:none;padding:0 14px;font-size:1rem;line-height:1.4}.ds-input::placeholder,.ds-textarea::placeholder{color:var(--muted);opacity:1}.ds-input:hover,.ds-textarea:hover,.ds-select:hover{border-color:var(--fg-2)}.ds-input:focus-visible,.ds-textarea:focus-visible,.ds-select:focus-visible{border-color:var(--focus);box-shadow:0 0 0 4px var(--focus-halo);outline:none}.ds-input[aria-invalid=true],.ds-textarea[aria-invalid=true],.ds-select[aria-invalid=true]{border-color:var(--danger)}.ds-input[aria-invalid=true]:focus-visible,.ds-textarea[aria-invalid=true]:focus-visible{box-shadow:0 0 0 4px var(--danger-soft)}.ds-input:disabled,.ds-textarea:disabled,.ds-select:disabled{background:var(--surface-sunken);color:var(--muted);cursor:not-allowed;border-color:var(--line)}.ds-input[readonly]{background:var(--surface-sunken)}.ds-input[data-size=sm],.ds-select[data-size=sm]{min-height:36px;padding-inline:12px;font-size:.9375rem}.ds-input[data-size=lg],.ds-select[data-size=lg]{min-height:52px;padding-inline:18px;font-size:1.0625rem}.ds-textarea{resize:vertical;min-height:120px;padding:12px 14px;line-height:1.55}.ds-input-wrap{align-items:center;width:100%;display:flex;position:relative}.ds-input-wrap>.ds-input{flex:1}.ds-input-wrap__icon{color:var(--muted);pointer-events:none;place-items:center;display:grid;position:absolute;top:50%;translate:0 -50%}.ds-input-wrap__icon>svg{width:18px;height:18px}.ds-input-wrap__icon[data-side=start]{left:14px}.ds-input-wrap__icon[data-side=end]{right:14px}.ds-input-wrap:has([data-side=start])>.ds-input{padding-left:42px}:is(.ds-input-wrap:has([data-side=end])>.ds-input,.ds-input-wrap:has(.ds-input-wrap__action)>.ds-input){padding-right:46px}.ds-input-wrap__action{position:absolute;top:50%;right:4px;translate:0 -50%}.ds-select-wrap{width:100%;display:block;position:relative}.ds-select{appearance:none;cursor:pointer;padding-right:42px}.ds-select-wrap>svg{width:16px;height:16px;color:var(--fg-2);pointer-events:none;position:absolute;top:50%;right:14px;translate:0 -50%}.ds-check,.ds-radio{cursor:pointer;min-height:24px;color:var(--fg);align-items:flex-start;gap:10px;font-size:.9375rem;line-height:1.45;display:inline-flex;position:relative}.ds-check__input,.ds-radio__input{opacity:0;width:20px;height:20px;cursor:inherit;margin:2px 0 0;position:absolute}.ds-check__box,.ds-radio__box{border:1.5px solid var(--line-strong);background:var(--field-bg);width:20px;height:20px;color:var(--on-primary);transition:background-color var(--dur-fast), border-color var(--dur-fast), box-shadow var(--dur-fast);flex:none;place-items:center;margin-top:2px;display:grid}.ds-check__box{border-radius:var(--radius-xs)}.ds-radio__box{border-radius:50%}.ds-check__box>svg{opacity:0;width:14px;height:14px;transition:opacity var(--dur-fast), transform var(--dur-base) var(--ease-spring);transform:scale(.6)}.ds-check__box>svg+svg{display:none}.ds-radio__box:after{content:"";background:var(--on-primary);width:8px;height:8px;transition:transform var(--dur-base) var(--ease-spring);border-radius:50%;transform:scale(0)}.ds-check:hover .ds-check__box,.ds-radio:hover .ds-radio__box{border-color:var(--fg-2)}.ds-check__input:checked+.ds-check__box,.ds-check__input:indeterminate+.ds-check__box,.ds-radio__input:checked+.ds-radio__box{background:var(--primary);border-color:var(--primary)}.ds-check__input:checked+.ds-check__box>svg:first-child{opacity:1;transform:none}.ds-check__input:indeterminate+.ds-check__box>svg:first-child{display:none}.ds-check__input:indeterminate+.ds-check__box>svg+svg{opacity:1;display:block;transform:none}.ds-radio__input:checked+.ds-radio__box:after{transform:scale(1)}.ds-check__input:focus-visible+.ds-check__box,.ds-radio__input:focus-visible+.ds-radio__box{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 5px var(--focus-halo)}.ds-check__input[aria-invalid=true]+.ds-check__box{border-color:var(--danger)}:is(.ds-check:has(:disabled),.ds-radio:has(:disabled)){opacity:.5;cursor:not-allowed}.ds-check__text{flex-direction:column;gap:2px;display:flex}.ds-check__desc{color:var(--muted);font-size:.8125rem}.ds-choice-group{border:0;flex-direction:column;gap:12px;min-width:0;margin:0;padding:0;display:flex}.ds-choice-group>legend{margin-bottom:10px;padding:0;font-size:.875rem;font-weight:600}.ds-choice-group[data-orientation=horizontal]{flex-flow:wrap;gap:12px 24px}.ds-choice-group[data-orientation=horizontal]>legend{width:100%}.ds-switch{cursor:pointer;color:var(--fg);align-items:center;gap:12px;font-size:.9375rem;display:inline-flex;position:relative}.ds-switch__input{opacity:0;width:44px;height:26px;cursor:inherit;margin:0;position:absolute}.ds-switch__track{background:var(--surface-sunken);border:1px solid var(--line-strong);width:44px;height:26px;transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base);border-radius:999px;flex:none;position:relative}.ds-switch__track:after{content:"";background:var(--switch-thumb-off);width:18px;height:18px;box-shadow:var(--switch-thumb-shadow);transition:transform var(--dur-base) var(--ease-spring), background-color var(--dur-base);border-radius:50%;position:absolute;top:3px;left:3px}.ds-switch__input:checked+.ds-switch__track{background:var(--primary);border-color:var(--primary)}.ds-switch__input:checked+.ds-switch__track:after{background:var(--on-primary);transform:translate(18px)}.ds-switch__input:focus-visible+.ds-switch__track{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 5px var(--focus-halo)}.ds-switch:has(:disabled){opacity:.5;cursor:not-allowed}.ds-switch[data-size=sm] .ds-switch__track{width:36px;height:22px}.ds-switch[data-size=sm] .ds-switch__track:after{width:14px;height:14px}.ds-switch[data-size=sm] .ds-switch__input:checked+.ds-switch__track:after{transform:translate(14px)}.ds-segmented{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-sunken);align-items:stretch;gap:2px;min-width:0;margin:0;padding:3px;display:inline-flex}.ds-segmented>legend{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ds-segmented__item{display:flex;position:relative}.ds-segmented__item>input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.ds-segmented__item>span{border-radius:var(--radius-pill);min-height:32px;color:var(--fg-2);white-space:nowrap;transition:background-color var(--dur-fast), color var(--dur-fast), box-shadow var(--dur-base);align-items:center;gap:6px;padding:0 14px;font-size:.875rem;font-weight:600;display:inline-flex}.ds-segmented__item>span>svg{width:16px;height:16px}.ds-segmented__item:hover>span{color:var(--fg)}.ds-segmented__item>input:checked+span{background:var(--surface-raised);color:var(--fg);box-shadow:var(--shadow-sm), 0 0 0 1px var(--line)}.ds-segmented__item>input:focus-visible+span{outline:2px solid var(--focus);outline-offset:1px}.ds-segmented[data-size=sm] .ds-segmented__item>span{min-height:28px;padding:0 10px;font-size:.8125rem}.ds-slider{--val:50%;appearance:none;cursor:pointer;background:0 0;width:100%;height:24px;margin:0}.ds-slider::-webkit-slider-runnable-track{background:linear-gradient(var(--progress-bar), var(--progress-bar)) 0 / var(--val) 100% no-repeat, var(--surface-sunken);height:6px;box-shadow:inset 0 0 0 1px var(--line);border-radius:999px}.ds-slider::-moz-range-track{background:var(--surface-sunken);height:6px;box-shadow:inset 0 0 0 1px var(--line);border-radius:999px}.ds-slider::-moz-range-progress{background:var(--progress-bar);border-radius:999px;height:6px}.ds-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--surface-raised);border:2px solid var(--progress-bar);width:20px;height:20px;box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-out);border-radius:50%;margin-top:-7px}.ds-slider::-moz-range-thumb{background:var(--surface-raised);border:2px solid var(--progress-bar);border-radius:50%;width:16px;height:16px}.ds-slider:hover::-webkit-slider-thumb{transform:scale(1.12)}.ds-slider:focus-visible{box-shadow:none;outline:none}.ds-slider:focus-visible::-webkit-slider-thumb{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 6px var(--focus-halo)}.ds-slider:focus-visible::-moz-range-thumb{outline:2px solid var(--focus);outline-offset:2px}.ds-slider:disabled{opacity:.5;cursor:not-allowed}.ds-alert{--tone:var(--info);--tone-soft:var(--info-soft);border-radius:var(--panel-radius);background:var(--tone-soft);border:1px solid color-mix(in oklab, var(--tone) 22%, transparent);color:var(--fg);grid-template-columns:auto 1fr auto;align-items:start;gap:4px 12px;padding:14px 16px;font-size:.9375rem;line-height:1.5;display:grid}.ds-alert[data-tone=success]{--tone:var(--success);--tone-soft:var(--success-soft)}.ds-alert[data-tone=warning]{--tone:var(--warning);--tone-soft:var(--warning-soft)}.ds-alert[data-tone=danger]{--tone:var(--danger);--tone-soft:var(--danger-soft)}.ds-alert[data-tone=neutral]{--tone:var(--fg-2);--tone-soft:var(--bg-alt)}.ds-alert__icon{color:var(--tone);place-items:center;height:1.5em;display:grid}.ds-alert__icon>svg{width:20px;height:20px}.ds-alert__body{flex-direction:column;gap:2px;min-width:0;display:flex}.ds-alert__title{color:var(--fg);font-weight:650}.ds-alert__desc{color:var(--fg-2)}.ds-alert__actions{flex-wrap:wrap;grid-column:2/-1;gap:8px;margin-top:8px;display:flex}.ds-close{width:32px;height:32px;color:var(--fg-2);cursor:pointer;transition:background-color var(--dur-fast), color var(--dur-fast);background:0 0;border:0;border-radius:50%;place-items:center;margin:-4px -6px 0 0;display:grid}.ds-close:hover{background:color-mix(in oklab, var(--fg) 8%, transparent);color:var(--fg)}.ds-close>svg{width:18px;height:18px}.ds-toaster{z-index:var(--z-toast);pointer-events:none;flex-direction:column-reverse;gap:10px;width:min(380px,100vw - 32px);margin:0;padding:0;list-style:none;display:flex;position:fixed;bottom:16px;right:16px}@media (max-width:640px){.ds-toaster{width:auto;left:16px;right:16px}}.ds-toast{--tone:var(--fg-2);border:1px solid var(--line);border-radius:var(--panel-radius);background:var(--surface-raised);color:var(--fg);box-shadow:var(--shadow-lg);pointer-events:auto;animation:ds-toast-in var(--dur-slow) var(--ease-out) both;grid-template-columns:auto 1fr auto;align-items:start;gap:2px 12px;padding:14px 14px 14px 16px;font-size:.9375rem;display:grid}.ds-toast[data-leaving]{animation:ds-toast-out var(--dur-base) var(--ease-in-out) both}.ds-toast[data-tone=success]{--tone:var(--success)}.ds-toast[data-tone=warning]{--tone:var(--warning)}.ds-toast[data-tone=danger]{--tone:var(--danger)}.ds-toast[data-tone=info]{--tone:var(--info)}.ds-toast__icon{color:var(--tone);place-items:center;height:1.5em;display:grid}.ds-toast__icon>svg{width:20px;height:20px}.ds-toast__title{font-weight:650;line-height:1.5}.ds-toast__desc{color:var(--fg-2);grid-column:2;font-size:.875rem;line-height:1.45}.ds-toast__action{grid-column:2;justify-self:start;margin-top:8px}@keyframes ds-toast-in{0%{opacity:0;transform:translateY(16px)scale(.97)}}@keyframes ds-toast-out{to{opacity:0;transform:translate(24px)}}.ds-badge{--tone:var(--fg-2);--tone-soft:var(--bg-alt);border-radius:var(--chip-radius);background:var(--tone-soft);height:24px;color:var(--tone);letter-spacing:.01em;white-space:nowrap;vertical-align:middle;border:1px solid #0000;align-items:center;gap:6px;padding:0 10px;font-size:.75rem;font-weight:650;line-height:1;display:inline-flex}.ds-badge>svg{width:14px;height:14px}.ds-badge[data-tone=accent]{--tone:var(--accent-text);--tone-soft:var(--accent-soft)}.ds-badge[data-tone=info]{--tone:var(--info);--tone-soft:var(--info-soft)}.ds-badge[data-tone=success]{--tone:var(--success);--tone-soft:var(--success-soft)}.ds-badge[data-tone=warning]{--tone:var(--warning);--tone-soft:var(--warning-soft)}.ds-badge[data-tone=danger]{--tone:var(--danger);--tone-soft:var(--danger-soft)}.ds-badge[data-variant=solid]{background:var(--tone);color:var(--bg)}.ds-badge[data-variant=solid][data-tone=accent]{background:var(--accent);color:var(--on-accent)}.ds-badge[data-variant=outline]{border-color:color-mix(in oklab, var(--tone) 45%, transparent);background:0 0}.ds-badge__dot{background:currentColor;border-radius:50%;width:6px;height:6px}.ds-badge[data-size=lg]{height:28px;padding:0 12px;font-size:.8125rem}.ds-tag{border:1px solid var(--line-strong);border-radius:var(--chip-radius);background:var(--surface);min-height:34px;color:var(--fg);white-space:nowrap;transition:background-color var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast), transform var(--dur-base) var(--ease-out);align-items:center;gap:6px;padding:0 14px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}button.ds-tag,a.ds-tag{cursor:pointer}button.ds-tag:hover,a.ds-tag:hover{border-color:var(--fg-2)}button.ds-tag:active{transform:scale(.97)}.ds-tag[aria-pressed=true],.ds-tag[aria-current=true]{background:var(--chip-on-bg);color:var(--chip-on-fg);border-color:var(--chip-on-border)}.ds-tag>svg{width:16px;height:16px}.ds-tag__count{font-family:var(--font-mono);opacity:.7;font-size:.75rem}.ds-tag__remove{width:22px;height:22px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;margin-right:-8px;display:grid}.ds-tag__remove:hover{background:color-mix(in oklab, currentColor 14%, transparent)}.ds-tag__remove>svg{width:14px;height:14px}.ds-progress{flex-direction:column;gap:8px;width:100%;display:flex}.ds-progress__head{justify-content:space-between;gap:12px;font-size:.875rem;display:flex}.ds-progress__label{font-weight:600}.ds-progress__value{font-family:var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8125rem}.ds-progress__track{background:var(--surface-sunken);height:8px;box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;position:relative;overflow:hidden}.ds-progress__bar{border-radius:inherit;background:var(--progress-bar);transform-origin:0;width:100%;height:100%;transition:transform var(--dur-slow) var(--ease-out)}.ds-progress[data-indeterminate] .ds-progress__bar{width:40%;animation:ds-indeterminate 1.4s var(--ease-in-out) infinite}.ds-progress[data-size=sm] .ds-progress__track{height:4px}@keyframes ds-indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}.ds-skeleton{border-radius:var(--radius-sm);background:linear-gradient(100deg, transparent 30%, color-mix(in oklab, var(--surface-raised) 70%, transparent) 50%, transparent 70%) 0 0 / 200% 100% no-repeat, var(--surface-sunken);animation:1.6s linear infinite ds-shimmer;display:block}.ds-skeleton[data-shape=text]{border-radius:var(--radius-xs);height:.9em}.ds-skeleton[data-shape=circle]{aspect-ratio:1;border-radius:50%}@keyframes ds-shimmer{0%{background-position:150% 0,0 0}to{background-position:-50% 0,0 0}}.ds-empty{text-align:center;border:1px dashed var(--line-strong);border-radius:var(--card-radius);color:var(--fg);flex-direction:column;align-items:center;gap:12px;padding:clamp(32px,6vw,64px) 24px;display:flex}.ds-empty__mark{font-size:3.5rem;line-height:1;font-family:var(--font-display);letter-spacing:-.05em;color:var(--fg);font-weight:700}.ds-empty__mark .ds-loop{width:120px}.ds-empty__title{font-family:var(--font-display);font-weight:var(--weight-heading);font-size:1.25rem}.ds-empty__desc{max-width:42ch;color:var(--fg-2);font-size:.9375rem}.ds-empty__actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.ds-card{border:1px solid var(--card-border);border-radius:var(--card-radius);background:var(--card-bg);box-shadow:var(--card-shadow);-webkit-backdrop-filter:var(--card-blur);backdrop-filter:var(--card-blur);color:var(--fg);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-fast);flex-direction:column;display:flex;position:relative;overflow:hidden}.ds-card[data-interactive]:hover{box-shadow:var(--card-hover-shadow);transform:translateY(-3px)}.ds-card[data-interactive]:active{transform:translateY(-1px)scale(.995)}.ds-card[data-tone=sunken]{background:var(--bg-alt);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-color:#0000}.ds-card[data-tone=inverse]{background:var(--surface-raised);border-color:var(--line);-webkit-backdrop-filter:none;backdrop-filter:none}.ds-card__media{aspect-ratio:16/9;background:var(--surface-sunken);overflow:hidden}.ds-card__media>img{object-fit:cover;width:100%;height:100%}.ds-card__header{flex-direction:column;gap:6px;padding:24px 24px 0;display:flex}.ds-card__title{font-family:var(--font-display);font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);font-size:1.25rem;line-height:1.25}.ds-card__desc{color:var(--fg-2);font-size:.9375rem;line-height:1.5}.ds-card__body{flex:1;padding:20px 24px}.ds-card__footer{flex-wrap:wrap;align-items:center;gap:10px;padding:0 24px 24px;display:flex}.ds-card__link:after{content:"";border-radius:inherit;position:absolute;inset:0}.ds-card__link{color:inherit;text-decoration:none}.ds-card__link:focus-visible{box-shadow:none;outline:none}.ds-card:has(.ds-card__link:focus-visible){outline:2px solid var(--focus);outline-offset:3px}.ds-poster{--poster:var(--tint-1);aspect-ratio:4/5;border-radius:var(--card-radius);background:var(--poster);color:var(--fg);transition:transform var(--dur-slow) var(--ease-out);grid-template-rows:auto 1fr auto;padding:clamp(16px,2.2vw,24px);text-decoration:none;display:grid;position:relative;overflow:hidden;container-type:inline-size}.ds-poster[data-tint="2"]{--poster:var(--tint-2)}.ds-poster[data-tint="3"]{--poster:var(--tint-3)}.ds-poster[data-tint="4"]{--poster:var(--tint-4)}.ds-poster[data-tint=accent]{--poster:var(--tint-accent)}.ds-poster[data-tint=ink]{--poster:var(--fg);color:var(--bg)}a.ds-poster:hover{transform:translateY(-4px)rotate(-.4deg)}.ds-poster__top{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;opacity:.75;justify-content:space-between;gap:8px;font-size:.6875rem;display:flex}.ds-poster__glyph{font-family:var(--font-display);letter-spacing:-.07em;transition:transform var(--dur-slow) var(--ease-spring);place-self:center;font-size:46cqi;font-weight:750;line-height:.8}a.ds-poster:hover .ds-poster__glyph{transform:scale(1.06)rotate(-3deg)}.ds-poster__foot{flex-direction:column;gap:4px;display:flex}.ds-poster__title{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.125rem,7cqi,1.75rem);font-weight:700;line-height:1.05}.ds-poster__desc{opacity:.8;font-size:.875rem;line-height:1.4}.ds-course{color:var(--fg);flex-direction:column;gap:14px;text-decoration:none;display:flex}.ds-course__cover{aspect-ratio:4/3;border-radius:var(--card-radius);background:var(--tint-1);border:1px solid var(--card-border);box-shadow:var(--card-shadow);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);place-items:center;display:grid;position:relative;overflow:hidden}.ds-course__cover>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.ds-course__cover[data-tint="2"]{background:var(--tint-2)}.ds-course__cover[data-tint="3"]{background:var(--tint-3)}.ds-course__cover[data-tint="4"]{background:var(--tint-4)}.ds-course__glyph{font-family:var(--font-display);letter-spacing:-.05em;color:var(--fg);opacity:.85;font-size:clamp(3rem,8vw,5rem);font-weight:700}.ds-course__badge{position:absolute;top:12px;left:12px}a.ds-course:hover .ds-course__cover{box-shadow:var(--card-hover-shadow);transform:translateY(-3px)}.ds-course__title{font-family:var(--font-display);font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);font-size:1.125rem;line-height:1.3}.ds-course__meta{color:var(--muted);flex-wrap:wrap;gap:4px 14px;font-size:.8125rem;display:flex}.ds-course__meta>span{align-items:center;gap:5px;display:inline-flex}.ds-course__meta svg{width:15px;height:15px}.ds-course__foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.ds-course__price{font-variant-numeric:tabular-nums;font-weight:650}.ds-stat{flex-direction:column;gap:6px;min-width:0;display:flex}.ds-stat__label{color:var(--muted);font-size:.8125rem;font-weight:500}.ds-stat__value{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(2rem,4vw,2.75rem);line-height:1}.ds-stat__delta{font-size:.8125rem;font-weight:600;font-family:var(--font-mono);align-items:center;gap:4px;display:inline-flex}.ds-stat__delta[data-trend=up]{color:var(--success)}.ds-stat__delta[data-trend=down]{color:var(--danger)}.ds-stat__delta[data-trend=flat]{color:var(--muted)}.ds-stat__delta>svg{width:14px;height:14px}.ds-stat__desc{color:var(--fg-2);font-size:.8125rem}.ds-table-wrap{border:1px solid var(--line);border-radius:var(--panel-radius);background:var(--surface);width:100%;overflow-x:auto}.ds-table{border-collapse:collapse;width:100%;font-size:.9375rem}.ds-table caption{text-align:left;caption-side:top;padding:14px 16px;font-weight:600}.ds-table th,.ds-table td{text-align:left;vertical-align:middle;border-bottom:1px solid var(--line);padding:12px 16px}.ds-table thead th{font-family:var(--font-mono);letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--muted);background:var(--bg-alt);white-space:nowrap;font-size:.6875rem;font-weight:500}.ds-table tbody tr:last-child>*{border-bottom:0}.ds-table tbody tr{transition:background-color var(--dur-fast)}.ds-table tbody tr:hover{background:color-mix(in oklab, var(--bg-alt) 60%, transparent)}.ds-table [data-numeric]{text-align:right;font-variant-numeric:tabular-nums}.ds-table[data-density=compact] th,.ds-table[data-density=compact] td{padding:8px 12px}.ds-avatar{--size:40px;width:var(--size);height:var(--size);background:var(--tint-accent);color:var(--fg);font-family:var(--font-display);font-weight:650;font-size:calc(var(--size) * .38);letter-spacing:-.02em;box-shadow:0 0 0 2px var(--bg);border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative;overflow:hidden}.ds-avatar>img{object-fit:cover;width:100%;height:100%}.ds-avatar[data-size=sm]{--size:28px}.ds-avatar[data-size=lg]{--size:56px}.ds-avatar[data-size=xl]{--size:88px}.ds-avatar[data-shape=square]{border-radius:var(--radius-sm)}.ds-avatar-group{flex-direction:row-reverse;justify-content:flex-end;display:inline-flex}.ds-avatar-group>.ds-avatar:not(:last-child){margin-left:calc(var(--size) * -.3)}.ds-avatar-group>.ds-avatar{--size:36px}.ds-kbd{border:1px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--surface);min-width:1.75em;height:1.75em;color:var(--fg-2);font-family:var(--font-mono);border-bottom-width:2px;place-items:center;padding:0 .45em;font-size:.75rem;font-weight:500;line-height:1;display:inline-grid}.ds-tooltip-anchor{display:inline-flex;position:relative}.ds-tooltip{z-index:var(--z-tooltip);border-radius:var(--radius-xs);background:var(--fg);width:max-content;max-width:260px;color:var(--bg);text-align:center;pointer-events:none;opacity:0;transition:opacity var(--dur-fast) var(--ease-out), translate var(--dur-fast) var(--ease-out);padding:6px 10px;font-size:.8125rem;font-weight:500;line-height:1.4;position:absolute;bottom:calc(100% + 8px);left:50%;translate:-50% 4px}.ds-tooltip[data-side=bottom]{top:calc(100% + 8px);bottom:auto;translate:-50% -4px}.ds-tooltip[data-open]{opacity:1;transition-delay:.12s;translate:-50%}.ds-menu-anchor{display:inline-flex;position:relative}.ds-menu{z-index:var(--z-overlay);border:1px solid var(--line);border-radius:var(--panel-radius);background:var(--surface-raised);min-width:220px;max-width:320px;box-shadow:var(--shadow-lg);transform-origin:0 0;animation:ds-pop var(--dur-base) var(--ease-out);padding:6px;position:absolute;top:calc(100% + 6px);left:0}.ds-menu[data-align=end]{transform-origin:100% 0;left:auto;right:0}.ds-menu__item{border-radius:calc(var(--panel-radius) - 6px);width:100%;min-height:38px;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-size:.9375rem;text-decoration:none;display:flex}.ds-menu__item>svg{width:18px;height:18px;color:var(--fg-2);flex:none}.ds-menu__item:hover,.ds-menu__item:focus-visible{background:var(--bg-alt);box-shadow:none;outline:none}.ds-menu__item[data-tone=danger]{color:var(--danger)}.ds-menu__item[data-tone=danger]>svg{color:currentColor}.ds-menu__item .ds-kbd{margin-left:auto}.ds-menu__sep{background:var(--line);height:1px;margin:6px 4px}.ds-menu__label{font-family:var(--font-mono);letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--muted);padding:6px 10px 4px;font-size:.6875rem}@keyframes ds-pop{0%{opacity:0;transform:scale(.96)translateY(-4px)}}.ds-dialog{border:1px solid var(--line);border-radius:var(--card-radius);background:var(--surface-raised);width:min(560px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--fg);box-shadow:var(--dialog-shadow);opacity:0;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), overlay var(--dur-base) allow-discrete, display var(--dur-base) allow-discrete;padding:0;overflow:auto;transform:translateY(12px)scale(.98)}.ds-dialog[open]{opacity:1;transform:none}@starting-style{.ds-dialog[open]{opacity:0;transform:translateY(12px)scale(.98)}}.ds-dialog::backdrop{background:#14141873;background:var(--overlay,#14141873);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity var(--dur-base), overlay var(--dur-base) allow-discrete, display var(--dur-base) allow-discrete}.ds-dialog[open]::backdrop{opacity:1}@starting-style{.ds-dialog[open]::backdrop{opacity:0}}.ds-dialog__header{justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 0;display:flex}.ds-dialog__title{font-family:var(--font-display);font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);font-size:1.375rem;line-height:1.25}.ds-dialog__desc{color:var(--fg-2);margin-top:6px;font-size:.9375rem}.ds-dialog__body{padding:16px 24px}.ds-dialog__footer{flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:8px 24px 24px;display:flex}.ds-dialog[data-size=sm]{width:min(420px,100vw - 32px)}.ds-dialog[data-size=lg]{width:min(760px,100vw - 32px)}.ds-sheet{border-width:0 0 0 1px;border-radius:0;width:min(420px,100vw);height:100dvh;max-height:100dvh;margin:0 0 0 auto;transform:translate(100%)}.ds-sheet[open]{transform:none}@starting-style{.ds-sheet[open]{opacity:1;transform:translate(100%)}}.ds-sheet[data-side=left]{border-width:0 1px 0 0;margin:0 auto 0 0;transform:translate(-100%)}.ds-sheet[data-side=left][open]{transform:none}@starting-style{.ds-sheet[data-side=left][open]{transform:translate(-100%)}}.ds-sheet[data-side=bottom]{border-radius:var(--card-radius) var(--card-radius) 0 0;border-width:1px 0 0;width:100vw;max-width:100vw;height:auto;max-height:85dvh;margin:auto 0 0;transform:translateY(100%)}.ds-sheet[data-side=bottom][open]{transform:none}@starting-style{.ds-sheet[data-side=bottom][open]{transform:translateY(100%)}}.ds-sheet[open]{opacity:1}.ds-tabs{flex-direction:column;gap:16px;min-width:0;display:flex}.ds-tabs__list{scrollbar-width:none;max-width:100%;padding:var(--tablist-pad);border-radius:var(--tablist-radius);background:var(--tablist-bg);box-shadow:inset 0 -1px 0 var(--tablist-border);align-self:flex-start;gap:4px;display:flex;overflow-x:auto}.ds-tabs__list::-webkit-scrollbar{display:none}.ds-tabs[data-fit] .ds-tabs__list{align-self:stretch}.ds-tabs[data-fit] .ds-tab{flex:1}.ds-tab{border-radius:var(--tab-radius);min-height:38px;color:var(--muted);white-space:nowrap;cursor:pointer;transition:color var(--dur-fast), background-color var(--dur-fast), box-shadow var(--dur-base) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.9375rem;font-weight:600;display:inline-flex;box-shadow:inset 0 -2px #0000}.ds-tab>svg{width:17px;height:17px}.ds-tab:hover{color:var(--fg)}.ds-tab[aria-selected=true]{color:var(--fg);background:var(--tab-active-bg);box-shadow:inset 0 -2px 0 var(--tab-active-line), var(--tab-active-shadow)}.ds-tab:focus-visible{outline-offset:-2px}.ds-tabs__panel:focus-visible{outline-offset:4px;border-radius:var(--radius-xs)}.ds-accordion{border-top:1px solid var(--line);flex-direction:column;display:flex}.ds-accordion__item{border-bottom:1px solid var(--line);interpolate-size:allow-keywords}.ds-accordion__item>summary{min-height:56px;font-family:var(--font-display);font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:14px 4px;font-size:1.0625rem;list-style:none;display:flex}.ds-accordion__item>summary::-webkit-details-marker{display:none}.ds-accordion__item>summary>svg{width:20px;height:20px;color:var(--fg-2);transition:transform var(--dur-base) var(--ease-out);flex:none}.ds-accordion__item[open]>summary>svg{transform:rotate(45deg)}.ds-accordion__item>summary:hover{color:var(--accent-text)}.ds-accordion__item::details-content{block-size:0;transition:block-size var(--dur-base) var(--ease-out), content-visibility var(--dur-base) allow-discrete;overflow:clip}.ds-accordion__item[open]::details-content{block-size:auto}.ds-accordion__content{color:var(--fg-2);max-width:68ch;padding:0 4px 20px}.ds-accordion[data-variant=cards]{border:0;gap:10px}.ds-accordion[data-variant=cards] .ds-accordion__item{border:1px solid var(--card-border);border-radius:var(--panel-radius);background:var(--card-bg);box-shadow:var(--card-shadow);padding-inline:16px}.ds-breadcrumb ol{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.ds-breadcrumb li{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.ds-breadcrumb li>svg{opacity:.6;width:14px;height:14px}.ds-breadcrumb a{color:var(--fg-2);border-radius:var(--radius-xs);text-decoration:none}.ds-breadcrumb a:hover{color:var(--fg);text-underline-offset:3px;text-decoration:underline}.ds-breadcrumb [aria-current=page]{color:var(--fg);font-weight:600}.ds-pagination ul{flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ds-page{border-radius:var(--radius-pill);min-width:40px;height:40px;color:var(--fg);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--dur-fast), border-color var(--dur-fast);background:0 0;border:1px solid #0000;place-items:center;padding:0 10px;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-grid}.ds-page:hover{background:var(--bg-alt)}.ds-page[aria-current=page]{background:var(--fg);color:var(--bg)}.ds-page[data-nav]{border-color:var(--line-strong);gap:6px;display:inline-flex}.ds-page[data-nav]>svg{width:16px;height:16px}.ds-page[aria-disabled=true]{opacity:.4;pointer-events:none}.ds-pagination__gap{text-align:center;min-width:28px;color:var(--muted)}.ds-stepper{counter-reset:ds-step;margin:0;padding:0;list-style:none;display:flex}.ds-step{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex;position:relative}.ds-step:not(:last-child):after{content:"";background:var(--line-strong);opacity:.5;border-radius:2px;height:2px;position:absolute;top:15px;left:40px;right:8px}.ds-step[data-status=complete]:not(:last-child):after{background:var(--progress-bar);opacity:1}.ds-step__marker{border:1.5px solid var(--line-strong);background:var(--surface);width:32px;height:32px;color:var(--muted);font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:.8125rem;font-weight:600;display:grid}.ds-step__marker>svg{width:16px;height:16px}.ds-step[data-status=current] .ds-step__marker{border-color:var(--fg);color:var(--fg);box-shadow:0 0 0 4px var(--accent-soft)}.ds-step[data-status=complete] .ds-step__marker{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.ds-step__body{flex-direction:column;gap:2px;display:flex}.ds-step__label{padding-right:12px;font-size:.875rem;font-weight:600}.ds-step__desc{color:var(--muted);padding-right:12px;font-size:.8125rem}.ds-step[data-status=upcoming] .ds-step__label{color:var(--muted)}@media (max-width:640px){.ds-stepper{flex-direction:column;gap:18px}.ds-step{flex-direction:row;align-items:flex-start;gap:12px}.ds-step:not(:last-child):after{width:2px;height:auto;inset:36px auto -14px 15px}.ds-step__body{flex-direction:column;gap:2px;padding-top:5px;display:flex}.ds-step__desc{margin-top:0}}.ds-navbar{border-bottom:1px solid var(--line);background:var(--header-bg);-webkit-backdrop-filter:blur(16px)saturate(160%);backdrop-filter:blur(16px)saturate(160%);min-height:64px;color:var(--fg);align-items:center;gap:16px;padding:0 clamp(16px,3vw,28px);display:flex;position:relative}[data-brand=lurnelle] .ds-navbar,.ds-navbar[data-floating]{border:1px solid var(--card-border);border-radius:var(--header-radius);min-height:60px;box-shadow:var(--shadow-md);margin:12px}[data-brand=aswinology] .ds-navbar:not([data-floating]){box-shadow:none;border-width:0 0 1px;border-radius:0;margin:0}.ds-navbar__brand{color:inherit;flex:none;align-items:center;font-size:1.25rem;text-decoration:none;display:inline-flex}.ds-navbar__links{align-items:center;gap:4px;margin:0 auto;padding:0;list-style:none;display:flex}.ds-navbar__link{border-radius:var(--radius-pill);min-height:40px;color:var(--fg-2);white-space:nowrap;transition:color var(--dur-fast), background-color var(--dur-fast);align-items:center;padding:0 12px;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.ds-navbar__link:hover{color:var(--fg);background:color-mix(in oklab, var(--fg) 6%, transparent)}.ds-navbar__link[aria-current=page]{color:var(--fg)}.ds-navbar__link[aria-current=page]:after{content:"";background:var(--accent);width:5px;height:5px;box-shadow:0 0 0 1px var(--fg);border-radius:50%;margin-left:-2.5px;position:absolute;bottom:3px;left:50%}[data-brand=lurnelle] .ds-navbar__link[aria-current=page]{background:var(--accent-soft);color:var(--accent-text)}[data-brand=lurnelle] .ds-navbar__link[aria-current=page]:after{display:none}.ds-navbar__actions{align-items:center;gap:8px;margin-left:auto;display:flex}.ds-navbar__links+.ds-navbar__actions{margin-left:0}.ds-navbar__toggle,.ds-navbar__panel{display:none}@media (max-width:860px){.ds-navbar__links{display:none}.ds-navbar__toggle{display:inline-flex}.ds-navbar__panel[data-open]{z-index:var(--z-overlay);border:1px solid var(--line);border-radius:var(--panel-radius);background:var(--surface-raised);box-shadow:var(--shadow-lg);animation:ds-pop var(--dur-base) var(--ease-out);flex-direction:column;gap:2px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0}.ds-navbar__panel .ds-navbar__link{min-height:44px;font-size:1rem}}.ds-navbar__panel .ds-navbar__link[aria-current=page]:after{margin:0 0 0 10px;position:static}}
:root{--side-w:256px;--side-w-compact:68px;--page-pad:clamp(16px, 3vw, 40px);--grid-row-h:40px;--class-lime:var(--tint-accent);--class-blue:var(--tint-1);--class-butter:var(--tint-2);--class-sage:var(--tint-3);--class-coral:var(--tint-4);--class-graphite:var(--lightningcss-light,#d9d8d3)var(--lightningcss-dark,#34372f)}body{background:var(--bg)}.muted{color:var(--muted)}.small{font-size:var(--text-small)}.mono{font-family:var(--font-mono);letter-spacing:0;font-size:.92em}.num{text-align:right;font-variant-numeric:tabular-nums}.text-link{color:var(--accent-text);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.text-link:hover{text-decoration-thickness:2px}kbd{font-family:var(--font-mono);border:1px solid var(--line-strong);background:var(--surface);border-radius:5px;padding:1px 5px;font-size:.78em}.icon-warn{color:var(--warning)}.icon-danger{color:var(--danger)}.icon-success{color:var(--success)}.plain-list{gap:4px;margin:0;padding-left:1.2em;display:grid}.login{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);min-height:100dvh;display:grid}.login-art{background:var(--bg);color:var(--fg);flex-direction:column;justify-content:space-between;padding:clamp(28px,5vw,64px);display:flex;position:relative;overflow:hidden}.login-art__brand{font-family:var(--font-display);letter-spacing:-.02em;align-items:flex-start;font-size:1.15rem;font-weight:700;display:inline-flex}.login-art__brand .ds-degree{margin-left:2px;font-size:.6em}.login-art__word{font-family:var(--font-display);letter-spacing:-.06em;color:var(--fg);font-size:clamp(5rem,13vw,12rem);font-weight:750;font-stretch:85%;line-height:.82}.login-art__list{gap:10px;max-width:360px;margin:0;padding:0;list-style:none;display:grid}.login-art__list li{border-top:1px solid var(--line);align-items:baseline;gap:14px;padding-top:10px;font-size:1.05rem;display:flex}.login-art__list span{font-family:var(--font-mono);color:var(--accent);font-size:.75rem}.login-panel{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;justify-content:space-between;padding:clamp(28px,5vw,64px);display:flex}.login-body{gap:14px;width:100%;max-width:440px;margin-block:auto;display:grid}.login-kicker{font-family:var(--font-mono);font-size:var(--text-meta);text-transform:uppercase;letter-spacing:var(--tracking-meta);color:var(--muted)}.login-title{font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.1}.login-intro{color:var(--fg-2);max-width:38ch}.login-notice{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--fg);font-size:var(--text-small);padding:10px 14px}.login-form{gap:10px;margin-top:10px;display:grid}.login-label{font-weight:600}.login-input-row{gap:10px;display:grid}.login-input{width:100%;min-width:0;height:64px;font-family:var(--font-mono);letter-spacing:.08em;border:1.5px solid var(--line-strong);border-radius:var(--radius-md);background:var(--bg);color:var(--fg);padding:0 20px;font-size:1.6rem}.login-input::placeholder{color:var(--muted);letter-spacing:.02em;font-size:1.1rem;font-family:var(--font-body)}.login-input:focus-visible{border-color:var(--fg)}.login-input[aria-invalid=true]{border-color:var(--danger)}.login-submit{border-radius:var(--radius-md);justify-content:center;align-items:center;gap:10px;height:56px;padding-inline:22px;font-size:1.05rem;display:inline-flex}.login-submit svg{width:20px;height:20px}.login-error{color:var(--danger);font-size:var(--text-small)}.login-hint,.login-foot{color:var(--muted);font-size:var(--text-small)}.teacher-form{gap:16px;margin-top:8px;display:grid}@media (max-width:860px){.login{grid-template-rows:auto 1fr;grid-template-columns:1fr}.login-art{gap:18px;padding:22px 20px 26px}.login-art__word{font-size:clamp(3.4rem,18vw,5.5rem)}.login-art__list{display:none}.login-panel{border-left:0;border-top:1px solid var(--line);gap:28px;padding:28px 16px}.login-input{height:58px;font-size:1.35rem}}.teach{grid-template-columns:var(--side-w) minmax(0, 1fr);min-height:100dvh;display:grid}.teach[data-compact]{grid-template-columns:var(--side-w-compact) minmax(0, 1fr)}.teach-side{border-right:1px solid var(--line);background:var(--bg-alt);height:100dvh;z-index:var(--z-header);flex-direction:column;gap:12px;padding:16px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.teach-side__top{justify-content:space-between;align-items:center;gap:8px;padding:2px 4px 6px;display:flex}.teach-brand{color:var(--fg);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.teach-brand__mark{background:var(--fg);width:34px;height:34px;color:var(--bg);font-family:var(--font-display);border-radius:10px;place-items:center;font-size:1.05rem;font-weight:800;display:inline-grid;position:relative}.teach-brand__mark .ds-degree{font-size:.5rem;position:absolute;top:3px;right:3px}.teach-brand__name{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.05rem;font-weight:700}.teach-icon-btn,.icon-btn{width:32px;height:32px;color:var(--fg-2);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:inline-grid}.teach-icon-btn:hover,.icon-btn:hover:not(:disabled){background:var(--surface-sunken);color:var(--fg)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn svg,.teach-icon-btn svg{width:18px;height:18px}.teach-term{gap:4px;padding:0 4px;display:grid}.teach-term__label{font-size:var(--text-meta);color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-meta)}.teach-term .ds-select{width:100%;font-size:var(--text-small);height:36px}.teach-term--empty{font-size:var(--text-small);color:var(--muted)}.teach-search-btn{border:1px solid var(--line);background:var(--surface);height:36px;color:var(--muted);font-size:var(--text-small);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:0 10px;display:flex}.teach-search-btn span{text-align:left;flex:1}.teach-search-btn:hover{border-color:var(--line-strong);color:var(--fg)}.teach-nav{gap:2px;display:grid}.teach-nav__link{min-height:40px;color:var(--fg-2);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:0 10px;font-size:.95rem;text-decoration:none;display:flex}.teach-nav__link svg{flex:none;width:20px;height:20px}.teach-nav__link:hover{background:var(--surface-sunken);color:var(--fg)}.teach-nav__link[aria-current=page]{background:var(--fg);color:var(--bg)}.teach-nav__link[aria-current=page] svg{color:var(--accent)}.teach-side__foot{border-top:1px solid var(--line);gap:4px;margin-top:auto;padding-top:10px;display:grid}.teach-side__email{font-size:var(--text-meta);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:0 10px;overflow:hidden}.teach[data-compact] .teach-brand__name,.teach[data-compact] .teach-nav__link span,.teach[data-compact] .teach-term,.teach[data-compact] .teach-search-btn span,.teach[data-compact] .teach-search-btn kbd,.teach[data-compact] .teach-side__email{display:none}.teach[data-compact] .teach-side__top{flex-direction:column}.teach[data-compact] .teach-side__collapse svg{transform:rotate(180deg)}.teach[data-compact] .teach-nav__link,.teach[data-compact] .teach-search-btn{justify-content:center;padding:0}.teach-main{outline:none;min-width:0}.teach-mobilebar{display:none}.teach-sheet .teach-nav{margin-top:12px}.teach-sheet .teach-term{margin-top:4px}.teach-sheet__signout{border-top:1px solid var(--line);margin-top:16px;padding-top:10px}@media (max-width:960px){.teach,.teach[data-compact]{grid-template-columns:1fr}.teach-side{display:none}.teach-mobilebar{z-index:var(--z-header);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:56px;padding:0 8px;display:flex;position:sticky;top:0}}.search-dialog{width:min(640px,100vw - 32px)}.search-input{width:100%;height:48px;font-size:1.05rem}.search-results{gap:2px;max-height:50vh;margin:12px 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}.search-results button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:76px 1fr;grid-template-areas:"kind title""kind detail";gap:0 12px;width:100%;padding:8px 10px;display:grid}.search-results [aria-selected=true] button{background:var(--surface-sunken)}.search-kind{font-size:var(--text-meta);color:var(--muted);font-family:var(--font-mono);grid-area:kind;align-self:center}.search-title{grid-area:title;font-weight:600}.search-detail{font-size:var(--text-small);color:var(--muted);grid-area:detail}.search-empty{color:var(--muted);padding:12px}.page{max-width:1240px;padding:28px var(--page-pad) 80px;align-content:start;gap:24px;margin:0 auto;display:grid}.page--wide{max-width:none}.page-head{gap:8px;display:grid}.page-head__row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-crumbs{font-size:var(--text-small);color:var(--muted);flex-wrap:wrap;gap:4px;display:flex}.page-crumbs span{align-items:center;gap:4px;display:inline-flex}.page-crumbs a{color:inherit;text-decoration:none}.page-crumbs a:hover{color:var(--fg);text-decoration:underline}.page-crumbs svg{width:12px;height:12px}.page-kicker{font-family:var(--font-mono);font-size:var(--text-meta);text-transform:uppercase;letter-spacing:var(--tracking-meta);color:var(--muted)}.page-title{align-items:center;gap:12px;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.2;display:flex}.page-desc{color:var(--fg-2);max-width:70ch;margin-top:4px}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-actions .ds-btn svg,.button-row .ds-btn svg,.class-card__actions .ds-btn svg{width:18px;height:18px}.ds-btn>svg{flex:none}.page-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);gap:14px;min-width:0;padding:20px;display:grid}.page-section__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.page-section__title{font-size:1.15rem}.page-section__actions{gap:12px;display:flex}.anchor-nav{z-index:var(--z-sticky);flex-wrap:wrap;gap:6px;display:flex;position:sticky;top:8px}.anchor-nav a{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line);font-size:var(--text-small);padding:6px 12px;text-decoration:none}.anchor-nav a:hover{border-color:var(--line-strong)}[id]{scroll-margin-top:64px}.stat-row{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.stat-tile{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line);gap:4px;padding:16px;display:grid}.stat-tile__label{font-size:var(--text-small);color:var(--muted)}.stat-tile__value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700;line-height:1.1}.stat-tile__hint{font-size:var(--text-meta);color:var(--muted)}.stat-tile[data-tone=warning]{background:var(--warning-soft);border-color:#0000}.stat-tile[data-tone=danger]{background:var(--danger-soft);border-color:#0000}.stat-tile[data-tone=success]{background:var(--success-soft);border-color:#0000}.stat-tile[data-tone=info]{background:var(--info-soft);border-color:#0000}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px;display:grid}.list{margin:0;padding:0;list-style:none;display:grid}.list-row{border-top:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.list-row:first-child{border-top:0}.list-row__main{min-width:0;color:inherit;flex:1;gap:2px;text-decoration:none;display:grid}a.list-row__main:hover .list-row__title{text-decoration:underline}.list-row__title{align-items:center;gap:8px;font-weight:600;display:flex}.list-row__meta{font-size:var(--text-small);color:var(--muted)}.quick-actions{gap:2px;display:inline-flex}.quick-actions svg{width:18px;height:18px}.class-dot{background:var(--class-lime);border:1.5px solid var(--line-strong);border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.class-dot--lg{width:16px;height:16px}[data-color=lime]{--class-color:var(--class-lime)}[data-color=blue]{--class-color:var(--class-blue)}[data-color=butter]{--class-color:var(--class-butter)}[data-color=sage]{--class-color:var(--class-sage)}[data-color=coral]{--class-color:var(--class-coral)}[data-color=graphite]{--class-color:var(--class-graphite)}.class-dot[data-color]{background:var(--class-color)}.class-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.class-card{border-radius:var(--radius-md);border:1px solid var(--line);background:linear-gradient(180deg, var(--class-color,var(--surface)) 0 54px, var(--bg) 54px);gap:12px;padding:16px;display:grid}.class-card__link{color:inherit;gap:2px;text-decoration:none;display:grid}.class-card__link:hover .class-card__title{text-decoration:underline}.class-card__title{font-family:var(--font-display);font-size:1.2rem;font-weight:700}.class-card__meta{font-size:var(--text-small);color:var(--fg-2);align-items:center;gap:8px;display:flex}.class-card__stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.class-card__stats div{gap:2px;display:grid}.class-card__stats dt{font-size:var(--text-meta);color:var(--muted);align-items:center;gap:4px;display:flex}.class-card__stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.2rem;font-weight:700}.class-card__stats dd[data-alert]{color:var(--danger)}.class-card__actions{flex-wrap:wrap;gap:6px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search-field{flex:220px;align-items:center;max-width:360px;display:inline-flex;position:relative}.search-field svg{width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;left:12px}.search-field .ds-input{width:100%;padding-left:36px}.segmented{border-radius:var(--radius-pill);background:var(--surface-sunken);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented button{border-radius:var(--radius-pill);font-size:var(--text-small);cursor:pointer;color:var(--fg-2);background:0 0;border:0;padding:6px 14px}.segmented button[aria-pressed=true]{background:var(--surface-raised);color:var(--fg);box-shadow:var(--shadow-sm);font-weight:600}.button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-check{font-size:var(--text-small);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.inline-check input,.data-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--fg)}.inline-field{font-size:var(--text-small);align-items:center;gap:8px;display:inline-flex}.picker{align-items:center;gap:8px;display:inline-flex}.picker__label{font-size:var(--text-small);color:var(--muted)}.picker .ds-select{min-width:220px}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.95rem}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;padding:10px 12px}.data-table thead th{background:var(--bg-alt);font-size:var(--text-small);color:var(--fg-2);z-index:1;font-weight:600;position:sticky;top:0}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:color-mix(in srgb, var(--surface-sunken) 60%, transparent)}.data-table--compact th,.data-table--compact td{padding:6px 10px}.data-table .num{text-align:right}.data-table tr[data-issue] td{background:var(--warning-soft)}.data-table tr[data-inactive] td{opacity:.55}.row-link{color:inherit;font-weight:600;text-decoration:none}.row-link:hover{text-decoration:underline}.empty-cell{color:var(--muted);text-align:center!important;padding:28px!important}.actions-col{white-space:nowrap;text-align:right!important}.roll-input{text-align:right;width:64px;height:32px;padding:0 8px}.num-input{text-align:right;width:86px;height:34px;padding:0 8px}.short-input{width:96px;height:34px;padding:0 8px}.data-table .ds-input,.data-table .ds-select{height:34px;font-size:.92rem}.pill{border-radius:var(--radius-pill);font-size:var(--text-meta);background:var(--surface-sunken);color:var(--fg-2);white-space:nowrap;align-items:center;padding:2px 10px;display:inline-flex}.pill[data-tone=success]{background:var(--success-soft);color:var(--success)}.pill[data-tone=warning]{background:var(--warning-soft);color:var(--warning)}.pill[data-tone=danger]{background:var(--danger-soft);color:var(--danger)}.pill[data-tone=info]{background:var(--info-soft);color:var(--info)}.form-grid{gap:16px;max-width:720px;display:grid}.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--2 .span-2{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:8px;display:flex}.form-error{color:var(--danger);font-size:var(--text-small)}@media (max-width:640px){.form-grid--2{grid-template-columns:1fr}}.file-drop{border:1.5px dashed var(--line-strong);border-radius:var(--radius-md);text-align:center;cursor:pointer;background:var(--bg);justify-items:center;gap:6px;padding:26px 16px;display:grid;position:relative}.file-drop svg{width:30px;height:30px;color:var(--muted)}.file-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-drop:focus-within{outline:2px solid var(--focus);outline-offset:2px}.import{gap:14px;display:grid}.import-form,.import-preview{gap:12px;display:grid}.import-summary{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.import-options{gap:10px;display:grid}.left-list summary{cursor:pointer;color:var(--fg-2);font-size:var(--text-small);padding:6px 0}.roster,.roster-editor{gap:12px;display:grid}.structure{gap:16px;display:grid}.structure-group{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);gap:10px;min-width:0;margin:0;padding:16px;display:grid}.structure-group__head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.structure-group__name{flex:220px;font-size:1.05rem;font-weight:700}.structure-group__tools{gap:2px;margin-left:auto;display:inline-flex}.structure-table td{white-space:nowrap}.structure-table .ds-input{min-width:140px}.order-cell{width:70px}.structure-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.structure-total{font-size:1.05rem}.structure-total strong{font-variant-numeric:tabular-nums;font-size:1.4rem}.sticky-actions{z-index:var(--z-sticky);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);width:fit-content;padding:10px;position:sticky;bottom:12px}.impact{gap:12px;display:grid}.impact-table{max-height:50vh;overflow:auto}.calc-editor{gap:16px;display:grid}.bands-table{width:auto}.publication{gap:14px;display:grid}.publication__options{gap:12px;padding-left:4px;display:grid}.publication__options[data-disabled]{opacity:.55}.snapshots{gap:12px;display:grid}.gradebook{gap:10px;min-width:0;display:grid}.gradebook-toolbar{justify-content:space-between}.save-state{font-size:var(--text-small);color:var(--fg-2);align-items:center;gap:6px;margin-left:auto;display:inline-flex}.save-state svg{width:18px;height:18px}.legend kbd{margin-inline:2px}.grid-wrap{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);outline:none;min-height:320px;max-height:calc(100dvh - 230px);overflow:auto}.grid{border-collapse:separate;border-spacing:0;min-width:100%;font-size:.95rem}.grid th,.grid td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:var(--grid-row-h);background:var(--surface);white-space:nowrap;padding:0}.grid thead th{z-index:3;background:var(--bg-alt);font-weight:600;font-size:var(--text-small);text-align:center;padding:4px 8px;position:sticky}.grid thead tr.grid-groups th{height:32px;top:0}.grid thead tr.grid-items th{height:52px;top:32px}.grid thead th[rowspan]{z-index:5;top:0}.grid .sticky-col{z-index:2;position:sticky}.grid thead .sticky-col{z-index:6}.grid .c-roll{text-align:center;width:52px;min-width:52px;color:var(--fg-2);left:0}.grid .c-code{width:92px;min-width:92px;padding:0 8px;left:52px}.grid .c-name{text-align:left;border-right:2px solid var(--line-strong);min-width:210px;max-width:260px;padding:0 12px;font-weight:500;left:144px}.grid thead .c-name{text-align:left}.c-name__text{text-overflow:ellipsis;vertical-align:middle;max-width:236px;display:inline-block;overflow:hidden}.group-head{letter-spacing:.01em;background:var(--surface-sunken)!important}.group-head--total{color:var(--bg);background:var(--fg)!important}.item-head{min-width:76px}.item-head__name{text-overflow:ellipsis;max-width:120px;margin-inline:auto;display:block;overflow:hidden}.item-head__max{font-family:var(--font-mono);color:var(--muted);align-items:center;gap:4px;font-size:.72rem;font-weight:400;display:inline-flex}.item-head__max svg{width:12px;height:12px}.item-head[data-inactive]{opacity:.5;text-decoration:line-through}.total-head{min-width:84px;background:var(--accent-soft)!important}.total-head--overall{color:var(--on-accent);background:var(--accent)!important}.total-head--overall .item-head__max{color:var(--on-accent)}.grid tbody tr:hover td,.grid tbody tr:hover th{background:color-mix(in srgb, var(--accent-soft) 45%, var(--surface))}.grid tbody tr[data-left] td,.grid tbody tr[data-left] th{color:var(--muted)}.score-cell{min-width:76px;position:relative}.score-input{width:100%;height:calc(var(--grid-row-h) - 1px);text-align:center;font-variant-numeric:tabular-nums;color:var(--fg);background:0 0;border:0;outline:none;padding:0 6px;font-size:1rem}.score-input:focus{background:var(--surface-raised);box-shadow:inset 0 0 0 2px var(--fg);z-index:1;position:relative}.score-cell[data-mark=missing] .score-input{color:var(--danger);font-weight:600}.score-cell[data-mark=excused] .score-input{color:var(--muted);font-style:normal}.score-cell[data-status=pending]:after,.score-cell[data-status=saving]:after{content:"";background:var(--info);border-radius:50%;width:6px;height:6px;position:absolute;top:5px;right:5px}.score-cell[data-status=saving]:after{animation:.9s ease-in-out infinite cls-pulse}.score-cell[data-status=saved] .score-input{background:var(--success-soft);transition:background 1.2s var(--ease-out)}.score-cell[data-status=error] .score-input,.score-cell[data-status=invalid] .score-input{box-shadow:inset 0 0 0 2px var(--danger);background:var(--danger-soft)}.score-cell[data-status=conflict] .score-input{box-shadow:inset 0 0 0 2px var(--warning);background:var(--warning-soft)}.score-cell[data-inactive] .score-input{color:var(--muted)}.cell-msg{z-index:8;white-space:normal;background:var(--danger);min-width:180px;max-width:260px;color:var(--on-danger);font-size:var(--text-meta);box-shadow:var(--shadow-md);border-radius:8px;padding:6px 8px;display:none;position:absolute;top:calc(100% - 2px);left:0}.score-cell:focus-within .cell-msg,.score-cell:hover .cell-msg{display:block}.cell-resolve{z-index:9;background:var(--surface-raised);border:1px solid var(--warning);box-shadow:var(--shadow-md);border-radius:8px;gap:4px;padding:4px;display:flex;position:absolute;top:calc(100% - 2px);left:0}.cell-resolve button{background:var(--warning-soft);color:var(--fg);font-size:var(--text-meta);cursor:pointer;white-space:nowrap;border:0;border-radius:6px;padding:4px 8px}.total-cell{text-align:center;font-variant-numeric:tabular-nums;min-width:84px;font-weight:600;background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface))!important}.total-cell--overall{background:color-mix(in srgb, var(--accent) 35%, var(--surface))!important}.total-cell[data-incomplete]{color:var(--fg-2);font-weight:400}.total-btn{width:100%;height:calc(var(--grid-row-h) - 1px);font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0 8px}.total-btn:hover{text-decoration:underline}.grade-cell{min-width:60px}.status-cell{min-width:110px;padding:0 8px!important}.grid-foot{margin-top:2px}.explain{gap:16px;display:grid}.explain-group h3{margin-bottom:6px;font-size:1rem}.explain pre{white-space:pre-wrap;font-family:var(--font-body);border-radius:var(--radius-sm);background:var(--surface-sunken);margin:0;padding:12px;font-size:.95rem;line-height:1.7}.explain-total{border-radius:var(--radius-sm);background:var(--accent-soft);padding:12px;line-height:1.8}@keyframes cls-pulse{50%{opacity:.25}}@media (max-width:960px){.grid-wrap{max-height:calc(100dvh - 200px)}.grid .c-code{display:none}.grid .c-name{min-width:150px;left:52px}.c-name__text{max-width:150px}}.segmented__link{border-radius:var(--radius-pill);font-size:var(--text-small);color:var(--fg-2);align-items:center;padding:6px 14px;text-decoration:none;display:inline-flex}.segmented__link[aria-pressed=true]{background:var(--surface-raised);color:var(--fg);box-shadow:var(--shadow-sm);font-weight:600}.assignment-form{gap:20px;display:grid}.target-list{border:1px solid var(--line);border-radius:var(--radius-md);gap:8px;margin:0;padding:16px;display:grid}.target-list legend{padding:0 6px;font-weight:600}.target-row{border-radius:var(--radius-sm);gap:8px;padding:10px 12px;display:grid}.target-row[data-selected]{background:var(--accent-soft)}.target-row__opts{flex-wrap:wrap;align-items:center;gap:10px;padding-left:26px;display:flex}.target-row__opts .ds-select,.target-row__opts .ds-input{height:36px;font-size:var(--text-small)}.tracker{gap:12px;display:grid}.bulk-bar{border-radius:var(--radius-sm);background:var(--surface-sunken);padding:8px 12px}.bulk-bar[data-active]{background:var(--accent-soft)}.bulk-bar .ds-select{height:34px}.status-select{align-items:center;gap:8px;display:inline-flex}.status-select .ds-select{width:96px;height:30px;font-size:var(--text-meta);padding-inline:8px 24px}.score-field{justify-items:end;gap:2px;display:inline-grid}.score-field[data-state=saved] .ds-input{background:var(--success-soft)}.score-field[data-state=error] .ds-input{border-color:var(--danger)}.scan-setup{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line);gap:18px;max-width:720px;padding:22px;display:grid}.scan-steps{gap:16px;margin:0;padding:0;list-style:none;display:grid}.station{gap:16px;display:grid}.scan-head{border-radius:var(--radius-md);background:var(--fg);color:var(--bg);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px 20px;display:flex}.station[data-test] .scan-head{background:repeating-linear-gradient(135deg, var(--warning) 0 14px, color-mix(in srgb, var(--warning) 80%, black) 14px 28px);color:#fff}.scan-head__target{gap:2px;display:grid}.scan-head__class{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.1rem);font-weight:750;line-height:1.15}.scan-head__assignment{font-size:1.1rem;font-weight:600}.scan-head__mode{font-size:var(--text-small);opacity:.8}.scan-head__tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scan-head .icon-btn{color:inherit}.scan-head .icon-btn:hover{color:inherit;background:#ffffff1f}.scan-head .ds-btn{color:inherit}.scan-progress{font-size:1rem}.scan-progress strong{color:var(--accent);font-size:1.5rem}.scan-test{border-radius:var(--radius-pill);background:#00000059;align-items:center;gap:6px;padding:4px 10px;font-weight:700;display:inline-flex}.scan-panel{text-align:center;border-radius:var(--radius-lg);border:2px solid var(--line);background:var(--surface);min-height:240px;transition:background var(--dur-fast), border-color var(--dur-fast);align-content:center;justify-items:center;gap:4px;padding:clamp(20px,4vw,40px) 16px;display:grid}.scan-panel__icon{width:54px;height:54px;color:var(--muted)}.scan-panel__phase{letter-spacing:.02em;font-size:1.1rem;font-weight:700}.scan-panel__name{font-family:var(--font-display);font-size:clamp(1.8rem,4.5vw,3rem);font-weight:750;line-height:1.2}.scan-panel__code{font-family:var(--font-mono);color:var(--fg-2)}.scan-panel__message{font-size:1.1rem}.scan-panel[data-tone=success]{background:var(--success-soft);border-color:var(--success)}.scan-panel[data-tone=success] .scan-panel__icon{color:var(--success)}.scan-panel[data-tone=warning]{background:var(--warning-soft);border-color:var(--warning)}.scan-panel[data-tone=warning] .scan-panel__icon{color:var(--warning)}.scan-panel[data-tone=danger]{background:var(--danger-soft);border-color:var(--danger)}.scan-panel[data-tone=danger] .scan-panel__icon{color:var(--danger)}.scan-panel[data-tone=info]{background:var(--info-soft);border-color:var(--info)}.scan-panel[data-tone=info] .scan-panel__icon{color:var(--info)}.scan-form{gap:8px;display:grid}.scan-label{font-weight:600}.scan-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scan-input{width:100%;height:72px;font-family:var(--font-mono);letter-spacing:.08em;border:2px solid var(--fg);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--fg);padding:0 22px;font-size:2rem}.scan-input:focus-visible{box-shadow:0 0 0 6px var(--focus-halo);outline:none}.scan-input--score{text-align:center;width:220px}.scan-log{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line);gap:10px;padding:18px;display:grid}.scan-log .list-row[data-undone]{opacity:.5;text-decoration:line-through}.scan-dot{background:var(--muted);border-radius:50%;flex:none;width:10px;height:10px}.scan-dot[data-tone=success]{background:var(--success)}.scan-dot[data-tone=warning]{background:var(--warning)}.scan-dot[data-tone=danger]{background:var(--danger)}.link-row{grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;align-items:center;gap:8px;display:grid}.check-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.checkbox-cell{align-items:flex-end;padding-bottom:8px;display:flex}@media (max-width:640px){.link-row{grid-template-columns:1fr auto}.link-row>:first-child{grid-column:1/-1}}.me{background:var(--bg);min-height:100dvh}.me-bar{z-index:var(--z-header);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);align-items:center;gap:12px;height:58px;padding:0 16px;display:flex;position:sticky;top:0}.me-brand{color:var(--fg);font-family:var(--font-display);align-items:center;gap:8px;font-weight:700;text-decoration:none;display:inline-flex}.me-bar__who{text-align:right;min-width:0;font-size:var(--text-small);color:var(--fg-2);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.me-signout svg{width:18px;height:18px}@media (max-width:480px){.me-signout .ds-btn__label{display:none}}.me-wrap{max-width:760px;margin:0 auto;padding:20px 16px 72px}.me-stack{gap:22px;display:grid}.me-hello{gap:4px;display:grid}.me-kicker{font-family:var(--font-mono);font-size:var(--text-meta);text-transform:uppercase;letter-spacing:var(--tracking-meta);color:var(--muted)}.me-h1{font-size:clamp(1.7rem,6vw,2.4rem);line-height:1.2}.me-h2{margin-bottom:10px;font-size:1.15rem}.me-meta{font-size:var(--text-small);color:var(--muted)}.me-terms{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.me-terms a{border-radius:var(--radius-pill);border:1px solid var(--line);font-size:var(--text-small);padding:4px 12px;text-decoration:none}.me-terms a[aria-current=page]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.me-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (min-width:600px){.me-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}.me-tile{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line);gap:2px;padding:14px;display:grid}.me-tile span{font-size:var(--text-small);color:var(--fg-2)}.me-tile strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.9rem;line-height:1.1}.me-tile small{color:var(--muted);font-size:1rem;font-weight:500}.me-tile[data-tone=warning]{background:var(--warning-soft);border-color:#0000}.me-tile[data-tone=danger]{background:var(--danger-soft);border-color:#0000}.me-tile[data-tone=info]{background:var(--info-soft);border-color:#0000}.me-section{gap:4px;display:grid}.me-cards{gap:10px;display:grid}.me-card{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line);gap:6px;padding:16px;display:grid}.me-assignment[data-state=overdue],.me-assignment[data-state=missing]{border-color:var(--danger)}.me-assignment__top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.me-assignment__title{font-size:1.1rem}.me-due{font-size:var(--text-small);margin-left:auto;font-weight:600}.me-due[data-late]{color:var(--danger)}.me-body{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--fg-2)}.me-link{color:var(--accent-text);overflow-wrap:anywhere;align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.me-link:hover{text-decoration:underline}.me-link svg{flex:none;width:16px;height:16px}.me-attachments{gap:6px;margin:4px 0 0;padding:0;list-style:none;display:grid}.me-pin{width:16px;height:16px;color:var(--accent-text)}.me-empty{color:var(--muted);padding:12px 0}.me-classes{gap:8px;margin:0;padding:0;list-style:none;display:grid}.me-class{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line);color:inherit;grid-template-columns:1fr auto auto;grid-template-areas:"title pill go""meta pill go";align-items:center;gap:2px 10px;padding:14px 16px;text-decoration:none;display:grid}.me-class:hover{border-color:var(--line-strong)}.me-class__title{grid-area:title;font-size:1.05rem;font-weight:700}.me-class__meta{font-size:var(--text-small);color:var(--muted);grid-area:meta}.me-class .pill{grid-area:pill}.me-class__go{width:18px;height:18px;color:var(--muted);grid-area:go}.me-recent{margin:0;padding:0;list-style:none;display:grid}.me-recent li{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.me-recent li:first-child{border-top:0}.me-score{font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:700}.me-score small{color:var(--muted);font-weight:400}.me-back a{color:var(--fg-2);font-size:var(--text-small);text-decoration:none}.me-notice{background:var(--accent-soft);border-color:#0000}.me-result{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.me-result div{border-radius:var(--radius-md);background:var(--fg);color:var(--bg);gap:2px;padding:16px;display:grid}.me-result span{font-size:var(--text-small);opacity:.8}.me-result strong{font-family:var(--font-display);font-size:2.4rem;line-height:1.1}.me-result small{opacity:.7;font-size:1rem;font-weight:400}.me-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;overflow:hidden}.me-table th,.me-table td{border-bottom:1px solid var(--line);text-align:left;padding:10px 12px}.me-table thead th{font-size:var(--text-small);color:var(--fg-2);background:var(--bg-alt);font-weight:600}.me-table .num{text-align:right;white-space:nowrap}.me-table tfoot th,.me-table tfoot td{background:var(--accent-soft);border-bottom:0}.me-cell{font-size:var(--text-small);color:var(--muted)}.me-cell[data-tone=danger]{color:var(--danger);font-weight:600}.me-result .me-meta{color:inherit;opacity:.8}.print-root{background:var(--bg-alt);min-height:100dvh;padding:0 0 40px}.print-toolbar{z-index:var(--z-header);background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.print-toolbar svg{width:18px;height:18px}.doc{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--doc-ink:#1f1f23;--doc-line:#b9b7b0;color:var(--doc-ink);font-family:var(--font-thai);width:min(100% - 32px,210mm);box-shadow:var(--shadow-md);background:#fff;margin:24px auto;padding:14mm 12mm;font-size:11.5pt;line-height:1.45}.doc[data-orientation=landscape]{width:min(100% - 32px,297mm)}.doc-head{border-bottom:1.5px solid var(--doc-ink);align-items:flex-start;gap:14px;margin-bottom:10px;padding-bottom:8px;display:flex}.doc-logo{object-fit:contain;width:54px;height:54px}.doc-school{font-size:15pt;font-weight:700}.doc-title{letter-spacing:0;margin-top:4px;font-size:13pt;font-weight:700}.doc-small{color:#55555c;font-size:9.5pt}.doc-max{font-size:8.5pt;font-weight:400}.doc-table{border-collapse:collapse;width:100%;margin:8px 0;font-size:10pt}.doc-table th,.doc-table td{border:.75pt solid var(--doc-line);vertical-align:middle;padding:3px 5px}.doc-table thead th{text-align:center;background:#f1efeb;font-weight:700}.doc-table thead th[data-band=total],.doc-table th[data-kind=total]{background:#cdf46e}.doc-table th[data-kind=group],.doc-table td[data-kind=group]{background:#eef8d2}.doc-table td[data-kind=total]{background:#e4f3b4;font-weight:700}.doc-table td[data-kind=grade]{font-weight:700}.doc-table .c{text-align:center;font-variant-numeric:tabular-nums}.doc-table--narrow{max-width:150mm}.doc-group td{background:#f1efeb;font-weight:700}.doc-subtotal td{background:#eef8d2;font-weight:600}.doc-total td{background:#cdf46e;font-weight:700}.doc-indent{padding-left:16px!important}.doc-student{margin:6px 0;font-size:12pt}.doc-summary{gap:2px;margin-top:6px;display:grid}.doc-sign{text-align:center;break-inside:avoid;gap:4px;width:70mm;margin:28px 0 0 auto;display:grid}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body,.print-root{background:#fff!important}.print-toolbar,.teach-side,.teach-mobilebar,.ds-toaster{display:none!important}.print-root{padding:0}.doc{box-shadow:none;margin:0;padding:0;font-size:10.5pt;width:auto!important}.doc[data-orientation=landscape] .doc-table{font-size:8.5pt}.doc--page{break-after:page}.doc--page:last-child{break-after:auto}.doc-table thead{display:table-header-group}.doc-table tr,.doc-head,.doc-summary{break-inside:avoid;page-break-inside:avoid}.doc-table th,.doc-table td{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.report-builder{gap:18px;max-width:860px;display:grid}.report-builder .ds-btn svg{width:18px;height:18px}button.text-link{cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.drive-gradebook{border-top:1px solid var(--line);gap:10px;padding-top:16px;display:grid}.drive-gradebook svg{width:18px;height:18px}.wizard{gap:20px;display:grid}.wizard-preview{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.preview-col{border-radius:var(--radius-md);background:var(--bg);border:1px solid var(--line);align-content:start;gap:8px;padding:16px;display:grid}.preview-col h3{font-size:1rem}.settings{gap:24px;display:grid}.explain-pre{white-space:pre-wrap;font-family:var(--font-body);border-radius:var(--radius-sm);background:var(--surface-sunken);margin:8px 0 0;padding:12px;font-size:.92rem;line-height:1.7}.skeleton{gap:14px;display:grid}.skeleton__line,.skeleton__tile,.skeleton__row{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface-sunken) 0%, var(--surface) 50%, var(--surface-sunken) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton__line--kicker{width:140px;height:12px}.skeleton__line--title{width:min(420px,80%);height:34px;margin-bottom:8px}.skeleton__tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.skeleton__tile{height:84px}.skeleton__row{height:44px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton__line,.skeleton__tile,.skeleton__row{animation:none}}
