@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--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-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:"DM Sans", "Be Vietnam Pro", system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--color-green-500:oklch(72.3% .219 149.579);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--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: 1.2 ;--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--animate-bounce:bounce 1s infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{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}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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,samp,pre{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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container-size{container-type:size}.collapse{visibility:collapse}.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;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:0}.top-3{top:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-6{margin:calc(var(--spacing) * 6)}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.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-8{margin-top:calc(var(--spacing) * 8)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.hidden\!{display:none!important}.inline{display:inline}.inline-block{display:inline-block}.list-item{display:list-item}.table{display:table}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-48{height:calc(var(--spacing) * 48)}.h-96{height:calc(var(--spacing) * 96)}.min-h-dvh{min-height:100dvh}.w-8{width:calc(var(--spacing) * 8)}.w-12{width:calc(var(--spacing) * 12)}.w-32{width:calc(var(--spacing) * 32)}.w-64{width:calc(var(--spacing) * 64)}.w-\[200px\]{width:200px}.w-full{width:100%}.min-w-0{min-width:0}.min-w-11{min-width:calc(var(--spacing) * 11)}.flex-1{flex:1}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform\!{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)!important}.animate-bounce{animation:var(--animate-bounce)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-stretch{align-items:stretch}.gap-1{gap:var(--spacing)}.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)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-black>:not(:last-child)){border-color:var(--color-black)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\!rounded-full{border-radius:3.40282e38px!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b-4{border-bottom-style:var(--tw-border-style);border-bottom-width:4px}.border-black{border-color:var(--color-black)}.bg-black{background-color:var(--color-black)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-green-500{background-color:var(--color-green-500)}.bg-red-500{background-color:var(--color-red-500)}.bg-transparent{background-color:#0000}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.align-baseline{vertical-align:baseline}.align-bottom{vertical-align:bottom}.align-top{vertical-align:top}.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-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--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-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[20px\]{font-size:20px}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-\[0\.9\]{--tw-leading:.9;line-height:.9}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[1\.5\]{--tw-tracking:1.5;letter-spacing:1.5px}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.text-wrap{text-wrap:wrap}.wrap-anywhere{overflow-wrap:anywhere}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#007e64\]{color:#007e64}.text-black{color:var(--color-black)}.text-red-500{color:var(--color-red-500)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;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;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.opacity-\[0\.03\]{opacity:.03}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow\/glow\.{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);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);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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,)}.invert{--tw-invert:invert(100%);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,)}.sepia{--tw-sepia:sepia(100%);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,)}.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,)}.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,)!important}.backdrop-blur{--tw-backdrop-blur:blur(8px);-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,)}.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))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[catalog\:google-font-licenses\]{catalog:google-font-licenses}.\[catalog\:google-fonts\]{catalog:google-fonts}.\[catalog\:phosphor\]{catalog:phosphor}.\[catalog\:summary\]{catalog:summary}.\[content-visibility\:auto\]{content-visibility:auto}.active\:translate-x-\[2px\]:active{--tw-translate-x:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:translate-y-\[2px\]:active{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:bg-black:active{background-color:var(--color-black)}.active\:text-white:active{color:var(--color-white)}@media(min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media(min-width:48rem){.md\:block{display:block}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media(min-width:64rem){.lg\:block{display:block}}}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.woff)format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-500-normal-BJkVuMHw.woff)format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-600-normal-5IO4e7bK.woff)format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-700-normal-C2EtzaOi.woff)format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff)format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-500-normal-CfdwVo8-.woff)format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-600-normal-DkpCIyan.woff)format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-700-normal-By_5yT39.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dm-sans-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dm-sans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/fraunces-vietnamese.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/fraunces-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/fraunces-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}[data-copy]{display:none}html[data-lang=vi] [data-copy=vi],html:not([data-lang=vi]) [data-copy=en]{display:inline}:root{color-scheme:light;--bg:#f5f0e6;--surface:#fffbf3;--surface-strong:#fffbf3;--surface-soft:#ede5d8;--surface-solid:#fffbf3;--border:#d2c6b6;--border-strong:#9e8d7b;--control-border:#84725f;--text:#2a2420;--text-muted:#65594f;--text-subtle:#706255;--brand:#b44719;--brand-ink:#a43c12;--brand-soft:#f7dfcd;--on-brand:#fff;--accent:#b44719;--accent-ink:#7b4d12;--accent-soft:#f2e1a6;--ring:#b44719;--danger:#b3261e;--danger-soft:#f9dfd9;--success:#376246;--success-soft:#e2ecdc;--warning:#81460e;--warning-soft:#f7e5c5;--shadow-sm:0 2px 0 #3c281424;--shadow-md:0 4px 0 #3c281433;--shadow-lg:0 6px 0 #3c281433;--shadow-brand:0 4px 0 #3c28144d;--radius-lg:20px;--radius:16px;--radius-sm:10px;--glass:none;--font-display:"Fraunces", Georgia, serif;--skill-listening:#d6e1e8;--skill-reading:#f2e1a6;--skill-speaking:#f4cbbf;--skill-vocabulary:#e4dccb;--tile-edge:#3c28144d}[data-theme=dark]{color-scheme:dark;--bg:#1d1916;--surface:#28231f;--surface-strong:#302923;--surface-soft:#352d26;--surface-solid:#28231f;--border:#51463c;--border-strong:#81705f;--control-border:#a18d78;--text:#f0e9dd;--text-muted:#c6b8a8;--text-subtle:#b8a895;--brand:#f0a560;--brand-ink:#f0b77f;--brand-soft:#493020;--on-brand:#1d1916;--accent:#f0a560;--accent-ink:#edcb8d;--accent-soft:#4a402a;--ring:#f0a560;--danger:#ff9c8d;--danger-soft:#482a25;--success:#b4d3a3;--success-soft:#2a3927;--warning:#f1c181;--warning-soft:#43321f;--shadow-sm:0 2px 0 #0000004d;--shadow-md:0 4px 0 #0006;--shadow-lg:0 6px 0 #0006;--shadow-brand:0 4px 0 #00000080;--skill-listening:#2f3a42;--skill-reading:#4a402a;--skill-speaking:#4f3029;--skill-vocabulary:#38312b;--tile-edge:#00000080}[data-theme=dark] body{isolation:isolate;background-attachment:scroll}[data-theme=dark] .feedback-good{color:var(--success);background:var(--success-soft)}[data-theme=dark] .text-teal[role=status]{color:var(--success)}[data-theme=dark] .notice-warning{color:var(--warning);background:var(--warning-soft);border-color:var(--warning)}[data-theme=dark] .notice-warning svg{color:var(--warning)}@media(hover:hover){[data-theme=dark] :is(.topic-card,.practice-card,.vocab-topic-card,.landing-feature,.task-type-card):not(:disabled):not(.active):hover{background:var(--surface-strong);border-color:var(--border-strong)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{letter-spacing:.002em;min-height:100vh;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;font-family:DM Sans,Be Vietnam Pro,system-ui,sans-serif;font-size:15px;line-height:1.65}button,input,select,textarea{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;font-weight:600;line-height:1.28}html[lang=vi] h1,html[lang=vi] h2,html[lang=vi] h3{font-family:var(--font-display);letter-spacing:-.02em}h1{font-size:clamp(28px,2.5vw,38px)}h2{font-size:22px}h3{font-size:18px}p{line-height:1.72}small{font-size:12px}svg{flex-shrink:0}blockquote{border-left:3px solid var(--brand);background:var(--brand-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:16px 0;padding:14px 18px;line-height:1.75}.muted{color:var(--text-muted)}.text-teal{color:var(--brand-ink)}.danger-text{color:var(--danger)!important}.centered{text-align:center;justify-content:center}.eyebrow{letter-spacing:.13em;color:var(--text-subtle);font-size:11px;font-weight:600;line-height:1.7}.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}input:not([type=file]),select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-strong);width:100%;color:var(--text);min-height:46px;padding:12px 14px;font-size:16px;transition:border-color .18s,box-shadow .18s,background-color .18s}textarea{resize:vertical;line-height:1.7}input::placeholder,textarea::placeholder{color:var(--text-subtle)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ring);outline-offset:2px;border-color:var(--brand)}label{color:var(--text-muted);flex-direction:column;gap:8px;margin-bottom:20px;font-size:15px;font-weight:500;display:flex}.field{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.field>label{color:var(--text-muted);margin:0;font-size:15px;font-weight:500}label input,label textarea,label select,.field input,.field textarea,.field select{color:var(--text);font-weight:400}select{cursor:pointer}:focus-visible{outline:3px solid var(--ring);outline-offset:3px;border-radius:6px}button,a,input,textarea,select{transition:background-color .18s,border-color .18s,box-shadow .18s,color .18s,transform .18s}.button{border:1.5px solid var(--text);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:9px;min-height:45px;padding:12px 20px;font-size:16px;font-weight:600;line-height:1.4;display:inline-flex}.button.primary{background:var(--brand);color:var(--on-brand);border-color:var(--text);box-shadow:var(--shadow-brand)}.button.primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.button.outline{border-color:var(--border-strong);color:var(--text);box-shadow:var(--shadow-sm);background:0 0}.button.outline:hover:not(:disabled){border-color:var(--text-muted);color:var(--text);transform:translateY(-1px)}.button.white{color:#0a0a0a;box-shadow:none;background:#fff}.button.white:hover{transform:translateY(-1px)}.button.danger-outline{color:var(--danger);border-color:var(--danger-soft);background:var(--surface-strong)}.button.large{min-height:54px;padding:14px 26px;font-size:15px}.full{width:100%}.button-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.icon-button{width:42px;min-width:42px;min-height:44px;color:var(--text-subtle);background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--brand-soft);color:var(--brand-ink)}.text-link{color:var(--brand-ink);align-items:center;gap:7px;min-height:44px;font-size:15px;font-weight:600;display:inline-flex}.text-link:hover{text-underline-offset:4px;text-decoration:underline}.badge{border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:13px;font-weight:600;line-height:1.5;display:inline-flex}.badge.teal{background:var(--brand-soft);color:var(--brand-ink)}.badge.neutral{background:var(--surface-soft);color:var(--text-muted);border:1px solid var(--border)}.badge.warm{background:var(--accent-soft);color:var(--accent-ink)}.badge.light{color:#eaf6f1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff29}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:var(--glass);transition:width .22s,padding .22s,transform .22s}.notice{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-strong);color:var(--text-muted);box-shadow:var(--shadow-sm);align-items:flex-start;gap:11px;margin:18px 0;padding:15px 18px;font-size:13px;line-height:1.7;display:flex}.notice svg{color:var(--brand);margin-top:3px}.notice-error{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.notice-error svg{color:var(--danger)}.skip-link{z-index:100;background:var(--surface-solid);color:var(--brand-ink);border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:var(--shadow-md);padding:13px 22px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:0}.app-shell{--sidebar-w:276px;min-height:100vh}.sidebar{z-index:40;width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);-webkit-backdrop-filter:var(--glass);flex-direction:column;padding:0 20px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.sidebar-brand{justify-content:space-between;align-items:center;min-height:84px;display:flex}.sidebar-brand .brand{gap:8px;font-size:24px}.sidebar-brand .brand-dot{display:none}.sidebar-brand .icon-button{flex-shrink:0}.brand{font-family:var(--font-display);letter-spacing:-.04em;align-items:center;gap:11px;font-size:27px;font-weight:700;line-height:1;display:flex}.brand-mark{background:var(--brand);width:40px;height:42px;color:var(--on-brand);border-radius:12px;place-items:center;display:grid}.brand-mark svg{transform:rotate(3deg)}.brand-sub{font-family:var(--font-display);letter-spacing:.17em;color:var(--text-subtle);margin-top:6px;font-size:7.5px;font-weight:600;display:block}.brand-dot{background:var(--text-muted);border-radius:50%;width:7px;height:7px;margin:-13px 0 0 -5px}.workspace-label{border:1px solid var(--border);background:var(--surface-soft);border-radius:var(--radius);color:var(--text);align-items:center;gap:11px;margin:4px 0 16px;padding:13px 12px;font-size:12px;font-weight:600;display:flex}.workspace-label small{color:var(--text-subtle);margin-top:4px;font-size:11px;font-weight:400;display:block}.workspace-icon{background:var(--brand-soft);width:32px;height:33px;color:var(--brand-ink);border-radius:9px;place-items:center;display:grid}.nav-label{letter-spacing:.05em;color:var(--text-subtle);padding:16px 14px 8px;font-size:13px;font-weight:600}.nav-item{border-radius:var(--radius-sm);min-height:48px;color:var(--text-muted);align-items:center;gap:12px;margin:2px 0;padding:12px 14px;font-size:16px;font-weight:500;display:flex;position:relative}.nav-item svg{color:var(--text-subtle);stroke-width:1.7px}.nav-item:hover{background:var(--surface-soft);color:var(--text)}.nav-item.active{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}.nav-item.active svg{color:var(--brand);stroke-width:2.1px}.nav-item.active:before{content:"";background:var(--brand);border-radius:0 3px 3px 0;width:3px;position:absolute;top:12px;bottom:12px;left:-20px}.nav-count{background:var(--brand);color:var(--on-brand);border-radius:999px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:700}.sidebar-bottom{margin-top:auto;padding-top:24px}.support-card{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;padding:18px 15px}.support-icon{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-ink);border-radius:9px;place-items:center;margin-bottom:12px;display:grid}.support-card strong{color:var(--text);font-size:12px;font-weight:600;display:block}.support-card p{color:var(--text-muted);margin-top:6px;font-size:11.5px}.support-card a{color:var(--accent-ink);justify-content:space-between;align-items:center;margin-top:13px;font-size:12px;font-weight:600;display:flex}.sidebar-footer{color:var(--text-subtle);justify-content:space-between;align-items:center;padding:16px 12px 22px;font-size:13px;display:flex}@media(min-width:1024px){.app-shell.is-sidebar-collapsed{--sidebar-w:0px}.app-shell.is-sidebar-collapsed .sidebar{display:none}}.workspace{margin-left:var(--sidebar-w);transition:margin-left .22s}.topbar{z-index:30;border:1px solid var(--border);background:var(--surface);height:66px;-webkit-backdrop-filter:var(--glass);box-shadow:var(--shadow-sm);border-radius:999px;justify-content:space-between;align-items:center;gap:12px;margin:14px 22px 0;padding:0 12px 0 22px;display:flex;position:sticky;top:14px}.breadcrumb{color:var(--text-subtle);align-items:center;gap:12px;font-size:15px;display:flex}.breadcrumb strong{color:var(--text);font-size:16px;font-weight:600}.topbar-actions{align-items:center;gap:12px;display:flex}.language-switch{border:1px solid var(--border);background:var(--surface-soft);border-radius:999px;padding:3px;display:flex}.language-switch button{min-width:34px;min-height:30px;color:var(--text-subtle);background:0 0;border:none;border-radius:999px;font-size:11px;font-weight:600}html[data-theme=light][data-lang=vi] .language-switch button[data-lang-switch=vi],html[data-theme=light]:not([data-lang=vi]) .language-switch button[data-lang-switch=en]{box-shadow:inset 0 -2px var(--brand)}.theme-toggle{border:1px solid var(--border);background:var(--surface-soft);width:42px;height:42px;color:var(--text-muted);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{color:var(--brand-ink);border-color:var(--brand);background:var(--brand-soft)}.avatar{color:#ededed;border:1px solid var(--border);background:#262626;border-radius:999px;place-items:center;width:38px;height:38px;font-size:14px;font-weight:700;display:grid}.main-content{max-width:1440px;min-height:calc(100vh - 140px);margin:0 auto;padding:30px 32px 48px}.page-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.page-heading .eyebrow{margin-bottom:10px}.page-description{margin-top:10px;font-size:14px;line-height:1.75}.page-heading>.button{flex-shrink:0}.main-footer{color:var(--text-subtle);justify-content:space-between;gap:16px;padding:22px 32px;font-size:12px;display:flex}.main-footer>span:last-child{align-items:center;gap:8px;display:flex}.mobile-only,.bottom-nav,.sidebar-scrim,.mobile-editor-tabs.segmented{display:none}.dashboard-hero{border:1px solid var(--border);min-height:330px;box-shadow:var(--shadow-lg);background:#111;border-radius:28px;margin-bottom:24px;display:flex;position:relative;overflow:hidden}.hero-copy{z-index:2;width:62%;padding:40px 42px;position:relative}.hero-kicker{color:var(--text-subtle);letter-spacing:.15em;align-items:center;gap:8px;font-size:10.5px;font-weight:600;display:flex}.small-dot{background:#7ee3c8;border-radius:50%;width:6px;height:6px;display:inline-block;box-shadow:0 0 0 4px #7ee3c833}.hero-copy h2{color:#fff;letter-spacing:-.035em;margin-top:18px;font-size:clamp(28px,2.6vw,40px);line-height:1.25}.hero-copy h2>span{color:var(--text-muted)}.hero-copy p{max-width:430px;color:var(--text-muted);margin:16px 0 24px;font-size:14px}.hero-copy .button{font-size:13px}.hero-note{color:#a9cfc0;align-items:center;gap:8px;margin-top:20px;font-size:11.5px;display:flex}.hero-note>span{margin:0 6px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:32px;display:grid}.stat-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);-webkit-backdrop-filter:var(--glass);box-shadow:var(--shadow-sm);padding:20px}.stat-top{color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.stat-icon{border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.teal{background:var(--brand-soft);color:var(--brand-ink)}.blue{color:#2563eb;background:#3b82f629}.amber{background:var(--accent-soft);color:var(--accent-ink)}.purple{background:var(--skill-vocabulary);color:var(--text)}[data-theme=dark] .blue{color:#93c5fd}[data-theme=dark] .purple{color:var(--text)}.stat-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:10px 0 6px;font-size:32px;font-weight:600;line-height:1.35;display:block}.stat-card small{color:var(--text-subtle);font-size:12px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 292px;gap:26px;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.section-heading h2{font-size:19px}.practice-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-bottom:30px;display:grid}.practice-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:var(--glass);box-shadow:var(--shadow-sm);padding:24px;transition:transform .2s,box-shadow .2s,border-color .2s}.practice-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-3px)}.practice-card-top{color:var(--text-subtle);justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.task-icon{border-radius:15px;justify-content:center;align-items:center;width:50px;height:50px;display:inline-flex}.task-icon svg{width:26px;height:26px}.practice-card .eyebrow{letter-spacing:.12em;font-size:10px}.practice-card h3{font-family:var(--font-display);margin:8px 0 10px;font-size:25px}.practice-card p{color:var(--text-muted);min-height:46px;font-size:13.5px}.practice-meta{border-top:1px solid var(--border);color:var(--text-subtle);gap:20px;margin-top:20px;padding-top:15px;font-size:11.5px;display:flex}.practice-meta>span{align-items:center;gap:7px;display:flex}.recent-panel{margin-bottom:30px;overflow:hidden}.recent-empty{align-items:center;gap:16px;padding:28px 24px;display:flex}.file-icon{background:var(--brand-soft);color:var(--brand-ink);border-radius:12px;place-items:center;width:46px;min-width:46px;height:48px;display:grid}.recent-empty strong{font-size:14px;font-weight:600}.recent-empty p{color:var(--text-subtle);margin-top:5px;font-size:12.5px}.recent-empty .icon-button{margin-left:auto}.recent-row{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:18px 22px;display:flex}.recent-row:hover{background:var(--surface-soft)}.recent-row>div{flex:1;min-width:0}.recent-row strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;display:block;overflow:hidden}.recent-row small{color:var(--text-subtle);margin-top:5px;font-size:12px;display:block}.daily-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:var(--glass);box-shadow:var(--shadow-sm);padding:24px 22px}.daily-top{color:var(--text-subtle);justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.daily-card h3{font-size:19px}.daily-card>p{color:var(--text-muted);margin:10px 0 18px;font-size:13px;line-height:1.75}.daily-card .button{background:var(--surface-strong);border-color:var(--border-strong);color:var(--text)}.daily-divider{border-top:1px dashed var(--border-strong);margin:22px 0 18px}.word-of-day .eyebrow{font-size:10px}.word-of-day strong{color:var(--text);margin:9px 0 6px;font-family:Georgia,serif;font-size:19px;font-style:italic;font-weight:400;display:block}.word-of-day p{color:var(--text-muted);font-size:12.5px}.art-0,.art-1,.art-2{color:var(--text-muted);background:#1a1a1a}[data-theme=dark] .art-0{color:#5eead4}[data-theme=dark] .art-1{color:var(--text-muted)}[data-theme=dark] .art-2{color:#a5b4fc}.read-time{color:var(--text-subtle);align-items:center;gap:6px;font-size:11.5px;display:flex}.read-time>svg:last-child{margin-left:auto}.editor-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.segmented{border:1px solid var(--border);background:var(--surface-soft);-webkit-backdrop-filter:var(--glass);border-radius:999px;gap:4px;padding:4px;display:flex}.segmented button{color:var(--text-muted);background:0 0;border:none;border-radius:999px;min-height:40px;padding:10px 18px;font-size:12.5px;font-weight:500}.segmented button.selected{background:var(--surface-solid);color:var(--brand-ink);box-shadow:var(--shadow-sm);font-weight:600}.save-status{color:var(--text-subtle);align-items:center;gap:7px;font-size:12.5px;display:flex}.editor-grid{grid-template-columns:minmax(0,42fr) minmax(0,58fr);align-items:start;gap:22px;display:grid}.prompt-panel{padding:24px}.panel-heading{align-items:center;gap:11px;margin-bottom:24px;display:flex}.panel-heading h2{font-size:16px}.panel-heading>.text-link,.panel-heading>.icon-button{margin-left:auto}.number-dot{background:var(--brand-soft);width:26px;height:26px;color:var(--brand-ink);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.prompt-panel label{font-size:12.5px}.prompt-panel textarea{font-size:14px}.writing-tip{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius);margin-top:26px;padding:18px}.writing-tip .eyebrow{font-size:10px}.writing-tip p{color:var(--text-muted);margin-top:7px;font-size:13px}.essay-panel{flex-direction:column;min-height:640px;display:flex;overflow:hidden}.essay-panel .panel-heading{margin-bottom:10px;padding:20px 26px 0}.essay-title{background:0 0!important;border:0!important;border-radius:0!important;padding:18px 26px!important;font-size:24px!important;font-weight:600!important}.essay-textarea{resize:vertical;background:0 0;border:0;border-radius:0;flex:1;min-height:390px;padding:8px 28px 26px;font-size:17px;line-height:1.9}.essay-textarea::placeholder{color:var(--text-subtle);font-size:16px}.essay-textarea:focus,.essay-title:focus{box-shadow:inset 3px 0 var(--brand);outline:0}.editor-bottom{color:var(--text-subtle);justify-content:space-between;padding:16px 26px;font-size:12px;display:flex}.editor-bottom strong{color:var(--brand-ink)}.editor-actions{border-top:1px solid var(--border);background:var(--surface-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;display:flex}.target-select{flex-direction:row;align-items:center;gap:10px;margin:0;font-size:12px}.target-select select{width:78px;min-height:40px;padding:9px;font-size:13px}.helper-text{color:var(--text-subtle);align-items:center;gap:8px;margin:14px 0;font-size:12.5px;line-height:1.7;display:flex}.feedback-block{margin-top:18px;padding:0}.feedback-block>summary{cursor:pointer;align-items:center;gap:12px;padding:18px 22px;list-style:none;display:flex}.feedback-block>summary::-webkit-details-marker{display:none}.feedback-block>summary .eyebrow{align-items:center;gap:7px;display:inline-flex}.feedback-block>summary strong{color:var(--text-subtle);margin-left:auto;font-size:13px}.feedback-block>.grading-list{margin:0;padding:0 22px 20px}.error-item,.vocab-item,.band-step,.structure-item{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:12px 0;display:flex}.vocab-item>span,.band-step>span:last-child,.structure-item>span:last-child{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.error-item:last-child,.vocab-item:last-child,.band-step:last-child,.structure-item:last-child{border-bottom:none}.error-quote{color:var(--text-muted);font-size:13.5px;text-decoration:line-through}.error-correction{color:var(--brand-ink);font-size:14px;font-weight:600}.error-item em,.vocab-item em,.band-step em,.structure-item em{color:var(--text-muted);font-size:13px;font-style:normal}.error-meta{color:var(--text-subtle);font-size:11.5px}.vocab-suggestions{padding:0 22px 14px}.vocab-suggestions+.vocab-suggestions{border-top:1px solid var(--border);padding-top:14px}.feedback-block-actions{padding:0 22px 14px}.button.small{min-height:32px;padding:6px 12px;font-size:12px}.structure-link{color:var(--brand-ink)}.upload-zone{border:1px dashed var(--border-strong);background:var(--surface-soft);border-radius:var(--radius);text-align:center;color:var(--brand-ink);cursor:pointer;align-items:center;padding:26px 14px}.upload-zone:hover{border-color:var(--brand);background:var(--brand-soft)}.upload-zone>span{color:var(--text-subtle);font-size:11.5px}.upload-zone input{max-width:100%;font-size:11px}.image-previews{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.image-previews>div{width:calc(50% - 6px);position:relative}.image-previews img{border-radius:var(--radius-sm);border:1px solid var(--border);max-width:100%;display:block}.image-previews button{background:var(--surface-solid);width:32px;min-width:32px;min-height:32px;position:absolute;top:4px;right:4px}.upload-zone.compact{gap:4px;margin-top:16px;padding:14px 12px}.upload-zone.compact strong{font-size:12.5px}.upload-zone.compact input{font-size:10.5px}.editor-task{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.task-view{flex-direction:column;gap:16px;display:flex}.task-title{font-size:17px;font-weight:600;line-height:1.4}.task-image{border:1px solid var(--border);border-radius:var(--radius);cursor:zoom-in;background:#fff;width:100%;padding:0;display:block;position:relative;overflow:hidden}.task-image img{width:100%;height:auto;display:block}.task-image:hover{border-color:var(--brand)}.task-image-hint{color:#0f172a;box-shadow:var(--shadow-sm);background:#ffffffe0;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:600;display:inline-flex;position:absolute;top:8px;right:8px}.task-text{border-top:1px solid var(--border);padding-top:14px}.task-text .eyebrow{font-size:10px}.task-text p{white-space:pre-line;margin-top:6px;font-size:14px;line-height:1.75}.task-reference{border-top:1px solid var(--border);padding-top:12px}.task-reference summary{cursor:pointer;color:var(--brand-ink);align-items:center;min-height:30px;font-size:12.5px;font-weight:600;display:flex}.task-reference p{color:var(--text-muted);white-space:pre-line;margin-top:8px;font-size:12.5px;line-height:1.7}.task-empty{border-top:1px solid var(--border);padding-top:14px}.task-empty p{color:var(--text-muted);margin-bottom:12px;font-size:13px;line-height:1.7}.image-lightbox{cursor:zoom-out}.image-lightbox img{border-radius:var(--radius);width:auto;max-width:min(1100px,94vw);height:auto;max-height:92vh;box-shadow:var(--shadow-lg);background:#fff;display:block}.image-lightbox-close{color:#eaf6f1;background:#0618168c;position:absolute;top:18px;right:18px}.image-lightbox-close:hover{color:#fff;background:#061816cc}.writing-focus .prompt-panel{display:none}.writing-focus .editor-grid{grid-template-columns:1fr;max-width:940px;margin:auto}.essay-row{border-bottom:1px solid var(--border);align-items:center;gap:18px;padding:22px;display:flex}.essay-row:last-child{border-bottom:none}.essay-row-main{flex:1;min-width:0}.essay-row-main strong{font-size:16px;font-weight:600}.essay-row-main p{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:7px 0;font-size:13px;overflow:hidden}.essay-row-main small{color:var(--text-subtle);font-size:12px}.demo-callout{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--brand-ink);align-items:center;gap:18px;margin-top:26px;padding:24px;display:flex}.demo-callout>div{flex:1}.demo-callout strong{color:var(--text);font-size:14px;font-weight:600}.demo-callout p{color:var(--text-muted);margin-top:6px;font-size:13px}.tabs{border-bottom:1px solid var(--border);gap:26px;margin:26px 0;display:flex;overflow-x:auto}.tabs button{color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;min-height:48px;padding:15px 2px;font-size:13.5px;font-weight:500}.tabs button.active{color:var(--brand-ink);border-bottom-color:var(--brand);font-weight:600}.score-summary{gap:20px;margin-top:24px;display:flex}.overall-score{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);min-width:220px;color:var(--text);box-shadow:none;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex}.overall-score>span{letter-spacing:.15em;color:var(--text-subtle);font-size:13px;font-weight:600}.overall-score>strong{color:var(--brand);font-size:72px;font-weight:600;font-family:var(--font-display);line-height:1.45}.overall-score>small{color:var(--text-muted);font-size:13px}.criteria-grid{flex:1;grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.criteria-grid>div{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:var(--glass);box-shadow:var(--shadow-sm);padding:24px 18px}.criteria-grid strong{font-variant-numeric:tabular-nums;margin:14px 0 6px;font-size:30px;font-weight:600;display:block}.criteria-grid p{color:var(--text-muted);min-height:36px;font-size:12px}.score-bar{background:var(--surface-soft);border-radius:999px;height:5px;margin-top:14px;overflow:hidden}.score-bar span{background:var(--text-muted);border-radius:999px;width:78%;height:100%;display:block}.feedback-grid{grid-template-columns:1.15fr 1fr;align-items:start;gap:24px;display:grid}.prose{padding:32px;font-size:16px;line-height:1.85}.prose p{white-space:pre-line;margin:20px 0}.prose h2{font-size:25px}.prose>.eyebrow{font-size:10px}.prose>.eyebrow+h2{margin-top:12px}.feedback-panel{padding:26px}.feedback-panel h2{margin:20px 0 12px;font-size:22px}.feedback-panel p{color:var(--text-muted);margin:10px 0;font-size:14px}.feedback-good{border-radius:var(--radius);background:var(--brand-soft);color:var(--brand-ink);align-items:flex-start;gap:11px;margin:22px 0;padding:16px;display:flex}.feedback-good strong{font-size:13px}.feedback-good p{color:var(--text-muted);font-size:13px}.structure-step{align-items:center;gap:13px;margin:20px 0;font-size:14px;display:flex}.structure-step>span{background:var(--brand-soft);color:var(--brand-ink);border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-weight:600;display:grid}.grading-result{margin-top:22px}.grading-panel{margin-top:20px;padding:26px}.grading-panel h2{margin:14px 0 10px;font-size:21px}.grading-panel>.eyebrow{align-items:center;gap:7px;display:flex}.grading-summary{color:var(--text-muted);white-space:pre-line;margin:12px 0 0;font-size:15px;line-height:1.8}.grading-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.grading-columns .grading-panel{margin-top:0}.grading-list{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.grading-list li{color:var(--text-muted);align-items:flex-start;gap:9px;font-size:13.5px;line-height:1.7;display:flex}.grading-list li svg{color:var(--brand);flex-shrink:0;margin-top:3px}.grading-list li>span:last-child{gap:3px;display:grid}.grading-list li strong{color:var(--text);font-size:13.5px;font-weight:600}.grading-list li em{color:var(--text-subtle);font-size:12.5px;font-style:normal}.grading-index{background:var(--brand-soft);width:22px;height:22px;color:var(--brand-ink);border-radius:50%;flex-shrink:0;place-items:center;font-size:11.5px;font-weight:600;display:grid}.grading-criteria{gap:10px;margin-top:16px;display:grid}.grading-criterion{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);overflow:hidden}.grading-criterion-head{text-align:left;width:100%;color:inherit;background:0 0;border:none;align-items:center;gap:13px;padding:16px 18px;display:flex}.grading-criterion-title{flex:1;gap:4px;min-width:0;display:grid}.grading-criterion-title strong{font-size:14px}.grading-criterion-title em{color:var(--text-muted);font-size:12.5px;font-style:normal;line-height:1.6}.grading-criterion-score{font-variant-numeric:tabular-nums;color:var(--brand-ink);font-size:22px;font-weight:600}.grading-criterion-body{border-top:1px solid var(--border);gap:18px;padding:4px 18px 20px;display:grid}.grading-criterion-body>div{margin-top:14px}.usage-table{gap:2px;display:grid}.usage-row{color:var(--text-muted);border-radius:var(--radius-sm);grid-template-columns:1.4fr 1fr 1fr .8fr;gap:12px;padding:11px 12px;font-size:13px;display:grid}.usage-row:nth-child(odd){background:var(--surface-soft)}.usage-head{color:var(--text);border-bottom:1px solid var(--border);border-radius:0;font-weight:600}.row-actions{align-items:center;gap:6px;display:flex}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.admin-locked{text-align:center;justify-items:center;gap:12px;padding:46px 24px;display:grid}.admin-locked h2{font-size:20px}.admin-locked p{color:var(--text-muted);max-width:460px;font-size:13.5px}.admin-unlock{gap:10px;width:min(420px,100%);display:flex}.admin-unlock input{flex:1;min-width:0}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.stat-value.stat-value-text{letter-spacing:-.01em;font-size:19px}.admin-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0;display:grid}.admin-user-cell{flex-direction:column;gap:2px;display:flex}.admin-user-cell small{color:var(--text-subtle);font-size:11px}.admin-prompt-cell{flex-direction:column;gap:3px;min-width:0;display:flex}.admin-prompt-cell small{color:var(--text-subtle);overflow-wrap:anywhere;font-size:11.5px}.admin-prompt-cell input{min-width:0}.admin-inline-tabs{border:none;margin:0 0 14px}.admin-inline-tabs button{padding:8px 12px;font-size:12.5px}.admin-vocab-form{margin-bottom:18px}.admin-quick-panel{margin-bottom:22px}.admin-mini-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.admin-mini-stat{border-radius:var(--radius-sm);background:var(--surface-soft);gap:3px;padding:12px 14px;display:grid}.admin-mini-stat strong{letter-spacing:-.02em;font-size:22px;font-weight:600}.admin-mini-stat span{color:var(--text-muted);font-size:12px}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.admin-form-grid input{width:100%}.admin-form-grid label{color:var(--text-muted);gap:6px;font-size:12.5px;display:grid}.admin-form-grid textarea{width:100%;font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-strong);color:var(--text);resize:vertical;padding:10px 12px;font-size:13.5px}.admin-donate{margin-bottom:18px}.admin-panel{padding:24px}.admin-donate-preview{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.admin-donate-preview img{border-radius:var(--radius-sm);width:180px;height:auto;box-shadow:var(--shadow-sm);background:#fff;padding:8px}.admin-donate-preview>div{flex:220px;justify-items:start;gap:12px;display:grid}.admin-donate-preview .helper-text{overflow-wrap:anywhere}.admin-users-table .usage-row{grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) .7fr .8fr minmax(0,1.3fr)}.admin-user-email{overflow-wrap:anywhere}.admin-users-notice{color:var(--brand-ink);margin:0 0 14px}.admin-users-error{margin:0 0 14px}.admin-delete-panel{width:min(520px,100%);max-height:calc(100dvh - 40px);color:var(--text);background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);gap:14px;padding:26px;display:grid;overflow-y:auto}.admin-delete-panel h2{font-size:19px}.admin-delete-warning{border:1px solid var(--border);border-left:3px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-soft);gap:8px;padding:14px 16px;font-size:13px;line-height:1.7;display:grid}.admin-delete-warning strong{font-size:13px}.admin-delete-list{color:var(--text-muted);gap:3px;margin:0;padding-left:20px;display:grid}.admin-delete-confirm-row{gap:8px;display:grid}.admin-delete-confirm-row label{color:var(--text-muted);margin:0;font-size:13px;font-weight:500}.admin-delete-email{color:var(--text);background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-sm);overflow-wrap:anywhere;padding:9px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.admin-delete-confirm-row input{width:100%}.admin-delete-error{margin:0}.admin-delete-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.admin-delete-actions .button.danger-outline{border-color:var(--danger);background:var(--danger-soft)}@media(prefers-reduced-motion:no-preference){.admin-delete-panel{animation:.18s ease-out both admin-delete-rise}}@keyframes admin-delete-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:900px){.admin-users-table .usage-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.admin-users-table .usage-row>span:last-child{flex-wrap:wrap;grid-column:1/-1;display:flex}}@media(max-width:420px){.admin-delete-panel{gap:12px;padding:18px 14px}.admin-delete-actions{flex-direction:column}.admin-delete-actions .button{width:100%}}@media(max-width:900px){.admin-columns,.admin-form-grid{grid-template-columns:1fr}}.prompt-hero{color:var(--text);border:1px solid var(--border);box-shadow:none;background:#111;border-radius:26px;margin-bottom:22px;padding:34px 38px;position:relative;overflow:hidden}.prompt-hero-copy{z-index:2;max-width:74%;position:relative}.prompt-hero-top{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.prompt-hero h2{font-size:29px}.prompt-hero>.prompt-hero-copy>p{color:var(--text-muted);margin:10px 0 18px;font-size:14.5px}.prompt-hero ol{gap:10px;margin:0;padding:0;list-style:none;display:grid}.prompt-hero li{color:#d3e6dd;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff14;border:1px solid #ffffff1f;align-items:flex-start;gap:11px;padding:11px 14px;font-size:13.5px;display:flex}.prompt-hero li>span{background:#fff3;border-radius:50%;flex-shrink:0;place-items:center;width:21px;height:21px;font-size:11px;font-weight:700;display:grid}.prompt-hero-art{pointer-events:none;position:absolute;inset:0}.prompt-orbit{border:1px solid #ffffff29;border-radius:50%;width:340px;height:340px;position:absolute;top:-60px;right:-40px}.prompt-hero-icon{border:1px solid var(--border);color:#ededed;background:#262626;border-radius:26px;place-items:center;width:92px;height:92px;display:grid;position:absolute;top:56px;right:74px;transform:rotate(8deg)}.prompt-hero-chip{letter-spacing:.14em;color:#0a0a0a;background:#ededed;border-radius:999px;padding:9px 15px;font-size:11px;font-weight:700;position:absolute;bottom:44px;right:22px;transform:rotate(-5deg)}.prompt-task-switch{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.prompt-task-switch button{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text-muted);-webkit-backdrop-filter:var(--glass);border-radius:999px;padding:11px 20px;font-size:13.5px;font-weight:600}.prompt-task-switch button.active{background:var(--brand);color:var(--on-brand);box-shadow:none;border-color:#0000}.prompt-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:28px;display:grid}.prompt-card{flex-direction:column;padding:22px;display:flex}.prompt-card-top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.prompt-tags{flex-wrap:wrap;gap:7px;display:flex}.difficulty{letter-spacing:.08em;white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:10.5px;font-weight:700}.difficulty.easy{background:var(--brand-soft);color:var(--brand-ink)}.difficulty.medium{background:var(--accent-soft);color:var(--accent-ink)}.difficulty.hard{color:#b91c1c;background:#dc262624}[data-theme=dark] .difficulty.hard{color:#fca5a5}.prompt-card h3{margin-bottom:8px;font-size:18px}.prompt-type{letter-spacing:.08em;color:var(--text-subtle);margin-bottom:10px;font-size:11.5px;font-weight:700}.prompt-text{color:var(--text-muted);flex:1;margin-bottom:18px;font-size:13.5px;line-height:1.7}.prompt-card-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding-top:15px;display:flex}.prompt-foot-left{color:var(--text-subtle);align-items:center;gap:7px;font-size:12px;display:flex}.prompt-file-chip{background:var(--surface-soft);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;max-width:190px;padding:3px 9px;font-size:11px;display:inline-flex;overflow:hidden}.prompt-custom-card{text-align:left;border-radius:var(--radius-lg);color:var(--text);background:var(--surface);box-shadow:none;border:1px solid var(--border);flex-direction:column;padding:24px;display:flex}.prompt-custom-card:hover{border-color:var(--border-strong);transform:translateY(-3px)}.prompt-custom-top{margin-bottom:14px}.prompt-custom-card h3{margin-bottom:10px;font-size:22px}.prompt-custom-card p{color:var(--text-muted);flex:1;font-size:13.5px}.prompt-custom-foot{border-top:1px solid var(--border);letter-spacing:.1em;color:var(--text-subtle);justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding-top:15px;font-size:11px;display:flex}.prompt-custom-foot strong{letter-spacing:0;color:var(--brand-ink);align-items:center;gap:7px;font-size:13px;display:inline-flex}.prompt-file-preview{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:9px;margin-bottom:16px;padding:9px 9px 9px 14px;font-size:13px;display:flex}.prompt-file-preview>span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.prompt-history{overflow:hidden}.prompt-history-row{border-bottom:1px solid var(--border);color:var(--text-muted);align-items:center;gap:15px;padding:19px 22px;display:flex}.prompt-history-row:last-child{border-bottom:none}.prompt-history-row:hover{background:var(--surface-soft)}.prompt-history-row>div{flex:1;min-width:0}.prompt-history-row strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;display:block;overflow:hidden}.prompt-history-row small{color:var(--text-subtle);font-size:12px}.prompt-banner{margin-bottom:18px}.task-type-cards{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:26px;display:grid}.task-type-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);text-align:left;-webkit-backdrop-filter:var(--glass);box-shadow:var(--shadow-sm);align-items:center;gap:14px;padding:20px 22px;display:flex}.task-type-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.task-type-card strong{font-size:17px;font-weight:600;display:block}.task-type-card small{color:var(--text-subtle);font-size:12px}.task-type-radio{border:2px solid var(--border-strong);border-radius:50%;flex-shrink:0;width:20px;height:20px;position:relative}.task-type-card.active{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 1px var(--brand)}.task-type-card.active .task-type-radio{border-color:var(--brand)}.task-type-card.active .task-type-radio:after{content:"";background:var(--brand);border-radius:50%;position:absolute;inset:3px}.prompt-controls{flex-wrap:wrap;align-items:flex-end;gap:28px;margin:24px 0 6px;display:flex}.control-group{flex-direction:column;gap:10px;display:flex}.control-label{letter-spacing:.13em;color:var(--text-subtle);font-size:10px;font-weight:700}.chip-row{flex-wrap:wrap;gap:9px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text-muted);border-radius:999px;padding:9px 16px;font-size:13px;font-weight:500}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip.active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-ink);font-weight:600}.type-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:22px 0 28px;display:grid}.type-card{flex-direction:column;padding:22px;display:flex}.type-card h3{margin-bottom:6px;font-size:20px}.type-card-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.type-card-actions .button{flex:1;min-height:42px;font-size:13px}.academic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:22px 0 28px;display:grid}.academic-card{flex-direction:column;padding:20px;display:flex}.academic-card h3{margin-bottom:4px;font-size:18px}.editor-status{align-items:center;gap:14px;display:flex}.mock-timer{font-variant-numeric:tabular-nums;background:var(--brand-soft);color:var(--brand-ink);border-radius:999px;align-items:center;gap:7px;padding:7px 13px;font-size:13px;font-weight:600;display:inline-flex}.mock-timer.expired{color:var(--danger);background:#dc262629}.chart-preview{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);margin:12px 0;padding:12px}.chart-preview>svg{width:100%;height:auto;display:block}.chart-preview .process-arrow{width:13px;height:13px;color:var(--text-subtle);flex-shrink:0}.chart-legend{color:var(--text-muted);flex-wrap:wrap;gap:8px 14px;margin:8px 0 0;padding:0;font-size:11px;list-style:none;display:flex}.chart-legend li{align-items:center;gap:6px;display:flex}.chart-legend li>span{border-radius:2px;width:9px;height:9px;display:inline-block}.chart-table table{border-collapse:collapse;width:100%;font-size:11px}.chart-table th,.chart-table td{border:1px solid var(--border);text-align:left;padding:5px 7px}.chart-table th{background:var(--surface-strong);font-weight:600}.chart-process{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.process-step{background:var(--surface-strong);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:5px 10px 5px 5px;font-size:11px;display:flex}.process-step>span{background:var(--brand);width:18px;height:18px;color:var(--on-brand);border-radius:50%;flex-shrink:0;place-items:center;font-size:9.5px;font-weight:700;display:grid}.process-step em{font-style:normal;line-height:1.3}.process-arrow{width:13px;height:13px;color:var(--text-subtle)}.chart-map{grid-template-columns:1fr 1fr;gap:12px;display:grid}.chart-map>div{background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:5px;padding:12px;display:flex}.chart-map strong{text-transform:uppercase;letter-spacing:.1em;color:var(--text-subtle);font-size:11px}.chart-map span{color:var(--text-muted);font-size:11.5px}.chart-pie{align-items:center;gap:14px;display:flex}.chart-pie svg{flex-shrink:0;width:130px}.chart-mixed-pie{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}.chart-mixed-pie .chart-pie{display:block}.chart-mixed-pie .chart-pie svg{width:100%;max-width:150px}.chart-image{background:#fff;margin:0;padding:10px}.chart-image img{background:#fff;border-radius:8px;width:100%;height:auto;display:block}.chart-image figcaption{color:#64748b;text-align:right;padding:8px 4px 2px;font-size:11px}.topic-subtopics{color:var(--text-subtle);font-size:12px;line-height:1.8}.topic-card{text-align:left;cursor:pointer}.topic-card:hover{border-color:var(--brand);box-shadow:var(--shadow-md);transform:translateY(-3px)}.topic-card .prompt-card-top{color:var(--brand-ink)}.topic-dialog{max-width:860px}.topic-dialog .section-heading h2{font-size:24px}.topic-dialog-intro{margin-bottom:18px;font-size:13px}.topic-dialog-list{gap:14px;max-height:62vh;padding-right:4px;display:grid;overflow-y:auto}.topic-prompt{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);padding:16px}.topic-prompt h3{margin-bottom:8px;font-size:16px}.topic-prompt .prompt-text{margin-bottom:14px}.prompt-banner-inline{border-radius:var(--radius);background:var(--surface-soft);border:1px solid var(--border);margin:12px 26px 4px;padding:14px 16px}.prompt-banner-label{letter-spacing:.12em;color:var(--brand-ink);margin-bottom:5px;font-size:10px;font-weight:700;display:block}.prompt-banner-inline p{color:var(--text);font-size:13.5px;line-height:1.7}.prompt-banner-details{margin-top:10px}.prompt-banner-details summary{cursor:pointer;color:var(--brand-ink);align-items:center;min-height:30px;font-size:12.5px;font-weight:600;display:flex}.prompt-banner-details p{color:var(--text-muted);white-space:pre-line;margin-top:8px;font-size:12.5px}@media(max-width:1200px){.prompt-grid,.type-card-grid,.academic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1023px){.prompt-hero-copy{max-width:100%}.prompt-hero-art{display:none}}@media(max-width:767px){.task-type-cards{grid-template-columns:1fr;gap:12px}.prompt-hero{border-radius:22px;padding:26px 22px}.prompt-hero h2{font-size:23px}.prompt-hero li{padding:10px 12px;font-size:12.5px}.prompt-task-switch button{padding:10px 15px;font-size:12.5px}.prompt-grid,.type-card-grid,.academic-grid,.vocab-grid,.vocab-topic-grid{grid-template-columns:1fr;gap:14px}.prompt-card{padding:20px}.prompt-custom-card{padding:22px}.prompt-controls{gap:18px}.editor-status{justify-content:space-between;width:100%}.chart-map{grid-template-columns:1fr}}.review-banner{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-soft);align-items:center;gap:22px;margin-bottom:26px;padding:26px;display:flex}.review-banner>div{flex:1}.review-banner p{color:var(--text-muted);margin-top:7px;font-size:13px}.vocab-card{padding:22px}.vocab-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.vocab-topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:4px 0 28px;display:grid}.vocab-topic-card{text-align:left;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;justify-items:start;gap:7px;padding:16px 18px;transition:border-color .18s,transform .18s,box-shadow .18s;display:grid}.vocab-topic-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.vocab-topic-card.active{border-color:var(--brand);box-shadow:var(--shadow-sm)}.vocab-topic-card .number-dot{font-size:11px;font-weight:700}.vocab-topic-card strong{font-family:var(--font-display);font-size:15px}.vocab-topic-card small{color:var(--text-muted);font-size:12px;line-height:1.45}.vocab-library-panel{gap:4px;display:grid}.vocab-library-panel .panel-heading{justify-content:space-between;align-items:flex-start}.vocab-library-panel .panel-heading p{margin-top:4px;font-size:12.5px}.vocab-card blockquote{font-size:13px}.vocab-card .button{margin-top:16px}.card-topline{color:var(--text-subtle);justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.vocab-card h3{font-family:var(--font-display);overflow-wrap:anywhere;font-size:24px}.vocab-card>p{color:var(--text-muted);margin:12px 0;font-size:13.5px}.card-bottom{border-top:1px solid var(--border);color:var(--text-subtle);justify-content:space-between;align-items:center;gap:8px;margin-top:20px;padding-top:16px;font-size:12px;display:flex}.card-bottom>span:last-child{align-items:center;gap:6px;display:flex}.filter-bar{gap:16px;margin:24px 0;display:flex}.filter-bar>select{width:220px;font-size:13px}.search-field{background:var(--surface-strong);border:1px solid var(--border-strong);color:var(--text-subtle);border-radius:999px;flex:1;align-items:center;gap:10px;padding:0 18px;display:flex}.search-field input{background:0 0;border:none;min-width:0;min-height:44px;padding:0;font-size:13.5px}.search-field:focus-within{outline:3px solid var(--ring);outline-offset:2px}.search-field input:focus-visible{outline:none}.modal{border:1px solid var(--border);border-radius:var(--radius-lg);width:min(520px,100vw - 32px);max-height:calc(100dvh - 40px);color:var(--text);background:var(--surface-solid);box-shadow:var(--shadow-lg);margin:auto;padding:30px;overflow-y:auto}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0618168c}.modal .section-heading{margin-bottom:26px}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0618168c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.leave-dialog{background:var(--surface-solid);flex-direction:column;align-items:flex-start;gap:15px;width:100%;max-width:440px;padding:32px;display:flex}.leave-dialog h2{font-size:23px}.leave-dialog p{color:var(--text-muted);font-size:14px}.leave-dialog .button-row{width:100%}.review-container{max-width:680px;margin:40px auto}.review-progress{color:var(--text-muted);justify-content:space-between;margin-bottom:12px;font-size:13px;display:flex}progress{width:100%;height:6px;accent-color:var(--brand);background:var(--surface-soft);border:none;border-radius:999px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:var(--surface-soft)}progress::-webkit-progress-value{background:var(--text-muted);border-radius:999px}.flashcard{background:var(--surface);border:1px solid var(--border);text-align:center;min-height:350px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:var(--glass);border-radius:26px;flex-direction:column;justify-content:center;align-items:center;margin:26px 0;padding:52px 40px;display:flex}.flashcard h2{overflow-wrap:anywhere;max-width:100%;margin:26px 0;font-size:36px}.flashcard>p{font-size:13.5px}.flashcard-answer p{color:var(--text);font-size:19px}.flashcard-answer blockquote{text-align:left;font-size:14px}.review-actions{grid-template-columns:1fr 1fr;gap:16px;display:grid}.review-complete{text-align:center;flex-direction:column;align-items:center;gap:22px;padding:54px 32px;display:flex}.review-complete>svg{color:var(--brand)}.review-complete p{color:var(--text-muted);font-size:14px}.empty{text-align:center;flex-direction:column;align-items:center;gap:15px;padding:56px 24px;display:flex}.empty p{max-width:480px;font-size:14px}.empty-icon{background:var(--brand-soft);width:62px;height:62px;color:var(--brand-ink);border-radius:20px;place-items:center;display:grid}.loading-state,.fatal-error{text-align:center;color:var(--text-muted);padding:90px 24px}.fatal-error p{margin:20px}.donate-card{text-align:center;background:var(--surface);border:1px solid var(--border);max-width:780px;-webkit-backdrop-filter:var(--glass);box-shadow:var(--shadow-lg);border-radius:28px;margin:26px auto;padding:48px 58px}.donate-heart{background:var(--accent-soft);width:96px;height:96px;color:var(--accent-ink);border-radius:50%;place-items:center;margin:0 auto 26px;display:grid}.donate-card h2{font-size:34px;line-height:1.45}.donate-card h2 em{color:var(--accent-ink);font-style:normal}.donate-card>p{color:var(--text-muted);margin:24px 0;font-size:15px}.donate-values{color:var(--brand-ink);flex-wrap:wrap;justify-content:center;gap:22px;font-size:12.5px;display:flex}.donate-values>span{align-items:center;gap:8px;display:flex}.donate-unconfigured{background:var(--surface-soft);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-muted);margin:30px 0;padding:26px}.donate-unconfigured>svg{color:var(--accent-ink);margin:0 auto 13px}.donate-unconfigured h3{color:var(--text);font-size:17px}.donate-unconfigured p{margin-top:10px;font-size:13.5px}.donate-qr{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:left;flex-wrap:wrap;justify-content:center;align-items:center;gap:26px;margin:30px 0;padding:24px;display:flex}.donate-qr-image{border-radius:var(--radius-sm);width:100%;max-width:230px;height:auto;box-shadow:var(--shadow-sm);background:#fff;padding:8px}.donate-qr-info{flex:240px;align-content:center;gap:14px;display:grid}.donate-method{gap:3px;display:grid}.donate-method span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.donate-method strong{font-family:var(--font-display);letter-spacing:.02em;font-size:21px}.donate-method small{color:var(--text-subtle);font-size:12.5px}.donate-qr-info p{color:var(--text-muted);margin:0;font-size:13px}.settings-panel{max-width:760px;margin-bottom:26px;padding:32px}.settings-panel h2{margin-bottom:24px}.settings-panel>p{color:var(--text-muted);margin-bottom:22px;font-size:14px}.form-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.theme-choices{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px;display:grid}.theme-choice{border:1px solid var(--border-strong);background:var(--surface-strong);border-radius:var(--radius);text-align:left;flex-direction:column;gap:6px;padding:16px;display:flex}.theme-choice span{color:var(--text);font-size:13px;font-weight:600}.theme-choice small{color:var(--text-subtle);font-size:11.5px}.theme-choice.active{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 1px var(--brand)}.auth-page{flex-direction:column;min-height:100vh;padding:30px;display:flex}.auth-top{justify-content:space-between;align-items:center;width:100%;max-width:1240px;margin:auto;display:flex}.auth-card{background:var(--surface);width:100%;max-width:470px;margin:60px auto 30px;padding:38px}.auth-card h1{margin:24px 0 10px;font-size:30px}.auth-card>p{color:var(--text-muted);font-size:13.5px}.auth-links{justify-content:space-between;gap:12px;margin:22px 0;display:flex}.auth-links button{color:var(--brand-ink);background:0 0;border:0;min-height:36px;font-size:12.5px;font-weight:600}@media(min-width:1500px){.main-content{padding:34px 46px}.dashboard-hero{min-height:360px}.hero-copy{padding:46px 48px}.hero-copy h2{font-size:43px}.hero-art{right:60px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 320px}}@media(max-width:1200px){.sidebar{width:var(--sidebar-w);padding:0 15px}.workspace{margin-left:var(--sidebar-w)}.main-content{padding:28px 26px}.topbar{margin:12px 16px 0;padding-left:18px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.hero-copy{width:62%;padding:34px}.hero-art{right:0}.writing-paper{width:195px;height:230px;padding:18px;top:48px;left:8%}.paper-title{font-size:27px}.hero-copy h2{font-size:30px}.hero-copy p{font-size:13.5px}.practice-card,.daily-card{padding:20px 18px}.daily-top>svg{display:none}.stat-card{padding:17px}.stats-grid{gap:14px}.editor-grid{gap:18px}.prompt-panel{padding:20px}.criteria-grid{grid-template-columns:repeat(2,1fr)}.overall-score{min-width:200px}}@media(max-width:1023px){.sidebar{visibility:hidden;width:252px;transition:transform .22s,visibility .22s;transform:translate(-100%)}.sidebar.is-open{visibility:visible;transform:translate(0)}.sidebar-brand{justify-content:space-between}.sidebar-scrim{z-index:35;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#06181680;border:none;display:block;position:fixed;inset:0}.workspace{margin-left:0}.mobile-only{display:inline-flex}.topbar{height:62px}.main-content{padding:26px 24px}.hero-copy h2{font-size:33px}.hero-art{right:20px}.writing-paper{width:205px;height:240px;left:14%}.dashboard-columns{grid-template-columns:minmax(0,1fr) 280px}.vocab-grid,.vocab-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){h1{font-size:29px}.main-content{padding:22px 16px 34px}.topbar{height:58px;margin:10px 12px 0;padding:0 8px 0 12px}.topbar-actions{gap:8px}.desktop-only{display:none!important}.breadcrumb{gap:4px}.breadcrumb strong{font-size:14px}.page-heading{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:24px}.page-heading .eyebrow{font-size:10px}.page-description{font-size:13.5px}.main-footer{flex-direction:column;gap:9px;padding:22px 18px 96px;font-size:11.5px}.bottom-nav{z-index:30;background:var(--surface-strong);-webkit-backdrop-filter:var(--glass);border-top:1px solid var(--border);padding:8px 10px max(8px,env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-width:64px;min-height:48px;color:var(--text-muted);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:5px 8px;font-size:10px;display:flex}.bottom-nav a.active{color:var(--brand-ink);background:var(--brand-soft);font-weight:600}.language-switch button{min-height:34px}.dashboard-hero{border-radius:22px;min-height:300px}.hero-copy{width:100%;padding:30px 26px}.hero-copy h2{max-width:340px;font-size:29px}.hero-copy p{max-width:330px;font-size:13.5px}.hero-art{display:none}.hero-kicker{font-size:9.5px}.stats-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:30px}.stat-card{padding:18px}.stat-value{font-size:31px}.dashboard-columns{grid-template-columns:minmax(0,1fr)}.dashboard-aside{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:26px;display:grid}.section-heading h2{font-size:18px}.practice-grid{gap:14px}.practice-card{padding:20px}.practice-card h3{font-size:23px}.practice-card p{min-height:84px;font-size:13px}.task-icon{width:44px;height:44px}.editor-toolbar{gap:12px}.segmented{justify-content:space-between;width:100%}.segmented button{flex:1;padding:9px 8px;font-size:11.5px}.mobile-editor-tabs.segmented{margin-bottom:16px;display:flex}.mobile-editor-tabs button{font-size:13px}.editor-grid{grid-template-columns:1fr}.hide-mobile{display:none}.essay-panel{min-height:540px}.essay-textarea{min-height:320px;padding:8px 22px;font-size:17px}.essay-title{padding:18px 22px!important;font-size:21px!important}.editor-actions{padding:16px}.filter-bar{flex-wrap:wrap;gap:12px}.search-field{min-width:100%}.filter-bar>select{width:100%}.essay-row{gap:12px;padding:20px 16px}.essay-row>.file-icon{display:none}.essay-row-main p{max-width:190px}.demo-callout{flex-wrap:wrap;padding:22px}.demo-callout>div{min-width:200px}.demo-callout>.button{margin-left:40px}.tabs{gap:22px}.tabs button{font-size:12.5px}.score-summary{flex-direction:column;gap:16px}.overall-score{padding:24px}.overall-score>strong{font-size:60px;line-height:1.35}.criteria-grid{grid-template-columns:1fr 1fr}.feedback-grid,.grading-columns{grid-template-columns:1fr}.grading-panel{padding:20px}.usage-row{grid-template-columns:1.2fr 1fr 1fr;font-size:12px}.usage-row span:last-child{display:none}.prose{padding:26px;font-size:16px}.review-banner{flex-wrap:wrap;gap:16px;padding:22px}.review-banner>div{min-width:200px}.flashcard{min-height:310px;padding:38px 24px}.flashcard h2{font-size:31px}.donate-card{border-radius:22px;padding:34px 24px}.donate-card h2{font-size:28px}.settings-panel{padding:26px}.form-columns{grid-template-columns:1fr;gap:0}.theme-choices{grid-template-columns:1fr}.auth-page{padding:22px 16px}.auth-card{margin:40px auto 20px;padding:28px}}@media(max-width:390px){.main-content{padding:20px 14px 32px}.hero-copy{padding:26px 22px}.hero-copy h2{font-size:27px}.practice-card{padding:17px}.practice-card h3{font-size:22px}.dashboard-aside{grid-template-columns:1fr}.stat-card{padding:16px}.editor-actions .button-row{width:100%}.editor-actions .button-row .button{flex:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.eyebrow,.feature-top,.task-type-card.active strong{color:var(--brand-ink)}.topic-card .badge.neutral{background:var(--brand-soft);color:var(--brand-ink);border-color:#0000}.topic-card .prompt-card-top>svg{color:var(--brand)}.support-card{background:var(--surface-soft)}.avatar{background:var(--brand);color:var(--on-brand)}[data-theme=light] :is(input:not([type=file]),select,textarea,.task-type-radio,.button.outline,.search-field){border-color:var(--control-border)}[data-theme=light] input:is([type=checkbox],[type=radio]){accent-color:var(--brand)}[data-theme=light] :focus-visible,[data-theme=light] .search-field:focus-within{outline:2px solid var(--ring);outline-offset:2px}[data-theme=light] .support-card{background:var(--accent-soft)}[data-theme=light] .feedback-good{background:var(--success-soft);color:var(--success)}[data-theme=light] .text-teal[role=status]{color:var(--success)}[data-theme=light] .notice-warning{background:var(--warning-soft);color:var(--warning);border-color:var(--warning)}[data-theme=light] .notice-warning svg{color:var(--warning)}[data-theme=light] :is(.segmented,.language-switch) button.selected{box-shadow:inset 0 -2px var(--brand)}[data-theme=light] .landing-feature{box-shadow:var(--shadow-sm)}@media(hover:hover){[data-theme=light] :is(.topic-card,.practice-card,.vocab-topic-card,.landing-feature,.task-type-card):not(:disabled):not(.active):hover{border-color:var(--border-strong)}}.skill-room{--room-line:1px solid var(--border);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.skill-room-header{border-bottom:var(--room-line);grid-template-columns:1fr minmax(0,2fr) 1fr;align-items:center;gap:1rem;padding:.7rem 1rem;display:grid}.skill-room-header-side{align-items:center;gap:.6rem;min-width:0;display:flex}.skill-room-header-side.is-end{justify-content:flex-end}.skill-room-series{color:var(--text-subtle);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.skill-room-title{text-align:center;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.05rem;overflow:hidden}.skill-room-toolbar{border-bottom:var(--room-line);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.55rem 1rem;display:grid}.skill-room-toolbar-side{align-items:center;gap:.5rem;min-width:0;display:flex}.skill-room-toolbar-side.is-end{justify-content:flex-end}.skill-room-review-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.78rem;font-weight:600;display:inline-flex}.skill-room-review-toggle:hover{border-color:var(--brand);color:var(--brand-ink)}.skill-room-review-toggle.is-active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-ink)}.skill-room-parts{gap:.3rem;display:flex}.skill-room-part-tab{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.25rem .7rem;font-size:.75rem;font-weight:600}.skill-room-part-tab.is-active{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.skill-room-timer{font-variant-numeric:tabular-nums;color:var(--text);justify-self:center;align-items:center;gap:.4rem;font-size:1rem;font-weight:700;display:flex}.skill-room-timer .is-low{color:var(--danger)}.skill-room-progress{color:var(--text-subtle);white-space:nowrap;font-size:.78rem}.skill-room-part{border-bottom:var(--room-line);background:var(--surface-soft);flex-wrap:wrap;align-items:baseline;gap:.55rem;padding:.6rem 1rem;display:flex}.skill-room-part strong{font-size:.88rem}.skill-room-part-title{color:var(--text);font-size:.84rem;font-weight:600}.skill-room-part p{color:var(--text-muted);margin:0;font-size:.8rem}.skill-room-split{grid-template-columns:var(--split,50%) 12px minmax(0,1fr);flex:1;min-height:0;display:grid}.skill-room-pane{min-height:0;max-height:calc(100vh - 20rem);padding:1.4rem 1.6rem;overflow-y:auto}.skill-room-divider{cursor:col-resize;background:var(--border);touch-action:none;border:0;padding:0;position:relative}.skill-room-divider:after{content:"↔";background:var(--surface);border:1px solid var(--border);width:24px;height:24px;color:var(--text-muted);border-radius:7px;place-items:center;font-size:12px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.skill-room-divider:hover:after,.skill-room-divider:focus-visible:after{border-color:var(--brand);color:var(--brand)}.skill-room-divider:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.skill-room-review{z-index:60;background:var(--surface);border-left:1px solid var(--border);width:min(22rem,90vw);box-shadow:var(--shadow-lg);align-content:start;gap:1rem;padding:1rem 1.2rem;display:grid;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.skill-room-review-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.skill-room-review-head h2{margin:0;font-size:1rem}[data-reading-focus=on] .sidebar,[data-reading-focus=on] .sidebar-scrim,[data-reading-focus=on] .bottom-nav{display:none}[data-reading-focus=on] .workspace{margin-left:0}[data-reading-focus=on] .topbar,[data-reading-focus=on] .main-footer{display:none}[data-reading-focus=on] .main-content{max-width:none;min-height:0;padding:0}[data-reading-focus=on] .skill-room{border:0;border-radius:0;height:100dvh}[data-reading-focus=on] .skill-room>:not(.skill-room-split){flex-shrink:0}[data-reading-focus=on] .skill-room-pane{max-height:none}.skill-passage{min-height:0}.skill-passage-body{color:var(--text);font-size:1rem;line-height:1.9}.skill-passage-body p{max-width:40rem;margin:0 0 1.05rem}.skill-passage-body h1{letter-spacing:-.02em;margin:0 0 .9rem;font-size:1.35rem;line-height:1.3}.skill-passage-body h2{margin:1.4rem 0 .7rem;font-size:1.15rem}.skill-passage-body h3{margin:1.1rem 0 .5rem;font-size:1.02rem}.skill-passage-body ul,.skill-passage-body ol{max-width:40rem;margin:0 0 1.05rem;padding-left:1.4rem}.skill-passage-body li{margin-bottom:.35rem}.skill-passage-body table{border-collapse:collapse;width:100%;margin-bottom:1rem}.skill-passage-body td,.skill-passage-body th{border:1px solid var(--border);text-align:left;padding:.4rem .5rem}.skill-group{gap:.6rem;margin-bottom:1.7rem;display:grid}.skill-group-title{color:var(--brand-ink);margin:0;font-size:1.02rem;font-weight:700}.skill-group-instruction{color:var(--text-muted);font-size:.92rem;line-height:1.65}.skill-group-instruction p{margin:.25rem 0}.skill-completion{font-size:.97rem;line-height:2.1}.skill-completion p{margin:.45rem 0}.skill-completion table{border-collapse:collapse;table-layout:fixed;width:100%}.skill-completion td{border:1px solid var(--border);overflow-wrap:anywhere;vertical-align:top;padding:.5rem}.skill-completion img{max-width:100%;height:auto}.skill-completion .skill-inline-input{border:0;border-bottom:2px solid var(--control-border);background:var(--surface-soft);width:8rem;min-height:0;color:var(--brand-ink);border-radius:4px 4px 0 0;margin:0 .2rem;padding:.1rem .35rem;font-weight:600;display:inline-block}.skill-inline-answer{vertical-align:middle;align-items:center;gap:.15rem;display:inline-flex}.skill-flag-inline{border-radius:6px;justify-content:center;align-items:center;padding:.15rem;line-height:1;display:inline-flex}.skill-flag-inline.is-active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.skill-question{padding:.45rem 0;display:grid}.skill-question-row{grid-template-columns:1.7rem minmax(0,1fr) auto;align-items:start;gap:.7rem;display:grid}.skill-question-box{border:1px solid var(--border-strong);text-align:center;color:var(--text);background:var(--surface-soft);border-radius:5px;padding:.12rem .3rem;font-size:.85rem;font-weight:700}.skill-question-box.is-answered{background:var(--success-soft);border-color:var(--success);color:var(--success)}.skill-question-main{gap:.45rem;min-width:0;display:grid}.skill-question-prompt{margin:0;line-height:1.6}.skill-question-hint{color:var(--text-muted);margin:0;font-size:.78rem}.skill-flag{color:var(--text-subtle);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:.3rem}.skill-flag:hover{color:var(--text);background:var(--surface-soft)}.skill-flag.is-active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.skill-flag:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.skill-options{gap:.35rem;display:grid}.skill-option{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text);flex-direction:row;align-items:flex-start;gap:.6rem;margin-bottom:0;padding:.45rem .65rem;display:flex}.skill-option input[type=radio],.skill-option input[type=checkbox]{width:auto;min-height:0;accent-color:var(--brand);flex:none;margin:.2rem 0 0;padding:0}.skill-option:has(input:disabled){opacity:.55;cursor:not-allowed}.skill-option select{border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);padding:.45rem .6rem}.skill-tfng{flex-wrap:wrap;gap:.4rem;display:flex}.skill-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.35rem .85rem;font-size:.75rem;font-weight:700}.skill-chip.is-selected{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.skill-fill input{border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);width:100%;max-width:22rem;color:var(--text);padding:.45rem .6rem}.skill-timer{gap:.2rem;min-width:7rem;display:grid}.skill-timer-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);font-size:.65rem}.skill-timer-value{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:700}.skill-timer-bar{background:var(--surface-soft);border-radius:999px;height:.3rem;display:block;overflow:hidden}.skill-timer-bar span{background:var(--brand);height:100%;transition:width .3s linear;display:block}.skill-timer.is-low .skill-timer-value{color:var(--danger)}.skill-timer.is-low .skill-timer-bar span{background:var(--danger)}.skill-review{gap:.6rem;display:grid}.skill-review-grid{flex-wrap:wrap;gap:.3rem;display:flex}.skill-review-cell{border:1px solid var(--border);background:var(--surface);width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;border-radius:8px;font-size:.75rem;font-weight:700}.skill-review-cell.is-answered{background:var(--success-soft);border-color:var(--success);color:var(--success)}.skill-review-cell.is-flagged{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.skill-review-cell.is-empty{background:var(--surface);border-color:var(--border);color:var(--text-subtle)}.skill-review-legend{color:var(--text-subtle);flex-wrap:wrap;gap:.8rem;margin:0;padding:0;font-size:.72rem;list-style:none;display:flex}.skill-review-legend li{align-items:center;gap:.35rem;display:flex}.skill-review-legend span{border:1px solid var(--border);border-radius:4px;width:.8rem;height:.8rem;display:inline-block}.skill-review-legend .is-answered{background:var(--success-soft);border-color:var(--success)}.skill-review-legend .is-flagged{background:var(--accent-soft);border-color:var(--accent)}.skill-review-legend .is-empty{background:var(--surface);border-color:var(--border)}.skill-result{gap:1rem;display:grid}.skill-result>.panel{padding:1rem}.skill-result-summary{text-align:center;justify-items:center;gap:.35rem;display:grid}.skill-result-band{color:var(--brand);margin:0;font-size:3rem;font-weight:800;line-height:1}.skill-result-score{font-size:1.25rem;font-weight:700}.skill-result-item{overflow-wrap:anywhere;flex:1;min-width:0}.skill-result-question-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.skill-result-question-header .button{min-height:44px}.skill-result-list{gap:.6rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.skill-result-list li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:flex-start;gap:.7rem;padding:.7rem .8rem;display:flex}.skill-result-list li.is-correct{border-color:var(--success)}.skill-result-list li.is-wrong{border-color:var(--danger)}.skill-result-icon{border-radius:999px;flex:none;place-items:center;width:1.6rem;height:1.6rem;display:grid}.skill-result-list li.is-correct .skill-result-icon{background:var(--success-soft);color:var(--success)}.skill-result-list li.is-wrong .skill-result-icon{background:var(--danger-soft);color:var(--danger)}.skill-result-prompt{margin:0;font-weight:600}.skill-explanation{color:var(--text-muted);white-space:pre-line;margin:.3rem 0 0;font-size:.82rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem;display:grid}.skill-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);color:inherit;gap:.8rem;padding:1rem;text-decoration:none;display:flex}.skill-card h3{margin:.15rem 0 .3rem;font-size:1rem}.skill-card-icon{background:var(--brand-soft);width:2.4rem;height:2.4rem;color:var(--brand);border-radius:12px;flex:none;place-items:center;display:grid}.skill-card-meta{color:var(--text-subtle);align-items:center;gap:.35rem;font-size:.75rem;display:flex}.filter-row{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.filter-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.3rem .8rem;font-size:.78rem;font-weight:600}.filter-chip.is-active{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}@media(max-width:1080px){.skill-room-split{grid-template-columns:minmax(0,1fr)}.skill-room-divider{display:none}.skill-room-pane{max-height:none}.skill-room-title{white-space:normal}}@media(max-width:767px){.skill-room-header,.skill-room-toolbar{grid-template-columns:minmax(0,1fr)}.skill-room-header-side.is-end,.skill-room-toolbar-side.is-end{justify-content:flex-start}.skill-room-timer{justify-self:start}.skill-room-pane{padding:1.1rem 1rem}}.admin-skill-list{gap:1rem;margin-top:1rem;display:grid}.admin-skill{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:.7rem;padding:1rem;display:grid}.admin-skill header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-skill h3{margin:.1rem 0;font-size:1rem}.admin-skill-actions{flex-wrap:wrap;gap:.4rem;display:flex}.admin-skill ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.admin-skill li{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.8rem;padding-top:.5rem;font-size:.85rem;display:flex}.doc-shell{flex-direction:column;min-height:100vh;display:flex}.doc-nav{justify-content:space-between;align-items:center;gap:20px;width:100%;max-width:1180px;margin:auto;padding:24px 24px 4px;display:flex}.doc-nav>nav{align-items:center;gap:18px;display:flex}.doc-main{flex:1;width:100%;max-width:880px;margin:0 auto;padding:28px 24px 64px}.doc-page{gap:26px;display:grid}.doc-header{gap:12px;display:grid}.doc-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--brand-ink);font-size:10.5px;font-weight:700}.doc-header h1{letter-spacing:-.035em;font-size:clamp(28px,4vw,40px);line-height:1.2}.doc-summary{color:var(--text-muted);max-width:720px;font-size:16px;line-height:1.7}.doc-section{gap:13px;display:grid}.doc-section h2{letter-spacing:-.02em;font-size:21px}.doc-section p{color:var(--text-muted);font-size:14.5px;line-height:1.75}.doc-section ul{gap:8px;margin:0;padding-left:20px;display:grid}.doc-section li{color:var(--text-muted);font-size:14px;line-height:1.7}.doc-footer{border-top:1px solid var(--border);color:var(--text-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:22px 24px;font-size:12.5px;display:flex}.doc-footer>a{color:var(--brand-ink);font-weight:600}@media(max-width:767px){.doc-nav{padding:18px 18px 2px}.doc-main{padding:22px 18px 52px}.doc-header h1{font-size:28px}.doc-summary{font-size:15px}.doc-section h2{font-size:19px}}body{background:var(--bg);font-family:DM Sans,Be Vietnam Pro,system-ui,sans-serif;font-size:16px}h1,h2,h3{font-variation-settings:"SOFT" 100}.brand,.sidebar-brand .brand{font-family:var(--font-sans);white-space:nowrap;letter-spacing:-.035em;gap:10px;font-size:28px;font-weight:700}.brand-domain{color:#1d6fe5}[data-theme=dark] .brand-domain{color:#00cec3}.brand-mark{object-fit:contain;background:0 0;border-radius:0;flex-shrink:0;width:52px;height:52px;display:block}.sidebar{padding-inline:16px}.sidebar-brand{gap:6px}.sidebar-brand .sidebar-toggle{width:30px;min-width:30px}.topbar{border:0;border-bottom:1.5px solid var(--border-strong);box-shadow:none;background:var(--bg);border-radius:0;margin:0;padding-inline:26px;top:0}.language-switch{border:1.5px solid var(--border-strong);background:0 0;border-radius:10px;padding:2px}.language-switch button{border-radius:7px;min-width:34px;min-height:36px;font-size:12px}.language-switch button.selected,html[data-lang=vi] .language-switch button[data-lang-switch=vi],html:not([data-lang=vi]) .language-switch button[data-lang-switch=en]{background:var(--surface-soft);color:var(--text);box-shadow:none}.theme-toggle{border:1.5px solid var(--border-strong);width:44px;height:44px;color:var(--text);background:0 0;border-radius:10px}.theme-toggle span[aria-hidden]{font-size:21px}.auth-controls{align-items:center;gap:10px;display:flex}.auth-card{border:1.5px solid var(--border-strong);box-shadow:var(--shadow-lg);border-radius:20px}.auth-card h1{font-size:38px}.auth-card form{margin-top:26px}.panel,.stat-card,.daily-card,.practice-card,.topic-card,.vocab-topic-card,.skill-card{box-shadow:none}.panel-heading h2,.section-heading h2{font-size:25px}.stat-value{font-family:var(--font-display);font-size:38px}.stat-icon,.task-icon,.skill-card-icon{color:var(--brand-ink);background:0 0}.blue,[data-theme=dark] .blue{background:var(--skill-listening);color:var(--text)}.purple,[data-theme=dark] .purple{background:var(--skill-vocabulary);color:var(--text)}.art-0,[data-theme=dark] .art-0{background:var(--skill-listening);color:var(--text)}.art-1,[data-theme=dark] .art-1{background:var(--skill-reading);color:var(--text)}.art-2,[data-theme=dark] .art-2{background:var(--skill-speaking);color:var(--text)}.page-heading h1{font-size:clamp(32px,3vw,44px)}.page-description{max-width:700px;font-size:16px}.bottom-nav a{font-size:13px}.skill-passage-body{font-size:17px}.skill-question-number,.skill-chip,.filter-chip{font-family:DM Sans,Be Vietnam Pro,sans-serif}.skill-card:hover,.practice-card:hover{border-color:var(--brand)}.doc-header h1{font-size:clamp(38px,5vw,60px)}.doc-section h2{font-size:28px}.doc-section p,.doc-section li{font-size:16px}.doc-nav{padding-block:22px}.doc-footer{font-size:14px}.landing{--font-display:var(--font-sans);min-height:100vh;color:var(--text);background:var(--bg);overflow-x:clip}.landing-wrap{width:100%;max-width:1440px;margin-inline:auto;padding-inline:clamp(20px,5.7vw,82px)}.landing h1,.landing h2,.landing h3{letter-spacing:-.035em;font-weight:700;line-height:1.12}.landing h2{font-size:clamp(32px,3.3vw,48px)}.landing h3{font-size:clamp(24px,2.4vw,32px)}.landing p{line-height:1.6}.landing-label{font:600 13px/1.4 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.landing-nav{z-index:30;background:var(--bg);position:sticky;top:0}.landing-nav>.landing-wrap{justify-content:space-between;align-items:center;gap:24px;min-height:88px;display:flex}.landing-nav nav{align-items:center;gap:20px;font-size:15px;font-weight:500;display:flex}.landing-nav-link:hover,.landing-footer a:hover{color:var(--brand)}.landing .button{border-color:var(--border-strong);box-shadow:none;border-radius:999px;font-size:16px;font-weight:700}.landing .button.primary{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}.landing .button.primary:hover{background:var(--brand-ink)}.landing .button.outline{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.landing .button.large{min-height:60px;padding:16px 28px;font-size:18px}.landing-nav .button{min-height:48px;padding:12px 22px;font-size:14px}.landing-hero{isolation:isolate;background:var(--bg);position:relative}.landing-stage{grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);align-items:center;gap:16px;min-height:720px;padding-block:40px 72px;display:grid}.landing-intro{z-index:1;position:relative}.landing-kicker{background:var(--brand-soft);max-width:100%;color:var(--brand-ink);border-radius:999px;align-items:center;gap:9px;padding:10px 16px;font-size:15px;font-weight:500;line-height:1.5;display:inline-flex}.landing-kicker svg{color:#f7bf2c;flex-shrink:0;width:20px;height:20px}.landing-intro h1{letter-spacing:-.045em;margin:22px 0 28px;font-size:clamp(42px,4.8vw,78px);line-height:1.16}.hero-accent{color:var(--text);white-space:nowrap}.landing-intro h1 em{color:var(--brand-ink);font-style:normal;position:relative}.landing-intro h1 em:after{content:"";border-top:6px solid #ffd24b;border-radius:50%;height:8px;position:absolute;bottom:-7px;left:2%;right:0;transform:rotate(-3deg)}.landing-intro>p{max-width:535px;color:var(--text-muted);font-size:20px}.landing-intro .button-row{gap:16px;margin-block:28px 22px}.landing-intro .button svg{width:22px;height:22px;color:var(--brand-ink)}.hero-benefits{flex-wrap:wrap;gap:12px 20px;margin:0 0 18px;padding:0;list-style:none;display:flex}.hero-benefits li{align-items:center;gap:7px;font-size:13px;line-height:1.5;display:flex}.hero-benefits svg{width:19px;height:19px;color:var(--brand);flex-shrink:0}.landing-intro>.landing-note{color:var(--text-muted);max-width:480px;margin:0;font-size:13px}.skill-art{isolation:isolate;width:calc(100% + 80px);margin-right:-80px;position:relative;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6%);mask-image:linear-gradient(90deg,#0000,#000 6%)}.skill-art img{aspect-ratio:952/841;object-fit:cover;border-radius:32px 0 0 32px;width:100%;height:auto;display:block}.skill-art .hero-scene-dark,[data-theme=dark] .skill-art .hero-scene-light{display:none}[data-theme=dark] .skill-art .hero-scene-dark{display:block}.landing-learning{padding-top:24px;padding-bottom:98px;scroll-margin-top:96px}.landing-section-heading{max-width:690px;margin-bottom:48px}.landing-section-heading h2{margin-top:14px}.landing-features{border-top:1.5px solid var(--text)}.landing-feature{border-bottom:1.5px solid var(--text);background:0 0;grid-template-columns:64px 1fr 1.4fr 32px;align-items:center;gap:24px;padding:28px 14px;transition:background .2s,padding .2s;display:grid;box-shadow:none!important}.feature-number{color:var(--text-muted);font-size:13px}.feature-description p{margin-bottom:6px;font-size:17px}.feature-description .landing-label{font-size:13px}.feature-arrow{font-size:28px}.landing-rhythm{padding-block:0 100px;position:relative}.landing-rhythm .landing-section-heading{max-width:920px;margin-bottom:32px;position:relative}.landing-rhythm h2 em{color:var(--brand-ink);font-style:normal}.landing-rhythm .landing-label{color:var(--brand-ink)}.rhythm-trail{width:45%;color:var(--brand);opacity:.24;pointer-events:none;position:absolute;top:-90px;right:0}.rhythm-note{color:var(--text-muted);font:italic 20px/1.4 var(--font-display);white-space:pre-line;position:absolute;top:10px;right:82px;transform:rotate(-8deg)}.rhythm-note svg{width:110px;height:64px;color:var(--brand);position:absolute;top:42px;right:-20px}.rhythm-skills{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.rhythm-skill{isolation:isolate;border:1px solid var(--border);flex-direction:column;min-width:0;min-height:332px;padding:24px;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.rhythm-skill{border:1px solid color-mix(in srgb,var(--border) 45%,transparent)}}.rhythm-skill{background:var(--surface);color:var(--text);border-radius:28px;transition:background .2s,transform .2s}.rhythm-skill:first-child{background:var(--brand-soft)}@supports (color:color-mix(in lab,red,red)){.rhythm-skill:first-child{background:color-mix(in srgb,var(--brand-soft) 40%,var(--surface))}}.rhythm-skill:first-child{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.rhythm-skill:first-child{border-color:color-mix(in srgb,var(--brand) 20%,transparent)}}.rhythm-skill-top{align-items:center;gap:24px;margin-bottom:16px;display:flex}.rhythm-icon{background:var(--brand-soft);width:56px;height:56px;color:var(--brand-ink);border-radius:16px;flex-shrink:0;place-items:center;display:grid}.rhythm-icon svg{width:32px;height:32px}.rhythm-skill:first-child .rhythm-icon{background:var(--brand);color:var(--on-brand)}.rhythm-skill:nth-child(2) .rhythm-icon{background:var(--skill-reading)}.rhythm-skill:nth-child(3) .rhythm-icon{background:var(--skill-listening);color:var(--text)}.rhythm-skill:nth-child(4) .rhythm-icon{background:var(--skill-speaking)}.rhythm-number{color:var(--text-muted);opacity:.75;letter-spacing:-.04em;font-size:48px;font-weight:700;line-height:1}.rhythm-skill h3{z-index:1;font-size:26px;position:relative}.rhythm-skill p{z-index:1;max-width:64%;color:var(--text-muted);flex:1;margin-block:10px 16px;font-size:16px;line-height:1.5;position:relative}.rhythm-arrow{z-index:1;border:1px solid var(--brand-ink);width:44px;height:44px;color:var(--brand-ink);border-radius:50%;place-items:center;font-size:26px;transition:background .2s,color .2s,transform .2s;display:grid;position:relative}.rhythm-art{z-index:0;pointer-events:none;width:56%;max-width:200px;height:auto;position:absolute;bottom:4px;right:-4px}.rhythm-art-dark,[data-theme=dark] .rhythm-art-light{display:none}[data-theme=dark] .rhythm-art-dark{display:block}a.rhythm-skill:is(:hover,:focus-visible){background:var(--brand-soft)}@supports (color:color-mix(in lab,red,red)){a.rhythm-skill:is(:hover,:focus-visible){background:color-mix(in srgb,var(--brand-soft) 65%,var(--surface))}}a.rhythm-skill:is(:hover,:focus-visible) .rhythm-arrow{background:var(--brand);color:var(--on-brand)}.rhythm-skill.is-upcoming .rhythm-arrow{opacity:.4}@media(hover:hover)and (prefers-reduced-motion:no-preference){a.rhythm-skill:hover{transform:translateY(-6px)}a.rhythm-skill:hover .rhythm-arrow{transform:rotate(-35deg)}}.landing-feedback{--feedback-bg:#f6eee2;--feedback-card:#fbf5ec;--feedback-accent:#b94318;--feedback-track:#eae0d2;background:var(--feedback-bg);color:var(--text);padding-block:32px}[data-theme=dark] .landing-feedback{--feedback-bg:#201c17;--feedback-card:#2d2720;--feedback-accent:#ffbd69;--feedback-track:#3d352b}.feedback-layout{grid-template-columns:minmax(0,1.12fr) minmax(0,1.4fr) minmax(300px,.95fr);align-items:center;gap:24px;max-width:1800px;display:grid}.landing-feedback .landing-label{color:var(--text-muted)}[data-theme=dark] .feedback-copy>.landing-label{color:var(--feedback-accent)}.landing-feedback h2{margin-top:16px;font-size:clamp(32px,2.75vw,48px);line-height:1.1}.feedback-accent{color:var(--feedback-accent);display:block}.landing-feedback p{max-width:440px;margin:24px 0;font-size:18px}.landing-feedback .button.primary{background:var(--feedback-accent);border-color:var(--feedback-accent);min-height:54px;color:var(--on-brand);padding:14px 28px}.landing-feedback .button.primary:hover{filter:brightness(.93)}.feedback-art{align-self:stretch;align-items:end;margin-inline:-20px;display:grid;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 96%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 96%,#0000)}.feedback-art img{align-self:center;width:100%;height:auto;display:block}.feedback-art .feedback-art-dark,[data-theme=dark] .feedback-art .feedback-art-light{display:none}[data-theme=dark] .feedback-art .feedback-art-dark{display:block}.sample-score{background:var(--feedback-card);min-width:0;color:var(--text);border-radius:24px;padding:12px}.sample-tabs{border:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;min-width:0;margin:0;padding:0;display:grid}.sample-tab{cursor:pointer;border-radius:999px;place-items:center;min-height:44px;margin:0;padding:8px 4px;font-size:13px;font-weight:600;display:grid;position:relative}.sample-tab input{opacity:0;width:1px;height:1px;position:absolute}.sample-tab:has(:checked){background:var(--feedback-accent);color:var(--on-brand)}.sample-tab:has(:focus-visible){outline:2px solid var(--text);outline-offset:3px}.sample-tab:not(:has(:checked)):hover{background:var(--feedback-track)}.sample-panel{padding:16px 12px;display:none}.sample-score:has(input[value=writing]:checked) [data-feedback-panel=writing],.sample-score:has(input[value=speaking]:checked) [data-feedback-panel=speaking],.sample-score:has(input[value=reading]:checked) [data-feedback-panel=reading],.sample-score:has(input[value=listening]:checked) [data-feedback-panel=listening]{display:block}.sample-score header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.sample-score header .landing-label{padding-top:8px;font-size:11px}.sample-overall{flex-shrink:0;justify-items:end;gap:4px;display:grid}.sample-overall>span{font-size:12px;font-weight:600;line-height:1.2}.sample-score header b{font:600 48px/.95 var(--font-sans);color:var(--feedback-accent);letter-spacing:-.06em}.sample-criterion{margin-top:16px}.sample-criterion>div:first-child{justify-content:space-between;gap:10px;margin-bottom:7px;font-size:13px;font-weight:600;display:flex}.sample-criterion>div:first-child>span:last-child{font-variant-numeric:tabular-nums}.sample-bar{background:var(--feedback-track);border-radius:99px;height:11px;overflow:hidden}.sample-bar i{width:var(--score);background:var(--feedback-accent);border-radius:inherit;height:100%;display:block}@media(max-width:1199px){.feedback-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:24px 40px}.feedback-copy{grid-column:1}.feedback-art{grid-area:2/1;margin:-24px -20px 0}.sample-score{grid-area:1/2/3}}@media(max-width:860px){.landing-feedback .feedback-layout{grid-template-columns:minmax(0,1fr);gap:28px}.feedback-copy,.feedback-art,.sample-score{grid-area:auto}.feedback-art{justify-self:center;width:min(100%,640px);margin:0}.sample-score{justify-self:center;width:min(100%,480px)}.landing .landing-feedback h2{font-size:clamp(25px,6.8vw,42px)}.landing-feedback p{max-width:560px}}.landing-cta{background:var(--skill-reading);text-align:center;padding-block:100px}.landing-cta h2{max-width:780px;margin:0 auto 18px}.landing-cta p{max-width:520px;margin:0 auto 28px;font-size:19px}.landing-footer{color:var(--text-muted);grid-template-columns:auto 1fr auto auto;align-items:center;gap:20px 32px;padding-block:28px;font-size:14px;display:grid}.landing-footer .brand{min-height:44px;color:var(--text)}.landing-footer-copyright{justify-self:center}.landing-footer-links{flex-wrap:wrap;gap:20px;display:flex}.landing-footer-links a,.landing-footer-start{align-items:center;min-height:44px;display:inline-flex}.landing-footer-start{gap:10px}.dashboard-page{gap:24px;display:grid}.dashboard-page .page-heading{align-items:center;margin-bottom:0}.dashboard-page .page-heading h1{font-size:34px}.dashboard-stats{border:1px solid var(--border);background:var(--surface);border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:20px 24px;display:grid}.dashboard-stats dt{color:var(--text-muted);font-size:15px}.dashboard-stats dd{font-variant-numeric:tabular-nums;margin-top:6px;font-size:32px;font-weight:600;line-height:1.2}.overview-practice{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.dashboard-page .practice-card{flex-direction:column;padding:22px;display:flex}.dashboard-page .practice-card-top{color:var(--brand-ink);margin-bottom:12px}.dashboard-page .practice-card h3{margin-top:0;font-size:26px}.dashboard-page .practice-card p{flex:1;min-height:0;font-size:16px;line-height:1.6}.dashboard-page .practice-meta{flex-wrap:wrap;gap:12px;font-size:14px}.dashboard-page .section-heading{min-height:44px;margin-bottom:12px}.dashboard-page .section-heading h2,.dashboard-page .daily-card h2{font-size:26px}.dashboard-page .dashboard-columns{grid-template-columns:minmax(0,1fr) minmax(280px,.58fr);gap:24px}.dashboard-page .dashboard-aside{margin:0;display:block}.dashboard-page .recent-panel{margin-bottom:0}.dashboard-page .recent-row strong,.dashboard-page .recent-empty strong{font-size:16px}.dashboard-page .recent-row small,.dashboard-page .recent-empty p{font-size:14px}.dashboard-page .recent-row>svg{flex-shrink:0}.dashboard-page .daily-card{padding:24px}.dashboard-page .daily-top{margin-bottom:0}.dashboard-page .daily-card p{font-size:16px}.dashboard-page .word-of-day{margin-top:24px}.dashboard-page .word-of-day>span{color:var(--text-muted);font-size:14px}.dashboard-page .word-of-day strong{font-size:22px}.dashboard-page .admin-quick-panel{margin:0;padding:24px}.dashboard-page .admin-mini-stat span{font-size:14px}@media(hover:hover){.landing-feature:hover{background:var(--skill-vocabulary);padding-left:28px}.landing-feature[data-skill=listening]:hover{background:var(--skill-listening)}.landing-feature[data-skill=reading]:hover{background:var(--skill-reading)}.landing-feature[data-skill=speaking]:hover{background:var(--skill-speaking)}}.button:active:not(:disabled){box-shadow:none;transform:translateY(2px)}@media(max-width:1199px){.landing-nav-link{display:none}.rhythm-skills{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1023px){.rhythm-trail,.rhythm-note{display:none}.landing-stage{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:40px 64px}.landing-intro h1{font-size:64px}.skill-art{width:min(100%,680px);margin:0 auto;-webkit-mask-image:none;mask-image:none}.skill-art img{border-radius:28px}.dashboard-hero{grid-template-columns:1fr}.dashboard-hero .skill-art{display:none}}@media(max-width:860px){.dashboard-page .dashboard-columns,.overview-practice{grid-template-columns:minmax(0,1fr)}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-footer{grid-template-columns:minmax(0,1fr) auto;gap:12px 24px}.landing-footer-start{grid-area:1/2}.landing-footer-copyright{grid-area:2/1;justify-self:start}.landing-footer-links{grid-area:2/2}.landing-stage,.feedback-layout{grid-template-columns:minmax(0,1fr);gap:44px}.landing-stage{padding-block:44px 80px}.landing-intro h1{max-width:680px;font-size:clamp(44px,8vw,72px)}.landing-feature{grid-template-columns:38px minmax(0,1fr) 24px;gap:12px;padding:24px 6px}.feature-description{grid-column:2}.feature-arrow{grid-area:1/3/3}.landing-learning,.landing-rhythm{padding-bottom:72px}.landing-feedback,.landing-cta{padding-block:72px}}@media(max-width:767px){.topbar{border-radius:0;margin:0;padding:0 12px}.topbar-actions{gap:6px}.page-heading h1{font-size:34px}.hero-copy{padding:26px}.hero-copy h2{font-size:30px}.dashboard-skills{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-skill{padding:18px}.dashboard-aside{grid-template-columns:1fr}.main-content{padding-inline:18px}.auth-page{padding:20px 16px}.auth-card{padding:28px 24px}.auth-card h1{font-size:34px}.auth-controls{gap:6px}}@media(max-width:540px){.brand,.sidebar-brand .brand{gap:7px;font-size:21px}.brand-mark{width:44px;height:44px}.rhythm-skills{grid-template-columns:1fr}.landing-wrap{padding-inline:20px}.landing-nav>.landing-wrap{gap:8px;min-height:66px;padding-inline:16px}.landing-nav nav{gap:7px}.landing-nav .button{display:none}.landing-nav .theme-toggle{width:40px;min-width:40px}.landing h2{font-size:36px}.landing-intro h1{font-size:clamp(36px,10vw,48px)}.landing-intro>p{font-size:17px}.landing-intro .button-row{gap:10px}.landing .button.large{min-height:48px;padding:12px 16px;font-size:14px}.landing-kicker{padding:8px 12px;font-size:13px}.hero-benefits{gap:10px 16px}.landing-section-heading{margin-bottom:30px}.feature-description p,.rhythm-skill p{font-size:16px}.feature-description .landing-label{letter-spacing:.04em;font-size:13px}.coming-soon{margin-left:8px}.feedback-layout{gap:36px}.sample-score{padding:24px}.landing-feedback p,.landing-cta p{font-size:17px}.landing-footer{padding-block:20px;font-size:13px}.landing-footer-links{grid-area:2/1/auto/-1}.landing-footer-copyright{grid-area:3/1/auto/-1}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.button.white{background:var(--brand);color:var(--on-brand);border:1.5px solid var(--text);box-shadow:var(--shadow-brand)}.small-dot{background:var(--brand);box-shadow:none}.admin-columns>.panel,.admin-columns+.panel{padding:24px}.doc-controls{align-items:center;gap:8px;display:flex}.doc-nav{flex-wrap:wrap;max-width:1180px}.doc-nav>nav{flex-wrap:wrap;margin-left:auto}.doc-nav>nav a{align-items:center;min-height:44px;font-size:14px;display:inline-flex}:is(.speaking-page,.library-page){--font-display:"DM Sans", "Be Vietnam Pro", sans-serif}:is(.speaking-page,.library-page) .page-heading h1{font-size:32px}:is(.speaking-filters,.library-filters){flex-direction:column;gap:12px;margin-bottom:20px;display:flex}:is(.speaking-search,.library-search){max-width:400px;color:var(--text-muted);position:relative}:is(.speaking-search,.library-search)>svg{pointer-events:none;position:absolute;top:15px;left:14px}:is(.speaking-search,.library-search) input{background:var(--surface);color:var(--text);padding-left:42px}:is(.speaking-search,.library-search) input::placeholder{color:var(--text-muted)}:is(.speaking-filters,.library-filters) .filter-row{margin:0;padding:3px}:is(.speaking-filters,.library-filters) .filter-chip{background:var(--surface);min-height:40px;color:var(--text-muted);box-shadow:none;cursor:default;align-items:center;padding:6px 16px;font-size:14px;display:inline-flex}:is(.speaking-filters,.library-filters) .filter-chip.is-active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-ink)}.library-filters .filter-row{flex-wrap:nowrap;overflow-x:auto}.library-filters .filter-chip{cursor:pointer;flex-shrink:0}:is(.speaking-grid,.library-grid){grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;display:grid}:is(.speaking-card,.library-card){border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);border-radius:12px;padding:16px;position:relative}.library-card{display:block}:is(.speaking-card-badges,.library-card-badges){justify-content:space-between;align-items:center;gap:8px;display:flex}:is(.speaking-badge,.library-badge){background:var(--brand-soft);color:var(--brand-ink);letter-spacing:.04em;border-radius:6px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:700;line-height:1.6;display:inline-flex}:is(.speaking-card-kind,.library-card-kind){background:var(--surface-soft);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}:is(.speaking-card-book,.library-card-book){color:var(--text-muted);letter-spacing:.03em;margin-top:10px;font-size:12px;font-weight:600}.library-card-book{text-transform:uppercase}:is(.speaking-card,.library-card) h2{letter-spacing:-.02em;font:700 19px/1.35 DM Sans,Be Vietnam Pro,sans-serif}.library-card-level{color:var(--text-muted);margin-top:6px;font-size:13px}:is(.speaking-card-meta,.library-card-meta){color:var(--text-muted);flex-wrap:wrap;gap:6px 12px;margin:8px 0 12px;padding:0;font-size:13px;list-style:none;display:flex}:is(.speaking-card-meta,.library-card-meta) li{align-items:center;gap:4px;display:inline-flex}:is(.speaking-start,.library-start){background:var(--brand);width:100%;min-height:44px;color:var(--on-brand);border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.speaking-start:hover,.library-card:hover .library-start{background:var(--brand-ink)}.speaking-card .speaking-start:after{content:"";border-radius:12px;position:absolute;inset:0}.speaking-card .speaking-start:focus-visible{outline:none}.speaking-card .speaking-start:focus-visible:after{outline:3px solid var(--ring);outline-offset:3px}body:has(.speaking-dialog[open]){overflow:hidden}.speaking-dialog{width:min(500px,100vw - 24px);max-height:calc(100dvh - 24px);padding:0}.speaking-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#00000080}.speaking-dialog-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.speaking-dialog-header .icon-button{margin:-8px -10px 0 0}.speaking-dialog-badges{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.speaking-dialog h2{letter-spacing:-.02em;margin-top:6px;font-size:18px}.speaking-dialog-body{padding:16px 20px}.speaking-dialog-help{background:var(--brand-soft);color:var(--brand-ink);border-radius:12px;margin-bottom:12px;padding:12px;font-size:14px;line-height:1.5}.speaking-mode-options{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.speaking-option{border:1px solid var(--border-strong);background:var(--surface);min-height:68px;color:var(--text);cursor:pointer;border-radius:12px;grid-template-columns:20px 52px minmax(0,1fr);align-items:center;gap:10px;margin:0;padding:14px 12px;display:grid}.speaking-option:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}.speaking-option:has(input:focus-visible){outline:3px solid var(--ring);outline-offset:3px}.speaking-option:has(input:disabled){opacity:.55;cursor:not-allowed}.speaking-option input[type=radio]{width:20px;height:20px;min-height:20px;accent-color:var(--brand);margin:0;padding:0}.speaking-option strong{font-size:14px;font-weight:600;line-height:1.4;display:block}.speaking-option small{-webkit-line-clamp:2;color:var(--text-muted);overflow-wrap:anywhere;-webkit-box-orient:vertical;margin-top:3px;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.speaking-part-badge{background:var(--brand-soft);color:var(--brand-ink);white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:12px;font-weight:600}.speaking-full-option{grid-template-columns:36px minmax(0,1fr)}.speaking-full-icon{background:var(--brand);width:36px;height:36px;color:var(--on-brand);border-radius:50%;place-items:center;display:grid}.speaking-mode-divider{color:var(--text-subtle);text-align:center;align-items:center;gap:12px;margin:2px 0;font-size:12px;display:flex}.speaking-mode-divider:before,.speaking-mode-divider:after{content:"";background:var(--border);flex:1;height:1px}.speaking-topic-select{margin:14px 0 0;font-size:14px}.speaking-topic-select select{min-width:0}.speaking-dialog-source{color:var(--text-muted);margin-top:12px;font-size:12px}.speaking-dialog-source summary{cursor:pointer;align-items:center;min-height:32px;display:flex}.speaking-dialog-source p{overflow-wrap:anywhere}.speaking-dialog-footer{gap:12px;padding:0 20px 20px;display:grid}.speaking-live-help{color:var(--text-muted);text-align:center;font-size:13px;line-height:1.6}.speaking-result-page,.speaking-result{--font-display:var(--font-sans)}.speaking-result{overflow-wrap:anywhere;min-width:0}.speaking-result>.panel{padding:clamp(20px,2.5vw,28px)}.speaking-result .panel-heading{letter-spacing:-.015em;margin-bottom:16px;font-size:22px;font-weight:700;line-height:1.4}.speaking-overall{flex-shrink:0;justify-items:center;gap:12px;padding-inline:8px;display:grid}.speaking-band-circle{border:3px solid var(--brand);background:var(--brand-soft);width:128px;height:128px;color:var(--brand-ink);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:44px;font-weight:700;line-height:1;display:grid}.live-setup{gap:20px;padding:24px;display:grid}.live-setup label{margin-bottom:0}.speaking-live-page.is-active .page-heading{margin-bottom:18px}.speaking-live-page.is-active .page-heading h1{font-size:32px}.speaking-live-page.is-active .page-description{display:none}.live-room{gap:18px;display:grid}.live-conversation{overflow:hidden}.live-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.live-question-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.live-messages{overscroll-behavior:contain;background:var(--bg);flex-direction:column;align-items:flex-start;gap:24px;height:clamp(280px,100dvh - 440px,560px);margin:0;padding:28px 24px;list-style:none;display:flex;overflow-y:auto}.live-message{border:1px solid var(--border);background:var(--surface);overflow-wrap:anywhere;border-radius:4px 18px 18px;flex-shrink:0;width:fit-content;max-width:85%;padding:16px 20px;font-size:16px;line-height:1.7}.live-message.is-candidate{background:var(--brand-soft);border-radius:18px 4px 18px 18px;align-self:flex-end}.live-message strong{color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.live-question-text{white-space:pre-line;margin:0;font-size:18px;line-height:1.7}.live-replay{min-height:36px;margin-top:14px;font-size:13px}.live-voice-message{align-items:center;gap:10px;display:flex}.live-voice-message>span{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px}.live-answer-text{margin:10px 0 0}.live-composer{border-top:1px solid var(--border);background:var(--surface);justify-content:center;align-items:center;gap:18px;padding:18px 24px;display:flex}.live-mic-toggle{border:2px solid var(--brand);width:60px;height:60px;color:var(--brand-ink);background:var(--brand-soft);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.live-mic-toggle:hover:not(:disabled){background:var(--surface-soft)}.live-mic-toggle[aria-pressed=true]{background:var(--brand);color:var(--on-brand)}.live-mic-toggle:disabled{cursor:not-allowed;opacity:.5}.live-mic-toggle:focus-visible{outline:3px solid var(--text);outline-offset:4px}.live-mic-copy{gap:4px;display:grid}.live-mic-copy strong{font-size:16px}.live-mic-copy>span,.live-mic-state{font-size:13px}.live-mic-copy kbd{border:1px solid var(--border);color:var(--text);background:var(--surface-soft);font:inherit;border-radius:4px;margin-left:3px;padding:1px 7px;display:inline-block}.live-mic-state{max-width:200px;color:var(--text-muted);margin-left:20px}.live-composer.is-recording .live-mic-state{color:var(--brand-ink)}.live-session-actions{justify-content:space-between;font-size:13px}@media(max-width:767px){.live-setup,.live-toolbar{padding:18px}.live-toolbar{flex-direction:column;align-items:flex-start}.live-messages{height:clamp(240px,100dvh - 550px,500px);padding:20px 16px}.live-message{max-width:95%;padding:14px 16px}.live-question-text{font-size:17px}.live-replay{min-height:44px}.live-composer{flex-wrap:wrap;gap:12px;padding:16px}.live-mic-state{text-align:center;width:100%;max-width:none;margin:0}.live-session-actions{flex-direction:column;align-items:stretch}}@media(max-width:1200px){:is(.speaking-grid,.library-grid){grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){:is(.speaking-grid,.library-grid){grid-template-columns:minmax(0,1fr)}:is(.speaking-filters,.library-filters) .filter-chip,.speaking-dialog-source summary{min-height:44px}}@media(max-width:767px){.doc-nav{gap:14px;padding:18px 20px}.doc-nav>nav{order:3;gap:20px;width:100%;margin:0}.doc-controls{margin-left:auto}.admin-columns>.panel,.admin-columns+.panel,.admin-panel{padding:20px}}@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-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@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-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}
