/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:host,:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-300:oklch(80.8% .114 19.571);--color-red-800:oklch(44.4% .177 26.899);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-wide:.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-body-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.top-2{top:calc(var(--spacing)*2)}.top-12{top:calc(var(--spacing)*12)}.top-\[calc\(100\%\+8px\)\]{top:calc(100% + 8px)}.right-0{right:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-2{left:calc(var(--spacing)*2)}.z-40{z-index:40}.z-50{z-index:50}.z-\[70\]{z-index:70}.z-\[80\]{z-index:80}.z-\[100\]{z-index:100}.order-3{order:3}.m-0{margin:calc(var(--spacing)*0)}.mx-0\.5{margin-inline:calc(var(--spacing)*.5)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-3{margin-block:calc(var(--spacing)*3)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-9{margin-top:calc(var(--spacing)*9)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-7{margin-bottom:calc(var(--spacing)*7)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-\[max\(1rem\,env\(safe-area-inset-bottom\)\)\]{margin-bottom:max(1rem,env(safe-area-inset-bottom))}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table\!{display:table!important}.aspect-\[4\/3\]{aspect-ratio:4/3}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-\[132px\]{width:132px;height:132px}.size-full{width:100%;height:100%}.h-7{height:calc(var(--spacing)*7)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-36{height:calc(var(--spacing)*36)}.h-56{height:calc(var(--spacing)*56)}.h-auto{height:auto}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-72{max-height:calc(var(--spacing)*72)}.max-h-96{max-height:calc(var(--spacing)*96)}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-9{min-height:calc(var(--spacing)*9)}.min-h-10{min-height:calc(var(--spacing)*10)}.min-h-11{min-height:calc(var(--spacing)*11)}.min-h-12{min-height:calc(var(--spacing)*12)}.min-h-14{min-height:calc(var(--spacing)*14)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-20{min-height:calc(var(--spacing)*20)}.min-h-dvh{min-height:100dvh}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-3{width:calc(var(--spacing)*3)}.w-12{width:calc(var(--spacing)*12)}.w-24{width:calc(var(--spacing)*24)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-\[22rem\]{width:22rem}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-28{max-width:calc(var(--spacing)*28)}.max-w-\[180px\]{max-width:180px}.max-w-\[560px\]{max-width:560px}.max-w-\[980px\]{max-width:980px}.max-w-\[1100px\]{max-width:1100px}.max-w-\[1376px\]{max-width:1376px}.max-w-\[calc\(100vw-32px\)\]{max-width:calc(100vw - 32px)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-52{min-width:calc(var(--spacing)*52)}.min-w-56{min-width:calc(var(--spacing)*56)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.list-none{list-style-type:none}.break-inside-avoid{break-inside:avoid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-items-center{justify-items:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-x-1{column-gap:calc(var(--spacing)*1)}.gap-x-2{column-gap:calc(var(--spacing)*2)}.gap-x-3{column-gap:calc(var(--spacing)*3)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-x-6{column-gap:calc(var(--spacing)*6)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.gap-y-3{row-gap:calc(var(--spacing)*3)}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[14px\]{border-radius:14px}.rounded-\[var\(--radius-lg\)\]{border-radius:var(--radius-lg)}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#fff4cf\]{border-color:#fff4cf}.border-\[var\(--color-bg-brand\)\]{border-color:var(--color-bg-brand)}.border-\[var\(--color-border\,\#e5e2ee\)\]{border-color:var(--color-border,#e5e2ee)}.border-\[var\(--color-border-default\)\]{border-color:var(--color-border-default)}.border-\[var\(--color-border-ink\)\]{border-color:var(--color-border-ink)}.border-\[var\(--color-border-ink\,\#302b39\)\]{border-color:var(--color-border-ink,#302b39)}.border-\[var\(--color-border-subtle\)\]{border-color:var(--color-border-subtle)}.border-esl-line{border-color:var(--color-border-default)}.border-red-300{border-color:var(--color-red-300)}.border-transparent{border-color:#0000}.border-white\/25{border-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.border-white\/25{border-color:color-mix(in oklab,var(--color-white)25%,transparent)}}.bg-\[\#1fa86b\]{background-color:#1fa86b}.bg-\[\#2a2540\]{background-color:#2a2540}.bg-\[\#2ec4b6\]{background-color:#2ec4b6}.bg-\[\#3ddc84\]{background-color:#3ddc84}.bg-\[\#080c10\]{background-color:#080c10}.bg-\[\#12111a\]{background-color:#12111a}.bg-\[\#e3f7ec\]{background-color:#e3f7ec}.bg-\[\#e2574c\]{background-color:#e2574c}.bg-\[\#ffe066\]{background-color:#ffe066}.bg-\[\#fff0cc\]{background-color:#fff0cc}.bg-\[\#fff4cf\]{background-color:#fff4cf}.bg-\[\#fff6dc\]{background-color:#fff6dc}.bg-\[rgba\(18\,17\,26\,\.7\)\]{background-color:#12111ab3}.bg-\[rgba\(26\,18\,46\,\.55\)\]{background-color:#1a122e8c}.bg-\[var\(--color-bg-app\)\]{background-color:var(--color-bg-app)}.bg-\[var\(--color-bg-brand\)\]{background-color:var(--color-bg-brand)}.bg-\[var\(--color-bg-brand-subtle\)\]{background-color:var(--color-bg-brand-subtle)}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.bg-white\/15{background-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.bg-white\/40{background-color:#fff6}@supports (color:color-mix(in lab,red,red)){.bg-white\/40{background-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.py-14{padding-block:calc(var(--spacing)*14)}.py-16{padding-block:calc(var(--spacing)*16)}.py-\[15px\]{padding-block:15px}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-10{padding-top:calc(var(--spacing)*10)}.pt-14{padding-top:calc(var(--spacing)*14)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-9{padding-bottom:calc(var(--spacing)*9)}.pb-10{padding-bottom:calc(var(--spacing)*10)}.pb-16{padding-bottom:calc(var(--spacing)*16)}.pb-20{padding-bottom:calc(var(--spacing)*20)}.pb-\[max\(1rem\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(1rem,env(safe-area-inset-bottom))}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-body-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[clamp\(3\.5rem\,14vw\,9rem\)\]{font-size:clamp(3.5rem,14vw,9rem)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-\[var\(--font-heading-serif\)\]{--tw-font-weight:var(--font-heading-serif);font-weight:var(--font-heading-serif)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\[-0\.035em\]{--tw-tracking:-.035em;letter-spacing:-.035em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-\[var\(--color-text-error\)\]{color:var(--color-text-error)!important}.\!text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)!important}.text-\[\#0d7a3a\]{color:#0d7a3a}.text-\[\#1d2340\]{color:#1d2340}.text-\[\#1fa86b\]{color:#1fa86b}.text-\[\#2a2540\]{color:#2a2540}.text-\[\#3ddc84\]{color:#3ddc84}.text-\[\#7a5200\]{color:#7a5200}.text-\[\#111\]{color:#111}.text-\[\#302b39\]{color:#302b39}.text-\[\#06322e\]{color:#06322e}.text-\[\#ff6b6b\]{color:#ff6b6b}.text-\[\#ff8a8a\]{color:#ff8a8a}.text-\[\#ff9b9b\]{color:#ff9b9b}.text-\[\#ffd27a\]{color:#ffd27a}.text-\[var\(--color-bg-brand\)\]{color:var(--color-bg-brand)}.text-\[var\(--color-icon-default\)\]{color:var(--color-icon-default)}.text-\[var\(--color-text-brand\)\]{color:var(--color-text-brand)}.text-\[var\(--color-text-error\)\]{color:var(--color-text-error)}.text-\[var\(--color-text-primary\)\]{color:var(--color-text-primary)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-esl-ink{color:var(--color-text-primary)}.text-esl-muted{color:var(--color-text-secondary)}.text-esl-purple{color:var(--color-bg-brand)}.text-inherit{color:inherit}.text-red-800{color:var(--color-red-800)}.text-white{color:var(--color-white)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab,red,red)){.text-white\/75{color:color-mix(in oklab,var(--color-white)75%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal}.ordinal,.tabular-nums{font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.decoration-\[var\(--color-border-default\)\]{-webkit-text-decoration-color:var(--color-border-default);text-decoration-color:var(--color-border-default)}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-\[0_6px_8px_rgba\(48\,43\,57\,0\.12\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_6px_8px_rgba\(48\,43\,57\,0\.12\)\]{--tw-shadow:0 6px 8px var(--tw-shadow-color,#302b391f)}.shadow-\[var\(--shadow-lip\)\]{--tw-shadow:var(--shadow-lip)}.shadow-\[var\(--shadow-lip\)\],.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.ring,.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.placeholder\:font-medium::placeholder{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\:text-\[var\(--color-text-secondary\)\]::placeholder{color:var(--color-text-secondary)}.focus-within\:border-\[var\(--color-bg-brand\)\]:focus-within{border-color:var(--color-bg-brand)}.focus-within\:ring-4:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-\[var\(--color-bg-brand-subtle\)\]:focus-within{--tw-ring-color:var(--color-bg-brand-subtle)}@media (hover:hover){.hover\:border-\[var\(--color-bg-brand\)\]:hover{border-color:var(--color-bg-brand)}.hover\:bg-\[var\(--color-bg-app\)\]:hover{background-color:var(--color-bg-app)}.hover\:bg-\[var\(--color-bg-brand-subtle\)\]:hover{background-color:var(--color-bg-brand-subtle)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:text-\[var\(--color-text-primary\)\]:hover{color:var(--color-text-primary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:brightness-95:hover{--tw-brightness:brightness(95%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.focus\:border-\[var\(--color-bg-brand\)\]:focus,.focus\:border-esl-purple:focus{border-color:var(--color-bg-brand)}.focus\:ring-3:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.focus\:ring-3:focus,.focus\:ring-4:focus{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.focus\:ring-\[var\(--color-bg-brand-subtle\)\]:focus,.focus\:ring-esl-purple-soft:focus{--tw-ring-color:var(--color-bg-brand-subtle)}.focus-visible\:outline-3:focus-visible{outline-style:var(--tw-outline-style);outline-width:3px}.focus-visible\:outline-4:focus-visible{outline-style:var(--tw-outline-style);outline-width:4px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[var\(--color-bg-brand-subtle\)\]:focus-visible{outline-color:var(--color-bg-brand-subtle)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\:scale-\[\.98\]:active{scale:.98}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:opacity-65:disabled{opacity:.65}@media (min-width:40rem){.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[1fr_1\.4fr_1fr_auto\]{grid-template-columns:1fr 1.4fr 1fr auto}.sm\:grid-cols-\[1fr_1\.6fr_auto\]{grid-template-columns:1fr 1.6fr auto}.sm\:grid-cols-\[1fr_9rem\]{grid-template-columns:1fr 9rem}.sm\:grid-cols-\[1fr_auto_auto\]{grid-template-columns:1fr auto auto}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:p-7{padding:calc(var(--spacing)*7)}.sm\:p-8{padding:calc(var(--spacing)*8)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:px-8{padding-inline:calc(var(--spacing)*8)}.sm\:py-16{padding-block:calc(var(--spacing)*16)}.sm\:pt-14{padding-top:calc(var(--spacing)*14)}.sm\:pt-20{padding-top:calc(var(--spacing)*20)}.sm\:pb-11{padding-bottom:calc(var(--spacing)*11)}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media (min-width:48rem){.md\:order-none{order:0}.md\:w-auto{width:auto}.md\:flex-nowrap{flex-wrap:nowrap}.md\:border-0{border-style:var(--tw-border-style);border-width:0}.md\:py-0{padding-block:calc(var(--spacing)*0)}.md\:pt-0{padding-top:calc(var(--spacing)*0)}}@media (min-width:64rem){.lg\:mb-1{margin-bottom:calc(var(--spacing)*1)}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-end{align-items:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:px-12{padding-inline:calc(var(--spacing)*12)}}@media (min-width:80rem){.xl\:\!grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media print{.print\:hidden{display:none}.print\:max-w-none{max-width:none}.print\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.print\:gap-0{gap:calc(var(--spacing)*0)}.print\:rounded-none{border-radius:0}.print\:border-dashed{--tw-border-style:dashed;border-style:dashed}.print\:p-0{padding:calc(var(--spacing)*0)}}}:root{--font-heading-serif:var(--font-nohemi),"Helvetica Neue",Arial,sans-serif;--font-body-sans:var(--font-general-sans),"Helvetica Neue",Arial,sans-serif;--primitive-neutral-0:#fff;--primitive-neutral-50:#f8f3ee;--primitive-neutral-100:#eee7f0;--primitive-ink-900:#302b39;--primitive-ink-500:#6f6879;--primitive-ink-300:#c7c0cb;--primitive-violet-700:#6b34b5;--primitive-violet-600:#7841c4;--primitive-violet-100:#ede3fa;--primitive-sage-200:#dde9d9;--primitive-sage-500:#7ea36c;--primitive-sage-700:#426d35;--primitive-warm-100:#f5eedf;--primitive-sunny-300:#ffd66b;--primitive-sunny-400:#ffc93c;--primitive-coral-500:#ff5c39;--primitive-coral-600:#e54b2b;--primitive-sky-400:#5fb3e8;--color-bg-app:#f8f3ee;--color-bg-surface:#eee7f0;--color-bg-elevated:#fff;--color-bg-brand:#7841c4;--color-bg-brand-strong:#6b34b5;--color-bg-brand-subtle:#ede3fa;--color-bg-badge-soft:#f5eedf;--color-text-primary:#302b39;--color-text-secondary:#6f6879;--color-text-tertiary:#c7c0cb;--color-text-brand:#6b34b5;--color-text-on-brand:#fff;--color-border-subtle:#eee7f0;--color-border-default:#c7c0cb;--color-icon-default:#6f6879;--color-icon-brand:#7841c4;--color-accent-success-bg:#dde9d9;--color-accent-success-text:#426d35;--color-accent-play:#ff5c39;--color-accent-play-strong:#e54b2b;--color-accent-highlight:#ffd66b;--color-accent-sunny:#ffc93c;--color-accent-confetti:#5fb3e8;--color-border-ink:#302b39;--theme-section-bg:transparent;--theme-section-surface:#ffffffc7;--theme-section-surface-muted:#f8f3eeeb;--theme-section-surface-strong:#eee7f0f5;--theme-section-accent:#7841c4;--theme-section-accent-strong:#6b34b5;--theme-section-line:#c7c0cbb3;--theme-section-dark-start:#4c2f79;--theme-section-dark-end:#302b39;--theme-section-dark-ink:#ffffffeb;--spacing-2xs:4px;--spacing-xs:8px;--spacing-sm:12px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:40px;--spacing-3xl:48px;--radius-sm:12px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-full:999px;--font-family-display:var(--font-nohemi);--font-family-ui:var(--font-general-sans);--font-size-label:14px;--font-size-body:16px;--font-size-title:24px;--font-size-hero:42px;--line-height-label:18px;--line-height-body:24px;--line-height-title:30px;--line-height-hero:46px;--border-ink:2px solid #302b39;--shadow-lip-sm:0 3px 0 #302b39;--shadow-lip:0 5px 0 #302b39;--shadow-lip-lg:0 8px 0 #302b39;--grain-opacity:.05}*{box-sizing:border-box}html{background:var(--color-bg-app)}body{min-height:100vh;color:var(--color-text-primary);background:var(--cream-grain)0 0/128px 128px,radial-gradient(circle at 8% 9%,#7841c429,transparent 31rem),radial-gradient(circle at 88% 86%,#7ea36c29,transparent 27rem),var(--color-bg-app);font-family:var(--font-body-sans);margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a:not([class]){color:var(--color-text-brand);font-weight:700}.auth-shell{grid-template-columns:minmax(0,1fr) minmax(340px,460px);align-items:center;gap:clamp(40px,8vw,140px);width:min(100% - 32px,1120px);margin:auto;padding:40px 0;display:grid}.auth-page,.auth-shell{min-height:100vh}.auth-form-section{align-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.auth-balls{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.auth-shell-simple{grid-template-columns:1fr;gap:0;width:min(100% - 32px,460px);position:relative}.auth-back{color:var(--color-text-secondary);font-size:.875rem;font-weight:700;text-decoration:none;position:absolute;top:32px;left:0}.auth-back:hover{color:var(--color-text-primary)}.auth-promise{max-width:550px}.auth-promise p{color:var(--color-text-secondary);max-width:48ch;font-size:1.125rem;line-height:1.65}.auth-card h1,.auth-promise h2{font-family:var(--font-heading-serif);letter-spacing:-.025em;text-wrap:balance;font-weight:600}.auth-promise h2{margin:0 0 24px;font-size:clamp(3rem,6vw,5.5rem);line-height:.95}.product-note{align-items:center;gap:12px;margin-top:32px;display:flex;color:var(--color-text-primary)!important;font-size:.95rem!important}.product-note span{background:var(--color-bg-brand-subtle);block-size:36px;inline-size:36px;color:var(--color-text-brand);border-radius:50%;place-items:center;display:grid}.auth-card{-webkit-backdrop-filter:blur(22px)saturate(1.2);backdrop-filter:blur(22px)saturate(1.2);border:1px solid var(--theme-section-line);border-radius:var(--radius-xl);background:#ffffffc7;padding:clamp(28px,5vw,48px);box-shadow:0 24px 70px #302b391f}.auth-logo{color:var(--color-text-brand);letter-spacing:-.03em;margin-bottom:40px;font-size:1.2rem;font-weight:800;text-decoration:none;display:inline-block}.auth-mark{background:var(--color-bg-brand);color:#fff;border-radius:14px;place-items:center;block-size:42px;inline-size:42px;margin-bottom:25px;font-size:20px;display:grid}.auth-kicker{color:var(--color-text-brand);letter-spacing:.04em;margin:0 0 10px;font-size:.8rem;font-weight:800}.auth-card h1{margin:0 0 30px;font-size:3.75rem;line-height:.98}.google-button,.primary-button{border:0;border-radius:14px;width:100%;min-height:52px;font-weight:800;transition:transform .18s,background-color .18s,box-shadow .18s}.google-button{color:var(--color-text-primary);border:1px solid var(--color-border-default);background:#fff;justify-content:center;align-items:center;gap:12px;display:flex}.google-icon{flex:0 0 20px;width:20px;height:20px}.primary-button{color:var(--color-text-on-brand);background:var(--color-bg-brand);box-shadow:0 5px 0 var(--color-bg-brand-strong)}.google-button:hover:not(:disabled){background:var(--color-bg-surface)}.primary-button:hover:not(:disabled){background:var(--color-bg-brand-strong);transform:translateY(-1px)}.primary-button:active:not(:disabled){box-shadow:0 2px 0 var(--color-bg-brand-strong);transform:translateY(3px)}.auth-divider{color:var(--color-text-secondary);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:24px 0;font-size:.8rem;display:grid}.auth-divider:after,.auth-divider:before{content:"";background:var(--color-border-subtle);height:1px}.auth-form{gap:10px;display:grid}.auth-form>label:not(.auth-opt-in){font-size:.875rem;font-weight:800}.auth-form>input{border:1px solid var(--color-border-default);min-height:52px;color:var(--color-text-primary);background:#fff;border-radius:14px;margin-bottom:6px;padding:0 15px}.auth-footer a:focus-visible,.auth-form input:focus-visible,.auth-social-links a:focus-visible,.google-button:focus-visible,.primary-button:focus-visible{outline-offset:3px;outline:3px solid #7841c447}.auth-form>.auth-opt-in{color:var(--color-text-secondary);cursor:pointer;align-items:flex-start;gap:11px;margin:4px 0 10px;font-size:.82rem;font-weight:600;line-height:1.45;display:flex}.auth-opt-in input{width:18px;height:18px;accent-color:var(--color-bg-brand);flex:0 0 18px;margin:1px 0 0}.auth-message{color:var(--color-text-primary);background:var(--color-bg-brand-subtle);border-radius:12px;margin:18px 0 0;padding:12px 14px;font-size:.9rem;line-height:1.45}.auth-sent-title{margin:0 0 6px;font-size:1.25rem}.auth-sent-text{color:var(--color-text-secondary);overflow-wrap:anywhere;margin:0 0 14px;font-size:.9rem;line-height:1.5}.auth-code-input{letter-spacing:.3em;text-align:center;font-size:1.5rem;font-weight:800}.auth-link-button{color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:10px;padding:8px;font-size:.875rem;font-weight:700;text-decoration:underline}.auth-switch{margin:24px 0 0;font-size:.9rem}.auth-privacy-note,.auth-switch{text-align:center;color:var(--color-text-secondary)}.auth-privacy-note{max-width:42ch;margin:14px auto 0;font-size:.76rem;line-height:1.5}.auth-page-end{color:var(--color-text-on-brand);background:var(--theme-section-dark-end)}.auth-social-section{background:var(--color-bg-brand);align-content:center;place-items:center;gap:30px;min-height:48vh;padding:clamp(72px,11vw,140px) 24px;display:grid}.auth-social-section h2{font-family:var(--font-heading-serif);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:3rem;font-weight:600}.auth-social-links{justify-content:center;align-items:center;gap:16px;display:flex}.auth-social-links a{color:#fff;border:1px solid #ffffff85;border-radius:50%;place-items:center;width:58px;height:58px;transition:transform .18s,background-color .18s;display:grid}.auth-social-links a:hover{background:#ffffff24;transform:translateY(-2px)}.auth-social-links svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px;overflow:visible}.auth-social-links svg path:not(:only-child){fill:none}.auth-social-links .social-icon-dot,.auth-social-links a:last-child svg{fill:currentColor;stroke:none}.auth-footer{padding:34px max(24px,50vw - 560px) 24px;overflow:hidden}.auth-footer nav{border-bottom:1px solid #ffffff29;flex-wrap:wrap;gap:12px 28px;padding-bottom:44px;display:flex}.auth-footer a{color:#ffffffd1;font-size:.84rem;font-weight:700;text-decoration:none}.auth-footer a:hover{color:#fff}.auth-footer-logo{width:min(1080px,112vw);max-width:none;margin:34px 0 0 50%;display:block;transform:translate(-50%)}.auth-footer p{color:#ffffff9e;text-align:center;margin:6px 0 0;font-size:.78rem}.welcome{width:min(100% - 32px,780px);margin:0 auto;padding:12vh 0}.welcome h1{font-family:var(--font-heading-serif);letter-spacing:-.025em;text-wrap:balance;margin:18px 0;font-size:clamp(3rem,8vw,5.5rem);font-weight:600;line-height:.95}.welcome p{color:var(--color-text-secondary);max-width:52ch;font-size:1.125rem;line-height:1.6}.welcome .primary-button{width:auto;margin-top:22px;padding:0 24px}@media (max-width:760px){.auth-shell{grid-template-columns:1fr;gap:28px;padding:32px 0}.auth-shell-simple{padding-top:86px}.auth-back{top:30px}.auth-promise{padding:0 8px}.auth-promise h2{font-size:clamp(3rem,14vw,4.5rem)}.product-note{margin-top:18px}.auth-card h1{font-size:3rem}.auth-social-section{min-height:42vh}.auth-social-section h2{font-size:2.5rem}.auth-footer nav{gap:12px 20px;padding-bottom:30px}.auth-footer-logo{width:138vw;margin-top:24px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.pricing-page{min-height:100vh}.pricing-shell{width:min(100% - 40px,1080px);margin:0 auto;padding:clamp(58px,9vw,108px) 0 72px}.pricing-intro{text-align:center;max-width:780px;margin:0 auto}.pricing-context{border-radius:var(--radius-full);background:var(--color-bg-brand-subtle);width:fit-content;color:var(--color-text-brand);margin:0 auto 18px;padding:8px 12px;font-size:.82rem;font-weight:800}.pricing-intro h1,.pricing-intro h2{font-family:var(--font-heading-serif);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(2.7rem,6vw,4.75rem);font-weight:600;line-height:.98}.pricing-intro>p:last-child{max-width:62ch;color:var(--color-text-secondary);text-wrap:pretty;margin:24px auto 0;font-size:1.08rem;line-height:1.65}.pricing-billing{width:fit-content;color:var(--color-text-secondary);align-items:center;gap:12px;margin:42px auto 34px;font-size:.8rem;font-weight:800;display:flex}.pricing-toggle{border:1px solid var(--color-border-default);border-radius:var(--radius-full);background:#ffffffc7;gap:4px;padding:4px;display:flex}.pricing-toggle button{border-radius:var(--radius-full);min-height:40px;color:var(--color-text-secondary);background:0 0;border:0;padding:0 15px;font-size:.8rem;font-weight:800;transition:background-color .18s,color .18s,box-shadow .18s}.pricing-toggle button:hover{color:var(--color-text-primary)}.pricing-toggle button.is-selected{background:var(--color-text-primary);color:#fff;box-shadow:0 2px #302b393d}.pricing-toggle button span{color:var(--color-accent-highlight);margin-left:5px;font-size:.7rem}.pricing-button:focus-visible,.pricing-error button:focus-visible,.pricing-toggle button:focus-visible{outline-offset:3px;outline:3px solid #7841c452}.pricing-plans{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px;display:grid}.pricing-paid-plan{border:2px solid var(--color-border-ink);border-radius:var(--radius-md);background:var(--color-bg-elevated);flex-direction:column;padding:34px;display:flex;position:relative}.pricing-individual-plan{box-shadow:0 3px 0 var(--color-border-default)}.pricing-educator-plan{box-shadow:var(--shadow-lip)}.pricing-educator-plan:before{content:"Includes classroom games";border-radius:var(--radius-full);background:var(--color-bg-brand-subtle);color:var(--color-text-brand);padding:6px 9px;font-size:.68rem;font-weight:800;position:absolute;top:16px;right:16px}.pricing-plan-label{color:var(--color-text-brand);margin:0 0 7px;font-size:.78rem;font-weight:800}.pricing-paid-plan h2{font-family:var(--font-heading-serif);letter-spacing:-.025em;margin:0;font-size:2.15rem;font-weight:600;line-height:1.05}.pricing-plan-copy>p:last-child{max-width:42ch;color:var(--color-text-secondary);margin:13px 0 0;line-height:1.55}.pricing-live-price{align-items:baseline;gap:7px;min-height:62px;margin:24px 0 2px;display:flex}.pricing-live-price strong{font-family:var(--font-heading-serif);letter-spacing:-.03em;font-size:3.15rem;font-weight:600;line-height:1}.pricing-live-price .pricing-unavailable-price{font-family:var(--font-body-sans);letter-spacing:-.01em;font-size:1.3rem}.pricing-live-price>span:not(.pricing-price-skeleton){color:var(--color-text-secondary);font-size:.88rem;font-weight:700}.pricing-price-skeleton{background:linear-gradient(90deg,var(--color-bg-surface)20%,white 50%,var(--color-bg-surface)80%);background-size:220% 100%;border-radius:10px;width:190px;height:48px;animation:pricing-loading 1.25s ease-in-out infinite;display:block}.pricing-local-note{min-height:18px;color:var(--color-text-secondary);margin:0;font-size:.74rem;font-weight:700}.pricing-paid-plan ul{gap:12px;margin:24px 0 28px;padding:0;list-style:none;display:grid}.pricing-paid-plan li{color:var(--color-text-primary);align-items:flex-start;gap:10px;font-size:.9rem;font-weight:700;line-height:1.4;display:flex}.pricing-paid-plan li svg{color:var(--color-text-brand);flex:0 0 17px;margin-top:1px}.pricing-button{border:2px solid var(--color-border-ink);border-radius:var(--radius-sm);justify-content:center;align-items:center;min-height:52px;padding:0 20px;font-size:.88rem;font-weight:800;text-decoration:none;transition:transform .18s cubic-bezier(.22,1,.36,1),background-color .18s,box-shadow .18s,color .18s;display:inline-flex}.pricing-button:hover:not(:disabled){transform:translateY(-1px)}.pricing-button:active:not(:disabled){box-shadow:none;transform:translateY(3px)}.pricing-button-secondary{color:var(--color-text-primary);box-shadow:var(--shadow-lip-sm);background:#fff}.pricing-button-secondary:hover{background:var(--color-bg-surface)}.pricing-button-primary{background:var(--color-bg-brand);width:100%;box-shadow:var(--shadow-lip-sm);color:#fff;margin-top:auto}.pricing-button-primary:hover:not(:disabled){background:var(--color-bg-brand-strong)}.pricing-button:disabled{border-color:var(--color-border-default);background:var(--color-bg-surface);box-shadow:none;color:var(--color-text-secondary);cursor:not-allowed;opacity:1}.pricing-checkout-error,.pricing-trial-note{text-align:center;margin:13px 0 0;font-size:.75rem;line-height:1.45}.pricing-trial-note{color:var(--color-text-secondary)}.pricing-checkout-error{color:#a32f23;font-weight:700}.pricing-error{border-radius:var(--radius-sm);color:#7f291f;background:#fff0ed;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 0;padding:12px 13px;font-size:.8rem;font-weight:700;display:flex}.pricing-error button{color:#7f291f;background:#fff;border:0;border-radius:8px;flex:none;padding:6px 9px;font-size:.75rem;font-weight:800}.pricing-shell>.pricing-error{max-width:720px;margin:0 auto 20px}.pricing-free-option{border-block:1px solid var(--color-border-default);justify-content:space-between;align-items:center;gap:24px;margin:30px 0 0;padding:20px 22px;display:flex}.pricing-free-option>div{gap:4px;display:grid}.pricing-free-option strong{font-size:.9rem}.pricing-free-option span{color:var(--color-text-secondary);font-size:.8rem;line-height:1.5}.pricing-free-option .pricing-button{flex:none;min-height:44px}.pricing-assurance{border-top:1px solid var(--color-border-default);color:var(--color-text-secondary);justify-content:center;gap:18px 40px;margin:38px auto 0;padding-top:24px;font-size:.78rem;line-height:1.5;display:flex}.pricing-assurance p{margin:0}.pricing-assurance strong{color:var(--color-text-primary)}@keyframes pricing-loading{0%{background-position:100% 0}to{background-position:-120% 0}}@media (max-width:780px){.pricing-shell{width:min(100% - 32px,600px);padding-top:48px}.pricing-intro h1,.pricing-intro h2{font-size:clamp(2.55rem,12vw,3.7rem)}.pricing-billing{text-align:center;flex-direction:column;align-items:stretch;width:100%}.pricing-toggle{width:100%}.pricing-toggle button{flex:1;padding-inline:10px}.pricing-plans{grid-template-columns:1fr;gap:18px}.pricing-paid-plan{padding:28px 24px}.pricing-educator-plan:before{order:-1;width:fit-content;margin:0 0 16px;position:static}.pricing-free-option{flex-direction:column;align-items:stretch}.pricing-free-option .pricing-button{width:100%}.pricing-assurance{text-align:center;flex-direction:column;align-items:center}}@media (max-width:430px){.pricing-toggle button span{margin:1px 0 0;display:block}.pricing-toggle button{min-height:48px}.pricing-live-price strong{font-size:2.8rem}}@media (prefers-reduced-motion:reduce){.pricing-price-skeleton{animation:none}}.game-library-card{z-index:0;--shadow-lip:0 5px 0 var(--color-bg-brand-strong);--shadow-lip-lg:0 8px 0 var(--color-bg-brand)}.game-library-card:has(.game-save-button[aria-expanded=true]){z-index:60}.app-button{border:var(--border-ink);border-radius:var(--radius-sm);width:fit-content;min-height:54px;font:800 .875rem var(--font-body-sans);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 22px;text-decoration:none;transition:transform .18s cubic-bezier(.22,1,.36,1),background-color .18s,box-shadow .18s,color .18s;display:inline-flex}.app-button--compact{min-height:44px;padding:0 18px}.app-button--primary{background:var(--color-bg-brand);box-shadow:var(--shadow-lip-sm);color:var(--color-text-on-brand)}.app-button--secondary{box-shadow:var(--shadow-lip-sm);color:var(--color-text-primary);background:#fff}.app-button:hover:not(:disabled){box-shadow:var(--shadow-lip);transform:translateY(-1px)}.app-button--primary:hover:not(:disabled){background:var(--color-bg-brand-strong)}.app-button--secondary:hover:not(:disabled){background:var(--color-bg-surface)}.app-button:active:not(:disabled){box-shadow:none;transform:translateY(3px)}.app-button:disabled{background:var(--color-border-default);box-shadow:0 3px 0 var(--color-text-tertiary);color:#fff;cursor:not-allowed;opacity:.72}.app-button:focus-visible{outline:4px solid var(--color-bg-brand-subtle);outline-offset:3px}.game-save-control{z-index:20;display:inline-flex;position:relative}.game-save-button{color:var(--color-text-secondary)}.game-save-button:hover:not(:disabled){color:var(--color-text-primary)}.game-save-button:focus-visible,.game-save-popover a:focus-visible,.game-save-popover button:focus-visible,.game-save-popover input:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:2px}.game-save-button span{font-size:1.2rem;font-weight:500;line-height:1}.game-save-popover{z-index:70;border:1px solid var(--color-border-default);background:#fff;border-radius:14px;width:min(390px,100vw - 40px);padding:15px;font-size:.8rem;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 8px 18px #302b3924}.game-save-popover-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.game-save-popover-head strong{padding-top:3px;font-size:.86rem}.game-save-popover-head>button{width:28px;height:28px;color:var(--color-text-secondary);background:0 0;border:0;border-radius:8px;flex:0 0 28px;place-items:center;font-size:1.1rem;line-height:1;display:grid}.game-save-popover-head>button:hover{background:var(--color-bg-app);color:var(--color-text-primary)}.game-save-popover>p{color:var(--color-text-secondary);margin:5px 0 12px;line-height:1.45}.game-save-popover fieldset{border:0;max-height:190px;margin:0;padding:0;overflow-y:auto}.game-save-popover fieldset label{min-height:42px;color:var(--color-text-primary);cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:7px 8px;font-weight:700;display:flex}.game-save-popover fieldset label:hover{background:var(--color-bg-app)}.game-save-popover input{width:18px;height:18px;accent-color:var(--color-bg-brand);margin:0}.game-save-popover-actions{border-top:1px solid var(--color-border-subtle);justify-content:flex-end;gap:8px;margin-top:13px;padding-top:12px;display:flex}.game-save-next,.game-save-popover-actions a,.game-save-popover-actions button{background:var(--color-bg-app);min-height:36px;color:var(--color-text-secondary);border:0;border-radius:9px;justify-content:center;align-items:center;padding:0 11px;font-size:.75rem;font-weight:800;text-decoration:none;display:inline-flex}.game-save-popover-actions .confirm-save{background:var(--color-bg-brand);color:#fff}.game-save-popover-actions .confirm-save:disabled{cursor:not-allowed;opacity:.45}.game-save-popover.is-success{background:#f3f8f1;border-color:#bed6b7}.game-save-popover.is-success .game-save-popover-head strong{color:#426d35}.game-save-popover.is-error{background:#fff7f5;border-color:#efc1ba}.game-save-next{color:var(--color-text-brand);background:0 0;padding:0}.game-save-popover .assignment-class-list label{grid-template-columns:18px minmax(0,1fr) auto;column-gap:9px;display:grid}.assignment-class-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.assignment-class-state{color:#426d35;white-space:nowrap;align-items:center;gap:4px;font-size:.66rem;font-weight:800;display:inline-flex}.assignment-class-state.is-unassigned{color:var(--color-text-secondary);font-weight:600}.game-save-popover .assignment-existing-state{color:#426d35;background:#f3f8f1;border-radius:9px;align-items:center;gap:6px;margin:0 0 2px;padding:9px 10px;font-size:.72rem;font-weight:800;display:flex}.game-save-popover .assignment-existing-state+.assignment-schedule-fields{margin-top:8px}.game-save-popover .dtp-trigger{width:100%}.onboarding-shell{background:var(--color-bg-app);min-height:100vh}.onboarding-header{width:min(100% - 40px,900px);margin:0 auto;padding:28px 0}.setup-logo{color:var(--color-text-brand);letter-spacing:-.03em;font-size:21px;font-weight:800;text-decoration:none}.onboarding-main{width:min(100% - 40px,680px);margin:0 auto;padding:clamp(56px,10vh,110px) 0 80px}.onboarding-intro{text-align:center}.welcome-check{background:var(--color-accent-success-bg);color:#426d35;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 24px;font-size:1.15rem;font-weight:900;display:grid}.onboarding-intro h1{letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:3rem;line-height:1.05}.onboarding-intro p{max-width:48ch;color:var(--color-text-secondary);margin:18px auto 30px;font-size:1.05rem;line-height:1.65}.onboarding-primary{border-radius:var(--radius-md);background:var(--color-bg-brand);min-height:54px;box-shadow:0 5px 0 var(--color-bg-brand-strong);color:#fff;align-items:center;gap:28px;padding:0 22px;font-weight:800;text-decoration:none;transition:transform .18s,background-color .18s,box-shadow .18s;display:inline-flex}.onboarding-primary:hover{background:var(--color-bg-brand-strong);transform:translateY(-1px)}.onboarding-primary:active{box-shadow:0 2px 0 var(--color-bg-brand-strong);transform:translateY(3px)}@media (max-width:700px){.onboarding-main{padding-top:38px}.onboarding-intro h1{font-size:2.35rem}.optional-setup{margin-top:56px}.field-grid{grid-template-columns:1fr}}.classes-header{justify-content:space-between;align-items:center;width:min(100% - 40px,900px);min-height:82px;margin:0 auto;display:flex}.classes-header>a:last-child{color:var(--color-text-secondary);font-size:.84rem;font-weight:800;text-decoration:none}.classes-header>a:last-child:hover{color:var(--color-text-primary)}.classes-heading h1{font-size:3rem}.classes-heading p{max-width:55ch;margin:12px 0 0}.class-list{gap:10px;margin:34px 0}.class-list article{justify-content:space-between;align-items:center;gap:20px;padding:18px 20px}.class-list article span{color:var(--color-text-secondary);font-size:.8rem}.classes-empty{border:1px dashed var(--color-border-default);color:var(--color-text-secondary);border-radius:14px;margin:34px 0;padding:18px 20px;font-size:.88rem}.class-create-section{border-top:1px solid var(--color-border-default);margin-top:38px;padding-top:34px}.class-create-section h2{letter-spacing:-.03em;margin:0;font-size:1.6rem}.class-create-section>p{color:var(--color-text-secondary);margin:7px 0 26px;font-size:.9rem}.class-form label{color:var(--color-text-secondary);gap:8px;font-size:.8rem;font-weight:800;display:grid}.class-form small{font-weight:500}.class-form input,.class-form select,.class-form textarea{border:1px solid var(--color-border-default);color:var(--color-text-primary);font:600 14px var(--font-body-sans);background:#fff;border-radius:14px;padding:15px}.class-form input:focus,.class-form select:focus,.class-form textarea:focus{outline:3px solid var(--color-bg-brand-subtle);border-color:var(--color-bg-brand)}.field-grid{grid-template-columns:2fr 1fr;gap:20px;display:grid}.setup-submit{background:var(--color-bg-brand);height:54px;box-shadow:0 5px 0 var(--color-bg-brand-strong);color:#fff;border:0;border-radius:16px;font-weight:800}.form-note{text-align:center;color:var(--color-text-secondary);margin:0;font-size:12px}.roster-cards{gap:10px;margin-top:18px;display:grid}.roster-card{border:1px solid var(--color-border-default);border-radius:14px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.roster-card button{background:var(--color-bg-brand-subtle);color:var(--color-text-brand);border:0;border-radius:10px;padding:8px 12px;font-weight:700}@media (max-width:700px){.onboarding-main{padding-top:38px}.onboarding-intro h1{font-size:2.35rem}.classes-main{padding-top:32px}.classes-heading h1{font-size:2.4rem}.class-list article{flex-direction:column;align-items:flex-start}.field-grid{grid-template-columns:1fr}}.class-invite h2,.join-card h1,.student-home h1{font-family:var(--font-heading-serif);letter-spacing:-.02em;margin:20px 0 6px;font-size:38px;font-weight:600;line-height:1.05}.class-invite>p,.join-card>p,.student-home p{color:#766f7e;line-height:1.55}.invite-ready{grid-template-columns:210px 1fr;align-items:center;gap:26px;padding:20px 0;display:grid}.invite-ready img{border:1px solid #ddd6e4;border-radius:20px;width:210px;height:210px;padding:10px}.invite-label{text-transform:uppercase;color:#766f7e;font:700 10px var(--font-body-sans);display:block}.class-code{color:#6f3dd2;font:800 32px/1.2 var(--font-body-sans);letter-spacing:.1em;margin:8px 0 18px;display:block}.copy-link{color:#6f3dd2;background:#eee6ff;border:0;border-radius:12px;padding:12px 15px;font-weight:800}.join-shell{background:#faf7f2;place-items:center;min-height:100vh;padding:28px;display:grid}.join-card{background:#fff;border:1px solid #ddd6e4;border-radius:28px;gap:16px;width:min(100%,480px);padding:38px;display:grid;box-shadow:0 12px 24px #1a122e14}.join-card .step-chip{width:max-content;margin-top:10px}.student-join-form{gap:17px;margin-top:6px;display:grid}.student-join-form label{color:#766f7e;text-transform:uppercase;font:700 10px var(--font-body-sans);gap:7px;display:grid}.student-join-form input{color:#27232f;font:600 16px var(--font-body-sans);text-transform:none;background:#fff;border:1px solid #ddd6e4;border-radius:14px;padding:15px}.student-home{background:#faf7f2;max-width:720px;min-height:100vh;margin:auto;padding:12vh 28px}.student-home .step-chip{width:max-content;margin-top:36px;display:block}@media (max-width:700px){.invite-ready{grid-template-columns:1fr}.invite-ready img{width:180px;height:180px}}.join-card>.join-privacy{color:#665f70;margin:2px 0 0;font-size:.76rem;line-height:1.55}.legal-page{background:var(--color-bg-app);min-height:100vh}.legal-header{border-bottom:1px solid var(--color-border-default);justify-content:space-between;align-items:center;gap:24px;width:min(100% - 40px,1120px);min-height:88px;margin:0 auto;display:flex}.legal-logo{color:var(--color-text-brand);font-size:1.2rem;font-weight:800;text-decoration:none}.legal-header>a:last-child{color:var(--color-text-secondary);font-size:.84rem;font-weight:800;text-decoration:none}.legal-header>a:last-child:hover{color:var(--color-text-primary)}.legal-layout{grid-template-columns:minmax(250px,330px) minmax(0,700px);justify-content:space-between;gap:clamp(56px,9vw,120px);width:min(100% - 40px,1120px);margin:0 auto;padding:72px 0 110px;display:grid}.legal-summary{align-self:start;position:sticky;top:32px}.legal-date{color:var(--color-text-brand);margin:0 0 18px;font-size:.8rem;font-weight:800}.legal-summary>h1{max-width:8ch;font-family:var(--font-heading-serif);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:3.5rem;font-weight:600;line-height:.98}.legal-summary>p:not(.legal-date){color:var(--color-text-secondary);margin:24px 0 34px;font-size:.95rem;line-height:1.65}.legal-summary nav{border-top:1px solid var(--color-border-default);padding-top:26px}.legal-summary nav h2{margin:0 0 12px;font-size:.8rem}.legal-summary ol{gap:5px;margin:0;padding:0;list-style:none;display:grid}.legal-summary nav a{color:var(--color-text-secondary);padding:4px 0;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-block}.legal-summary nav a:hover{color:var(--color-text-brand)}.legal-content{max-width:70ch}.legal-intro{color:var(--color-text-primary);margin:0 0 54px;font-size:1.15rem;line-height:1.7}.legal-content section{border-top:1px solid var(--color-border-default);padding:42px 0;scroll-margin-top:24px}.legal-content section:first-of-type{border-top:0;padding-top:0}.legal-content h2{font-family:var(--font-heading-serif);letter-spacing:-.02em;text-wrap:balance;margin:0 0 22px;font-size:2rem;font-weight:600;line-height:1.15}.legal-content h3{margin:26px 0 8px;font-size:.98rem;line-height:1.4}.legal-content li,.legal-content p{color:var(--color-text-secondary);text-wrap:pretty;font-size:.94rem;line-height:1.75}.legal-content p{margin:0 0 16px}.legal-content ul{margin:12px 0 20px;padding-left:1.25rem}.legal-content li+li{margin-top:8px}.legal-content strong{color:var(--color-text-primary)}.legal-content a:focus-visible,.legal-header a:focus-visible,.legal-summary a:focus-visible{outline-offset:3px;border-radius:3px;outline:3px solid #7841c447}@media (max-width:800px){.legal-layout{grid-template-columns:1fr;gap:54px;padding-top:46px}.legal-summary{position:static}.legal-summary>h1{max-width:10ch;font-size:3rem}.legal-summary nav{display:none}.legal-intro{margin-bottom:42px}}@media (max-width:520px){.legal-header{min-height:74px}.legal-header>a:last-child{font-size:.76rem}.legal-layout{width:min(100% - 32px,1120px);padding:36px 0 76px}.legal-summary>h1{font-size:2.6rem}.legal-content h2{font-size:1.72rem}.legal-content section{padding:34px 0}}.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}.practice-shell{--practice-shadow:0 16px 48px #302b391c;background:var(--color-bg-app);min-height:100svh;font-family:var(--font-body-sans)}.practice-brand,.practice-topbar{align-items:center;width:min(100% - 32px,960px);margin:0 auto;display:flex}.practice-brand{color:var(--color-text-secondary);justify-content:space-between;padding:28px 0;font-size:.875rem;font-weight:700}.practice-logo{color:var(--color-text-brand);letter-spacing:-.02em;font-size:1.2rem;text-decoration:none}.learn-shell{background:radial-gradient(circle at 18% 12%,#7841c424,transparent 28rem),var(--color-bg-app)}.learn-panel,.results-panel{background:var(--color-bg-elevated);border:1px solid var(--theme-section-line);border-radius:var(--radius-xl);width:min(100% - 32px,720px);box-shadow:var(--practice-shadow);margin:clamp(20px,7vh,72px) auto}.learn-panel{padding:clamp(24px,6vw,56px)}.learn-toolbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:clamp(32px,6vh,58px);display:flex}.learn-step{align-items:center;width:150px;display:flex}.learn-step span{border:1px solid var(--color-border-default);width:32px;height:32px;color:var(--color-text-secondary);border-radius:50%;place-items:center;font-size:.8rem;font-weight:800;display:grid}.learn-step span.active,.learn-step span.done{background:var(--color-bg-brand);border-color:var(--color-bg-brand);color:#fff}.learn-step i{background:var(--color-border-subtle);flex:1;height:2px}.learn-content{animation:practice-in .22s cubic-bezier(.22,1,.36,1)}.lesson-concept{color:var(--color-text-brand);letter-spacing:.02em;margin-bottom:12px;font-size:.82rem;font-weight:800;display:block}.learn-content h1,.results-panel h1{font-family:var(--font-heading-serif);letter-spacing:-.025em;text-wrap:balance;max-width:12ch;margin:0;font-size:3rem;font-weight:600;line-height:.98}.lesson-rule{max-width:56ch;color:var(--color-text-secondary);margin:22px 0;font-size:1.08rem;line-height:1.65}.grammar-pattern{border-radius:var(--radius-md);background:var(--color-bg-brand-subtle);color:var(--color-text-brand);gap:6px;margin:28px 0;padding:18px 20px;display:grid}.grammar-pattern span{font-size:.72rem;font-weight:800}.grammar-pattern strong{font-size:1.05rem}.practice-language-button{border-radius:var(--radius-full);background:var(--color-bg-brand-subtle);min-height:28px;color:var(--color-text-brand);border:1px solid #c8c4d5;padding:3px 12px;font-size:.8rem;font-weight:800}.practice-language-button .esl-icon{display:block}.practice-language-button:hover,.practice-language-button[aria-expanded=true]{border-color:var(--color-bg-brand);background:#fff}.practice-input-wrap input:focus-visible,.practice-language-button:focus-visible,.practice-option:focus-visible,.word-bank button:focus-visible,.word-choice:focus-visible{outline-offset:3px;outline:3px solid #7841c447}.language-hint{border-radius:var(--radius-sm);background:var(--color-bg-badge-soft);color:var(--color-text-primary);padding:14px 16px;line-height:1.55}.learn-content>.app-button--primary{margin-top:32px}.example-list{gap:12px;margin:30px 0;padding:0;list-style:none;display:grid}.example-list li{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);align-items:center;gap:14px;min-height:64px;padding:10px 16px;font-weight:700;display:flex}.example-list li span{background:var(--color-bg-brand-subtle);height:30px;color:var(--color-text-brand);border-radius:50%;flex:0 0 30px;place-items:center;font-size:.78rem;display:grid}.example-list li div{gap:3px;display:grid}.example-list li strong{font-size:.95rem}.example-list li small{color:var(--color-text-secondary);font-size:.78rem;font-weight:600;line-height:1.35}.objective-row{color:var(--color-text-secondary);flex-wrap:wrap;gap:8px;margin:20px 0;font-size:.8rem;font-weight:700;display:flex}.objective-row span{border-radius:var(--radius-full);background:var(--color-bg-surface);padding:8px 10px}.learn-actions,.results-actions{justify-content:space-between;gap:12px;margin-top:34px;display:flex}.practice-topbar{gap:22px;min-height:82px}.practice-logo{flex:none;font-weight:800}.progress-track{border-radius:var(--radius-full);background:var(--color-bg-surface);flex:1;height:12px;overflow:hidden}.progress-track i{border-radius:inherit;background:var(--color-bg-brand);height:100%;transition:width .22s cubic-bezier(.22,1,.36,1);display:block}.question-count{color:var(--color-text-secondary);flex:none;font-size:.82rem;font-weight:800}.question-shell{background:var(--color-bg-elevated);grid-template-rows:auto 1fr auto;display:grid}.question-panel{width:min(100% - 32px,720px);margin:0 auto;padding:clamp(36px,9vh,84px) 0 48px}.stage-heading{align-items:baseline;gap:14px;margin-bottom:38px;display:flex}.stage-heading span{border-radius:var(--radius-full);background:var(--color-bg-brand-subtle);color:var(--color-text-brand);padding:7px 11px;font-size:.75rem;font-weight:800}.stage-heading p{color:var(--color-text-secondary);margin:0;font-size:.88rem}.question-context{border-radius:var(--radius-md);background:var(--color-bg-badge-soft);color:var(--color-text-primary);margin:0 0 15px;padding:17px 18px;font-size:1rem;line-height:1.55}.question-panel h1{font-family:var(--font-heading-serif);letter-spacing:-.02em;text-wrap:balance;max-width:21ch;margin:0 0 34px;font-size:2.2rem;font-weight:600;line-height:1.12}.practice-options{gap:12px;display:grid}.practice-option{text-align:left;border:2px solid var(--color-border-subtle);border-radius:var(--radius-md);width:100%;min-height:66px;color:var(--color-text-primary);background:#fff;align-items:center;gap:15px;padding:10px 18px;font-weight:700;line-height:1.4;transition:border-color .16s,background-color .16s,transform .16s;display:flex}.practice-option:hover:not(:disabled){border-color:var(--color-border-default);transform:translateY(-1px)}.practice-option.is-selected{border-color:var(--color-bg-brand);background:var(--color-bg-brand-subtle);color:var(--color-text-brand)}.option-key{border:1px solid;border-radius:10px;flex:0 0 34px;place-items:center;height:34px;font-size:.8rem;display:grid}.word-choices{flex-wrap:wrap;gap:12px;display:flex}.word-bank button,.word-choice{border:2px solid var(--color-border-subtle);border-radius:var(--radius-sm);min-height:52px;color:var(--color-text-primary);box-shadow:0 3px 0 var(--color-border-subtle);background:#fff;padding:0 20px;font-weight:800}.word-bank button:hover:not(:disabled),.word-choice:hover:not(:disabled){border-color:var(--color-border-default);transform:translateY(-1px)}.word-choice.is-selected{border-color:var(--color-bg-brand);background:var(--color-bg-brand-subtle);box-shadow:0 3px 0 var(--color-bg-brand);color:var(--color-text-brand)}.practice-input-wrap{gap:9px;display:grid}.practice-input-wrap span{color:var(--color-text-secondary);font-size:.8rem;font-weight:800}.practice-input-wrap input{border:2px solid var(--color-border-default);border-radius:var(--radius-md);width:100%;min-height:62px;color:var(--color-text-primary);background:#fff;padding:0 18px;font-size:1.05rem;font-weight:700}.practice-input-wrap input::placeholder{color:#6f6879}.practice-input-wrap input:focus{border-color:var(--color-bg-brand);outline:none}.word-bank{gap:24px;display:grid}.sentence-builder{border:2px dashed var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-app);flex-wrap:wrap;align-content:flex-start;align-items:center;gap:9px;min-height:92px;padding:16px;display:flex}.sentence-builder>span{color:var(--color-text-secondary);font-size:.9rem;font-weight:700}.sentence-builder button{border-color:var(--color-bg-brand);min-height:44px;box-shadow:none;background:var(--color-bg-brand-subtle);color:var(--color-text-brand);padding:0 14px}.sentence-order .sentence-builder button{align-items:center;gap:8px;display:flex}.sentence-order .sentence-builder button span{opacity:.7;font-size:.7rem}.word-bank-options{flex-wrap:wrap;gap:10px;display:flex}.word-bank-options .is-used{visibility:hidden;pointer-events:none}.answer-bar{border-top:1px solid var(--color-border-subtle);background:var(--color-bg-app);transition:background-color .18s}.answer-bar.is-correct{background:#edf5ea}.answer-bar.is-incorrect{background:#fff0ed}.answer-bar-inner{justify-content:space-between;align-items:center;gap:20px;width:min(100% - 32px,720px);min-height:116px;margin:0 auto;padding:20px 0;display:flex}.answer-nudge{color:var(--color-text-secondary);font-size:.88rem}.feedback-copy{align-items:flex-start;gap:13px;display:flex}.feedback-copy>div{gap:3px;display:grid}.feedback-copy strong{font-size:1.02rem}.feedback-copy p{color:var(--color-text-secondary);margin:0;font-size:.86rem;line-height:1.45}.feedback-copy .correct-answer{color:var(--color-text-primary);font-weight:800}.feedback-icon{background:var(--color-accent-success-bg);color:#426d35;border-radius:50%;flex:0 0 34px;place-items:center;height:34px;font-weight:900;display:grid}.is-incorrect .feedback-icon{color:#a32f23;background:#ffd9d3}.answer-bar .app-button--primary{flex:none;min-width:150px}.results-shell{background:radial-gradient(circle at 50% 8%,#7841c424,transparent 31rem),var(--color-bg-app);place-items:center;padding:32px;display:grid}.results-panel{text-align:center;margin:auto;padding:clamp(28px,6vw,52px)}.result-mark{background:var(--color-accent-success-bg);color:#426d35;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto 22px;font-size:2rem;font-weight:900;display:grid}.results-panel h1{max-width:none;font-size:3.4rem}.results-panel>p{color:var(--color-text-secondary);margin:12px 0 0}.score-summary{border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);grid-template-columns:repeat(3,1fr);margin:34px 0;padding:22px 0;display:grid}.score-summary div{gap:5px;display:grid}.score-summary div+div{border-left:1px solid var(--color-border-subtle)}.score-summary strong{font-size:1.45rem}.score-summary span{color:var(--color-text-secondary);font-size:.76rem;font-weight:800}.skill-results{text-align:left}.skill-results h2{font-family:var(--font-heading-serif);margin:0 0 14px;font-size:1.5rem;font-weight:600}.skill-result{gap:7px;margin:13px 0;display:grid}.skill-result>div:first-child{color:var(--color-text-secondary);text-transform:capitalize;justify-content:space-between;gap:12px;font-size:.82rem;display:flex}.skill-result>div:first-child strong{color:var(--color-text-primary)}.skill-result>div:last-child{border-radius:var(--radius-full);background:var(--color-bg-surface);height:7px;overflow:hidden}.skill-result i{border-radius:inherit;background:var(--color-bg-brand);height:100%;display:block}.results-actions .app-button{flex:1;width:auto}.practice-completion-badge{background:var(--color-bg-surface);color:var(--color-text-secondary);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:6px 10px;display:inline-flex}.practice-completion-badge.is-complete{background:var(--color-accent-success-bg);color:#426d35}@keyframes practice-in{0%{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:640px){.practice-brand{padding:20px 0}.learn-panel{border-radius:var(--radius-lg);margin:4px auto 24px}.learn-content h1{font-size:2.45rem}.learn-actions{grid-template-columns:1fr 2fr;display:grid}.learn-actions .app-button--primary{margin:0}.practice-shell .app-button{gap:14px;width:100%}.practice-topbar{gap:12px;min-height:68px}.practice-logo{font-size:1rem}.question-count{font-size:.75rem}.question-panel{padding:28px 0 34px}.stage-heading{margin-bottom:28px;display:block}.stage-heading p{margin-top:9px}.question-panel h1{margin-bottom:28px;font-size:1.85rem}.practice-option{min-height:62px;padding:9px 12px}.option-key{flex-basis:31px;height:31px}.answer-bar-inner{flex-direction:column;align-items:stretch;min-height:132px;padding:16px 0}.answer-bar .app-button--primary{width:100%;min-height:52px}.answer-nudge{display:none}.feedback-copy p{font-size:.8rem}.score-summary{margin:28px 0}.results-shell{padding:16px}.results-panel{border-radius:var(--radius-lg)}}@media (prefers-reduced-motion:reduce){.learn-content{animation:none}.progress-track i{transition:none}}.question-shell{--practice-accent:#ff5c39;--practice-accent-strong:#e54b2b;--practice-error-bg:#ffdad6;--practice-success:#10b981;--practice-success-bg:#ecfdf5;--practice-warm-feedback:#fef3c7;background:var(--color-bg-app);grid-template-rows:auto auto 1fr auto;width:min(100%,430px);min-height:100svh;margin:0 auto;padding:0 24px}.question-shell .practice-topbar{gap:12px;width:100%;min-height:auto;margin:0;padding:16px 0 32px}.practice-close{flex:0 0 24px;place-items:center;width:24px;height:24px;display:grid}.practice-close img{width:24px;height:24px;display:block}.question-shell .progress-track{background:#eceef0;height:12px}.question-shell .progress-track i{background:var(--practice-accent)}.question-shell .question-count{min-width:42px;color:var(--practice-accent);text-align:right;font-size:.8rem}.lesson-section-row{justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.lesson-section-row>span{color:#8c8476;letter-spacing:.075em;text-transform:uppercase;font-size:.8rem;font-weight:800}.question-shell .question-panel{flex-direction:column;gap:16px;width:100%;margin:0;padding:16px 0;display:flex}.question-instruction{color:var(--color-text-secondary);font-size:.875rem;font-weight:700;line-height:1.45}.prompt-card{background:#fff;border:2px solid #eceef0;border-radius:16px;padding:16px}.question-shell .prompt-card h1{max-width:none;font-family:var(--font-heading-serif);letter-spacing:-.015em;margin:0;font-size:1.38rem;line-height:1.36}.prompt-card p{color:var(--color-text-secondary);margin:14px 0 0;font-size:.875rem;line-height:1.45}.chinese-help-dialog{width:min(100%,430px);max-width:none;max-height:min(72svh,580px);color:var(--color-text-primary);background:#fff;border:0;border-radius:28px 28px 0 0;margin:auto auto 0;padding:12px 24px 20px;animation:help-sheet-in .22s cubic-bezier(.22,1,.36,1);overflow:auto;box-shadow:0 -10px 40px #14121a29}.chinese-help-dialog::backdrop{background:#14121a57}.help-drag{background:#eceef0;border-radius:2px;width:44px;height:4px;margin:0 auto 12px}.chinese-help-dialog header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.chinese-help-dialog h2{font-family:var(--font-heading-serif);margin:0;font-size:1.5rem;line-height:1.4}.chinese-help-dialog header button{background:var(--color-bg-brand-subtle);width:34px;height:34px;color:var(--color-text-primary);border:0;border-radius:50%;place-items:center;font-size:1.05rem;font-weight:700;display:grid}.grammar-tip-card,.translation-card{border-radius:16px;gap:7px;padding:14px 16px;display:grid}.translation-card{background:#fff;border:1px solid #eceef0}.grammar-tip-card{background:var(--color-bg-brand-subtle);margin-top:14px}.grammar-tip-card span,.translation-card span{color:#8c8476;letter-spacing:.075em;text-transform:uppercase;font-size:.72rem;font-weight:800}.translation-card p{color:#191c1e;margin:0;font-size:1rem;font-weight:700;line-height:1.35}.grammar-tip-card p{color:#191c1e;margin:0;font-size:.86rem;font-weight:600;line-height:1.45}.grammar-tip-card small{color:var(--color-text-brand);font-size:.78rem;font-weight:700;line-height:1.35;display:block}.help-formula{color:#191c1e;background:#fff;border:1px solid #eceef0;border-radius:12px;margin-top:14px;padding:12px 16px;font-size:.92rem;font-weight:700}.help-back-button{color:#fff;letter-spacing:.025em;text-transform:uppercase;background:#ff5c39;border:0;border-radius:12px;width:100%;min-height:56px;margin-top:14px;font-size:1rem;font-weight:800;box-shadow:0 5px #e54b2b}.help-back-button:hover{background:#e54b2b}.help-back-button:active{transform:translateY(3px);box-shadow:0 2px #e54b2b}.chinese-help-dialog header button:focus-visible,.help-back-button:focus-visible{outline-offset:3px;outline:3px solid #7841c44d}.listening-question{gap:16px;display:grid}.listening-player{background:#fff;border:2px solid #eceef0;border-radius:16px;align-items:center;gap:12px;min-height:86px;padding:14px 16px;display:flex}.listening-play{background:var(--color-bg-brand);width:52px;height:52px;box-shadow:0 4px 0 var(--color-bg-brand-strong);color:#fff;border:0;border-radius:50%;flex:0 0 52px;place-items:center;font-size:1rem;font-weight:900;display:grid}.listening-play:hover:not(:disabled){background:var(--color-bg-brand-strong)}.listening-play:active:not(:disabled){box-shadow:0 2px 0 var(--color-bg-brand-strong);transform:translateY(2px)}.listening-play:focus-visible,.listening-speed:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:3px}.listening-play:disabled{cursor:not-allowed;opacity:.5}.listening-copy{flex:1;gap:3px;min-width:0;display:grid}.listening-copy strong{font-size:.94rem}.listening-copy span{color:var(--color-text-secondary);font-size:.75rem;line-height:1.35}.listening-speed{min-height:34px;color:var(--color-text-brand);background:#fff;border:1px solid #c8c4d5;border-radius:999px;flex:none;padding:0 10px;font-size:.75rem;font-weight:900}.listening-speed:hover,.listening-speed[aria-pressed=true]{border-color:var(--color-bg-brand);background:var(--color-bg-brand-subtle)}.listening-wave{align-items:center;gap:3px;height:30px;display:flex}.listening-wave i{background:var(--color-bg-brand);opacity:.45;border-radius:2px;width:3px;height:8px;display:block}.listening-player.is-playing .listening-wave i{animation:listening-wave .75s ease-in-out infinite alternate}.listening-player.is-playing .listening-wave i:nth-child(2),.listening-player.is-playing .listening-wave i:nth-child(4){animation-delay:-.3s}.listening-player.is-playing .listening-wave i:nth-child(3){animation-delay:-.55s}.audio-error{color:#8f251b;background:#ffdad6;border-radius:10px;margin:0;padding:10px 12px;font-size:.8rem;font-weight:700}.listening-transcript{background:var(--color-bg-brand-subtle);border-radius:12px;gap:4px;margin:0;padding:12px 14px;font-size:.82rem;line-height:1.45;display:grid}.listening-transcript strong{color:var(--color-text-brand);text-transform:uppercase;font-size:.72rem}.listening-transcript span{color:var(--color-text-primary)}@keyframes listening-wave{0%{height:8px}to{height:28px}}.speaking-heading{font-family:var(--font-heading-serif);line-height:1.35;max-width:none!important;margin:0!important;font-size:1.62rem!important}.speaking-question{gap:16px;display:grid}.speaking-target{background:#fff;border:2px solid #eceef0;border-radius:16px;padding:16px;box-shadow:3px 3px #eae6d9}.speaking-target blockquote{font-family:var(--font-heading-serif);margin:0;font-size:1.34rem;line-height:1.45}.speaking-target p{color:var(--color-text-secondary);margin:12px 0 0;font-size:.82rem;line-height:1.45}.speaking-recorder{background:var(--color-bg-brand-subtle);text-align:center;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:210px;padding:20px;display:flex}.speaking-mic{color:#fff;background:#6c5dd3;border:0;border-radius:50%;place-items:center;width:112px;height:112px;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1);display:grid;box-shadow:0 0 #6c5dd333}.speaking-mic:hover:not(:disabled){transform:scale(1.025)}.speaking-mic:active:not(:disabled){transform:scale(.975)}.speaking-mic:focus-visible{outline-offset:4px;outline:4px solid #6c5dd347}.speaking-mic:disabled{cursor:default}.speaking-mic img{width:36px;height:36px}.speaking-recorder>strong{font-size:.94rem;font-weight:600}.speaking-recorder.is-recording .speaking-mic{background:#ff5c39;box-shadow:0 0 0 10px #ff5c3921}.recording-pulse{align-items:center;gap:4px;height:22px;display:flex}.recording-pulse i{background:#ff5c39;border-radius:3px;width:4px;height:7px;animation:speaking-level .58s ease-in-out infinite alternate;display:block}.recording-pulse i:nth-child(2),.recording-pulse i:nth-child(4){animation-delay:-.28s}.recording-pulse i:nth-child(3){animation-delay:-.45s}.speaking-playback{width:min(100%,260px);height:36px}.speaking-retry{min-height:36px;color:var(--color-text-brand);background:#fff;border:1px solid #c8c4d5;border-radius:9999px;padding:4px 12px;font-size:.78rem;font-weight:800}.speaking-retry:hover{border-color:var(--color-bg-brand)}.speaking-error{color:#8f251b;background:#ffdad6;border-radius:12px;margin:0;padding:12px 14px;font-size:.82rem;font-weight:700;line-height:1.45}.pronunciation-cues{gap:10px;display:grid}.pronunciation-cues>strong{color:#8c8476;letter-spacing:.075em;text-transform:uppercase;font-size:.75rem;font-weight:800}.pronunciation-cues>div{flex-wrap:wrap;gap:10px;display:flex}.pronunciation-cues span{background:#fff;border:1px solid #eceef0;border-radius:9999px;padding:9px 14px;font-size:.88rem;font-weight:600}.speaking-action{text-align:center;gap:10px;margin-top:8px;display:grid}.speaking-action>p{color:#8c8476;margin:0;font-size:.75rem}.question-shell .speaking-action .app-button--primary{background:#ff5c39;width:100%;min-height:56px;box-shadow:0 5px #e54b2b}.question-shell .speaking-action .app-button--primary:hover:not(:disabled){background:#e54b2b}.speaking-action>small{color:var(--color-text-secondary);font-size:.68rem;line-height:1.4}@keyframes speaking-level{0%{height:6px}to{height:20px}}.question-shell .practice-options{gap:12px}.question-shell .practice-option,.question-shell .word-choice{width:100%;min-height:64px;box-shadow:none;color:#191c1e;background:#fff;border:2px solid #eceef0;border-radius:12px;align-items:center;gap:12px;padding:10px 16px;font-size:.94rem;font-weight:600;display:flex}.question-shell .practice-option:hover:not(:disabled),.question-shell .word-choice:hover:not(:disabled){border-color:#c8c4d5;transform:none}.question-shell .practice-option.is-selected,.question-shell .word-choice.is-selected{border-color:var(--color-bg-brand);color:#191c1e;background:#fff}.question-shell .practice-option.is-incorrect,.question-shell .word-choice.is-incorrect{border-color:var(--practice-accent);background:var(--practice-error-bg);color:#191c1e}.question-shell .practice-option.is-correct,.question-shell .word-choice.is-correct{border-color:var(--practice-success);background:var(--practice-success-bg);color:#047857}.question-shell .option-key{background:var(--color-bg-app);color:#8c8476;border:1px solid #d2c9b9;border-radius:8px;flex:0 0 26px;place-items:center;width:26px;height:24px;font-size:.72rem;display:grid}.question-shell .is-correct .option-key{color:#059669;background:#d1fae5;border-color:#d1fae5}.answer-check{object-fit:contain;width:20px;height:20px}.question-shell .word-choices{gap:12px;display:grid}.question-shell .practice-input-wrap input{border:2px solid #eceef0;border-radius:12px;min-height:64px}.question-shell .practice-input-wrap input:focus{border-color:var(--color-bg-brand)}.question-shell .practice-input-wrap.is-incorrect input{border-color:var(--practice-accent);background:var(--practice-error-bg)}.question-shell .practice-input-wrap.is-correct input{border-color:var(--practice-success);background:var(--practice-success-bg)}.question-shell .word-bank{gap:16px}.question-shell .sentence-builder{background:#fff;border:2px dashed #d2c9b9;border-radius:12px;min-height:88px}.question-shell .sentence-builder.is-incorrect{border-style:solid;border-color:var(--practice-accent);background:var(--practice-error-bg)}.question-shell .sentence-builder.is-correct{border-style:solid;border-color:var(--practice-success);background:var(--practice-success-bg)}.question-shell .word-bank button{box-shadow:none;border-radius:10px}.matching-board{gap:12px;display:grid}.matching-board>p{color:#6f6879;margin:0;font-size:.8rem;font-weight:700}.matching-columns{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:10px;display:grid}.matching-column{align-content:start;gap:10px;display:grid}.matching-column button{color:#191c1e;background:#fff;border:2px solid #eceef0;border-radius:12px;min-height:60px;padding:9px 10px;font-size:.82rem;font-weight:700;line-height:1.25}.matching-column button:disabled{cursor:default;opacity:.56}.matching-column button.is-active,.matching-column button.is-paired{border-color:var(--color-bg-brand);background:var(--color-bg-brand-subtle);color:var(--color-text-brand);opacity:1}.matching-column button.is-correct{border-color:var(--practice-success);background:var(--practice-success-bg);color:#047857;opacity:1}.matching-column button.is-incorrect{border-color:var(--practice-accent);background:var(--practice-error-bg);color:#191c1e;opacity:1}.explanation-area{gap:12px;display:grid}.coach-feedback{background:var(--practice-warm-feedback);border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.coach-feedback img{object-fit:cover;border-radius:50%;flex:0 0 40px;width:40px;height:40px}.coach-feedback p{color:#92400e;margin:0;font-size:.82rem;font-weight:600;line-height:1.4}.grammar-card{background:#fff;border:1px solid #eceef0;border-radius:12px;padding:16px}.grammar-card>strong{color:var(--color-text-brand);text-transform:uppercase;font-size:.75rem}.grammar-card p{color:#191c1e;margin:8px 0 0;font-size:.82rem;line-height:1.45}.grammar-card .correct-answer{color:var(--practice-accent-strong);font-weight:800}.speaking-evaluation ul{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.speaking-evaluation li{align-items:flex-start;gap:8px;font-size:.82rem;line-height:1.45;display:flex}.speaking-evaluation li span{border-radius:50%;flex:0 0 20px;place-items:center;width:20px;height:20px;font-weight:900;display:grid}.speaking-evaluation li.is-met span{color:#30732b;background:#e4f4df}.speaking-evaluation li.needs-work span{color:#9a5b00;background:#fff0d6}.grammar-card .speaking-next-step{background:var(--color-bg-brand-subtle);border-radius:10px;margin-top:14px;padding:10px 12px;font-weight:700}.conversation-question{gap:16px;display:grid}.conversation-brief{background:#fff;border:2px solid #eceef0;border-radius:18px;gap:10px;padding:18px;display:grid;box-shadow:3px 3px #eae6d9}.conversation-brief>span,.conversation-feedback-card>span,.conversation-translation>span{color:#8c8476;letter-spacing:.075em;text-transform:uppercase;font-size:.7rem;font-weight:900}.conversation-brief h2{font-family:var(--font-heading-serif);margin:0;font-size:1.2rem;line-height:1.4}.conversation-brief p{color:var(--color-text-secondary);margin:0;font-size:.86rem;line-height:1.5}.conversation-brief>div{flex-wrap:wrap;gap:8px;display:flex}.conversation-brief>div span{background:var(--color-bg-brand-subtle);color:var(--color-text-brand);border-radius:9999px;padding:7px 11px;font-size:.72rem;font-weight:800}.conversation-stage{text-align:center;background:linear-gradient(145deg,#f0edff,#fff5ec);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:220px;padding:22px;display:flex}.conversation-stage>img{border-radius:50%;width:82px;height:82px;box-shadow:0 7px 20px #4d3d8f26}.conversation-stage>strong{font-family:var(--font-heading-serif);font-size:1.18rem}.conversation-stage>p{max-width:420px;color:var(--color-text-secondary);margin:0;font-size:.8rem;line-height:1.5}.conversation-stage.is-active>img{box-shadow:0 0 0 9px #6c5dd31c,0 7px 20px #4d3d8f26}.conversation-actions{grid-template-columns:1fr;gap:10px;display:grid}.conversation-actions:has(>button+button){grid-template-columns:1fr 1fr}.conversation-actions button{width:100%}.conversation-privacy{color:var(--color-text-secondary);text-align:center;font-size:.68rem;line-height:1.45;display:block}.conversation-feedback{gap:14px;display:grid}.conversation-summary{background:var(--color-bg-brand-subtle);border-radius:18px;padding:18px}.conversation-summary strong{font-family:var(--font-heading-serif);font-size:1.18rem}.conversation-summary p{color:var(--color-text-secondary);margin:7px 0;font-size:.85rem;line-height:1.5}.conversation-summary small{color:#8c8476;font-size:.7rem;font-weight:800}.conversation-feedback-card{background:#fff;border:2px solid #eceef0;border-radius:18px;gap:6px;padding:18px;display:grid;box-shadow:3px 3px #eae6d9}.conversation-feedback-card p{margin:0 0 7px;font-size:.86rem;line-height:1.5}.conversation-feedback-card>strong{color:var(--color-text-brand);margin-bottom:7px;font-size:.96rem;line-height:1.45}.conversation-translation{background:#fff8e8;border-radius:12px;gap:6px;margin-top:8px;padding:14px;display:grid}.conversation-translation p{margin:0;font-size:.82rem}.conversation-translation strong{font-size:.88rem}.conversation-translate{width:100%}.conversation-onboarding{background:#fff;border:2px solid #eceef0;border-radius:18px;gap:16px;padding:18px;display:grid}.conversation-onboarding-head{align-items:center;gap:13px;display:flex}.conversation-onboarding-head img{border-radius:50%;flex:0 0 52px;width:52px;height:52px}.conversation-onboarding-head strong{font-family:var(--font-heading-serif);font-size:1.08rem}.conversation-onboarding-head p{color:var(--color-text-secondary);margin:4px 0 0;font-size:.8rem;line-height:1.4}.conversation-onboarding ol{gap:10px;margin:0;padding:0;list-style:none;display:grid}.conversation-onboarding li{align-items:flex-start;gap:11px;display:flex}.conversation-onboarding li>span{background:var(--color-bg-brand-subtle);width:28px;height:28px;color:var(--color-text-brand);border-radius:50%;flex:0 0 28px;place-items:center;font-size:.75rem;font-weight:900;display:grid}.conversation-onboarding li strong{font-size:.84rem}.conversation-onboarding li p{color:var(--color-text-secondary);margin:2px 0 0;font-size:.76rem;line-height:1.4}.conversation-warmup{background:var(--color-bg-brand-subtle);border-radius:14px;gap:7px;padding:14px;display:grid}.conversation-warmup>span{color:var(--color-text-brand);font-size:.72rem;font-weight:900}.conversation-warmup>strong{font-size:.9rem;line-height:1.4}.conversation-warmup>div{border-top:1px solid #7841c424;gap:4px;padding-top:5px;display:grid}.conversation-warmup p{color:var(--color-text-primary);margin:0;font-size:.78rem;line-height:1.45}.conversation-retry{width:100%}.conversation-lab-shell{min-height:100svh;padding-bottom:72px}.conversation-lab-header{justify-content:space-between;align-items:center;width:min(100% - 40px,1080px);min-height:82px;margin:0 auto;display:flex}.conversation-lab-header>a:last-child{color:var(--color-text-secondary);font-size:.82rem;font-weight:800;text-decoration:none}.conversation-lab-layout{grid-template-columns:minmax(240px,320px) minmax(0,620px);justify-content:space-between;gap:clamp(32px,7vw,92px);width:min(100% - 40px,1080px);margin:28px auto 0;display:grid}.conversation-lab-controls{align-self:start;position:sticky;top:28px}.conversation-lab-controls>span{color:var(--color-text-brand);font-size:.78rem;font-weight:800}.conversation-lab-controls h1{font-family:var(--font-heading-serif);letter-spacing:-.025em;margin:8px 0 10px;font-size:2.45rem;font-weight:600}.conversation-lab-controls>p{color:var(--color-text-secondary);margin:0 0 28px;font-size:.9rem;line-height:1.55}.conversation-lab-controls label{margin-bottom:8px;font-size:.78rem;font-weight:900;display:block}.conversation-lab-controls select{border:1px solid var(--color-border-default);width:100%;min-height:48px;color:var(--color-text-primary);background:#fff;border-radius:12px;padding:0 38px 0 13px;font-weight:700}.conversation-lab-controls select:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:2px}.conversation-lab-note{border-top:1px solid var(--color-border-default);margin-top:22px;padding-top:20px}.conversation-lab-note strong{font-size:.78rem}.conversation-lab-note ul{color:var(--color-text-secondary);margin:9px 0 0;padding-left:18px;font-size:.78rem;line-height:1.7}.conversation-lab-preview{border:1px solid var(--color-border-default);background:var(--color-bg-elevated);min-width:0;box-shadow:var(--practice-shadow);border-radius:24px;padding:20px}@media (max-width:760px){.conversation-lab-layout{grid-template-columns:1fr;gap:24px}.conversation-lab-controls{position:static}.conversation-lab-controls h1{font-size:2rem}.conversation-lab-preview{padding:14px}.conversation-actions:has(>button+button){grid-template-columns:1fr}}.question-shell .answer-bar{background:0 0;border:0}.question-shell .answer-bar.is-correct,.question-shell .answer-bar.is-incorrect{background:0 0}.question-shell .answer-bar-inner{width:100%;min-height:auto;margin:0;padding:12px 0 20px;display:block}.question-shell .answer-bar .app-button--primary{background:var(--practice-accent);width:100%;min-height:56px;box-shadow:0 5px 0 var(--practice-accent-strong);text-transform:uppercase;letter-spacing:.025em;font-size:1rem}.question-shell .answer-bar .app-button--primary:hover:not(:disabled){background:var(--practice-accent-strong)}.question-shell .answer-bar .app-button--primary:disabled{background:#d8d3d8;box-shadow:0 4px #c7c0cb}@media (min-width:560px){.question-shell{border-radius:40px;min-height:calc(100svh - 48px);margin:24px auto;box-shadow:0 18px 48px #302b391a}}@keyframes help-sheet-in{0%{opacity:.7;transform:translateY(32px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.chinese-help-dialog{animation:none}.listening-player.is-playing .listening-wave i{height:18px;animation:none}.recording-pulse i{height:14px;animation:none}.speaking-mic{transition:none}}.vocab-library-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.vocab-library-head h2{letter-spacing:-.03em;margin:0;font-size:1.5rem;font-weight:600}.vocab-library-head p{color:var(--color-text-secondary);margin:5px 0 0;font-size:.9rem}.vocab-primary{background:var(--color-bg-brand);min-height:44px;box-shadow:0 4px 0 var(--color-bg-brand-strong);color:#fff;border:0;border-radius:12px;padding:0 18px;font-size:.88rem;font-weight:800}.vocab-primary:hover:not(:disabled){background:var(--color-bg-brand-strong);transform:translateY(-1px)}.vocab-primary:active:not(:disabled){box-shadow:0 2px 0 var(--color-bg-brand-strong);transform:translateY(2px)}.vocab-form-message,.vocab-library-message{background:var(--color-bg-brand-subtle);color:var(--color-text-primary);border-radius:12px;margin:0 0 18px;padding:12px 14px;font-size:.88rem}.vocab-form-message a{margin-left:4px}.vocab-empty,.vocab-loading{border:1px dashed var(--color-border-default);border-radius:var(--radius-lg);text-align:center;background:#fff}.vocab-loading{color:var(--color-text-secondary);padding:60px;font-weight:700}.vocab-empty{padding:56px 24px}.vocab-empty>div{background:var(--color-bg-brand-subtle);width:52px;height:52px;color:var(--color-text-brand);border-radius:16px;place-items:center;margin:0 auto 18px;font-size:1.1rem;font-weight:900;display:grid}.vocab-empty h3{letter-spacing:-.02em;margin:0;font-size:1.3rem}.vocab-empty p{max-width:500px;color:var(--color-text-secondary);margin:8px auto 20px;font-size:.9rem;line-height:1.6}.vocab-empty small{color:var(--color-text-secondary);margin-top:17px;display:block}.vocab-set-grid{gap:14px;display:grid}.vocab-set-card{border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:#fff;transition:transform .16s,box-shadow .16s;position:relative}.vocab-set-card:has(.game-save-button[aria-expanded=true]),.vocab-set-card:has(.vocab-set-menu-trigger[aria-expanded=true]){z-index:60}.vocab-set-card:hover{transform:translateY(-1px);box-shadow:0 12px 28px #302b3914}.vocab-set-header{align-items:flex-start;display:flex}.vocab-set-main{min-width:0;min-height:108px;color:var(--color-text-primary);text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:16px;padding:22px;display:flex}.vocab-set-icon{background:var(--color-bg-brand-subtle);height:52px;color:var(--color-text-brand);border-radius:16px;flex:0 0 52px;place-items:center;font-weight:900;display:grid}.vocab-set-copy{flex:1;gap:5px;min-width:0;display:grid}.vocab-set-copy strong{font-size:1.08rem}.vocab-set-copy small,.vocab-set-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vocab-set-copy small{color:var(--color-text-secondary);font-size:.83rem}.vocab-set-count{color:var(--color-text-secondary);flex:none;font-size:.8rem;font-weight:800}.vocab-set-menu{margin:18px 18px 0 0;position:relative}.vocab-set-menu-trigger{width:40px;height:40px;color:var(--color-text-secondary);font:900 1rem/1 var(--font-body-sans);letter-spacing:.08em;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;padding:0 0 7px;display:grid}.vocab-set-menu-trigger:hover,.vocab-set-menu-trigger[aria-expanded=true]{border-color:var(--color-border-default);background:var(--color-bg-app);color:var(--color-text-primary)}.vocab-set-menu-popover button:focus-visible,.vocab-set-menu-trigger:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:2px}.vocab-set-menu-popover{z-index:40;border:1px solid var(--color-border-default);background:#fff;border-radius:12px;width:160px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 18px #302b3924}.vocab-set-menu-popover button{width:100%;min-height:38px;color:var(--color-text-primary);font:800 .8rem var(--font-body-sans);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 10px}.vocab-set-menu-popover button:hover{background:var(--color-bg-app)}.vocab-set-menu-popover .is-danger{color:#9b3027}.vocab-set-menu-popover .is-danger:hover{background:#fff0ed}.vocab-set-actions{border-top:1px solid var(--color-border-subtle);border-radius:0 0 var(--radius-lg)var(--radius-lg);background:var(--color-bg-app);gap:10px;padding:13px 16px;display:flex}.vocab-set-actions>.vocab-study-button{border:1px solid var(--color-bg-brand);min-height:44px;color:var(--color-text-brand);background:#fff;border-radius:10px;padding:0 18px;font-size:.8rem;font-weight:800}.vocab-set-actions .game-save-control{margin-left:auto}.vocab-set-actions .game-save-button{min-height:44px;box-shadow:none;border-width:1px;padding:0 18px;font-size:.8rem}.vocab-set-actions .game-save-button:hover:not(:disabled){box-shadow:none}.vocab-delete-dialog{width:min(100% - 32px,440px);max-width:none;color:var(--color-text-primary);background:#fff;border:0;border-radius:16px;margin:auto;padding:0;box-shadow:0 20px 50px #14121a33}.vocab-delete-dialog::backdrop{background:#14121a61}.vocab-delete-dialog>div{padding:26px}.vocab-delete-dialog h3{letter-spacing:-.02em;margin:0;font-size:1.25rem}.vocab-delete-dialog p{color:var(--color-text-secondary);margin:10px 0 24px;font-size:.875rem;line-height:1.55}.vocab-delete-dialog>div>div{justify-content:flex-end;gap:10px;display:flex}.vocab-delete-dialog button{border:1px solid var(--color-border-default);min-height:42px;color:var(--color-text-secondary);font:800 .82rem var(--font-body-sans);cursor:pointer;background:#fff;border-radius:10px;padding:0 15px}.vocab-delete-dialog button.is-danger{color:#fff;background:#b64035;border-color:#b64035}.vocab-delete-dialog button:disabled{cursor:wait;opacity:.6}.vocab-delete-dialog button:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:2px}.vocab-back{min-height:38px;color:var(--color-text-secondary);background:0 0;border:0;padding:0;font-size:.85rem;font-weight:800}.vocab-back:hover{color:var(--color-text-primary)}.vocab-create-heading{margin:34px 0 30px}.vocab-eyebrow{color:var(--color-text-brand);letter-spacing:.08em;text-transform:uppercase;margin:0 0 9px;font-size:.74rem;font-weight:900}.vocab-create-heading h2{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,5vw,3.2rem)}.vocab-create-heading>p:last-child{color:var(--color-text-secondary);margin:10px 0 0}.vocab-importer{border:1px solid var(--color-border-default);border-radius:var(--radius-xl);background:#fff;gap:20px;padding:clamp(22px,4vw,36px);display:grid;box-shadow:0 16px 42px #302b3914}.vocab-field{gap:8px;display:grid}.vocab-field>span,.vocab-import-head strong,.vocab-preview-head strong{font-size:.8rem;font-weight:900}.vocab-field small{color:var(--color-text-secondary);margin-left:6px;font-weight:600}.vocab-field input{border:1px solid var(--color-border-default);min-height:50px;color:var(--color-text-primary);background:#fff;border-radius:12px;padding:0 15px}.vocab-custom-delimiter input:focus,.vocab-field input:focus,.vocab-import-area:focus{border-color:var(--color-bg-brand);outline:3px solid var(--color-bg-brand-subtle)}.vocab-import-head,.vocab-preview-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.vocab-import-head p{max-width:70ch;color:var(--color-text-secondary);margin:4px 0 0;font-size:.8rem;line-height:1.5}.vocab-import-area{border:1px solid var(--color-border-default);width:100%;min-height:240px;color:var(--color-text-primary);resize:vertical;background:#faf9fc;border-radius:12px;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86rem;line-height:1.65}.vocab-delimiter{border:0;min-width:0;margin:0;padding:0}.vocab-delimiter legend{margin-bottom:11px;font-size:.8rem;font-weight:900}.vocab-delimiter-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.vocab-delimiter-options label{border:1px solid var(--color-border-default);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:10px;min-height:58px;padding:10px 12px;transition:border-color .15s,background-color .15s;display:flex}.vocab-delimiter-options label:hover{border-color:var(--color-bg-brand)}.vocab-delimiter-options label.is-selected{border-color:var(--color-bg-brand);background:var(--color-bg-brand-subtle)}.vocab-delimiter-options input{width:18px;height:18px;accent-color:var(--color-bg-brand);margin:0}.vocab-delimiter-options span{gap:2px;min-width:0;display:grid}.vocab-delimiter-options strong{font-size:.8rem}.vocab-delimiter-options small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font:700 .72rem ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.vocab-custom-delimiter{align-items:center;gap:12px;margin-top:12px;display:flex}.vocab-custom-delimiter span{font-size:.78rem;font-weight:800}.vocab-custom-delimiter input{border:1px solid var(--color-border-default);width:110px;min-height:42px;color:var(--color-text-primary);border-radius:10px;padding:0 12px}.vocab-import-tips{background:var(--color-bg-app);border-radius:12px;padding:17px 18px}.vocab-import-tips>strong{font-size:.8rem}.vocab-import-tips ul{color:var(--color-text-secondary);margin:9px 0 0;padding-left:19px;font-size:.8rem;line-height:1.65}.vocab-preview-head{align-items:center}.vocab-preview-head span{background:var(--color-bg-brand-subtle);color:var(--color-text-brand);border-radius:99px;padding:5px 9px;font-size:.75rem;font-weight:900}.vocab-preview-list{border:1px solid var(--color-border-subtle);border-radius:12px;overflow:hidden}.vocab-preview-list>div{grid-template-columns:34px minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:14px;min-height:52px;padding:8px 12px;display:grid}.vocab-preview-list>div+div{border-top:1px solid var(--color-border-subtle)}.vocab-preview-list span{color:var(--color-text-secondary);font-size:.72rem}.vocab-preview-list p{margin:0;font-size:.84rem;line-height:1.4}.vocab-preview-list .is-incomplete{background:#fff0ed}.vocab-preview-list .is-incomplete p:empty{color:#a32f23}.vocab-preview-empty,.vocab-preview-more{color:var(--color-text-secondary);text-align:center;margin:0;padding:20px;font-size:.82rem}.vocab-preview-empty{border:1px dashed var(--color-border-default);border-radius:12px}.vocab-create-actions{justify-content:flex-end;gap:12px;padding-top:4px;display:flex}.vocab-create-actions>button:first-child{min-height:44px;color:var(--color-text-secondary);background:0 0;border:0;padding:0 14px;font-weight:800}.vocab-study-shell{width:min(100% - 40px,860px);min-height:570px;margin:0 auto 80px;padding:10px 0}.vocab-study-top{grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;display:grid}.vocab-study-top p{text-overflow:ellipsis;text-align:center;white-space:nowrap;margin:0;font-weight:800;overflow:hidden}.vocab-study-top>span{background:var(--color-bg-brand-subtle);color:var(--color-text-brand);border-radius:99px;justify-self:end;padding:6px 10px;font-size:.75rem;font-weight:900}.vocab-study-progress{background:#fff;border-radius:99px;height:7px;margin:20px 0 28px;overflow:hidden}.vocab-study-progress i{border-radius:inherit;background:var(--color-bg-brand);height:100%;transition:width .25s;display:block}.vocab-study-stage{gap:18px;display:grid}.vocab-study-meta{color:var(--color-text-secondary);justify-content:space-between;font-size:.8rem;font-weight:800;display:flex}.vocab-flashcard{width:100%;min-height:330px;color:var(--color-text-primary);perspective:1200px;background:0 0;border:0;border-radius:28px;padding:0;transition:transform .18s cubic-bezier(.22,1,.36,1);box-shadow:0 18px 42px #302b391a}.vocab-flashcard:hover{transform:translateY(-2px)}.vocab-flashcard-inner{width:100%;min-height:330px;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.22,1,.36,1);display:block;position:relative}.vocab-flashcard.is-flipped .vocab-flashcard-inner{transform:rotateY(180deg)}.vocab-flashcard-face{border:1px solid var(--color-border-default);backface-visibility:hidden;background:#fff;border-radius:28px;place-items:center;padding:54px 42px;display:grid;position:absolute;inset:0}.vocab-flashcard-back{background:var(--color-bg-brand);color:#fff;transform:rotateY(180deg)}.vocab-flashcard-face>span{color:var(--color-text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900;position:absolute;top:22px;left:24px}.vocab-flashcard-back>span{color:#ffffffb8}.vocab-flashcard strong{text-wrap:balance;font-size:clamp(1.6rem,4vw,2.5rem);line-height:1.3;display:block}.vocab-flashcard small{color:var(--color-text-secondary);font-size:.72rem;position:absolute;bottom:20px;left:0;right:0}.vocab-flashcard-back small{color:#ffffffb3}.vocab-grade-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.vocab-grade-actions button{border:1px solid var(--color-border-default);min-height:50px;color:var(--color-text-primary);background:#fff;border-radius:12px;font-weight:800}.vocab-grade-actions button:first-child:hover{color:#a32f23;background:#fff0ed;border-color:#d95c4c}.vocab-grade-actions button:last-child:hover{color:#426d35;background:#edf5ea;border-color:#5f8c52}.vocab-study-summary{text-align:center;justify-items:center;padding:70px 24px;display:grid}.vocab-study-summary>strong{letter-spacing:-.06em;font-size:clamp(4rem,12vw,7rem);line-height:1}.vocab-study-summary h2{margin:14px 0 0;font-size:1.35rem}.vocab-study-summary>p:not(.vocab-eyebrow){color:var(--color-text-secondary);margin:8px 0 26px}.vocab-study-summary>div{gap:12px;display:flex}.vocab-study-summary>div>button:not(.vocab-primary){border:1px solid var(--color-border-default);background:#fff;border-radius:12px;min-height:44px;padding:0 16px;font-weight:800}@media (max-width:640px){.vocab-library-head{flex-direction:column;align-items:stretch}.vocab-library-head .vocab-primary{width:100%}.vocab-set-main{flex-wrap:wrap;align-items:flex-start}.vocab-set-copy{flex-basis:calc(100% - 70px)}.vocab-set-count{margin-left:68px}.vocab-set-actions{grid-template-columns:1fr 1fr;display:grid}.vocab-class-picker>div{display:grid}.vocab-class-picker select{width:100%;min-width:0}.vocab-delimiter-options{grid-template-columns:1fr 1fr}.vocab-preview-list>div{grid-template-columns:24px 1fr}.vocab-preview-list>div p:last-child{grid-column:2}.vocab-create-actions{grid-template-columns:1fr 2fr;display:grid}.vocab-study-top{grid-template-columns:1fr auto}.vocab-study-top p{text-align:left;grid-area:2/1/auto/-1}.vocab-study-stage{gap:14px}.vocab-flashcard{min-height:300px;padding:54px 24px}.vocab-grade-actions{grid-template-columns:1fr}.vocab-study-summary>div{flex-direction:column;width:100%}.vocab-study-summary>div button{width:100%}}@media (prefers-reduced-motion:reduce){.vocab-flashcard,.vocab-flashcard-inner,.vocab-study-progress i{transition:none}}.vocab-preview-list>div{grid-template-columns:34px minmax(0,.72fr) minmax(0,1.08fr) minmax(150px,.55fr)}.vocab-preview-media{justify-content:flex-end;align-items:center;gap:9px;min-width:0;display:flex}.vocab-preview-media>input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.vocab-preview-media img{object-fit:cover;border-radius:10px;flex:0 0 48px;width:48px;height:48px}.vocab-preview-media>div{justify-items:start;gap:3px;display:grid}.vocab-preview-media button,.vocab-preview-media label{color:var(--color-text-brand);font:800 .72rem/1.25 var(--font-body-sans);cursor:pointer;background:0 0;border:0;padding:0}.vocab-preview-media button{color:var(--color-text-secondary)}.vocab-add-image{white-space:nowrap;align-items:center;min-height:36px;display:inline-flex;border:1px solid var(--color-border-default)!important;color:var(--color-text-secondary)!important;background:#fff!important;border-radius:10px!important;padding:0 10px!important}.vocab-preview-media button:hover,.vocab-preview-media label:hover{color:var(--color-text-primary)}.vocab-replace-image{color:var(--color-text-brand)!important}.vocab-media-dialog{width:min(100% - 32px,640px);max-width:none;max-height:min(100% - 32px,720px);color:var(--color-text-primary);background:#fff;border:0;border-radius:16px;margin:auto;padding:0;box-shadow:0 20px 50px #14121a33}.vocab-media-dialog::backdrop{background:#14121a61}.vocab-media-dialog>div{gap:16px;padding:22px;display:grid}.vocab-media-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.vocab-media-head h3{letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:1.15rem}.vocab-media-head button{min-height:44px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;padding:0 6px;font-size:.85rem;font-weight:800}.vocab-set-icon{overflow:hidden}.vocab-set-icon img{object-fit:cover;width:100%;height:100%}.vocab-title-row{grid-template-columns:auto 1fr;align-items:start;gap:14px;display:grid}.vocab-cover{justify-items:center;gap:2px;display:grid}.vocab-cover-button{border:1px dashed var(--color-border-default);width:76px;height:76px;color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:14px;place-content:center;justify-items:center;gap:2px;padding:0;font-size:.72rem;font-weight:800;display:grid;overflow:hidden}.vocab-cover-button:hover{color:var(--color-text-primary)}.vocab-cover-button:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:2px}.vocab-cover-button:has(img){border-style:solid}.vocab-cover-button img{object-fit:cover;width:76px;height:76px}.vocab-cover-remove{min-height:24px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;padding:2px 6px;font-size:.72rem;font-weight:800}.vocab-cover-remove:hover{color:var(--color-text-primary)}.vocab-media-tabs{gap:6px;display:flex}.vocab-media-tabs button{border:1px solid var(--color-border-default);min-height:44px;color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:999px;padding:0 16px;font-size:.85rem;font-weight:800}.vocab-media-tabs button:hover{color:var(--color-text-primary)}.vocab-media-tabs button.is-selected{border-color:var(--color-bg-brand);background:var(--color-bg-brand-subtle);color:var(--color-text-brand)}.vocab-media-results.is-stickers img{object-fit:contain}.vocab-media-search{gap:10px;display:flex}.vocab-media-search input{border:1px solid var(--color-border-default);border-radius:12px;flex:1;min-width:0;min-height:44px;padding:0 14px;font-size:1rem}.vocab-media-search input:focus{outline:3px solid var(--color-bg-brand-subtle);outline-offset:1px}.vocab-media-results{grid-template-columns:repeat(3,1fr);align-content:start;gap:8px;min-height:140px;display:grid}.vocab-media-results>p{color:var(--color-text-secondary);text-align:center;grid-column:1/-1;margin:0;padding:40px 0;font-size:.9rem}.vocab-media-results>button{aspect-ratio:4/3;background:var(--color-bg-brand-subtle);cursor:pointer;border:0;border-radius:10px;padding:0;overflow:hidden}.vocab-media-results>button:focus-visible,.vocab-media-results>button:hover:not(:disabled){outline:3px solid var(--color-bg-brand);outline-offset:2px}.vocab-media-results>button:disabled{opacity:.5;cursor:default}.vocab-media-results>button[aria-busy=true]{opacity:1;outline:3px solid var(--color-bg-brand);outline-offset:2px}.vocab-media-results img{object-fit:cover;width:100%;height:100%;display:block}.vocab-media-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.vocab-media-foot small{font-size:.72rem}.vocab-media-foot small,.vocab-media-upload{color:var(--color-text-secondary);font-weight:800}.vocab-media-upload{border:1px solid var(--color-border-default);min-height:44px;cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:0 14px;font-size:.85rem;display:inline-flex}.vocab-media-upload:hover{color:var(--color-text-primary)}.vocab-media-upload:focus-within{outline:3px solid var(--color-bg-brand-subtle);outline-offset:2px}.vocab-media-upload input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:640px){.vocab-media-results{grid-template-columns:repeat(2,1fr)}}.vocab-preview-media label:focus-within{outline:3px solid var(--color-bg-brand-subtle);outline-offset:2px}.student-study-card-content,.vocab-flashcard-content{justify-items:center;gap:18px;width:min(100%,520px);display:grid}.student-study-card-content.has-media strong,.vocab-flashcard-content.has-media strong{font-size:clamp(1.35rem,3vw,2rem)}.vocab-flashcard-content img{object-fit:contain;border-radius:14px;width:min(100%,360px);height:180px}.student-study-card-content img{object-fit:contain;border-radius:14px;width:min(100%,360px);height:205px}.student-study-card-content>strong{text-wrap:balance;font-size:2rem;line-height:1.3}@media (max-width:640px){.vocab-preview-list>div{grid-template-columns:24px 1fr}.vocab-preview-list>div p:last-of-type{grid-column:2}.vocab-preview-media{grid-column:2;justify-content:flex-start}.vocab-flashcard-content img{height:155px}.student-study-card-content img{height:180px}}.classes-shell{background:var(--color-bg-app);min-height:100vh;color:var(--color-text-primary)}.classes-header{border-bottom:1px solid var(--color-border-subtle);background:#fff;width:100%;min-height:65px}.classes-header nav{justify-content:space-between;align-items:center;gap:32px;width:min(100% - 40px,1280px);min-height:64px;margin:0 auto;display:flex}.classes-logo{color:var(--color-bg-brand);letter-spacing:-.04em;flex:none;font-size:1.25rem;font-weight:800;text-decoration:none}.classes-nav-links{align-items:center;gap:28px;font-size:.875rem;font-weight:700;display:flex;overflow-x:auto}.classes-nav-links a{min-height:64px;color:var(--color-text-secondary);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;text-decoration:none;display:flex}.classes-nav-links a:hover{color:var(--color-text-primary)}.classes-nav-links a[aria-current=page]{border-bottom-color:var(--color-bg-brand);color:var(--color-text-brand)}.classes-main{width:min(100% - 40px,1280px);margin:0 auto;padding:64px 0 96px}.classes-heading{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:32px;display:flex}.classes-heading h1{letter-spacing:-.04em;margin:0;font-size:2.5rem;line-height:1.1}.classes-heading p{max-width:58ch;color:var(--color-text-secondary);margin:10px 0 0;font-size:.9375rem;line-height:1.6}.classes-create-link{background:var(--color-bg-brand);min-height:44px;box-shadow:0 4px 0 var(--color-bg-brand-strong);color:#fff;font:800 .875rem var(--font-body-sans);white-space:nowrap;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;padding:0 17px;text-decoration:none;display:inline-flex}.classes-create-link:hover{background:var(--color-bg-brand-strong);transform:translateY(-1px)}.classes-create-link:active{box-shadow:0 2px 0 var(--color-bg-brand-strong);transform:translateY(2px)}.class-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;display:grid}.class-list article{border:1px solid var(--color-border-default);background:#fff;border-radius:14px;justify-content:flex-start;align-items:flex-start;gap:14px;min-width:0;min-height:150px;padding:20px;display:flex}.class-card-mark{background:var(--color-bg-brand-subtle);width:42px;height:42px;color:var(--color-text-brand);border-radius:12px;flex:0 0 42px;place-items:center;font-size:1rem;font-weight:900;display:grid}.class-list article>div{min-width:0;padding-top:2px}.class-list h2{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:600;line-height:1.35;overflow:hidden}.class-list article p{color:var(--color-text-secondary);margin:7px 0 0;font-size:.8125rem}.classes-empty,.classes-error{border:1px dashed var(--color-border-default);text-align:center;background:#fff;border-radius:14px;margin:0;padding:28px}.classes-empty h2{margin:0;font-size:1.125rem}.classes-empty p{color:var(--color-text-secondary);margin:7px 0 0;font-size:.875rem}.classes-error{color:#8d2d24}.create-class-dialog{width:min(100% - 32px,580px);max-width:none;color:var(--color-text-primary);background:#fff;border:0;border-radius:16px;margin:auto;padding:0;box-shadow:0 20px 50px #14121a33}.create-class-dialog::backdrop{background:#14121a61}.create-class-dialog-panel{padding:26px}.create-class-dialog-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.create-class-dialog-heading h2{letter-spacing:-.025em;margin:0;font-size:1.375rem}.create-class-dialog-heading p{color:var(--color-text-secondary);margin:8px 0 0;font-size:.875rem;line-height:1.55}.create-class-dialog-heading button{background:var(--color-bg-brand-subtle);width:38px;height:38px;color:var(--color-text-primary);font:700 1.25rem/1 var(--font-body-sans);cursor:pointer;border:0;border-radius:10px;flex:0 0 38px;place-items:center;display:grid}.create-class-dialog-heading button:hover{background:var(--color-border-subtle)}.create-class-dialog-heading button:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:2px}.class-form{gap:8px;display:grid}.class-form>label{color:var(--color-text-secondary);font-size:.8rem;font-weight:800}.class-name-row{align-items:stretch;gap:10px;display:flex}.class-name-row input{border:1px solid var(--color-border-default);min-width:0;min-height:48px;color:var(--color-text-primary);font:600 .875rem var(--font-body-sans);background:#fff;border-radius:12px;flex:1;padding:0 14px}.class-name-row input:focus{border-color:var(--color-bg-brand);outline:3px solid var(--color-bg-brand-subtle)}.class-name-row .setup-submit{width:auto;height:48px;box-shadow:none;border:0;border-radius:12px;padding:0 18px}.setup-submit:disabled{cursor:not-allowed;opacity:.55}.class-invite h2{font-family:var(--font-heading-serif);margin:0;font-size:1.375rem}.class-invite>p{color:var(--color-text-secondary);margin:7px 0 18px;font-size:.875rem}.class-invite>.setup-submit{width:auto;height:46px;box-shadow:none;border-radius:12px;padding:0 18px}.class-created h2{font-family:var(--font-heading-serif);margin:0;font-size:1.375rem}.class-created p{max-width:46ch;color:var(--color-text-secondary);margin:7px 0 18px;font-size:.875rem;line-height:1.55}.class-created .setup-submit{width:max-content;height:46px;box-shadow:none;border-radius:12px;align-items:center;padding:0 18px;text-decoration:none;display:inline-flex}@media (max-width:960px){.class-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.classes-header nav{flex-direction:column;align-items:flex-start;gap:0;width:100%;padding:0 20px}.classes-logo{align-items:center;min-height:56px;display:flex}.classes-nav-links{gap:22px;width:100%}.classes-nav-links a{min-height:48px}.classes-main{padding:42px 0 72px}.classes-heading{flex-direction:column;align-items:stretch;gap:20px}.classes-heading h1{font-size:2.125rem}.classes-create-link{width:100%}.class-list{grid-template-columns:1fr}.class-list article{min-height:112px}.create-class-dialog-panel{padding:22px}.class-name-row{flex-direction:column}.class-name-row .setup-submit{width:100%}}.library-class-context{border-bottom:1px solid var(--color-border-default);background:var(--color-bg-brand-subtle)}.library-class-context>div{justify-content:space-between;align-items:center;gap:20px;width:min(100% - 40px,1280px);min-height:54px;margin:0 auto;display:flex}.library-class-context p{min-width:0;color:var(--color-text-secondary);align-items:baseline;gap:8px;margin:0;font-size:.8125rem;display:flex}.library-class-context strong{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.library-class-context a{border:1px solid var(--color-border-default);min-height:36px;color:var(--color-text-brand);background:#fff;border-radius:10px;align-items:center;padding:0 12px;font-size:.8125rem;font-weight:800;text-decoration:none;display:inline-flex}.library-class-context a:hover{border-color:var(--color-bg-brand)}.class-card-link{min-width:0;color:inherit;text-decoration:none}.class-card-link article{height:100%;transition:border-color .18s,transform .18s cubic-bezier(.22,1,.36,1)}.class-card-link:hover article{border-color:var(--color-bg-brand);transform:translateY(-2px)}.class-card-link:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:3px;border-radius:14px}.class-card-arrow{color:var(--color-text-tertiary);align-self:center;margin-left:auto;font-weight:800}.class-detail-shell{background:var(--color-bg-app);min-height:100vh;color:var(--color-text-primary)}.class-detail-main{width:min(100% - 40px,1280px);margin:0 auto;padding:42px 0 96px}.class-detail-back{min-height:36px;color:var(--color-text-secondary);align-items:center;font-size:.8375rem;font-weight:800;text-decoration:none;display:inline-flex}.class-detail-back:hover{color:var(--color-text-primary)}.class-detail-heading{justify-content:space-between;align-items:flex-end;gap:32px;margin-top:20px;display:flex}.class-detail-heading h1{letter-spacing:-.04em;margin:0;font-size:2.5rem;line-height:1.1}.class-detail-heading>div>p{color:var(--color-text-secondary);margin:10px 0 0;font-size:.875rem}.class-detail-actions{align-items:center;gap:10px;display:flex}.class-detail-actions>a{background:var(--color-bg-brand);min-height:44px;box-shadow:0 4px 0 var(--color-bg-brand-strong);color:#fff;border-radius:12px;align-items:center;padding:0 17px;font-size:.875rem;font-weight:800;text-decoration:none;display:inline-flex}.class-detail-actions details{position:relative}.class-detail-actions summary{border:1px solid var(--color-border-default);width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:12px;place-items:center;font-size:.9rem;font-weight:900;list-style:none;display:grid}.class-detail-actions summary::-webkit-details-marker{display:none}.class-detail-actions details>div{z-index:30;border:1px solid var(--color-border-default);background:#fff;border-radius:12px;width:164px;padding:6px;position:absolute;top:50px;right:0}.class-detail-actions details button{width:100%;min-height:38px;color:var(--color-text-primary);text-align:left;background:0 0;border:0;border-radius:8px;padding:0 10px;font-size:.8125rem;font-weight:700}.class-detail-actions details button:hover{background:var(--color-bg-app)}.class-detail-actions details button.is-danger{color:#8d2d24}.class-rename-row{align-items:center;gap:8px;display:flex}.class-rename-row input{border:1px solid var(--color-bg-brand);width:min(52vw,430px);min-height:48px;color:var(--color-text-primary);outline:3px solid var(--color-bg-brand-subtle);background:#fff;border-radius:12px;padding:0 13px;font-size:1.15rem;font-weight:800}.class-rename-row button{border:1px solid var(--color-border-default);min-height:40px;color:var(--color-text-secondary);background:#fff;border-radius:10px;padding:0 12px;font-weight:800}.class-rename-row button:first-of-type{border-color:var(--color-bg-brand);background:var(--color-bg-brand);color:#fff}.class-detail-message{background:var(--color-bg-brand-subtle);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin:24px 0 0;padding:6px 6px 6px 14px;font-size:.8375rem;display:flex}.class-detail-message>button{width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 32px;place-items:center;display:grid}.class-detail-message>button:hover{color:var(--color-text-primary);background:#302b3914}.class-detail-tabs{border-bottom:1px solid var(--color-border-default);gap:4px;margin-top:40px;display:flex}.class-detail-tabs button{min-height:46px;color:var(--color-text-secondary);background:0 0;border:0;border-bottom:2px solid #0000;padding:0 16px;font-size:.875rem;font-weight:800}.class-detail-tabs button[aria-selected=true]{border-bottom-color:var(--color-bg-brand);color:var(--color-text-brand)}.class-detail-tabs span{color:var(--color-text-tertiary);margin-left:5px;font-size:.75rem}.class-detail-tabs button[aria-selected=true] span{color:var(--color-text-brand)}.class-detail-panel{padding-top:30px}.class-section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.class-section-heading h2{letter-spacing:-.025em;margin:0;font-size:1.25rem}.class-section-heading p{color:var(--color-text-secondary);margin:6px 0 0;font-size:.8375rem}.class-section-heading>a{color:var(--color-text-brand);font-size:.8375rem;font-weight:800;text-decoration:none}.class-content-list{border:1px solid var(--color-border-default);background:#fff;border-radius:14px;overflow:hidden}.class-content-list article{grid-template-columns:112px minmax(0,1fr) auto auto;align-items:center;gap:18px;min-height:82px;padding:14px 16px;display:grid}.class-content-list article+article{border-top:1px solid var(--color-border-subtle)}.class-content-type{background:var(--color-bg-brand-subtle);width:max-content;color:var(--color-text-brand);border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:800}.class-content-type.is-vocabulary,.student-assignment-icon.is-vocabulary{background:var(--color-accent-success-bg);color:#426d35}.class-content-type.is-practice,.student-assignment-icon.is-practice{color:#7a5600;background:#fff0c2}.class-content-list h3,.class-student-list h3{margin:0;font-size:.9rem}.class-content-list p,.class-student-list p{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:.78rem;overflow:hidden}.class-content-list article>a{color:var(--color-text-brand);font-size:.8rem;font-weight:800;text-decoration:none}.class-content-list article>button,.class-student-list article>button{min-height:36px;color:var(--color-text-secondary);background:0 0;border:0;border-radius:9px;padding:0 10px;font-size:.78rem;font-weight:800}.class-content-list article>button:hover,.class-student-list article>button:hover{color:#8d2d24;background:#fff0ed}.class-detail-empty{border:1px dashed var(--color-border-default);text-align:center;background:#fff;border-radius:14px;padding:52px 24px}.class-detail-empty h3{margin:0;font-size:1rem}.class-detail-empty p{color:var(--color-text-secondary);margin:7px 0 18px;font-size:.8375rem}.class-detail-empty a{color:var(--color-text-brand);font-size:.8375rem;font-weight:800}.class-detail-empty.is-compact{padding:32px 20px}.class-student-layout{max-width:900px}.class-add-students{border:var(--border-ink);border-radius:var(--radius-md);background:var(--color-bg-elevated);box-shadow:var(--shadow-lip-sm);grid-template-columns:minmax(150px,.65fr) minmax(220px,1.35fr);gap:14px 18px;margin-bottom:18px;padding:18px;display:grid}.class-add-students label{color:var(--color-text-primary);font-size:.9rem;font-weight:800;display:block}.class-add-students>div>p{color:var(--color-text-secondary);margin:6px 0 0;font-size:.76rem;line-height:1.45}.class-add-students textarea{resize:vertical;border:1.5px solid var(--color-border-ink);min-height:82px;color:var(--color-text-primary);font:600 .85rem/1.5 var(--font-body-sans);background:#fff;border-radius:10px;padding:11px 12px}.class-add-students textarea::placeholder{color:var(--color-text-secondary);opacity:1}.class-add-students textarea:focus-visible{border-color:var(--color-bg-brand);outline:3px solid var(--color-bg-brand-subtle);outline-offset:2px}.class-add-students-actions{grid-column:2;align-items:center;gap:12px;display:flex}.class-add-students-actions button{border:var(--border-ink);background:var(--color-bg-brand);min-height:42px;box-shadow:var(--shadow-lip-sm);color:#fff;font:800 .8rem var(--font-body-sans);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 14px;display:inline-flex}.class-add-students-actions button:hover:not(:disabled){box-shadow:var(--shadow-lip);transform:translateY(-1px)}.class-add-students-actions button:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.class-add-students-actions button:disabled{cursor:not-allowed;opacity:.6}.class-add-students-actions p{color:var(--color-text-secondary);margin:0;font-size:.76rem;line-height:1.4}.class-add-students-actions p.is-error{color:#8d2d24}.class-student-list{border:1px solid var(--color-border-default);background:#fff;border-radius:14px;overflow:hidden}.class-student-list article{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:11px 14px;display:grid}.class-student-list article+article{border-top:1px solid var(--color-border-subtle)}.class-student-list article>span{background:var(--color-bg-brand-subtle);width:38px;height:38px;color:var(--color-text-brand);border-radius:11px;place-items:center;font-size:.8rem;font-weight:900;display:grid}.class-invite-panel{border:1px solid var(--color-border-default);background:#fff;border-radius:14px;padding:22px}.class-invite-panel .invite-ready{grid-template-columns:1fr;gap:16px}.class-invite-panel .invite-ready img{border-radius:12px;width:160px;height:160px}.class-invite-panel .class-code{font-size:1.5rem}.class-invite-panel .copy-link{width:100%}@media (max-width:800px){.class-content-list article{grid-template-columns:1fr auto}.class-content-type{grid-column:1}.class-content-list article>div{grid-column:1/-1}.class-content-list article>a{grid-column:1}.class-content-list article>button{grid-area:3/2}.class-add-students{grid-template-columns:1fr}.class-add-students-actions{grid-column:1}}@media (max-width:640px){.class-detail-main{padding:30px 0 72px}.class-detail-heading{flex-direction:column;align-items:stretch;gap:20px}.class-detail-heading h1{font-size:2.125rem}.class-detail-actions>a{flex:1;justify-content:center}.class-rename-row{flex-wrap:wrap;align-items:stretch}.class-rename-row input{width:100%}.class-rename-row button{flex:1}.class-detail-tabs{margin-top:32px}.class-section-heading{flex-direction:column;align-items:flex-start;gap:8px}}@media (prefers-reduced-motion:reduce){.class-add-students-actions button,.class-card-link article{transition:none}.class-add-students-actions button:hover:not(:disabled){transform:none}}.dashboard-support{border-top:1px solid var(--color-border-default);padding:22px 4px 0;position:relative}.dashboard-support h2{font-family:var(--font-heading-serif);margin:0;padding-right:32px;font-size:1.45rem;font-weight:600;line-height:1.1}.dashboard-support p{color:var(--color-text-secondary);margin:8px 0 14px;font-size:.78rem;line-height:1.55}.dashboard-support a{min-height:40px;color:var(--color-text-brand);align-items:center;gap:8px;font-size:.78rem;font-weight:800;text-decoration:none;display:inline-flex}.dashboard-support a:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.dashboard-support a:focus-visible,.dashboard-support-dismiss:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:3px;border-radius:8px}.dashboard-support small{color:var(--color-text-secondary);margin-top:5px;font-size:.67rem;line-height:1.4;display:block}.dashboard-support-dismiss{width:32px;height:32px;color:var(--color-text-secondary);background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:16px;right:0}.dashboard-support-dismiss:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}@media (max-width:960px){.dashboard-support{grid-column:1/-1}}.student-onboarding-page{background:var(--color-bg-app);min-height:100svh;color:var(--color-text-primary);font-family:var(--font-body-sans);padding:0 16px 40px}.student-onboarding-page>header{align-items:center;width:min(100%,760px);height:72px;margin:0 auto;display:flex}.student-onboarding-card{border:var(--border-ink);border-radius:var(--radius-md);background:var(--color-bg-elevated);width:min(100%,620px);box-shadow:var(--shadow-lip-lg);margin:20px auto 0;padding:24px 20px;position:relative}.student-onboarding-copy{max-width:440px}.student-onboarding-kicker{border:1.5px solid var(--color-border-ink);background:var(--color-accent-sunny);letter-spacing:.06em;text-transform:uppercase;border-radius:7px;width:max-content;margin:0 0 14px;padding:5px 9px;font-size:.68rem;font-weight:800;transform:rotate(-2deg)}.student-onboarding-copy h1{font-family:var(--font-heading-serif);letter-spacing:-.025em;margin:0;font-size:2.65rem;font-weight:600;line-height:1}.student-onboarding-copy h1 em{color:var(--color-text-brand);font-style:normal}.student-onboarding-copy>p:last-child{max-width:40ch;color:var(--color-text-secondary);text-wrap:pretty;margin:14px 0 0;font-size:.93rem;line-height:1.55}.student-onboarding-class{margin:12px 0 0;font-size:1.08rem}.student-onboarding-class strong{color:var(--color-text-brand)}.student-onboarding-mascot{background:var(--color-bg-brand-subtle);border-radius:14px;height:154px;margin:18px -4px 0;position:relative;overflow:hidden}.student-onboarding-mascot img{width:156px;height:156px;position:absolute;bottom:-20px;right:-3px}.student-onboarding-mascot span{z-index:1;border:1.5px solid var(--color-border-ink);max-width:150px;box-shadow:var(--shadow-lip-sm);background:#fff;border-radius:13px 13px 4px;padding:9px 12px;font-size:.78rem;font-weight:800;line-height:1.3;position:absolute;top:20px;left:18px}.student-onboarding-actions{gap:10px;margin-top:24px;display:grid}.student-onboarding-actions label{gap:8px;display:grid}.student-onboarding-actions label>span{align-items:center;gap:7px;font-size:.84rem;font-weight:800;display:flex}.student-onboarding-actions label small{color:var(--color-text-secondary);margin-left:auto;font-size:.67rem;font-weight:700}.student-onboarding-actions select{border:1px solid var(--color-border-default);width:100%;min-height:50px;color:var(--color-text-primary);font:700 .9rem var(--font-body-sans);background:#fff;border-radius:12px;padding:0 40px 0 13px}.student-onboarding-actions select:focus-visible{border-color:var(--color-bg-brand);outline:3px solid var(--color-bg-brand-subtle);outline-offset:2px}.student-onboarding-language-note{color:var(--color-text-secondary);margin:0 0 7px;font-size:.75rem;line-height:1.5}.student-onboarding-actions .play-button{cursor:pointer;width:100%}.student-onboarding-actions .play-button:disabled{cursor:wait;opacity:.68}.student-onboarding-error{color:#7f291f;background:#fff0ed;border-radius:10px;margin:2px 0 0;padding:11px 12px;font-size:.76rem;font-weight:700;line-height:1.45}.student-dashboard{background:var(--color-bg-app);min-height:100vh;color:var(--color-text-primary);font-family:var(--font-body-sans);padding-bottom:88px}.student-topbar{justify-content:space-between;align-items:center;gap:24px;width:min(100% - 32px,1120px);height:76px;margin:0 auto;display:flex}.student-brand-logo{letter-spacing:-.01em;font-size:.7rem;text-decoration:none}.student-avatar,.student-brand-logo{color:var(--color-text-brand);font-weight:800}.student-avatar{background:var(--color-bg-brand-subtle);width:36px;height:36px;border-radius:50%;flex:0 0 36px;place-items:center;font-size:.8rem;display:grid}.student-dashboard-grid{gap:16px;width:min(100% - 32px,1120px);margin:0 auto;display:grid}.student-primary-column{gap:16px;display:grid}.student-greeting{padding:4px 0 0}.student-greeting h1{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:1.55rem;line-height:1.2}.student-greeting p{color:var(--color-text-secondary);margin:5px 0 0;font-size:.75rem}.student-encouragement{background:var(--color-bg-brand-subtle);border-radius:16px;min-height:124px;padding:20px 138px 18px 18px;position:relative;overflow:hidden}.student-encouragement h2{z-index:2;margin:0;font-size:1.05rem;line-height:1.25;position:relative}.student-encouragement p{z-index:2;color:var(--color-text-secondary);margin:7px 0 14px;font-size:.72rem;line-height:1.45;position:relative}.student-encouragement span{z-index:2;color:var(--color-accent-play);background:#fff;border-radius:999px;padding:7px 11px;font-size:.62rem;font-weight:800;position:relative}.student-mascot{z-index:2;width:112px;height:112px;position:absolute;bottom:4px;right:20px}.student-blob-one{width:150px;height:150px;position:absolute;top:-28px;right:-8px}.student-blob-two{width:120px;height:80px;position:absolute;bottom:-32px;left:-38px}.student-featured{border:1px solid var(--color-border-subtle);background:#fff;border-radius:16px;padding:18px;box-shadow:0 5px 6px #3a275514}.student-item-label{color:var(--color-text-brand);margin:0;font-size:.63rem;font-weight:800}.student-featured h2{letter-spacing:-.02em;text-wrap:balance;margin:12px 0 0;font-size:1.15rem;line-height:1.3}.student-featured-meta{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.student-featured-meta span{background:var(--color-bg-brand-subtle);color:var(--color-text-brand);border-radius:999px;padding:7px 10px;font-size:.64rem;font-weight:700}.student-featured-meta span+span{background:var(--color-bg-badge-soft);color:#7c5b00}.student-featured>a{background:var(--color-accent-play);color:#fff;border-radius:12px;justify-content:center;align-items:center;min-height:44px;font-size:.7rem;font-weight:800;text-decoration:none;transition:background-color .18s,transform .18s;display:flex}.student-featured>a:hover{background:var(--color-accent-play-strong);transform:translateY(-1px)}.student-featured>a:focus-visible{outline-offset:3px;outline:3px solid #ff594847}.student-classwork{border:1px solid var(--color-border-subtle);background:#fff;border-radius:16px;padding:18px;scroll-margin-top:18px}.student-section-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.student-section-heading h2{margin:0;font-size:1rem}.student-section-heading p{color:var(--color-text-secondary);margin:5px 0 0;font-size:.7rem}.student-section-heading>span{background:var(--color-bg-brand-subtle);min-width:28px;height:28px;color:var(--color-text-brand);border-radius:999px;place-items:center;font-size:.7rem;font-weight:800;display:grid}.student-assignment-list{margin-top:15px}.student-assignment-list>a{min-height:70px;color:var(--color-text-primary);border-radius:12px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 8px;text-decoration:none;transition:background-color .18s cubic-bezier(.22,1,.36,1);display:grid}.student-assignment-list>a+a{border-top:1px solid var(--color-border-subtle);border-top-left-radius:0;border-top-right-radius:0}.student-assignment-list>a:hover{background:var(--color-bg-app)}.student-assignment-list>a:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:2px}.student-assignment-icon{width:38px;height:38px;border-radius:11px;place-items:center;display:grid}.student-assignment-copy{min-width:0}.student-assignment-title{font-size:.82rem;font-weight:800}.student-assignment-list small,.student-assignment-title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.student-assignment-list small{color:var(--color-text-secondary);margin-top:5px;font-size:.68rem}.student-assignment-tail{justify-content:flex-end;align-items:center;gap:9px;display:flex}.student-assignment-status,.student-completion-tag{letter-spacing:0;text-transform:none;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;min-height:26px;padding:0 8px;font-size:.6rem;font-weight:850;display:inline-flex}.student-completion-tag{background:var(--color-accent-success-bg);color:#426d35}.student-assignment-status.is-new{background:var(--color-bg-brand-subtle);color:var(--color-text-brand)}.student-assignment-arrow{color:var(--color-text-brand);flex:none;transition:transform .18s cubic-bezier(.22,1,.36,1)}.student-assignment-list>a:hover .student-assignment-arrow{transform:translate(2px)}.student-classwork-note{color:var(--color-text-secondary);margin:22px 0 2px;font-size:.75rem;line-height:1.55}.student-empty-work{text-align:center;background:#fff;border:1px dashed #d7cfdc;border-radius:16px;padding:36px 20px}.student-empty-work h2{margin:0;font-size:1rem}.student-empty-work p{color:var(--color-text-secondary);margin:7px 0 0;font-size:.75rem}.student-navigation,.student-navigation a{align-items:center;display:flex}.student-navigation a{color:var(--color-text-secondary);font-size:.65rem;font-weight:600;text-decoration:none}.student-navigation img{width:24px;height:24px}.student-navigation a.is-active{color:var(--color-text-brand)}.student-mobile-nav{z-index:40;border-top:1px solid var(--color-border-subtle);background:#fff;position:fixed;bottom:0;left:0;right:0}.student-mobile-nav .student-navigation{justify-content:space-around;height:72px}.student-mobile-nav .student-navigation a{flex-direction:column;gap:5px;min-width:100px}.student-mobile-nav .student-navigation a.is-active img{box-sizing:content-box;background:var(--color-bg-brand-subtle);border-radius:999px;padding:5px}.student-desktop-nav{display:none}.student-study-page{width:min(100% - 32px,760px);min-height:100vh;color:var(--color-text-primary);font-family:var(--font-body-sans);margin:0 auto;padding:26px 0 60px}.student-study-page>header{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;display:grid}.student-study-page>header a{color:var(--color-text-secondary);font-size:.75rem;font-weight:800;text-decoration:none}.student-study-page>header strong{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.student-study-page>header span{color:var(--color-text-secondary);justify-self:end;font-size:.72rem;font-weight:700}.student-study-progress{background:var(--color-bg-brand-subtle);border-radius:999px;height:7px;margin:22px 0 30px;overflow:hidden}.student-study-progress i{border-radius:inherit;background:var(--color-text-brand);height:100%;transition:width .2s;display:block}.student-study-card{width:100%;min-height:360px;color:var(--color-text-primary);perspective:1200px;background:0 0;border:0;border-radius:16px;padding:0;box-shadow:0 5px 8px #3a27551a}.student-study-card-inner{width:100%;min-height:360px;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.22,1,.36,1);display:block;position:relative}.student-study-card.is-flipped .student-study-card-inner{transform:rotateY(180deg)}.student-study-card-face{backface-visibility:hidden;background:#fff;border-radius:16px;place-items:center;padding:58px 28px;display:grid;position:absolute;inset:0}.student-study-card-back{background:var(--color-text-brand);color:#fff;transform:rotateY(180deg)}.student-study-card-face>span{color:var(--color-text-secondary);text-transform:uppercase;font-size:.67rem;font-weight:800;position:absolute;top:22px;left:24px}.student-study-card-face>strong{text-wrap:balance;font-size:2rem;line-height:1.3}.student-study-card-face>small{color:var(--color-text-secondary);position:absolute;bottom:20px;left:0;right:0}.student-study-card-back>small,.student-study-card-back>span{color:#e8ddff}.student-study-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}.student-study-actions a,.student-study-actions button{border:1px solid var(--color-border-subtle);min-height:48px;color:var(--color-text-primary);background:#fff;border-radius:12px;justify-content:center;align-items:center;font-size:.78rem;font-weight:800;text-decoration:none;display:flex}.student-study-actions a,.student-study-actions button:last-child{border-color:var(--color-accent-play);background:var(--color-accent-play);color:#fff}.student-study-actions button:disabled{cursor:not-allowed;opacity:.45}@media (min-width:760px){.student-dashboard{padding-bottom:64px}.student-topbar{border-bottom:1px solid var(--color-border-subtle);height:82px}.student-dashboard-grid{grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:28px;padding-top:42px}.student-primary-column{gap:20px}.student-greeting{padding-bottom:4px}.student-greeting h1{font-size:2rem}.student-greeting p{font-size:.85rem}.student-encouragement{min-height:154px;padding:28px 180px 26px 28px}.student-encouragement h2{font-size:1.25rem}.student-encouragement p{font-size:.8rem}.student-mascot{width:138px;height:138px;right:30px}.student-featured{padding:24px}.student-featured h2{font-size:1.35rem}.student-classwork{padding:24px}.student-desktop-nav{margin-left:auto;display:block}.student-desktop-nav .student-navigation{gap:8px}.student-desktop-nav .student-navigation a{border-radius:10px;gap:7px;min-height:38px;padding:0 12px}.student-desktop-nav .student-navigation a.is-active{background:var(--color-bg-brand-subtle)}.student-desktop-nav .student-navigation img{width:20px;height:20px}.student-mobile-nav{display:none}}@media (min-width:640px){.student-onboarding-page{padding-inline:28px}.student-onboarding-page>header{height:82px}.student-onboarding-card{margin-top:44px;padding:36px}.student-onboarding-copy h1{font-size:3.5rem}.student-onboarding-mascot{width:176px;height:176px;margin:0;position:absolute;top:28px;right:28px}.student-onboarding-copy{padding-right:170px}.student-onboarding-copy>p:last-child{min-height:70px}.student-onboarding-actions{margin-top:30px}}@media (prefers-reduced-motion:reduce){.student-featured>a,.student-study-card-inner,.student-study-progress i{transition:none}}.vocab-session{--study-accent:var(--color-bg-brand);--study-accent-strong:var(--color-bg-brand-strong);--study-soft:var(--color-bg-brand-subtle);--study-ink:var(--color-text-primary);--study-muted:var(--color-text-secondary);--study-line:var(--color-border-default);width:min(100% - 40px,860px);min-height:620px;color:var(--study-ink);font-family:var(--font-body-sans);margin:0 auto 80px;padding:18px 0}.vocab-session.is-student{--study-accent:#6842df;--study-accent-strong:#5632c7;--study-soft:#eee8ff;--study-ink:#292336;--study-muted:#716a7e;--study-line:#e8e1dd;width:100%;margin:0;padding:0}.vocab-session-header{grid-template-columns:1fr minmax(0,auto) 1fr;align-items:center;gap:18px;min-height:40px;display:grid}.vocab-session-header>div{min-width:0}.vocab-session-header strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:min(48vw,430px);font-size:.9rem;overflow:hidden}.vocab-session-header>span{color:var(--study-muted);justify-self:end;font-size:.76rem;font-weight:800}.vocab-session-back{min-height:40px;color:var(--study-muted);font:800 .8rem var(--font-body-sans);background:0 0;border:0;padding:0;text-decoration:none}.vocab-session-back:hover{color:var(--study-ink)}a.vocab-session-back{align-items:center;display:inline-flex}.vocab-mode-row{gap:10px;margin-top:22px;display:grid}.vocab-game-row{flex-wrap:wrap;gap:10px;display:flex}.vocab-mode-row .vocab-mode-tabs{flex:1;min-width:0}.vocab-reef-play{color:#fff;min-height:52px;font:800 .82rem var(--font-body-sans);text-align:left;background:#0c4a6e;border:0;border-radius:14px;flex:none;align-items:center;gap:9px;padding:0 16px 0 12px;transition:transform .12s,box-shadow .12s;display:inline-flex;box-shadow:0 3px #072a44}.vocab-reef-play svg{color:#c9a0ff;flex:none;width:30px;height:28px}.vocab-reef-play small{color:#ffe066;letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:900;display:block}.vocab-reef-play:hover{transform:translateY(-1px)}.vocab-reef-play:active{transform:translateY(2px);box-shadow:0 1px #072a44}.vocab-reef-play.is-active{box-shadow:0 0 0 3px #ffe066,0 3px #072a44}.vocab-speak-play{border:1px solid var(--study-line);min-height:52px;color:var(--study-ink);font:800 .82rem var(--font-body-sans);text-align:left;background:#fff;border-radius:14px;align-items:center;gap:10px;padding:0 16px;display:inline-flex}.vocab-speak-play small,.vocab-speak-play>svg{color:var(--study-accent)}.vocab-speak-play small{letter-spacing:.04em;text-transform:uppercase;font-size:.62rem;font-weight:900;display:block}.vocab-speak-play.is-active,.vocab-speak-play:hover{border-color:var(--study-accent);background:var(--study-soft)}.vocab-mode-tabs{background:var(--study-soft);border-radius:14px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:4px;display:grid}.vocab-mode-tabs button{min-height:44px;color:var(--study-muted);font:800 .78rem var(--font-body-sans);background:0 0;border:0;border-radius:10px;padding:0 12px;transition:background-color .18s,color .18s;position:relative}.vocab-mode-tabs button:hover{color:var(--study-ink)}.vocab-mode-tabs button.is-active{color:var(--study-accent)}.vocab-mode-pill{background:#fff;border-radius:10px;position:absolute;inset:0;box-shadow:0 2px 6px #302b391a}.vocab-mode-label{position:relative}.vocab-student-overview{gap:24px;margin-top:24px;display:grid}.vocab-assignment-panel,.vocab-practice-panel{border-radius:16px}.vocab-assignment-panel{background:var(--study-soft);box-shadow:inset 0 0 0 1px var(--study-accent);padding:28px}@supports (color:color-mix(in lab,red,red)){.vocab-assignment-panel{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--study-accent)16%,transparent)}}.vocab-assignment-panel>header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.vocab-assignment-panel h1,.vocab-practice-panel h2{letter-spacing:-.02em;margin:0;font-size:1.35rem;line-height:1.2}.vocab-assignment-panel header p,.vocab-practice-panel header p{max-width:60ch;color:var(--study-muted);margin:7px 0 0;font-size:.88rem;line-height:1.5}.vocab-assignment-panel>header>span{color:var(--study-accent);background:#fff;border-radius:999px;flex:none;padding:6px 10px;font-size:.7rem;font-weight:900}.vocab-assignment-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.vocab-assignment-choices button{border:1px solid var(--study-accent);grid-template-rows:auto 1fr auto;justify-items:center;gap:10px;min-height:150px;padding:16px;display:grid}@supports (color:color-mix(in lab,red,red)){.vocab-assignment-choices button{border:1px solid color-mix(in srgb,var(--study-accent)24%,var(--study-line))}}.vocab-assignment-choices button{color:var(--study-ink);font:800 .9rem var(--font-body-sans);background:#fff;border-radius:14px;transition:border-color .18s,transform .18s,box-shadow .18s}.vocab-assignment-choices button>span{background:var(--study-soft);width:48px;height:48px;color:var(--study-accent);border-radius:50%;place-items:center;display:grid}.vocab-assignment-choices button small{background:var(--study-accent);color:#fff;border-radius:9px;place-items:center;width:100%;min-height:36px;font-size:.76rem;display:grid}.vocab-assignment-choices button:hover{border-color:var(--study-accent);transform:translateY(-1px);box-shadow:0 6px 14px #302b3914}.vocab-practice-panel{border:1px solid var(--study-line);background:#ffffff8a;padding:24px}.vocab-practice-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.vocab-practice-choices button{border:1px solid var(--study-line);min-height:68px;color:var(--study-ink);font:800 .82rem var(--font-body-sans);text-align:left;background:#fff;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 13px;transition:border-color .18s,background-color .18s;display:grid}.vocab-practice-choices button>span{background:var(--study-soft);width:38px;height:38px;color:var(--study-accent);border-radius:50%;place-items:center;display:grid}.vocab-practice-choices button>.esl-icon{color:var(--study-muted)}@supports (color:color-mix(in lab,red,red)){.vocab-practice-choices button:hover{background:color-mix(in srgb,var(--study-soft)32%,white)}}.vocab-practice-choices button.is-game>span{color:var(--color-accent-play);background:#fff0e9}.vocab-student-activity-bar{border:1px solid var(--study-line);background:#fff;border-radius:14px;align-items:center;gap:18px;padding:14px 16px;display:flex}.vocab-student-activity-bar.is-assignment{border-color:var(--study-accent)}@supports (color:color-mix(in lab,red,red)){.vocab-student-activity-bar.is-assignment{border-color:color-mix(in srgb,var(--study-accent)28%,var(--study-line))}}.vocab-student-activity-bar.is-assignment{background:var(--study-soft)}.vocab-student-activity-bar>button{border:1px solid var(--study-line);min-height:42px;color:var(--study-ink);font:800 .76rem var(--font-body-sans);background:#fff;border-radius:10px;flex:none;align-items:center;gap:7px;padding:0 12px;display:inline-flex}.vocab-student-activity-bar>div{gap:3px;min-width:0;display:grid}.vocab-student-activity-bar strong{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.vocab-student-activity-bar span{color:var(--study-muted);font-size:.72rem;line-height:1.35}.vocab-score-saved-note{color:var(--study-muted);margin:3px 0 16px;font-size:.76rem;font-weight:700;display:block}.vocab-score-saved-note.is-error{color:#8d2d24}.vocab-summary-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.vocab-summary-actions>button{background:var(--study-accent);color:#fff;border:0;border-radius:12px;min-height:48px;padding:0 20px;font-weight:800}.vocab-summary-actions>button.is-secondary{border:1px solid var(--study-line);color:var(--study-ink);background:#fff}@media (max-width:640px){.vocab-student-overview{gap:16px;margin-top:18px}.vocab-assignment-panel,.vocab-practice-panel{padding:18px}.vocab-assignment-panel>header{gap:12px}.vocab-assignment-panel h1,.vocab-practice-panel h2{font-size:1.15rem}.vocab-assignment-panel header p,.vocab-practice-panel header p{font-size:.8rem}.vocab-assignment-choices,.vocab-practice-choices{grid-template-columns:1fr}.vocab-assignment-choices{gap:8px;margin-top:16px}.vocab-assignment-choices button{text-align:left;grid-template-rows:1fr;grid-template-columns:auto minmax(0,1fr) auto;justify-items:start;min-height:64px;padding:8px 10px}.vocab-assignment-choices button>span{width:40px;height:40px}.vocab-assignment-choices button small{width:auto;min-width:58px;padding:0 12px}.vocab-practice-choices{gap:7px;margin-top:14px}.vocab-practice-choices button{min-height:58px}.vocab-student-activity-bar{flex-direction:column;align-items:stretch;gap:10px}.vocab-student-activity-bar>button{justify-content:center}.vocab-student-activity-bar strong{white-space:normal}.vocab-summary-actions{flex-direction:column;width:100%}.vocab-summary-actions>button{width:100%}}.vocab-reef{margin-top:18px}.vocab-reef-bar{justify-content:flex-end;margin-bottom:8px;display:flex}.vocab-reef-bar button{border:1px solid var(--study-line);min-height:40px;color:var(--study-muted);font:800 .76rem var(--font-body-sans);background:#fff;border-radius:10px;padding:0 14px}.vocab-reef-bar button:hover{color:var(--study-ink)}.vocab-reef-frame{background:#0c4a6e;border:0;border-radius:16px;width:100%;height:clamp(540px,100dvh - 220px,820px);display:block}.vocab-session-progress{background:var(--study-soft);border-radius:999px;height:7px;margin:20px 0 22px;overflow:hidden}.vocab-session-progress i{border-radius:inherit;background:var(--study-accent);height:100%;transition:width .2s cubic-bezier(.22,1,.36,1);display:block}.vocab-session-meta{color:var(--study-muted);justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;font-size:.76rem;font-weight:800;display:flex}.vocab-session-meta span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vocab-session-stage{min-height:390px}.vocab-cards-mode,.vocab-match-mode,.vocab-recall-mode{gap:16px;display:grid}.vocab-session-card{width:100%;min-height:340px;color:var(--study-ink);perspective:1200px;background:0 0;border:0;border-radius:16px;padding:0;transition:transform .18s cubic-bezier(.22,1,.36,1);box-shadow:0 7px 8px #302b391a}.vocab-session-card:hover{transform:translateY(-2px)}.vocab-session-card-inner{width:100%;min-height:340px;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.22,1,.36,1);display:block;position:relative}.vocab-session-card.is-flipped .vocab-session-card-inner{transform:rotateY(180deg)}.vocab-session-card-face{background:#fff;border-radius:16px;place-items:center;padding:58px 36px;display:grid;position:absolute;inset:0}.vocab-session-card-back{color:#fff;background:0 0}.flip-card.vocab-flip-card{width:100%;max-width:860px;margin-inline:auto;display:block}.vocab-swipe{touch-action:pan-y;cursor:grab;position:relative}.vocab-swipe:active{cursor:grabbing}.vocab-swipe-tag{letter-spacing:.04em;text-transform:uppercase;pointer-events:none;z-index:2;background:#fff;border:2px solid;border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:900;position:absolute;top:18px}.vocab-swipe-tag.is-got-it{color:#426d35;border-color:#5f8c52;left:18px;transform:rotate(-6deg)}.vocab-swipe-tag.is-learning{color:#8d2d24;border-color:#d95c4c;right:18px;transform:rotate(6deg)}.vocab-flip-card .flip-card__face--back{background:var(--study-accent)}.vocab-flip-card .vocab-session-card-face{backface-visibility:visible;background:0 0;border-radius:0}.vocab-session-card-face>span:first-child{color:var(--study-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.7rem;font-weight:900;position:absolute;top:22px;left:24px}.vocab-session-card-back>span:first-child{color:#ffffffc2}.vocab-session-card-content strong,.vocab-session-card-face>strong{text-align:center;text-wrap:balance;font-size:2rem;line-height:1.3}.vocab-session-card-face>small{color:var(--study-muted);text-align:center;font-size:.72rem;position:absolute;bottom:20px;left:0;right:0}.vocab-session-card-back>small{color:#ffffffc2}.vocab-session-card-content{justify-items:center;gap:18px;width:min(100%,520px);display:grid}.vocab-recall-prompt img,.vocab-session-card-content img{object-fit:contain;border-radius:12px;width:min(100%,250px);max-height:170px}.vocab-session-card-content.has-media strong{font-size:1.65rem}.vocab-self-grade{grid-template-columns:1fr 1fr;gap:12px;display:grid}.vocab-self-grade button{border:1px solid var(--study-line);min-height:50px;color:var(--study-ink);background:#fff;border-radius:12px;font-weight:800}.vocab-self-grade button:first-child:hover{color:#8d2d24;background:#fff0ed;border-color:#d95c4c}.vocab-self-grade button:last-child:hover{color:#426d35;background:#edf5ea;border-color:#5f8c52}.vocab-recall-prompt{text-align:center;background:#fff;border-radius:16px;align-content:center;place-items:center;gap:12px;min-height:178px;padding:26px;display:grid}.vocab-recall-prompt>span{color:var(--study-muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.vocab-recall-prompt h2{letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:2rem;line-height:1.25}.vocab-choice-list{grid-template-columns:1fr 1fr;gap:10px;display:grid}.vocab-choice-list button{border:1px solid var(--study-line);min-height:64px;color:var(--study-ink);text-align:left;background:#fff;border-radius:12px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:11px;padding:10px 14px;display:grid}.vocab-choice-list button>span{background:var(--study-soft);width:28px;height:28px;color:var(--study-accent);border-radius:8px;place-items:center;font-size:.72rem;font-weight:900;display:grid}.vocab-choice-list button>strong{font-size:.84rem;line-height:1.35}.vocab-choice-list button.is-selected,.vocab-choice-list button:hover:not(:disabled){border-color:var(--study-accent)}.vocab-choice-list button.is-correct{background:#edf5ea;border-color:#5f8c52}.vocab-choice-list button.is-wrong{background:#fff0ed;border-color:#d95c4c}.vocab-choice-list button:disabled{opacity:.68}.vocab-choice-list button.is-correct,.vocab-choice-list button.is-wrong{opacity:1}.vocab-mode-feedback{background:var(--study-soft);min-height:48px;color:var(--study-ink);border-radius:12px;margin:0;padding:13px 15px;font-size:.82rem;font-weight:800;line-height:1.45}.vocab-mode-feedback.is-correct{color:#426d35;background:#edf5ea}.vocab-mode-feedback.is-wrong{color:#8d2d24;background:#fff0ed}.vocab-mode-feedback.is-neutral{color:var(--study-muted)}.vocab-type-form{gap:8px;display:grid}.vocab-type-form>label{color:var(--study-muted);font-size:.76rem;font-weight:800}.vocab-type-form>div{gap:10px;display:flex}.vocab-type-form input{border:1px solid var(--study-line);min-width:0;min-height:52px;color:var(--study-ink);font:700 .9rem var(--font-body-sans);background:#fff;border-radius:12px;flex:1;padding:0 15px}.vocab-type-form input::placeholder{color:#6f6879}.vocab-check-matches,.vocab-session-footer button,.vocab-session-summary>button,.vocab-type-form button{background:var(--study-accent);color:#fff;border:0;border-radius:12px;min-height:48px;padding:0 20px;font-weight:800}.vocab-check-matches:disabled,.vocab-session-footer button:disabled,.vocab-type-form button:disabled{cursor:not-allowed;opacity:.45}.vocab-type-feedback{color:#426d35;background:#edf5ea;border-radius:12px;padding:16px}.vocab-type-feedback.is-wrong{color:#8d2d24;background:#fff0ed}.vocab-type-feedback strong{font-size:.86rem;display:block}.vocab-type-feedback span{text-transform:uppercase;margin-top:12px;font-size:.68rem;font-weight:900;display:block}.vocab-type-feedback p{margin:4px 0 0;font-size:.84rem;line-height:1.45}.vocab-match-instructions h2{margin:0;font-size:1.05rem}.vocab-match-instructions p{color:var(--study-muted);margin:5px 0 0;font-size:.78rem}.vocab-match-board{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:10px;display:grid}.vocab-match-board>div{align-content:start;gap:10px;display:grid}.vocab-match-board button{border:1px solid var(--study-line);min-height:58px;color:var(--study-ink);font:800 .79rem/1.35 var(--font-body-sans);background:#fff;border-radius:12px;padding:9px 11px}.vocab-match-board button:hover:not(:disabled){border-color:var(--study-accent)}.vocab-match-board button.is-active,.vocab-match-board button.is-paired{border-color:var(--study-accent);background:var(--study-soft);color:var(--study-accent)}.vocab-match-board button.is-correct{color:#426d35;opacity:1;background:#edf5ea;border-color:#5f8c52}.vocab-match-board button.is-wrong{color:#8d2d24;opacity:1;background:#fff0ed;border-color:#d95c4c}.vocab-match-board button:disabled{cursor:default;opacity:.52}.vocab-check-matches{justify-self:end}.vocab-session-footer{border-top:1px solid var(--study-line);justify-content:flex-end;margin-top:18px;padding-top:16px;display:flex}.vocab-session-footer button{min-width:128px}.vocab-session-summary{text-align:center;align-content:center;place-items:center;min-height:440px;display:grid}.vocab-session-result-mark{color:#426d35;background:#edf5ea;border-radius:50%;place-items:center;width:52px;height:52px;font-size:1.35rem;font-weight:900;display:grid}.vocab-session-summary>p:first-of-type{color:var(--study-muted);text-transform:uppercase;margin:14px 0 6px;font-size:.76rem;font-weight:900}.vocab-session-summary>strong{letter-spacing:-.04em;font-size:5rem;line-height:1}.vocab-session-summary h2{margin:11px 0 0;font-size:1.25rem}.vocab-session-summary>p:last-of-type{max-width:44ch;color:var(--study-muted);margin:8px 0 24px;font-size:.86rem;line-height:1.5}.vocab-session-empty{text-align:center;padding:70px 20px}.vocab-session-empty h2{margin:0;font-size:1.25rem}.vocab-session-empty p{color:var(--study-muted);margin:8px auto 0;font-size:.85rem}.vocab-session a:focus-visible,.vocab-session button:focus-visible,.vocab-session input:focus-visible{outline:3px solid var(--study-soft);outline-offset:3px}.vocab-type-form input:focus-visible{border-color:var(--study-accent);outline-offset:0}@media (max-width:640px){.vocab-reef-play,.vocab-speak-play{flex:1;justify-content:center}.vocab-session{width:min(100% - 32px,860px);padding-top:10px}.vocab-session.is-student{width:100%}.vocab-session-header{grid-template-columns:1fr auto}.vocab-session-header strong{text-align:left;grid-area:2/1/auto/-1;max-width:100%}.vocab-mode-tabs{scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.vocab-mode-tabs button{flex:1 0 auto;padding:0 7px;font-size:.74rem}.vocab-session-stage{min-height:350px}.vocab-session-card,.vocab-session-card-inner{min-height:310px}.vocab-session-card-face{padding:54px 24px}.vocab-recall-prompt h2,.vocab-session-card-content strong,.vocab-session-card-face>strong{font-size:1.65rem}.vocab-choice-list{grid-template-columns:1fr}.vocab-type-form>div{display:grid}.vocab-type-form button{width:100%}.vocab-match-board{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:8px}.vocab-match-board button{min-height:54px;padding:8px;font-size:.72rem}.vocab-check-matches,.vocab-session-footer button{width:100%}.vocab-self-grade{grid-template-columns:1fr}.vocab-session-summary>strong{font-size:4rem}}@media (prefers-reduced-motion:reduce){.vocab-mode-tabs button,.vocab-reef-play,.vocab-session-card,.vocab-session-card-inner,.vocab-session-progress i{transition:none}}.vocab-guided-speak{gap:16px;margin-top:24px;display:grid}.vocab-guided-head{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.vocab-guided-head span{color:var(--study-muted);font-size:.72rem;font-weight:800}.vocab-guided-head h2{margin:4px 0 0;font-size:1.45rem}.vocab-guided-head>strong{max-width:48%;color:var(--study-accent);text-align:right;overflow-wrap:anywhere;font-size:1.15rem}.vocab-guided-example{border:2px solid var(--color-border-ink);background:#fff;border-radius:16px;gap:7px;padding:18px;display:grid;box-shadow:3px 3px #eae6d9}.vocab-guided-example>span,.vocab-guided-starters>strong{color:var(--study-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:900}.vocab-guided-example p{font-family:var(--font-heading-serif);margin:0;font-size:1.25rem;font-weight:600;line-height:1.45}.vocab-guided-example small{color:var(--study-muted);font-size:.78rem;line-height:1.45}.vocab-guided-starters{gap:9px;display:grid}.vocab-guided-starters>div{flex-wrap:wrap;gap:8px;display:flex}.vocab-guided-starters span{background:var(--study-soft);color:var(--study-accent);border-radius:999px;padding:8px 11px;font-size:.76rem;font-weight:800}.vocab-guided-speak .speaking-recorder{min-height:190px}.vocab-guided-check{width:100%!important}.vocab-guided-empty,.vocab-guided-finished,.vocab-guided-loading{text-align:center;align-content:center;place-items:center;gap:9px;min-height:390px;margin-top:24px;display:grid}.vocab-guided-loading>span{border:4px solid var(--study-soft);border-top-color:var(--study-accent);border-radius:50%;width:38px;height:38px;animation:vocab-guided-spin .8s linear infinite}.vocab-guided-loading strong{margin-top:7px}.vocab-guided-finished p,.vocab-guided-loading p{color:var(--study-muted);margin:0;font-size:.82rem}.vocab-guided-empty .speaking-error{max-width:440px}.vocab-guided-finished>span{color:#426d35;background:#edf5ea;border-radius:50%;place-items:center;width:54px;height:54px;display:grid}.vocab-guided-finished h2{margin:7px 0 0}.vocab-speaking-feedback-sheet .translation-card{margin-top:12px}.vocab-speaking-result{color:#426d35;background:#edf5ea;border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:13px 14px;display:flex}.vocab-speaking-result.is-retry{color:#8d2d24;background:#fff0ed}.vocab-speaking-result>span{flex:none}.vocab-speaking-result p{margin:0;font-size:.86rem;font-weight:700;line-height:1.45}.vocab-speaking-translate{margin-top:14px;width:100%!important}.vocab-view-feedback{min-height:42px;color:var(--study-accent);background:0 0;border:0;font-weight:800}.vocab-speaking-feedback-sheet .grammar-tip-card small{font-weight:600}.vocab-speaking-feedback-sheet .grammar-tip-card p+small{margin-top:5px}.vocab-speaking-feedback-sheet .grammar-tip-card small+p{margin-top:5px;font-weight:800}@keyframes vocab-guided-spin{to{transform:rotate(1turn)}}.vocab-speak{gap:22px;margin-top:26px;display:grid}.vocab-speak-intro{align-items:center;gap:16px;display:flex}.vocab-speak-intro h2{margin:0;font-size:1.3rem;line-height:1.25}.vocab-speak-intro p{max-width:56ch;color:var(--study-muted);margin:4px 0 0;font-size:.86rem;line-height:1.5}.vocab-speak-avatar{background:var(--study-soft);border-radius:50%;flex:none;place-items:center;width:60px;height:60px;display:grid;position:relative}.vocab-speak-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.vocab-speak-field{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.vocab-speak-checklist>div,.vocab-speak-field legend{color:var(--study-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:10px;padding:0;font-size:.7rem;font-weight:900}.vocab-speak-field legend em{background:var(--study-soft);color:var(--study-accent);letter-spacing:0;text-transform:none;border-radius:999px;margin-left:8px;padding:3px 8px;font-style:normal}.vocab-speak-levels{background:var(--study-soft);border-radius:12px;grid-template-columns:repeat(4,minmax(56px,1fr));justify-self:start;gap:4px;padding:4px;display:inline-grid}.vocab-speak-levels button{min-height:36px;color:var(--study-muted);font:800 .78rem var(--font-body-sans);background:0 0;border:0;border-radius:9px;padding:0 12px}.vocab-speak-levels button.is-selected{color:var(--study-accent);background:#fff;box-shadow:0 2px 6px #302b391a}.vocab-speak-chips{flex-wrap:wrap;gap:8px;display:flex}.vocab-speak-chips button{min-height:40px;box-shadow:inset 0 0 0 1px var(--study-line);color:var(--study-ink);font:700 .8rem var(--font-body-sans);background:#fff;border:0;border-radius:999px;padding:0 14px;transition:box-shadow .18s,background-color .18s,color .18s}.vocab-speak-chips button:hover{box-shadow:inset 0 0 0 1px var(--study-accent)}.vocab-speak-chips button.is-selected{background:var(--study-accent);box-shadow:none;color:#fff}.vocab-speak-assigned{margin:0;font-size:1rem;font-weight:800}.vocab-speak-checklist>div{justify-content:space-between;align-items:center;gap:16px;display:flex}.vocab-speak-checklist>div button{min-height:32px;color:var(--study-accent);font:800 .76rem var(--font-body-sans);letter-spacing:0;text-transform:none;background:0 0;border:0;padding:0 4px}.vocab-speak-checklist ul,.vocab-speak-words{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.vocab-speak-checklist li,.vocab-speak-words li{min-height:38px;box-shadow:inset 0 0 0 1px var(--study-line);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:.84rem;font-weight:800;transition:background-color .25s,color .25s;display:inline-flex}.vocab-speak-checklist li.is-used-well,.vocab-speak-words li.is-used-well{box-shadow:none;color:#426d35;background:#edf5ea}.vocab-speak-words li.is-used{box-shadow:none;color:#7a5410;background:#fdf3dc}.vocab-speak-words li.is-not-used{box-shadow:inset 0 0 0 1px var(--study-line);color:var(--study-muted);background:0 0}.vocab-speak-words li small{opacity:.85;border-left:1px solid;padding-left:8px;font-size:.7rem;font-weight:700}.vocab-speak-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.vocab-speak-stage{text-align:center;background:#fff;border-radius:16px;justify-items:center;gap:6px;padding:34px 24px;display:grid;box-shadow:0 7px 8px #302b391a}.vocab-speak-stage .vocab-speak-avatar{width:84px;height:84px;margin-bottom:12px}.vocab-speak-stage strong{font-size:1.15rem}.vocab-speak-stage p{max-width:44ch;color:var(--study-muted);font-variant-numeric:tabular-nums;margin:0;font-size:.86rem;line-height:1.5}.vocab-speak-stage.is-active .vocab-speak-avatar:after,.vocab-speak-stage.is-active .vocab-speak-avatar:before{content:"";border:2px solid var(--study-accent);opacity:0;border-radius:50%;animation:vocab-speak-ring 2.4s cubic-bezier(.22,1,.36,1) infinite;position:absolute;inset:0}.vocab-speak-stage.is-active .vocab-speak-avatar:after{animation-delay:1.2s}.vocab-speak-stage.is-connecting .vocab-speak-avatar,.vocab-speak-stage.is-evaluating .vocab-speak-avatar,.vocab-speak-stage.is-finishing .vocab-speak-avatar,.vocab-speak-stage.is-preparing .vocab-speak-avatar{animation:vocab-speak-wait 1.4s ease-in-out infinite}@keyframes vocab-speak-ring{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.55)}}@keyframes vocab-speak-wait{50%{opacity:.55}}.vocab-speak-actions{flex-wrap:wrap;gap:12px;display:flex}.vocab-speak-actions button{border:1px solid var(--study-line);min-height:52px;color:var(--study-ink);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-weight:800;display:inline-flex}.vocab-speak-actions button.is-primary{border-color:var(--study-accent);background:var(--study-accent);color:#fff;flex:1}.vocab-speak-actions button.is-primary:hover{border-color:var(--study-accent-strong);background:var(--study-accent-strong)}.vocab-speak-actions button:disabled{cursor:not-allowed;opacity:.45}.vocab-speak-privacy{color:var(--study-muted);margin-top:-8px;font-size:.74rem;line-height:1.5}.vocab-speak-score{text-align:center;background:#fff;border-radius:16px;justify-items:center;padding:30px 24px;display:grid;box-shadow:0 7px 8px #302b391a}.vocab-speak-score>p:first-child{color:var(--study-muted);text-transform:uppercase;margin:0 0 8px;font-size:.76rem;font-weight:900}.vocab-speak-score>strong{letter-spacing:-.04em;font-size:4rem;line-height:1}.vocab-speak-score>strong small{color:var(--study-muted);letter-spacing:0;font-size:1.4rem}.vocab-speak-score h2{margin:6px 0 0;font-size:1rem}.vocab-speak-score>p:last-child{max-width:48ch;color:var(--study-muted);margin:12px 0 0;font-size:.88rem;line-height:1.5}.vocab-speak-feedback{box-shadow:inset 0 0 0 1px var(--study-line);background:#fff;border-radius:14px;gap:4px;padding:18px 20px;display:grid}.vocab-speak-feedback span{color:var(--study-muted);letter-spacing:.05em;text-transform:uppercase;margin-top:10px;font-size:.68rem;font-weight:900}.vocab-speak-feedback span:first-child{margin-top:0}.vocab-speak-feedback p,.vocab-speak-feedback strong{margin:0;font-size:.9rem;line-height:1.5}.vocab-speak-feedback strong{color:var(--study-accent)}@media (max-width:640px){.vocab-guided-head{flex-direction:column;align-items:flex-start;gap:8px}.vocab-guided-head>strong{text-align:left;max-width:100%}.vocab-guided-example p{font-size:1.1rem}.vocab-speak{gap:20px;margin-top:20px}.vocab-speak-levels{justify-self:stretch}.vocab-speak-chips button,.vocab-speak-levels button{min-height:44px}.vocab-speak-actions button{flex:100%}.vocab-speak-stage{padding:28px 18px}.vocab-speak-score>strong{font-size:3.4rem}}@media (prefers-reduced-motion:reduce){.vocab-guided-loading>span{animation:none}.vocab-speak-checklist li,.vocab-speak-chips button,.vocab-speak-words li{transition:none}.vocab-speak-stage .vocab-speak-avatar,.vocab-speak-stage .vocab-speak-avatar:after,.vocab-speak-stage .vocab-speak-avatar:before{animation:none!important}}.dashboard-shell{background:var(--color-bg-app);min-height:100vh;color:var(--color-text-primary)}.dashboard-main{width:min(100% - 40px,1280px);margin:0 auto;padding:58px 0 96px}.dashboard-heading{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:36px;display:flex}.dashboard-heading h1{font-family:var(--font-heading-serif);letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:3rem;font-weight:600;line-height:1.04}.dashboard-heading p{max-width:64ch;color:var(--color-text-secondary);margin:10px 0 0;font-size:.975rem;line-height:1.55}.dashboard-primary-action{background:var(--color-bg-brand);min-height:48px;box-shadow:0 4px 0 var(--color-bg-brand-strong);color:#fff;white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:0 19px;font-size:.875rem;font-weight:800;text-decoration:none;transition:background-color .18s,box-shadow .18s,transform .18s cubic-bezier(.22,1,.36,1);display:inline-flex}.dashboard-primary-action:hover{background:var(--color-bg-brand-strong);transform:translateY(-1px)}.dashboard-primary-action:active{box-shadow:0 2px 0 var(--color-bg-brand-strong);transform:translateY(2px)}.dashboard-first-run a:focus-visible,.dashboard-nudge a:focus-visible,.dashboard-primary-action:focus-visible,.dashboard-section a:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:3px;border-radius:10px}.dashboard-alert{color:#8d2d24;background:#fff0ed;border-radius:12px;margin:-12px 0 28px;padding:13px 16px;font-size:.875rem;font-weight:700}.dashboard-layout{grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);align-items:start;gap:24px;display:grid}.dashboard-primary-column,.dashboard-secondary-column{align-content:start;gap:24px;display:grid}.dashboard-section{border:1px solid var(--color-border-default);background:#fff;border-radius:14px;overflow:hidden}.dashboard-section-heading{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:20px 24px;display:flex}.dashboard-section-heading h2{letter-spacing:-.02em;margin:0;font-size:1.15rem;line-height:1.3}.dashboard-section-heading p{color:var(--color-text-secondary);margin:5px 0 0;font-size:.78rem;line-height:1.4}.dashboard-section-heading>a{min-height:36px;color:var(--color-text-brand);white-space:nowrap;align-items:center;font-size:.78rem;font-weight:800;text-decoration:none;display:inline-flex}.dashboard-table-wrap{overflow-x:auto}.dashboard-homework-table{border-collapse:collapse;width:100%;font-size:.79rem}.dashboard-homework-table th{height:46px;color:var(--color-text-secondary);text-align:left;white-space:nowrap;padding:0 13px;font-size:.7rem;font-weight:800}.dashboard-homework-table td:first-child,.dashboard-homework-table th:first-child{padding-left:24px}.dashboard-homework-table td:last-child,.dashboard-homework-table th:last-child{padding-right:18px}.dashboard-homework-table td{border-top:1px solid var(--color-border-subtle);height:72px;color:var(--color-text-secondary);white-space:nowrap;padding:10px 13px}.dashboard-homework-table tr.is-urgent td{background:var(--color-bg-brand-subtle)}@supports (color:color-mix(in lab,red,red)){.dashboard-homework-table tr.is-urgent td{background:color-mix(in srgb,var(--color-bg-brand-subtle)58%,white)}}.dashboard-game-cell a{color:var(--color-text-primary);font-size:.84rem;font-weight:800;text-decoration:none}.dashboard-game-cell a:hover{color:var(--color-text-brand)}.dashboard-due{font-weight:800}.dashboard-due.is-today{color:var(--color-text-brand)}.dashboard-due.is-soon{color:#7c5b00}.dashboard-finished-count{color:var(--color-text-primary);font-variant-numeric:tabular-nums}.dashboard-progress-cell{min-width:144px}.dashboard-progress-cell>span:last-child{font-variant-numeric:tabular-nums;margin-left:8px;font-size:.72rem}.dashboard-progress-track{background:var(--color-bg-surface);vertical-align:middle;border-radius:999px;width:84px;height:7px;display:inline-block;overflow:hidden}.dashboard-progress-track i{border-radius:inherit;background:var(--color-bg-brand);height:100%;display:block}.dashboard-open-cell{text-align:right}.dashboard-open-cell a{width:36px;height:36px;color:var(--color-text-secondary);place-items:center;font-size:1rem;font-weight:800;text-decoration:none;display:inline-grid}.dashboard-open-cell a:hover{color:var(--color-text-brand)}.dashboard-section-empty{text-align:center;padding:46px 24px}.dashboard-section-empty.is-compact{padding:34px 24px}.dashboard-section-empty strong{font-size:.95rem}.dashboard-section-empty p{color:var(--color-text-secondary);margin:7px 0 13px;font-size:.8rem}.dashboard-section-empty a{color:var(--color-text-brand);font-size:.8rem;font-weight:800;text-decoration:none}.dashboard-class-list>a{min-height:88px;color:var(--color-text-primary);grid-template-columns:40px minmax(0,1fr) 28px;align-items:center;gap:12px;padding:14px 18px;text-decoration:none;transition:background-color .18s;display:grid}.dashboard-class-list>a+a{border-top:1px solid var(--color-border-subtle)}.dashboard-class-list>a:hover{background:var(--color-bg-app)}.dashboard-class-mark{background:var(--color-bg-brand-subtle);width:40px;height:40px;color:var(--color-text-brand);border-radius:11px;place-items:center;font-size:.82rem;font-weight:900;display:grid}.dashboard-class-copy{gap:4px;min-width:0;display:grid}.dashboard-class-copy strong{font-size:.84rem}.dashboard-class-copy small,.dashboard-class-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-class-copy small{color:var(--color-text-secondary);font-size:.69rem}.dashboard-class-copy small+small{color:var(--color-text-brand)}.dashboard-class-arrow{color:var(--color-text-tertiary);text-align:center;font-weight:900}.dashboard-activity-list{margin:0;padding:0;list-style:none}.dashboard-activity-list li{align-items:center;gap:14px;min-height:78px;padding:13px 24px;display:flex}.dashboard-activity-list li+li{border-top:1px solid var(--color-border-subtle)}.dashboard-activity-avatar{background:var(--color-bg-brand-subtle);width:38px;height:38px;color:var(--color-text-brand);border-radius:50%;flex:0 0 38px;place-items:center;font-size:.75rem;font-weight:900;display:grid}.dashboard-activity-avatar.is-success{background:var(--color-accent-success-bg);color:#426d35}.dashboard-activity-list div{gap:4px;min-width:0;display:grid}.dashboard-activity-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.dashboard-activity-list span{color:var(--color-text-secondary);font-size:.72rem}.dashboard-nudge{background:var(--color-bg-brand-subtle);border-radius:14px;padding:22px 24px}.dashboard-nudge h2{margin:0;font-size:.98rem}.dashboard-nudge p{color:var(--color-text-secondary);margin:7px 0 14px;font-size:.78rem;line-height:1.5}.dashboard-nudge a{color:var(--color-text-brand);font-size:.78rem;font-weight:800;text-decoration:none}.dashboard-first-run{border:1px solid var(--color-border-default);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:48px;min-height:310px;padding:48px;display:flex}.dashboard-first-run>div:first-child{max-width:570px}.dashboard-step-mark{background:var(--color-bg-brand-subtle);width:38px;height:38px;color:var(--color-text-brand);border-radius:11px;place-items:center;margin-bottom:22px;font-size:.85rem;font-weight:900;display:grid}.dashboard-first-run h2{letter-spacing:-.025em;margin:0;font-size:1.65rem}.dashboard-first-run p{color:var(--color-text-secondary);margin:12px 0 0;font-size:.94rem;line-height:1.65}.dashboard-first-run-actions{justify-items:stretch;gap:14px;min-width:190px;display:grid}.dashboard-first-run-actions .classes-create-link{width:100%}.dashboard-first-run-actions>a{min-height:44px;color:var(--color-text-brand);justify-content:center;align-items:center;font-size:.82rem;font-weight:800;text-decoration:none;display:flex}.dashboard-loading{background:var(--color-bg-app);min-height:100vh}.dashboard-loading-nav{border-bottom:1px solid var(--color-border-subtle);background:#fff;height:65px}.dashboard-loading-main{width:min(100% - 40px,1280px);margin:0 auto;padding:58px 0}.dashboard-loading-heading{gap:12px;margin-bottom:36px;display:grid}.dashboard-loading-grid i,.dashboard-loading-heading i{background:linear-gradient(90deg,var(--color-bg-surface),white,var(--color-bg-surface));background-size:240% 100%;border-radius:8px;animation:dashboard-shimmer 1.4s linear infinite;display:block}.dashboard-loading-heading i:first-child{width:320px;height:48px}.dashboard-loading-heading i:last-child{width:460px;max-width:100%;height:18px}.dashboard-loading-grid{grid-template-columns:1.65fr .75fr;gap:24px;display:grid}.dashboard-loading-grid>div{border:1px solid var(--color-border-default);background:#fff;border-radius:14px;gap:18px;padding:24px;display:grid}.dashboard-loading-grid i{height:56px}.dashboard-loading-grid i:first-child{height:28px}@keyframes dashboard-shimmer{to{background-position:-240% 0}}@media (max-width:960px){.dashboard-layout{grid-template-columns:1fr}.dashboard-secondary-column{grid-template-columns:minmax(0,1fr) minmax(280px,.7fr)}.dashboard-loading-grid{grid-template-columns:1fr}}@media (max-width:720px){.dashboard-main{width:min(100% - 32px,1280px);padding:36px 0 72px}.dashboard-heading{flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:28px}.dashboard-heading h1{font-size:2.35rem}.dashboard-heading>.classes-create-link,.dashboard-heading>.dashboard-primary-action{width:100%}.dashboard-secondary-column{grid-template-columns:1fr}.dashboard-section-heading{padding:18px}.dashboard-section-heading p{display:none}.dashboard-homework-table,.dashboard-homework-table tbody{display:block}.dashboard-homework-table thead{display:none}.dashboard-homework-table tr{grid-template-columns:1fr 1fr;gap:11px 18px;padding:18px;display:grid;position:relative}.dashboard-homework-table tr+tr{border-top:1px solid var(--color-border-subtle)}.dashboard-homework-table tr.is-urgent{background:var(--color-bg-brand-subtle)}@supports (color:color-mix(in lab,red,red)){.dashboard-homework-table tr.is-urgent{background:color-mix(in srgb,var(--color-bg-brand-subtle)58%,white)}}.dashboard-homework-table tr.is-urgent td{background:0 0}.dashboard-homework-table td{border:0;height:auto;font-size:.76rem;padding:0!important}.dashboard-homework-table td:before{content:attr(data-label);color:var(--color-text-secondary);margin-bottom:3px;font-size:.63rem;font-weight:800;display:block}.dashboard-homework-table .dashboard-game-cell{grid-column:1/-1;padding-right:38px!important}.dashboard-homework-table .dashboard-game-cell:before{display:none}.dashboard-homework-table .dashboard-game-cell a{font-size:.92rem}.dashboard-progress-cell{min-width:0}.dashboard-progress-track{width:min(88px,70%)}.dashboard-open-cell{position:absolute;top:14px;right:12px}.dashboard-open-cell:before{display:none!important}.dashboard-activity-list li{padding:13px 18px}.dashboard-first-run{flex-direction:column;align-items:stretch;gap:30px;padding:32px 24px}.dashboard-first-run-actions{min-width:0}.dashboard-loading-main{width:min(100% - 32px,1280px);padding-top:36px}.dashboard-loading-heading i:first-child{width:80%;height:40px}}@media (prefers-reduced-motion:reduce){.dashboard-loading-grid i,.dashboard-loading-heading i{animation:none}}:root{--cream-grain:url(/textures/cream-grain.svg);--grain-texture:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .19 0 0 0 0 .17 0 0 0 0 .22 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.display-title{font-family:var(--font-heading-serif);letter-spacing:-.02em;text-wrap:balance;font-weight:600;line-height:1}.highlight-mark{z-index:0;white-space:nowrap;position:relative}.highlight-mark:after{content:"";z-index:-1;background:var(--color-accent-highlight);border-radius:.3em .1em .35em .15em;height:.36em;position:absolute;bottom:.06em;left:-.06em;right:-.06em;transform:rotate(-1.2deg)}.ink-card{border:var(--border-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-lip);transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s}.ink-card:hover{box-shadow:var(--shadow-lip-lg);transform:translateY(-3px)}.ink-button{border:var(--border-ink);box-shadow:var(--shadow-lip-sm)}.ink-button:hover{box-shadow:var(--shadow-lip);transform:translateY(-1px)}.ink-button:active{box-shadow:none;transform:translateY(3px)}.sticker-stamp{border:1.5px solid var(--color-border-ink);background:var(--color-bg-elevated);color:var(--color-text-primary);letter-spacing:.06em;text-transform:uppercase;box-shadow:var(--shadow-lip-sm);border-radius:8px;padding:5px 9px;font-size:.72rem;font-weight:700;line-height:1.2;display:inline-block;transform:rotate(-5deg)}.level-tag{--level-tag-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 85 77'%3E%3Cpath d='M41.5859 0.202716C49.332 -0.448446 58.6487 0.484302 65.8935 2.78222C85.6415 9.04746 94.7678 23.1995 70.0005 31.5515C73.803 33.5578 76.7041 35.0436 79.2886 38.2089C85.7539 46.131 78.4823 53.0172 70.0924 57.2661C74.8954 59.5842 82.8093 64.4767 76.0619 69.0801C66.6164 75.5238 51.3966 77.0775 39.3557 76.9971C31.7982 76.4867 7.12535 73.8871 10.228 63.388C10.9867 60.8211 16.9603 58.1964 20.0557 57.1857C12.0043 54.6841 0.3112 48.268 3.26461 39.8456C4.98799 34.933 11.5049 32.4013 16.8246 30.1763C10.7922 29.065 5.89626 27.0763 2.52067 22.8098C-10.3517 6.54587 29.6709 1.02484 41.5859 0.202716Z'/%3E%3C/svg%3E");z-index:0;width:4.5rem;aspect-ratio:var(--level-tag-ratio,85/77);color:var(--level-tag-text,var(--color-text-on-brand));font-family:var(--font-heading-serif);letter-spacing:-.01em;white-space:nowrap;flex:none;place-items:center;font-size:1rem;font-weight:600;line-height:1;display:inline-grid;position:relative;transform:rotate(-6deg)}.level-tag:after,.level-tag:before{content:"";z-index:-1;-webkit-mask:var(--level-tag-shape)center/100% 100% no-repeat;mask:var(--level-tag-shape)center/100% 100% no-repeat;position:absolute;inset:0}.level-tag:after,.level-tag:before{background:var(--level-tag-fill,var(--color-bg-brand))}.level-tag:after{z-index:-2}@supports (color:color-mix(in lab,red,red)){.level-tag:after{background:color-mix(in srgb,var(--level-tag-fill,var(--color-bg-brand))78%,var(--color-border-ink))}}.level-tag:after{transform:translate(2px,4px)}.level-tag[data-level=A1],.level-tag[data-level=review]{--level-tag-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 77 75'%3E%3Cpath d='M36.2032 10.75C37.3507 8.61675 41.1408 1.03176 42.6308 0.0022583L43.1157 0C44.1032 1.20775 43.5182 9.57926 43.3307 11.4353C43.3032 11.7045 43.2683 11.9735 43.2308 12.2415C45.0958 10.2808 51.0507 3.63275 52.9982 2.81825L53.5033 2.927C54.1758 4.488 50.4832 14.1947 49.7207 16.1277L49.6757 16.2428C52.3282 15.2478 61.9508 11.57 64.2308 11.5755L64.5733 11.8203C64.5633 13.1793 63.0957 14.4658 62.1082 15.4418C60.6807 16.8255 59.2457 18.199 57.8007 19.5625C60.0457 19.3727 70.9182 18.1943 72.2757 18.82C72.8157 20.4703 64.9282 25.4585 63.3307 26.8353C65.4182 27.236 72.5057 28.5693 73.8682 29.805L73.9532 30.281C72.8657 31.7178 65.8432 33.2237 63.7382 33.7722C65.7207 34.4737 75.9783 38.1775 76.6058 39.5425C75.8308 41.274 66.7958 42.9403 64.6008 43.449C66.9858 45.8483 69.3232 48.2932 71.6132 50.7827L73.7057 53.0378C73.2182 53.6862 72.9808 54.0073 72.0708 53.8535C68.1433 53.19 64.0858 52.1193 60.2283 51.193C61.4408 52.5405 68.1532 61.0035 68.1707 62.425L67.8107 62.7863C65.7932 63.0598 58.7807 59.8402 56.5182 58.9155C57.3082 60.6105 61.8532 69.0443 60.3957 70.1342C58.9632 69.9317 50.7582 62.981 49.0007 61.5985C49.0007 61.858 48.9957 62.1175 48.9832 62.3768C48.8907 64.3595 48.6132 71.2793 47.4232 72.3768L46.8783 72.3342C45.3358 71.1642 43.1782 65.4878 42.3158 63.4613C40.8582 66.118 36.6582 72.3617 34.7655 74.4217C33.7165 71.6517 32.7867 66.7493 32.1252 63.7245C30.3997 65.2205 22.0852 73.1718 20.463 72.1443C19.9132 70.5543 22.7487 61.8025 23.4572 59.8285C21.3572 60.6568 12.3357 65.0512 10.9807 63.9077C10.9757 62.3185 16.565 54.955 17.868 52.7275C15.6417 53.008 5.33074 54.3092 3.89099 53.316L3.849 52.8163C4.7985 51.1588 11.3415 47.2153 13.2987 45.9965C9.67799 44.3843 4.992 42.4613 1.8275 40.2328C4.395 38.9975 9.73049 37.3125 12.5765 36.6738C9.24449 34.4778 5.35325 32.3015 1.8725 30.2725L0 28.9552C0.119 28.1365 0.246243 27.8082 1.21449 27.754C5.75399 27.5005 10.7277 27.6573 15.2495 27.7023C14.3537 25.9505 8.08875 14.925 9.27025 13.7225C10.8482 13.5548 18.5295 16.7027 20.7097 17.5085C20.1682 15.4305 17.1285 5.93025 18.6747 4.82425C20.149 4.9235 27.5792 10.7455 29.5392 12.096C29.3192 9.64351 29.1442 7.18725 29.014 4.7285L28.9187 2.21225L29.4945 1.632C31.1432 1.894 35.2875 9.032 36.2032 10.75Z'/%3E%3C/svg%3E");--level-tag-ratio:77/75;--level-tag-fill:var(--color-accent-sunny);--level-tag-text:var(--color-text-primary)}.level-tag[data-level=A2]{--level-tag-fill:var(--color-accent-confetti);--level-tag-text:var(--color-text-primary)}.level-tag[data-level=B1]{--level-tag-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 74 58'%3E%3Cpath d='M41.995 0.0649372C42.2375 0.0399373 42.4774 0.022447 42.7199 0.012447C54.4049 -0.577553 60.3625 19.9599 60.775 29.1424C62.2525 27.4949 63.7825 25.9324 65.935 25.1749C68.695 24.2199 72.1624 25.7374 72.7649 28.7849C74.6399 38.2574 70.3599 48.9974 66.0049 57.0224C51.7899 56.6699 36.4774 57.0174 22.1992 57.0849C16.5329 57.0899 10.3954 58.1399 5.96244 54.1024C0.495943 49.1224 -3.3103 36.4549 4.1927 31.6649C5.7047 30.6999 7.71745 30.6024 9.4522 30.5074C8.50145 25.0424 7.4332 17.2149 9.61395 12.0274C16.7484 -4.94757 28.0342 5.71743 33.1737 16.1874C33.4712 13.4149 34.5675 8.35243 35.6425 5.80993C36.9525 2.70743 38.985 1.25244 41.995 0.0649372Z'/%3E%3C/svg%3E");--level-tag-ratio:74/58;--level-tag-fill:var(--color-accent-play);--level-tag-text:var(--color-text-primary)}.level-tag[data-level=B2],.level-tag[data-level=speaking]{--level-tag-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 68'%3E%3Cpath d='M29.4615 23.0925C29.5487 16.9355 33.3735 7.627 37.8742 3.20825C39.543 1.57 42.7745 -0.28625 45.0755 0.0369998C59.5167 2.06525 64.4537 23.6515 63.584 35.4992C62.846 45.553 59.2632 57.1683 52.0645 64.2413C48.863 67.1633 45.3832 67.7582 41.2365 67.9258C40.9417 67.8183 39.4205 67.4983 39.037 67.4108C34.1747 66.0455 30.4407 60.7745 27.8955 56.6047C23.374 71.2882 11.6337 68.8383 5.91851 56.7365C0.669088 45.6223 -1.79691 32.7097 1.48004 20.6197C2.54159 16.7942 5.85316 11.7965 9.44189 10.1668C20.0965 5.32751 25.618 15.1633 29.397 22.9593L29.4615 23.0925Z'/%3E%3C/svg%3E");--level-tag-ratio:64/68;--level-tag-fill:var(--color-bg-brand);--level-tag-text:var(--color-text-on-brand)}.level-tag[data-level=vocabulary]{--level-tag-fill:var(--color-accent-confetti);--level-tag-text:var(--color-text-primary);width:7rem;font-size:.95rem}.level-tag[data-level=speaking]{width:6rem;font-size:.9rem}.level-tag[data-level=review]{--level-tag-fill:var(--color-accent-sunny);--level-tag-text:var(--color-text-primary);width:5.5rem;font-size:1rem}.game-art{place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.game-art:after{content:"";pointer-events:none;background:var(--grain-texture);opacity:.9;position:absolute;inset:0}.game-art.is-dark:after{filter:invert();opacity:.5}.game-art svg{width:min(80%,230px);height:auto;transition:transform .45s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:visible}.ink-card:hover .game-art svg{transform:rotate(-5deg)scale(1.04)}.game-screenshot{object-position:center 30%}.game-preview-video,.game-screenshot{z-index:1;object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.game-preview-video{opacity:0;transition:opacity .25s}.ink-card.is-previewing .game-preview-video{opacity:1}.game-layout-toggle{border:var(--border-ink);border-radius:var(--radius-sm);box-shadow:var(--shadow-lip-sm);background:#fff;flex:none;gap:3px;padding:3px;display:inline-flex}.game-layout-toggle button{border-radius:calc(var(--radius-sm) - 4px);width:44px;height:40px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;transition:background-color .18s,color .18s;display:grid}.game-layout-toggle button:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.game-layout-toggle button[aria-pressed=true]{background:var(--color-bg-brand);color:var(--color-text-on-brand)}.game-layout-toggle button:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:2px}.game-library-grid{gap:20px;display:grid}.game-library-card{display:grid;position:relative}.game-library-card .game-card-visual{border-bottom:var(--border-ink);border-radius:calc(var(--radius-lg) - 2px)calc(var(--radius-lg) - 2px)0 0;min-height:208px}.game-card-level{z-index:2;position:absolute;top:-12px;left:-12px}.game-card-body{flex-direction:column;min-width:0;padding:24px;display:flex}.game-card-target{color:var(--color-text-brand);font-size:.875rem;font-weight:800;line-height:1.25rem}.game-library-card .game-card-title{margin-top:8px;font-size:2.25rem}.game-card-description{margin-top:12px;line-height:1.5rem}.game-card-description,.game-card-meta{color:var(--color-text-secondary);font-size:.875rem}.game-card-meta{flex-wrap:wrap;gap:4px 12px;margin-top:20px;font-weight:600;display:flex}.game-card-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}@media (min-width:640px){.game-library-grid[data-layout=grid] .game-library-card{grid-template-columns:minmax(190px,.85fr) minmax(0,1.15fr)}.game-library-grid[data-layout=grid] .game-card-visual{border-bottom:0;border-right:var(--border-ink);border-radius:calc(var(--radius-lg) - 2px)0 0 calc(var(--radius-lg) - 2px)}.game-library-grid[data-layout=grid] .game-card-body{padding:28px}}@media (min-width:1024px){.game-library-grid[data-layout=grid]{grid-template-columns:repeat(2,minmax(0,1fr))}}.game-library-grid[data-layout=dense]{gap:18px}.game-library-grid[data-layout=dense] .game-library-card{grid-template-rows:auto 1fr}.game-library-grid[data-layout=dense] .game-card-visual{min-height:148px}.game-library-grid[data-layout=dense] .game-card-body{padding:18px}.game-library-grid[data-layout=dense] .game-card-target{font-size:.8125rem}.game-library-grid[data-layout=dense] .game-card-title{margin-top:6px;font-size:1.625rem}.game-library-grid[data-layout=dense] .game-card-description{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin-top:8px;font-size:.8125rem;line-height:1.35rem;display:-webkit-box;overflow:hidden}.game-library-grid[data-layout=dense] .game-card-meta{margin-top:10px;font-size:.8125rem}.game-library-grid[data-layout=dense] .game-card-actions{gap:10px;margin-top:auto;padding-top:16px}@media (min-width:640px){.game-library-grid[data-layout=dense]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.game-library-grid[data-layout=dense]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1280px){.game-library-grid[data-layout=dense]{grid-template-columns:repeat(4,minmax(0,1fr))}}.game-library-grid[data-layout=rows]{gap:14px}.game-library-grid[data-layout=rows] .game-library-card{--shadow-lip:0 4px 0 var(--color-bg-brand-strong);--shadow-lip-lg:0 6px 0 var(--color-bg-brand);grid-template-columns:96px minmax(0,1fr)}.game-library-grid[data-layout=rows] .game-card-visual{border-bottom:0;border-right:var(--border-ink);border-radius:calc(var(--radius-lg) - 2px)0 0 calc(var(--radius-lg) - 2px);min-height:0}.game-library-grid[data-layout=rows] .game-card-level{width:3.5rem;font-size:.75rem;top:-10px;left:-10px}.game-library-grid[data-layout=rows] .game-card-body{gap:12px;padding:14px 16px}.game-library-grid[data-layout=rows] .game-card-copy{min-width:0}.game-library-grid[data-layout=rows] .game-card-target{font-size:.75rem;line-height:1rem}.game-library-grid[data-layout=rows] .game-card-title{margin-top:4px;font-size:1.5rem}.game-library-grid[data-layout=rows] .game-card-description{display:none}.game-library-grid[data-layout=rows] .game-card-meta{margin-top:4px;font-size:.8125rem}.game-library-grid[data-layout=rows] .game-card-actions{gap:10px;margin-top:0}@media (max-width:767px){.game-library-grid[data-layout=rows] .game-card-actions{flex-wrap:nowrap}.game-library-grid[data-layout=rows] .game-save-button{gap:0;width:44px;padding:0;font-size:0}}@media (min-width:768px){.game-library-grid[data-layout=rows] .game-library-card{grid-template-columns:132px minmax(0,1fr)}.game-library-grid[data-layout=rows] .game-card-body{flex-direction:row;justify-content:space-between;align-items:center;gap:24px;padding:14px 20px}.game-library-grid[data-layout=rows] .game-card-actions{flex-wrap:nowrap;flex:none}}@media (min-width:1024px){.game-library-grid[data-layout=rows] .game-card-description{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;display:block;overflow:hidden}.game-library-grid[data-layout=rows] .game-card-meta{display:none}}.practice-library-grid{gap:20px;display:grid}.practice-library-card{z-index:0;flex-direction:column;min-width:0;padding:24px;display:flex;position:relative}.practice-library-card:has(.game-save-button[aria-expanded=true]){z-index:60}.practice-card-meta{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:8px;padding-left:44px;font-size:.75rem;font-weight:800;display:flex}.practice-card-level{z-index:2;position:absolute;top:-12px;left:-12px}.practice-card-copy{min-width:0;margin-top:20px}.practice-card-concept{color:var(--color-text-brand);font-size:.875rem;font-weight:800;line-height:1.25rem}.practice-card-title{margin-top:8px;font-size:2.25rem}.practice-card-rule{max-width:65ch;color:var(--color-text-secondary);margin-top:12px;font-size:.875rem;line-height:1.5rem}.practice-card-objectives{gap:8px;margin-top:20px;font-size:.875rem;font-weight:600;display:grid}.practice-card-objectives li{gap:8px;display:flex}.practice-card-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:auto;padding-top:24px;display:flex}@media (min-width:640px){.practice-library-grid[data-layout=grid] .practice-library-card{padding:28px}}@media (min-width:1024px){.practice-library-grid[data-layout=grid]{grid-template-columns:repeat(2,minmax(0,1fr))}}.practice-library-grid[data-layout=dense]{gap:18px}.practice-library-grid[data-layout=dense] .practice-library-card{padding:18px}.practice-library-grid[data-layout=dense] .practice-completion-badge{margin-left:0}.practice-library-grid[data-layout=dense] .practice-card-meta{padding-left:50px}.practice-library-grid[data-layout=dense] .practice-card-copy{margin-top:14px}.practice-library-grid[data-layout=dense] .practice-card-concept{font-size:.8125rem}.practice-library-grid[data-layout=dense] .practice-card-title{margin-top:6px;font-size:1.625rem}.practice-library-grid[data-layout=dense] .practice-card-rule{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin-top:8px;font-size:.8125rem;line-height:1.35rem;display:-webkit-box;overflow:hidden}.practice-library-grid[data-layout=dense] .practice-card-objectives{display:none}.practice-library-grid[data-layout=dense] .practice-card-actions{gap:10px;padding-top:16px}@media (min-width:640px){.practice-library-grid[data-layout=dense]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.practice-library-grid[data-layout=dense]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1280px){.practice-library-grid[data-layout=dense]{grid-template-columns:repeat(4,minmax(0,1fr))}}.practice-library-grid[data-layout=rows]{gap:14px}.practice-library-grid[data-layout=rows] .practice-library-card{--shadow-lip:0 4px 0 var(--color-bg-brand-strong);--shadow-lip-lg:0 6px 0 var(--color-bg-brand);padding:14px 16px}.practice-library-grid[data-layout=rows] .practice-completion-badge{margin-left:0}.practice-library-grid[data-layout=rows] .practice-card-level{width:3.5rem;font-size:.75rem;top:-10px;left:-10px}.practice-library-grid[data-layout=rows] .practice-card-meta{padding-left:38px}.practice-library-grid[data-layout=rows] .practice-card-copy{margin-top:10px}.practice-library-grid[data-layout=rows] .practice-card-concept{font-size:.75rem;line-height:1rem}.practice-library-grid[data-layout=rows] .practice-card-title{margin-top:4px;font-size:1.5rem}.practice-library-grid[data-layout=rows] .practice-card-objectives,.practice-library-grid[data-layout=rows] .practice-card-rule{display:none}.practice-library-grid[data-layout=rows] .practice-card-actions{flex-wrap:nowrap;gap:10px;padding-top:12px}@media (max-width:767px){.practice-library-grid[data-layout=rows] .game-save-button{gap:0;width:44px;padding:0;font-size:0}}@media (min-width:768px){.practice-library-grid[data-layout=rows] .practice-library-card{flex-direction:row;align-items:center;gap:24px;padding:14px 20px 14px 58px}.practice-library-grid[data-layout=rows] .practice-card-copy{flex:1 1 0;order:1;margin-top:0}.practice-library-grid[data-layout=rows] .practice-card-meta{flex-wrap:nowrap;flex:none;order:2;padding-left:0}.practice-library-grid[data-layout=rows] .practice-card-length{display:none}.practice-library-grid[data-layout=rows] .practice-card-actions{flex:none;order:3;margin-top:0;padding-top:0}}@media (min-width:1024px){.practice-library-grid[data-layout=rows] .practice-card-rule{text-overflow:ellipsis;white-space:nowrap;max-width:none;margin-top:4px;display:block;overflow:hidden}}@media (min-width:1280px){.practice-library-grid[data-layout=rows] .practice-card-length{white-space:nowrap;display:inline}}.library-results-heading{scroll-margin-top:96px}.library-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;margin-top:32px;display:flex}.library-pagination-summary{color:var(--color-text-secondary);font-size:.875rem;font-weight:600}.library-pagination-pages{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.library-pagination-pages button{border:var(--border-ink);border-radius:var(--radius-sm);min-width:44px;height:44px;color:var(--color-text-primary);cursor:pointer;background:#fff;place-items:center;padding:0 10px;font-size:.875rem;font-weight:800;transition:background-color .18s,color .18s;display:grid}.library-pagination-pages button:hover:not(:disabled){background:var(--color-bg-surface)}.library-pagination-pages button[aria-current=page]{background:var(--color-bg-brand);color:var(--color-text-on-brand)}.library-pagination-pages button:disabled{opacity:.4;cursor:default}.library-pagination-pages button:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:2px}.library-pagination-pages span{text-align:center;min-width:24px;color:var(--color-text-secondary);font-weight:800}.library-pagination-size{color:var(--color-text-secondary);align-items:center;gap:10px;font-size:.75rem;font-weight:800;display:inline-flex}.library-pagination-size select{border:1px solid var(--color-border-default);height:44px;color:var(--color-text-primary);background:#fff;border-radius:12px;padding:0 12px;font-size:.875rem;font-weight:700}.library-pagination-size select:focus{outline:3px solid var(--color-bg-brand-subtle);border-color:var(--color-bg-brand)}.dashboard-heading h1 em{color:var(--color-text-brand);font-style:normal}.class-detail-heading h1,.classes-heading h1{font-family:var(--font-heading-serif);letter-spacing:-.02em;font-size:3.2rem;font-weight:600;line-height:1}.dashboard-heading h1{font-size:3.4rem;line-height:1}.class-section-heading h2,.classes-empty h2,.dashboard-first-run h2,.dashboard-section-heading h2{font-family:var(--font-heading-serif);letter-spacing:-.01em;font-weight:600;line-height:1.05}.class-section-heading h2,.dashboard-section-heading h2{font-size:1.75rem}.dashboard-first-run h2{font-size:2.4rem}.classes-empty h2{font-size:1.6rem}.class-content-list,.class-detail-empty,.class-invite-panel,.class-list article,.classes-empty,.classes-error,.dashboard-first-run,.dashboard-section{border:var(--border-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-lip-sm)}.class-detail-empty,.classes-empty,.classes-error{box-shadow:none;border-style:dashed}.class-card-link:hover article{border-color:var(--color-border-ink);box-shadow:var(--shadow-lip);transform:translateY(-3px)}.class-detail-actions>a,.classes-create-link,.dashboard-primary-action{border:var(--border-ink);box-shadow:var(--shadow-lip-sm)}.class-detail-actions>a:hover,.classes-create-link:hover,.dashboard-primary-action:hover{box-shadow:var(--shadow-lip)}.class-detail-actions>a:active,.classes-create-link:active,.dashboard-primary-action:active{box-shadow:none;transform:translateY(3px)}.class-card-mark,.class-detail-actions summary,.dashboard-class-mark{border:1.5px solid var(--color-border-ink)}.class-card-mark,.dashboard-class-mark{background:var(--color-accent-sunny);color:var(--color-text-primary);font-family:var(--font-heading-serif);font-size:1.35rem;font-weight:400;transform:rotate(-4deg)}.class-card-link:nth-child(3n+2) .class-card-mark,.dashboard-class-list>a:nth-child(3n+2) .dashboard-class-mark{background:var(--color-bg-brand-subtle);transform:rotate(3deg)}.class-card-link:nth-child(3n) .class-card-mark,.dashboard-class-list>a:nth-child(3n) .dashboard-class-mark{background:var(--color-accent-success-bg);transform:rotate(-2deg)}.dashboard-activity-avatar{border:1.5px solid var(--color-border-ink)}.dashboard-due.is-overdue,.dashboard-due.is-today{border:1.5px solid var(--color-border-ink);letter-spacing:.04em;text-transform:uppercase;border-radius:7px;padding:3px 8px;font-size:.72rem;display:inline-block;transform:rotate(-3deg)}.dashboard-due.is-today{background:var(--color-accent-highlight);color:var(--color-text-primary)}.dashboard-due.is-overdue{color:#8d2d24;background:#ffdad6}.dashboard-progress-track{border:1.5px solid var(--color-border-ink);background:var(--color-bg-elevated);height:10px}.dashboard-nudge{border:var(--border-ink);box-shadow:var(--shadow-lip-sm);background:var(--color-accent-sunny)}.dashboard-nudge h2{font-family:var(--font-heading-serif);font-size:1.6rem;font-weight:600;line-height:1.05}.dashboard-nudge a,.dashboard-nudge p{color:var(--color-text-primary)}.dashboard-nudge a{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.dashboard-step-mark.sticker-stamp{background:var(--color-accent-sunny);width:auto;height:auto;color:var(--color-text-primary);font-size:.72rem;font-weight:700;display:inline-block}.dashboard-first-run{position:relative}.dashboard-first-run-momo{flex:0 0 150px;width:150px;height:150px;transform:rotate(6deg)}@media (max-width:760px){.class-detail-heading h1,.classes-heading h1,.dashboard-heading h1{font-size:2.5rem}.dashboard-first-run-momo{width:68px;height:68px;position:absolute;top:12px;right:12px}}@media (prefers-reduced-motion:reduce){.class-card-link:hover article{transform:none}}.join-card{border:var(--border-ink);box-shadow:var(--shadow-lip-lg)}.join-card .step-chip{letter-spacing:.08em;text-transform:uppercase;border:1.5px solid var(--color-border-ink);background:var(--color-accent-sunny);border-radius:8px;padding:5px 10px;font-size:.72rem;font-weight:700;transform:rotate(-3deg)}.student-greeting h1{font-family:var(--font-heading-serif);letter-spacing:-.02em;font-size:2.6rem;font-weight:600;line-height:1}.student-greeting h1 em{color:var(--color-text-brand);font-style:normal}.student-featured.ink-card{background:var(--color-bg-elevated);padding:0;overflow:hidden}.student-featured-art{border-bottom:var(--border-ink);height:176px;position:relative}.student-featured-art .game-art{padding:36px 0 0 12%}.student-featured-art .game-art svg{width:138px;height:138px}.student-featured-vocab{background:var(--color-bg-brand-subtle);place-items:center;padding-left:18%;display:grid;position:absolute;inset:0}.student-featured-vocab span{border:var(--border-ink);background:var(--color-accent-sunny);width:92px;height:92px;box-shadow:var(--shadow-lip-sm);font:400 2.6rem/1 var(--font-heading-serif);border-radius:50%;place-items:center;display:grid;transform:rotate(-6deg)}.student-featured-momo{z-index:2;width:108px;height:108px;position:absolute;bottom:-6px;right:6px}.student-featured-body{gap:12px;padding:18px;display:grid}.student-featured .student-featured-body h2{font-family:var(--font-heading-serif);letter-spacing:-.01em;margin:0;font-size:2.2rem;font-weight:600;line-height:1}.student-featured .student-featured-meta{margin:0}.student-item-label{letter-spacing:.09em;text-transform:uppercase}.play-button{border:var(--border-ink);background:var(--color-accent-play);min-height:54px;box-shadow:var(--shadow-lip);color:var(--color-text-on-brand);letter-spacing:.02em;border-radius:14px;justify-content:center;align-items:center;gap:10px;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .18s,box-shadow .18s,background-color .18s;display:flex}.play-button:hover{background:var(--color-accent-play-strong);transform:translateY(-1px)}.play-button:active{box-shadow:var(--shadow-lip-sm);transform:translateY(4px)}.play-button:focus-visible{outline:3px solid var(--color-accent-highlight);outline-offset:3px}.student-encouragement.is-done{border:var(--border-ink);min-height:150px;box-shadow:var(--shadow-lip);background:var(--color-accent-sunny)}.student-encouragement.is-done h2{font-family:var(--font-heading-serif);font-size:1.9rem;font-weight:600;line-height:1.05}.student-encouragement.is-done p{color:var(--color-text-primary)}.student-encouragement.is-done .student-mascot{width:160px;height:160px;bottom:-18px;right:-6px}.student-classwork{border:var(--border-ink);box-shadow:var(--shadow-lip-sm);align-self:start}.student-section-heading h2{font-family:var(--font-heading-serif);font-size:1.7rem;font-weight:600;line-height:1}.student-progress-page{gap:18px;width:min(100% - 32px,920px);margin:0 auto;padding:22px 0 8px;display:grid}.student-progress-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.student-progress-heading h1{font-family:var(--font-heading-serif);letter-spacing:-.02em;margin:0;font-size:2.6rem;font-weight:600;line-height:1}.student-progress-heading p{color:var(--color-text-secondary);margin:7px 0 0;font-size:.82rem}.student-progress-heading>a{min-height:40px;color:var(--color-text-brand);align-items:center;font-size:.78rem;font-weight:800;text-decoration:none;display:inline-flex}.student-progress-heading>a:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.student-progress-overview{border:var(--border-ink);background:var(--color-accent-sunny);box-shadow:var(--shadow-lip-sm);border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 22px;padding:20px;display:grid}.student-progress-overview>div:first-child{align-items:center;gap:13px;display:flex}.student-progress-mark{border:var(--border-ink);color:#426d35;background:#fff;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid}.student-progress-overview h2{margin:0;font-size:1.2rem;line-height:1.2}.student-progress-overview p{color:var(--color-text-primary);margin:5px 0 0;font-size:.74rem;line-height:1.4}.student-progress-overview>strong{font-family:var(--font-heading-serif);font-size:2.2rem;font-weight:600}.student-progress-track{border:1.5px solid var(--color-border-ink);background:#fff;border-radius:999px;grid-column:1/-1;height:12px;overflow:hidden}.student-progress-track i{border-radius:inherit;background:var(--color-bg-brand);height:100%;transition:width .22s cubic-bezier(.22,1,.36,1);display:block}.student-results{border:var(--border-ink);box-shadow:var(--shadow-lip-sm);background:#fff;border-radius:16px;padding:20px}.student-results-list{margin-top:16px}.student-results-list>a{min-height:76px;color:var(--color-text-primary);grid-template-columns:42px minmax(0,1fr) auto 18px;align-items:center;gap:12px;padding:10px 0;text-decoration:none;display:grid}.student-results-list>a+a{border-top:1px solid var(--color-border-subtle)}.student-result-icon,.student-results-list>a:hover .student-result-copy strong{color:var(--color-text-brand)}.student-result-icon{background:var(--color-bg-brand-subtle);width:38px;height:38px;border-radius:11px;place-items:center;display:grid}.student-result-icon.is-completed{background:var(--color-accent-success-bg);color:#426d35;border:1.5px solid #5f8c52}.student-result-copy{min-width:0}.student-result-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;transition:color .18s;display:block;overflow:hidden}.student-result-copy small,.student-result-score small{color:var(--color-text-secondary);margin-top:4px;font-size:.64rem;display:block}.student-result-score{text-align:right;min-width:82px}.student-result-score>strong{color:var(--color-text-primary);font-size:.86rem}.student-result-arrow{color:var(--color-text-brand)}.student-progress-empty{border:1px dashed var(--color-border-default);text-align:center;border-radius:12px;margin-top:16px;padding:30px 18px}.student-progress-empty h3{margin:0;font-size:1rem}.student-progress-empty p{color:var(--color-text-secondary);margin:7px 0 0;font-size:.75rem;line-height:1.5}@media (min-width:760px){.student-greeting h1{font-size:3.4rem}.student-featured-art{height:210px}.student-featured-body{padding:24px}.student-featured-momo{width:136px;height:136px}.student-featured-art .game-art svg{width:170px;height:170px}.student-progress-page{gap:24px;padding-top:42px}.student-progress-heading h1{font-size:3.4rem}.student-progress-overview,.student-results{padding:24px}}@media (max-width:560px){.student-progress-heading{align-items:flex-start}.student-progress-heading>a{display:none}.student-progress-overview{grid-template-columns:minmax(0,1fr) auto;padding:18px}.student-progress-mark{width:42px;height:42px}.student-progress-overview h2{font-size:1rem}.student-progress-overview>strong{font-size:1.8rem}.student-results{padding:18px}.student-results-list>a{grid-template-columns:38px minmax(0,1fr) auto;gap:10px}.student-result-arrow{display:none}.student-result-score{min-width:68px}}@media (prefers-reduced-motion:reduce){.app-button,.game-art svg,.ink-button,.ink-card,.ink-card:hover,.ink-card:hover .game-art svg,.play-button,.student-progress-track i{transition:none;transform:none}}.esl-icon{pointer-events:none;flex:none;align-self:center;display:block}.class-detail-actions>a,.class-detail-back,.classes-create-link,.dashboard-nudge a,.dashboard-primary-action,.dashboard-section-empty>a,.game-save-next,.onboarding-primary,.vocab-add-image,.vocab-back,.vocab-primary,.vocab-session-back{justify-content:center;align-items:center;gap:8px;display:inline-flex}.vocab-set-menu-trigger{padding:0}.vocab-add-image,.vocab-back,.vocab-session-back{min-height:44px}.student-mobile-nav .student-navigation a.is-active .esl-icon{box-sizing:content-box;background:var(--color-bg-brand-subtle);border-radius:999px;padding:5px}.student-desktop-nav .student-navigation .esl-icon{width:20px;height:20px;padding:0}.practice-close .esl-icon{width:24px;height:24px}.game-save-popover-head strong,.objective-row>span{align-items:center;gap:6px;display:inline-flex}.practice-close{color:var(--color-text-secondary)}.answer-check{color:#10b981;object-fit:fill;margin-left:auto}.speaking-mic .esl-icon{width:36px;height:36px}.assignment-schedule-fields{border-top:1px solid var(--color-border-subtle);gap:10px;margin-top:12px;padding-top:12px;display:grid}.assignment-schedule-fields fieldset{grid-template-columns:1fr 1fr;gap:6px;max-height:none;display:grid;overflow:visible}.assignment-schedule-fields fieldset legend{color:var(--color-text-primary);grid-column:1/-1;margin-bottom:4px;font-weight:800}.assignment-schedule-fields fieldset label{background:var(--color-bg-app);min-height:36px;padding:7px;font-size:.72rem;line-height:1.25}.assignment-schedule-fields>label{color:var(--color-text-primary);gap:5px;font-size:.72rem;font-weight:800;display:grid}.assignment-schedule-fields>label>span{color:var(--color-text-secondary);margin-left:4px;font-weight:600}.assignment-schedule-fields input[type=datetime-local]{border:1px solid var(--color-border-default);width:100%;height:40px;color:var(--color-text-primary);font:600 .72rem var(--font-body-sans);background:#fff;border-radius:9px;padding:0 9px}.assignment-schedule-fields>p{color:#8d2d24;margin:0;font-size:.72rem;font-weight:700}.vocab-class-picker{gap:11px;display:grid}.vocab-class-picker input[type=datetime-local],.vocab-class-picker select{border:1px solid var(--color-border-default);width:100%;min-height:40px;color:var(--color-text-primary);font:600 .78rem var(--font-body-sans);background:#fff;border-radius:10px;padding:0 10px}.vocab-class-picker fieldset{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.vocab-class-picker fieldset legend{width:100%;margin-bottom:2px;font-size:.76rem;font-weight:800}.vocab-class-picker fieldset label{border:1px solid var(--color-border-subtle);background:var(--color-bg-app);border-radius:10px;flex:1;align-items:center;gap:7px;min-height:38px;margin:0;padding:8px 10px;font-size:.74rem;display:flex}.vocab-class-picker>label{gap:6px;margin:0;display:grid}.vocab-class-picker>label>span{color:var(--color-text-secondary);margin-left:4px;font-weight:600}.vocab-class-picker>button{min-height:40px}.class-content-groups{gap:28px;display:grid}.class-content-group{gap:10px;display:grid}.class-content-group-heading{justify-content:space-between;align-items:center;gap:16px;padding:0 4px;display:flex}.class-content-group-heading h3{margin:0;font-size:.9rem}.class-content-group-heading span{background:var(--color-bg-brand-subtle);min-width:25px;height:25px;color:var(--color-text-brand);border-radius:999px;place-items:center;font-size:.7rem;font-weight:800;display:grid}.class-content-list article{grid-template-columns:112px minmax(0,1fr) auto}.class-content-copy{min-width:0}.class-content-copy .class-content-date{color:var(--color-text-brand);white-space:normal;align-items:center;gap:5px;margin-top:8px;font-size:.72rem;font-weight:700;display:flex}.class-completion-summary{color:var(--color-text-secondary);margin-top:9px;font-size:.74rem}.class-completion-summary summary{cursor:pointer;width:max-content;color:var(--color-text-primary);font-weight:800}.class-completion-summary>div{flex-wrap:wrap;gap:6px 12px;margin-top:7px;display:flex}.class-completion-summary>div span{align-items:center;gap:5px;display:inline-flex}.class-completion-summary>div .esl-icon{color:var(--color-text-brand)}.class-content-actions{align-items:center;gap:4px;display:flex}.class-content-actions a,.class-content-actions button{min-height:36px;color:var(--color-text-brand);font:800 .76rem var(--font-body-sans);background:0 0;border:0;border-radius:9px;align-items:center;padding:0 9px;text-decoration:none;display:inline-flex}.class-content-actions a:hover,.class-content-actions button:hover{background:var(--color-bg-app)}.class-content-actions .is-danger{color:var(--color-text-secondary)}.class-content-actions .is-danger:hover{color:#8d2d24;background:#fff0ed}.class-schedule-editor{background:var(--color-bg-app);border-radius:12px;grid-column:2/-1;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:10px;padding:12px;display:grid}.class-schedule-editor label{color:var(--color-text-primary);gap:6px;font-size:.72rem;font-weight:800;display:grid}.class-schedule-editor label span{color:var(--color-text-secondary);margin-left:4px;font-weight:600}.class-schedule-editor input{border:1px solid var(--color-border-default);min-height:40px;color:var(--color-text-primary);font:600 .76rem var(--font-body-sans);background:#fff;border-radius:10px;padding:0 10px}.class-schedule-editor>button{background:var(--color-bg-brand);color:#fff;min-height:40px;font:800 .76rem var(--font-body-sans);border:0;border-radius:10px;padding:0 13px}.student-new-sticker{width:112px;height:29px;color:var(--color-text-primary);letter-spacing:.045em;text-transform:uppercase;flex:0 0 112px;place-items:center;margin-left:3px;font-size:.55rem;font-style:normal;font-weight:900;line-height:1;display:inline-grid;position:relative;transform:rotate(-3deg)}.student-new-sticker svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.student-new-sticker>span{z-index:1;padding-bottom:3px;position:relative}.student-item-label>.student-new-sticker{margin-left:0}@media (max-width:420px){.student-assignment-list>a{grid-template-columns:38px minmax(0,1fr) auto;gap:10px;padding-inline:4px}.student-assignment-icon{width:36px;height:36px}.student-assignment-status{padding-inline:7px}.student-assignment-tail{gap:5px}}@media (max-width:800px){.class-content-list article{grid-template-columns:1fr auto}.class-content-list article>.class-content-copy{grid-column:1/-1}.class-content-actions{flex-wrap:wrap;grid-column:1/-1}.class-schedule-editor{grid-column:1/-1;grid-template-columns:1fr 1fr}.class-schedule-editor>button{grid-column:1/-1}}@media (max-width:520px){.assignment-schedule-fields fieldset,.class-schedule-editor{grid-template-columns:1fr}.class-schedule-editor>button{grid-column:1}}.class-detail-shell,.classes-shell,.cream-surface,.dashboard-loading,.dashboard-shell,.join-shell,.legal-page,.onboarding-shell,.practice-shell:not(.learn-shell):not(.results-shell),.question-shell,.student-dashboard,.student-home{background-image:var(--cream-grain);background-size:128px 128px}.app-footer{border-top:1px solid var(--color-border-subtle);width:min(100% - 40px,1280px);color:var(--color-text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;margin:56px auto 0;padding:20px 0 28px;font-size:.8rem;display:flex}.app-footer p{margin:0}.app-footer nav{flex-wrap:wrap;gap:4px 20px;display:flex}.app-footer a{min-height:32px;color:var(--color-text-secondary);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.app-footer a:hover{color:var(--color-text-primary);text-decoration:underline}.app-footer a.app-footer-support{color:var(--color-text-brand);font-weight:700}.app-footer a:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:3px;border-radius:4px}.display-title,h1,h2,h3,h4,h5,h6{font-family:var(--font-heading-serif);font-weight:600}.class-form select,.library-pagination-size select,.vocab-class-picker select,select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23302b39' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px 16px;padding-right:40px}.vocab-set-terms{border-top:1px solid var(--study-line);margin-top:40px;padding-top:28px}.vocab-set-terms>header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.vocab-set-terms h2{letter-spacing:-.01em;margin:0;font-size:1.35rem}.vocab-set-terms header p{color:var(--study-muted);margin:4px 0 0;font-size:.8rem;font-weight:600}.vocab-set-terms-edit{border:1px solid var(--study-line);width:44px;height:44px;color:var(--study-ink);background:#fff;border-radius:12px;flex:none;place-items:center;transition:border-color .18s,color .18s;display:grid}.vocab-set-terms-edit:hover{border-color:var(--study-accent);color:var(--study-accent)}.vocab-set-terms ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.vocab-set-terms li{border:1px solid var(--study-line);min-height:60px;color:var(--study-ink);background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;align-items:center;gap:18px;padding:12px 16px;display:grid}.vocab-set-terms li strong{overflow-wrap:anywhere;font-size:.95rem;font-weight:700}.vocab-set-terms li span{color:var(--study-muted);overflow-wrap:anywhere;font-size:.9rem;line-height:1.45}.vocab-set-terms li img{object-fit:cover;border-radius:8px;width:52px;height:52px}@media (max-width:640px){.vocab-set-terms li{grid-template-columns:minmax(0,1fr) auto;gap:4px 14px}.vocab-set-terms li span{grid-column:1}.vocab-set-terms li img{grid-area:1/2/span 2}}@media (prefers-reduced-motion:reduce){.vocab-set-terms-edit{transition:none}}.vocab-fullscreen-toggle{border:1px solid var(--study-line);min-height:52px;color:var(--study-ink);font:600 .82rem var(--font-body-sans);background:#fff;border-radius:14px;align-items:center;gap:8px;margin-left:auto;padding:0 16px;transition:border-color .18s,color .18s;display:inline-flex}.vocab-fullscreen-toggle:hover{border-color:var(--study-accent);color:var(--study-accent)}.vocab-session.is-fullscreen,.vocab-session.is-student.is-fullscreen{z-index:200;background:var(--color-bg-app);width:100%;min-height:0;margin:0;padding:18px max(20px,50vw - 430px) 32px;position:fixed;inset:0;overflow-y:auto}@media (prefers-reduced-motion:reduce){.vocab-fullscreen-toggle{transition:none}}.vocab-set-card .vocab-set-terms-edit{--study-line:var(--color-border-default);--study-ink:var(--color-text-primary);--study-accent:var(--color-bg-brand)}.vocab-set-card .vocab-set-terms-edit:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:2px}.vocab-set-header>.vocab-set-terms-edit{margin:16px 8px 0 0}:root{--page-gutter:20px}@media (min-width:640px){:root{--page-gutter:32px}}@media (min-width:1024px){:root{--page-gutter:48px}}.app-footer,.class-detail-main,.classes-main,.dashboard-loading-main,.dashboard-main,.library-class-context>div{width:min(100% - 2*var(--page-gutter),1280px)}.class-card-mark,.dashboard-class-mark{overflow:hidden}.class-card-mark img,.dashboard-class-mark img{object-fit:cover;width:100%;height:100%}.class-card-mark.has-image{flex-basis:56px;width:56px;height:56px}.class-detail-identity{align-items:center;gap:18px;min-width:0;display:flex}.class-detail-identity>div{min-width:0}.class-detail-identity>div>p{color:var(--color-text-secondary);margin:10px 0 0;font-size:.875rem}.class-image-button{border:1.5px dashed var(--color-border-ink);width:84px;height:84px;color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:18px;flex:0 0 84px;place-content:center;justify-items:center;gap:2px;padding:0;font-size:.72rem;font-weight:800;display:grid;overflow:hidden;transform:rotate(-3deg)}.class-image-button.has-image{border-style:solid}.class-image-button img{object-fit:cover;width:84px;height:84px}.class-image-button:hover{color:var(--color-text-primary)}.class-image-button:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:3px}.class-image-button:disabled{opacity:.6;cursor:default}@media (max-width:640px){.class-image-button,.class-image-button img{flex-basis:64px;width:64px;height:64px}}.dtp{position:relative}.dtp button{font-family:var(--font-body-sans)}.dtp-trigger{border:1px solid var(--color-border-default);width:fit-content;min-width:176px;max-width:100%;min-height:44px;color:var(--color-text-primary);text-align:left;cursor:pointer;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-size:.95rem;font-weight:700;display:flex}.dtp-trigger.is-empty{color:var(--color-text-secondary);font-weight:600}.dtp-pop button:focus-visible,.dtp-trigger:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:2px}.dtp-pop{z-index:1000;border:1px solid var(--color-border-default);background:#fff;border-radius:14px;width:328px;max-width:calc(100vw - 32px);padding:12px;position:fixed;box-shadow:0 8px 18px #302b3924}.dtp-body{gap:10px;display:flex}.dtp-cal{flex:1;min-width:0}.dtp-month{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.95rem;display:flex}.dtp-month button{width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:1.3rem;line-height:1}.dtp-month button:hover{background:var(--color-bg-app);color:var(--color-text-primary)}.dtp-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.dtp-dow{color:var(--color-text-secondary);text-align:center;padding:2px 0 4px;font-size:.72rem;font-weight:800}.dtp-day{height:32px;color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0;font-size:.88rem;font-weight:700}.dtp-day:hover{background:var(--color-bg-app)}.dtp-day.is-today{box-shadow:inset 0 0 0 1.5px var(--color-border-default)}.dtp-day.is-selected,.dtp-hour[aria-pressed=true]{background:var(--color-bg-brand);color:#fff}.dtp-hours{border-left:1px solid var(--color-border-subtle);scrollbar-width:thin;flex-direction:column;gap:2px;width:74px;height:218px;padding-left:8px;padding-right:2px;display:flex;position:relative;overflow-y:auto}.dtp-hour{color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 34px;font-size:.9rem;font-weight:700}.dtp-hour:hover{background:var(--color-bg-app)}.dtp-hour[aria-pressed=true]:hover{background:var(--color-bg-brand)}.dtp-actions{border-top:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;display:flex}.dtp-actions button{background:var(--color-bg-app);min-height:36px;color:var(--color-text-secondary);cursor:pointer;border:0;border-radius:9px;padding:0 12px;font-size:.85rem;font-weight:800}.dtp-actions .dtp-done{background:var(--color-bg-brand);color:#fff}.momo{pointer-events:none;-webkit-user-select:none;user-select:none;height:auto;display:block}.momo-peek{margin-top:140px;position:relative}.momo-peek>:not(picture){z-index:1;position:relative}.momo-peek-img{z-index:0;width:208px;animation:momo-rise .55s cubic-bezier(.34,1.56,.64,1) both;position:absolute;bottom:calc(100% - 52px);right:14px}.momo-peek>picture{display:contents}.momo-edge{width:min(240px,62vw);margin:0 0 -8px auto;animation:momo-slide-in .6s cubic-bezier(.34,1.3,.64,1) both;display:block}.momo-edge-left{margin:0 auto -8px 0;animation-name:momo-slide-in-left}@keyframes momo-rise{0%{opacity:0;transform:translateY(70%)}to{opacity:1;transform:none}}@keyframes momo-slide-in{0%{transform:translate(120%)}to{transform:none}}@keyframes momo-slide-in-left{0%{transform:translate(-120%)}to{transform:none}}.stage-break .momo{width:min(260px,70vw);animation:momo-slide-in .65s cubic-bezier(.34,1.3,.64,1) both}@media (prefers-reduced-motion:reduce){.momo-edge,.momo-peek-img,.stage-break .momo{animation:none}}.momo-stage{width:150px;margin-bottom:4px}.momo-intro{flex:none;width:104px}.dtp-pop button:hover{color:var(--color-text-primary);background:var(--color-bg-app)}.dtp-pop button.dtp-day:hover,.dtp-pop button.dtp-hour:hover{background:var(--color-bg-brand-subtle);color:var(--color-text-primary)}.dtp-pop .dtp-actions button.dtp-done,.dtp-pop .dtp-actions button.dtp-done:hover,.dtp-pop button.dtp-day.is-selected,.dtp-pop button.dtp-day.is-selected:hover,.dtp-pop button.dtp-hour[aria-pressed=true],.dtp-pop button.dtp-hour[aria-pressed=true]:hover{background:var(--color-bg-brand);color:#fff}.dtp-trigger:hover{color:var(--color-text-primary);background:var(--color-bg-app)}.dtp-trigger{justify-self:start}.in-development-tag{border:2px solid var(--color-border-ink);background:var(--color-accent-sunny);min-height:26px;color:var(--color-text-primary);letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:.75rem;font-weight:800;line-height:1;display:inline-flex}.in-development-tag-dot{background:var(--color-border-ink);border-radius:50%;width:8px;height:8px}@media (prefers-reduced-motion:no-preference){.in-development-tag-dot{animation:in-development-pulse 1.6s ease-in-out infinite}}@keyframes in-development-pulse{50%{opacity:.3}}.game-library-card[data-in-development] .game-card-visual{filter:saturate(.55)}.game-library-card[data-in-development] .in-development-tag{margin-bottom:8px}.in-development-action{cursor:default;box-shadow:none;opacity:.65;pointer-events:none}.ob-main{width:min(100% - 32px,560px)}.ob-card{border:1px solid var(--color-border-default);background:#fff;border-radius:20px;padding:clamp(22px,5vw,36px)}.ob-card h1{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(1.7rem,5vw,2.2rem);line-height:1.1}.ob-card>p{color:var(--color-text-secondary);margin:12px 0 0;font-size:.98rem;line-height:1.6}.ob-top{justify-content:space-between;margin-bottom:22px;display:flex}.ob-back,.ob-top{align-items:center}.ob-back{min-height:44px;color:var(--color-text-secondary);font:800 .84rem var(--font-body-sans);cursor:pointer;background:0 0;border:0;gap:6px;padding:0 10px 0 0;display:inline-flex}.ob-back:hover{color:var(--color-text-primary)}.ob-dots{gap:6px;margin:0;padding:0;list-style:none;display:flex}.ob-dots li{background:var(--color-border-default);border-radius:3px;width:26px;height:6px}.ob-dots li.is-active{background:var(--color-bg-brand)}.ob-roles{gap:10px;margin-top:24px;display:grid}.ob-role{border:1px solid var(--color-border-default);min-height:64px;color:var(--color-text-primary);font-family:var(--font-body-sans);text-align:left;cursor:pointer;background:#fff;border-radius:14px;gap:3px;padding:14px 16px;transition:border-color .15s,background-color .15s;display:grid}.ob-role:hover:not(:disabled){border-color:var(--color-bg-brand);background:var(--color-bg-brand-subtle)}.ob-field input:focus-visible,.ob-field select:focus-visible,.ob-role:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:2px;border-color:var(--color-bg-brand)}.ob-role strong{font-size:1rem}.ob-role span{color:var(--color-text-secondary);font-size:.84rem}.ob-field{gap:8px;margin-top:24px;display:grid}.ob-field>span{align-items:center;gap:7px;font-size:.84rem;font-weight:800;display:flex}.ob-field small{color:var(--color-text-secondary);margin-left:auto;font-size:.7rem;font-weight:700}.ob-field input,.ob-field select{border:1px solid var(--color-border-default);width:100%;min-height:52px;color:var(--color-text-primary);font:700 1rem var(--font-body-sans);background:#fff;border-radius:12px;padding:0 14px}.ob-actions{justify-items:center;gap:8px;margin-top:28px;display:grid}.ob-actions .onboarding-primary{width:100%;font:800 1rem var(--font-body-sans);cursor:pointer;border:0;justify-content:space-between}.ob-actions .onboarding-primary:disabled{opacity:.55;cursor:default;transform:none}.ob-skip{min-height:44px;color:var(--color-text-secondary);font:800 .88rem var(--font-body-sans);cursor:pointer;background:0 0;border:0;align-items:center;padding:0 14px;text-decoration:none;display:inline-flex}.ob-skip:hover{color:var(--color-text-primary)}.ob-check{margin-left:0}.ob-error{color:#7f291f;background:#fff0ed;border-radius:10px;margin:18px 0 0;padding:11px 12px;font-size:.82rem;font-weight:700}@media (prefers-reduced-motion:reduce){.ob-role{transition:none}}.coach-tour{z-index:80;pointer-events:none;position:fixed;inset:0}.coach-dim{pointer-events:auto;background:#201a2b94;position:fixed}.coach-ring{pointer-events:none;border:2px solid #fff;border-radius:14px;position:fixed}.coach-tip{color:var(--color-text-primary);pointer-events:auto;background:#fff;border-radius:16px;gap:6px;padding:18px 18px 14px;display:grid;position:fixed}.coach-tip h2{letter-spacing:-.02em;margin:0;font-size:1.1rem}.coach-tip p{color:var(--color-text-secondary);margin:0;font-size:.9rem;line-height:1.5}.coach-tip .coach-count{color:var(--color-text-brand);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:800}.coach-actions{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.coach-skip{min-height:40px;color:var(--color-text-secondary);font:800 .84rem var(--font-body-sans);cursor:pointer;background:0 0;border:0;padding:0 4px}.coach-skip:hover{color:var(--color-text-primary)}.coach-next{background:var(--color-bg-brand);color:#fff;min-height:44px;font:800 .9rem var(--font-body-sans);cursor:pointer;border:0;border-radius:12px;padding:0 22px}.coach-next:hover{background:var(--color-bg-brand-strong)}.coach-next:focus-visible,.coach-skip:focus-visible{outline:3px solid var(--color-bg-brand-subtle);outline-offset:2px}.vocab-session,.vocab-session-stage{overflow-x:clip}.vocab-cards-mode{padding-block:4px;overflow:clip visible}.vocab-student-activity-bar{gap:12px;padding:10px 12px}.vocab-student-activity-bar>button{justify-content:center;width:44px;min-height:44px;padding:0}.vocab-student-activity-bar strong{font-size:.95rem}.vocab-assignment-choices button{grid-template-rows:auto auto auto}.vocab-choice-text{text-align:center;align-content:start;justify-items:center;gap:4px;display:grid}.vocab-choice-text strong{align-items:center;min-height:2.6em;font-size:.9rem;line-height:1.3;display:grid}.vocab-choice-text em{color:var(--study-accent);font-size:.78rem;font-style:normal;font-weight:900}.vocab-choice-text em.is-empty{color:var(--study-muted);font-weight:700}.vocab-check-matches{background:var(--color-accent-play)!important}@media (max-width:640px){.vocab-assignment-choices button{grid-template-rows:1fr}.vocab-choice-text{text-align:left;justify-items:start}.vocab-choice-text strong{min-height:0;display:block}}.student-mobile-nav .student-navigation{height:88px}.student-mobile-nav .student-navigation a{gap:6px;min-width:110px;font-size:.78rem}.student-navigation .esl-icon,.student-navigation img{width:30px;height:30px}@media (min-width:760px){.student-desktop-nav .student-navigation a{min-height:46px;padding:0 16px;font-size:.85rem}.student-desktop-nav .student-navigation .esl-icon,.student-desktop-nav .student-navigation img{width:24px;height:24px}}.student-assignment-icon{background:var(--color-bg-brand-subtle);color:var(--color-text-brand)}.student-result-icon.student-assignment-icon{border:0}.student-section-heading{align-items:center}.student-assignment-group{margin-top:16px}.student-assignment-group>h3,.student-assignment-group>summary{color:var(--color-text-secondary);letter-spacing:.04em;text-transform:uppercase;cursor:default;align-items:center;gap:8px;margin:0 0 4px;font-size:.72rem;font-weight:800;list-style:none;display:flex}.student-assignment-group>summary{cursor:pointer;padding:8px 0}.student-assignment-group>summary::-webkit-details-marker{display:none}.student-assignment-group>summary:before{content:"";border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;transition:transform .15s;transform:rotate(-45deg)}.student-assignment-group[open]>summary:before{transform:rotate(45deg)}.student-assignment-group>h3 span,.student-assignment-group>summary span{font-weight:700}.student-assignment-date{color:var(--color-text-secondary);white-space:nowrap;font-size:.72rem;font-weight:700}.vocab-session-meta.is-score-only{justify-content:flex-end}.vocab-practice-panel{background:0 0;border:0;padding:4px 0 0}.vocab-practice-choices{grid-template-columns:1fr;gap:0;margin-top:8px}.vocab-practice-choices button{border:0;border-bottom:1px solid var(--study-line);background:0 0;border-radius:0;grid-template-columns:auto minmax(0,1fr);min-height:60px;padding:10px 4px}.vocab-practice-choices button:last-child{border-bottom:0}.vocab-practice-choices button:hover{border-color:var(--study-line);background:0 0}.vocab-practice-choices button:hover strong{color:var(--study-accent)}.student-results-list>a{grid-template-columns:42px minmax(0,1fr) auto}@media (max-width:640px){.student-results-list>a{grid-template-columns:38px minmax(0,1fr) auto}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes pulse{50%{opacity:.5}}