/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--aspect-video:16 / 9;--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,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration: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{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{.pointer-events-none{pointer-events:none}.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}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-12{top:calc(var(--spacing) * -12)}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.-right-12{right:calc(var(--spacing) * -12)}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-12{bottom:calc(var(--spacing) * -12)}.bottom-0{bottom:calc(var(--spacing) * 0)}.-left-12{left:calc(var(--spacing) * -12)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1\]{z-index:1}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.-mt-4{margin-top:calc(var(--spacing) * -4)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-24{margin-top:calc(var(--spacing) * 24)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.-ml-4{margin-left:calc(var(--spacing) * -4)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-\(--cell-size\){width:var(--cell-size);height:var(--cell-size)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-\(--cell-size\){height:var(--cell-size)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--radix-context-menu-content-available-height\){max-height:var(--radix-context-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[90vh\]{max-height:90vh}.max-h-\[300px\]{max-height:300px}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[60px\]{min-height:60px}.min-h-svh{min-height:100svh}.w-\(--cell-size\){width:var(--cell-size)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0{width:calc(var(--spacing) * 0)}.w-1{width:calc(var(--spacing) * 1)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\[1px\]{width:1px}.w-\[100px\]{width:100px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-lg{max-width:var(--container-lg)}.max-w-max{max-width:max-content}.min-w-\(--cell-size\){min-width:var(--cell-size)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\(--radix-context-menu-content-transform-origin\){transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-hover-card-content-transform-origin\){transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\(--radix-menubar-content-transform-origin\){transform-origin:var(--radix-menubar-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-tl-sm{border-top-left-radius:var(--radius-sm)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\(--color-border\){border-color:var(--color-border)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\(--color-bg\){background-color:var(--color-bg)}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[1px\]{padding:1px}.px-\(--cell-size\){padding-inline:var(--cell-size)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-current{color:currentColor}.lowercase{text-transform:lowercase}.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-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.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-\[0_0_0_1px_var\(--sidebar-border\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));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-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);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)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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)}.ring-1{--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,)}.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,)}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--cell-size\:2rem\]{--cell-size:2rem}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media (hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:\!size-8:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + 1rem)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:\!p-0:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)!important}.group-data-\[collapsible\=icon\]\:\!p-2:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing) * 0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[focused\=true\]\/day\:relative:is(:where(.group\/day)[data-focused=true] *){position:relative}.group-data-\[focused\=true\]\/day\:z-10:is(:where(.group\/day)[data-focused=true] *){z-index:10}.group-data-\[focused\=true\]\/day\:ring-\[3px\]:is(:where(.group\/day)[data-focused=true] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing) * 0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius-lg)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:shadow:is(:where(.group)[data-variant=floating] *){--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)}.group-\[\.toaster\]\:shadow-lg:is(:where(.group).toaster *){--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)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing) * 1)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:calc(var(--spacing) * 1)}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.first\:rounded-l-md:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.first\:border-l:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}@media (hover:hover){.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:ring-1:focus{--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)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--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)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-focus\:ring-\[3px\]:has(:focus){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:calc(var(--spacing) * 0)}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:calc(var(--spacing) * 1)}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:var(--radius-md)}.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true]{border-radius:0}.data-\[range-start\=true\]\:rounded-md[data-range-start=true]{border-radius:var(--radius-md)}.data-\[selected\=true\]\:rounded-none[data-selected=true]{border-radius:0}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=active\]\:shadow[data-state=active]{--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)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}@media (width>=40rem){.sm\:mt-0{margin-top:calc(var(--spacing) * 0)}.sm\:flex{display:flex}.sm\:max-w-\[1100px\]{max-width:1100px}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:calc(var(--spacing) * 2.5)}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius-lg)}.sm\:text-left{text-align:left}}@media (width>=48rem){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:flex-row{flex-direction:row}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:var(--radius-xl)}.md\:peer-data-\[variant\=inset\]\:shadow:is(:where(.peer)[data-variant=inset]~*){--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)}.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2:is(:where(.peer)[data-state=collapsed]~*):is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 2)}}.after\:md\:hidden:after{content:var(--tw-content)}@media (width>=48rem){.after\:md\:hidden:after{display:none}}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer,.\[\&_\.recharts-sector\]\:outline-none .recharts-sector{--tw-outline-style:none;outline-style:none}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{--tw-outline-style:none;outline-style:none}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing) * 0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}:is(.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_next>svg),:is(.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_previous>svg){rotate:180deg}.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>span\]\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing) * 4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing) * 4)}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:h-2\.5>svg{height:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:h-3>svg{height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:h-3\.5>svg{height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:w-2\.5>svg{width:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:w-3>svg{width:calc(var(--spacing) * 3)}.\[\&\>svg\]\:w-3\.5>svg{width:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing) * 7)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{rotate:90deg}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize,[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:#0000}}:root{--ink:#101319;--ink-soft:#3a3f4b;--ink-faint:#6d7380;--paper:#fff;--booklet:#fbfaf6;--card:#fff;--line:#ececef;--line-strong:#e0e1e6;--brand:#6c18cc;--brand-700:#5414a3;--brand-050:#f4ecfc;--teal:var(--brand);--teal-700:var(--brand-700);--teal-050:var(--brand-050);--amber:#f4c542;--amber-deep:#c79d1c;--amber-050:#fdf4d8;--good:#1f7a44;--good-bg:#e3f3e8;--bad:#b3261e;--bad-bg:#fdeaea;--font-display:"Plus Jakarta Sans", sans-serif;--font-body:"Plus Jakarta Sans", sans-serif;--font-paper:"Spectral", Georgia, serif;--r:16px;--r-sm:12px;--shadow:0 1px 2px #1013190a, 0 12px 32px -18px #10131947}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}h1{font-family:var(--font-display);letter-spacing:-.045em;color:#000;font-weight:800}button{cursor:pointer;font-family:inherit}input,textarea,select{color:var(--ink);font-family:inherit;font-size:14px}::selection{background:var(--brand-050)}:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px}a{color:inherit;text-decoration:none}.topbar{height:68px;color:var(--ink);z-index:40;border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:20px;padding:0 28px;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);letter-spacing:-.04em;-webkit-user-select:none;user-select:none;color:var(--brand);align-items:baseline;gap:2px;font-size:30px;font-weight:800;display:flex}.brand .dot{color:var(--brand);font-size:36px;line-height:0}.brand small{font-family:var(--font-body);letter-spacing:-.01em;text-transform:none;color:var(--ink-soft);margin-left:14px;font-size:17px;font-weight:600}.roleswitch{background:var(--brand-050);border-radius:999px;margin-left:auto;padding:4px;display:flex}.roleswitch button{color:var(--ink-soft);background:0 0;border:0;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:600;transition:all .18s}.roleswitch button.on{background:var(--brand);color:#fff}.who{color:var(--ink-faint);font-size:14px}.who b{color:var(--ink);font-weight:700}.who-link{border-radius:999px;margin-left:auto;padding:8px 12px}a.who-link{border:2px solid var(--brand);background:#fff;align-items:center;gap:10px;height:44px;padding:0 18px 0 5px;font-size:15px;display:inline-flex}.who-avatar{background:var(--brand-050);width:32px;height:32px;color:var(--brand);border-radius:999px;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid;overflow:hidden}.who-link:hover{background:var(--brand-050);color:var(--brand)}.who-link:hover b{color:var(--brand)}.topbar-minimal .who{display:none}.btn.topbar-logout{border:2px solid var(--brand);height:44px;color:var(--ink);background:#fff;border-radius:999px;padding:0 20px;font-size:15px}.btn.topbar-logout:hover{background:var(--brand-050);border-color:var(--brand);color:var(--brand)}.brand,.who-link,.topbar-logout{white-space:nowrap}.topbar-account{align-items:center;gap:12px;margin-left:auto;display:flex}.topbar-student .brand,.topbar-student .topbar-account{flex:none}.stu-menu{flex:1;justify-content:center;align-items:center;gap:4px;min-width:0;display:flex}.stu-menu a{height:44px;color:var(--ink-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:15px;font-weight:700;transition:background .15s,color .15s;display:inline-flex}.stu-menu a svg{flex:none;width:20px;height:20px}.stu-menu a:hover{background:var(--brand-050);color:var(--brand)}.stu-menu a.on{background:var(--brand);color:#fff}.account-menu{position:relative}button.account-menu-btn{border:2px solid var(--brand);height:44px;color:var(--ink);background:#fff;align-items:center;gap:10px;margin:0;padding:0 14px 0 5px;font-size:15px;display:inline-flex}.account-menu-btn b{text-overflow:ellipsis;max-width:140px;overflow:hidden}.account-menu-caret{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.account-menu-btn[aria-expanded=true] .account-menu-caret{transform:rotate(180deg)}.account-menu-list{border:1px solid var(--line);z-index:60;background:#fff;border-radius:14px;gap:2px;min-width:190px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 40px -12px #140a3240}.account-menu-list button{text-align:left;font:inherit;color:var(--ink);background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:12px;font-size:15px;font-weight:600;display:flex}.account-menu-list button svg{width:20px;height:20px}.account-menu-list button:hover{background:var(--brand-050);color:var(--brand)}.stu-bottom-nav{display:none}@media (width<=1180px){.topbar-student .brand small{display:none}.stu-menu a{gap:6px;padding:0 10px}}@media (width<=960px){.stu-menu{display:none}.topbar-student{justify-content:space-between}.stu-bottom-nav{z-index:45;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;grid-template-columns:repeat(6,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px -18px #10131959}.stu-bottom-nav a{color:var(--ink-soft);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;font-size:12px;font-weight:700;display:flex}.stu-bottom-nav a svg{width:24px;height:24px}.stu-bottom-nav a.on{color:var(--brand);background:var(--brand-050)}body:has(.stu-bottom-nav) main{padding-bottom:84px}}@media (width<=720px){.topbar{gap:10px;padding-inline:16px}.brand{font-size:24px}.brand .dot{font-size:29px}.brand small{display:none}a.who-link{justify-content:center;width:44px;padding:0}a.who-link>span:not(.who-avatar){display:none}.account-menu-btn b{max-width:90px}.btn.topbar-logout{padding:0 14px}}.auth-wrap{place-items:center;min-height:calc(100vh - 68px);padding:32px 20px;display:grid}.auth-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);width:min(440px,100%);box-shadow:var(--shadow);padding:28px 28px 24px}.auth-card h1{font-family:var(--font-display);letter-spacing:-.045em;color:#000;margin:0 0 6px;font-size:32px;font-weight:800}.auth-card>p{color:var(--ink-faint);margin:0 0 20px;font-size:14px}.auth-form{gap:14px;display:grid}.auth-form label{gap:6px;display:grid}.auth-form label span{color:var(--ink-soft);font-size:12px;font-weight:600}.auth-label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.auth-label-row a{color:var(--teal);font-size:12px;font-weight:600}.auth-label-row a:hover{text-decoration:underline}.password-field{display:grid;position:relative}.password-field input{padding-right:4.25rem}.password-field-toggle{color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:700;line-height:1.2;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-field-toggle:hover{color:var(--ink);background:var(--ink)}@supports (color:color-mix(in lab, red, red)){.password-field-toggle:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}}.auth-card-wide{width:min(520px,100%)}.auth-fieldset{gap:10px;display:grid}.auth-field-label{color:var(--ink-soft);font-size:12px;font-weight:600}.auth-toggle-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.auth-toggle-grid-2{grid-template-columns:1fr 1fr}.auth-toggle-btn{border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--ink-soft);cursor:pointer;background:#fff;justify-content:center;align-items:center;padding:11px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:flex}.auth-toggle-btn:hover{border-color:var(--teal);color:var(--ink)}.auth-toggle-btn.on{border-color:var(--teal);background:var(--teal);color:#fff;font-weight:600}.auth-toggle-btn-wide{grid-column:1/-1}.auth-form input{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:#fff;width:100%;padding:10px 12px}.auth-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.auth-foot{color:var(--ink-faint);text-align:center;margin:18px 0 0;font-size:13px}.auth-foot a{color:var(--teal);font-weight:600}.auth-foot a:hover{text-decoration:underline}.auth-back{margin:0 0 12px;font-size:13px}.auth-back a{color:var(--teal);font-weight:600}.auth-back a:hover{text-decoration:underline}.login-role-pick{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;display:grid}.login-role-pick .btn{justify-content:center}.login-admin-link{text-align:center;margin:-6px 0 16px;font-size:13px}.login-admin-link a{color:var(--ink-soft);font-weight:600}.login-admin-link a:hover{color:var(--brand);text-decoration:underline}.landing{background:#fff;justify-content:center;min-height:100vh;padding:64px 20px 72px;display:flex}.landing-column{align-content:start;gap:0;width:min(480px,100%);display:grid}.landing-logo{font-family:var(--font-display);letter-spacing:-.045em;color:var(--brand);flex-direction:column;align-items:center;margin:0 0 36px;font-size:46px;font-weight:800;line-height:1;display:flex}.landing-logo .dot{margin-left:2px}.landing-logo small{font-family:var(--font-body);letter-spacing:-.01em;color:var(--ink-soft);margin-top:10px;font-size:17px;font-weight:600}.landing-options{gap:14px;display:grid}.landing-option{border:1px solid var(--line-strong);height:58px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:10px;font-size:16px;font-weight:600;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.landing-option svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.landing-option:hover{border-color:var(--brand)}.landing-option.on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:var(--brand-050)}.landing-option.on svg{color:var(--brand)}.landing-admin-link{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;justify-self:center;margin-top:14px;padding:2px 6px;font-size:13px;font-weight:600}.landing-admin-link:hover,.landing-admin-link.on{color:var(--brand);text-decoration:underline}.landing-divider{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:14px;margin:34px 0 30px;font-size:12px;font-weight:700;display:flex}.landing-divider:before,.landing-divider:after{content:"";background:var(--line);flex:1;height:1px}.landing-tabs{grid-template-columns:1fr 1fr;margin-bottom:28px;display:grid}.landing-tabs button{border:0;border-bottom:2px solid var(--line-strong);font:inherit;color:var(--ink-faint);cursor:pointer;background:0 0;padding:0 0 14px;font-size:18px;font-weight:600;transition:color .15s,border-color .15s}.landing-tabs button:hover{color:var(--ink)}.landing-tabs button.on{color:var(--ink);border-bottom-color:var(--brand)}.landing-panel .auth-form{gap:14px}.landing-panel .auth-form label>span:first-child{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.landing-panel .auth-form input{border-radius:10px;height:52px;padding:0 16px;font-size:15px}.landing-panel .auth-fieldset{margin-top:6px}.landing-forgot{text-align:right;margin:-4px 0 6px;font-size:13px;font-weight:700}.landing-forgot a{color:var(--brand)}.landing-forgot a:hover{text-decoration:underline}.landing-panel .btn-primary,.landing-note .btn-primary{background:linear-gradient(90deg, #8b3fe0, var(--brand));border:0;justify-content:center;height:58px;margin-top:8px;font-size:16px}.landing-panel .btn-primary:hover,.landing-note .btn-primary:hover{background:linear-gradient(90deg, #7a2fd3, var(--brand-700))}.landing-note{text-align:center;gap:8px;display:grid}.landing-note p{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.5}@media (width<=520px){.landing{padding:40px 18px 56px}.landing-logo{margin-bottom:28px;font-size:38px}.landing-option{height:54px;font-size:15px}}.home-wrap{background:var(--paper);min-height:calc(100vh - 68px)}.home-minimal{place-items:center;display:grid}.home-hero-minimal{text-align:center;width:min(360px,100%);padding:48px 24px}.home-hero-minimal h1{font-family:var(--font-display);letter-spacing:-.045em;color:#000;margin:0 0 32px;font-size:44px;font-weight:800}.home-btn-stack{gap:12px;display:grid}.btn-lg{justify-content:center;width:100%;padding:14px 20px;font-size:15px}.home-signin{color:var(--ink-faint);margin:20px 0 0;font-size:13px}.home-signin a{color:var(--teal);font-weight:600}.home-signin a:hover{text-decoration:underline}.home-modal-backdrop{z-index:200;background:#16233a73;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.home-modal{background:var(--card);border:1px solid var(--line);border-radius:var(--r);width:min(420px,100%);box-shadow:var(--shadow);padding:24px 24px 22px;position:relative}.home-modal h2{font-family:var(--font-display);letter-spacing:-.3px;margin:0 0 16px;font-size:22px}.home-modal-close{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:4px;font-size:24px;line-height:1;position:absolute;top:12px;right:14px}.home-modal-close:hover{color:var(--ink)}.home-modal textarea{border:1px solid var(--line-strong);border-radius:var(--r-sm);resize:vertical;background:#fff;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.home-modal-sent{text-align:center}.home-modal-sent p{color:var(--ink-soft);margin:0 0 20px;font-size:14px}.home-hero-signed{padding-top:56px}.home-hero{text-align:center;max-width:920px;margin:0 auto;padding:48px 24px 32px}.admin{grid-template-columns:218px 1fr;min-height:calc(100vh - 68px);display:grid}.sidenav{border-right:1px solid var(--line);background:#fafafa;padding:18px 12px}.sidenav .lbl{letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);padding:6px 12px;font-size:10.5px;font-weight:600}.sidenav a{border-radius:var(--r-sm);color:var(--ink-soft);align-items:center;gap:11px;margin:2px 0;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.sidenav a:hover{color:var(--ink);background:#eceef2}.sidenav a.on{background:var(--brand-050);color:var(--brand);font-weight:700}.sidenav a svg{flex:0 0 18px;width:18px;height:18px}.main{width:100%;max-width:1080px;padding:30px 34px}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-head h1{font-family:var(--font-display);letter-spacing:-.045em;color:#000;margin:0;font-size:34px;font-weight:800}.page-head p{color:var(--ink-faint);margin:5px 0 0;font-size:14px}.admin-canonical-menu{min-width:260px;max-width:min(360px,100vw - 24px);max-height:min(70vh,480px)}.admin-canonical-menu-group+.admin-canonical-menu-group{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.admin-canonical-menu-title{letter-spacing:.02em;color:var(--ink-faint);text-transform:none;font-size:11px;font-weight:700}.btn{border:1px solid var(--line-strong);color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:700;transition:all .15s;display:inline-flex}.btn:hover{border-color:var(--ink-faint)}.btn svg{width:16px;height:16px}.btn-primary{background:var(--teal);border-color:var(--teal);color:#fff}.btn-primary:hover{background:var(--teal-700);border-color:var(--teal-700)}.btn-ghost{color:var(--ink-soft);background:0 0;border-color:#0000}.btn-ghost:hover{background:#eceef2;border-color:#0000}.btn-danger{color:var(--bad);background:0 0;border-color:#0000}.btn-danger:hover{background:var(--bad-bg)}.btn-sm{padding:6px 11px;font-size:12.5px}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:30px;display:grid}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px 18px 16px}.stat .n{font-family:var(--font-display);letter-spacing:-1px;font-size:32px;font-weight:700;line-height:1}.stat .k{color:var(--ink-faint);margin-top:8px;font-size:12.5px;font-weight:500}.stat .n .u{color:var(--ink-faint);margin-left:3px;font-size:15px;font-weight:600}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.panel-head h2{font-family:var(--font-display);margin:0;font-size:16px;font-weight:600}table{border-collapse:collapse;width:100%}th{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);text-align:left;border-bottom:1px solid var(--line);padding:11px 18px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 18px;font-size:14px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbfc}.t-title{font-weight:600}.t-sub{color:var(--ink-faint);margin-top:2px;font-size:12.5px}.row-actions{justify-content:flex-end;gap:4px;display:flex}.tag{border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.tag-reading{color:#2456a6;background:#eaf1fb}.tag-listening{color:#6a3fb0;background:#f1ecfb}.tag.dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.pill{border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600}.pill-pub{background:var(--good-bg);color:var(--good)}.pill-draft{color:var(--ink-soft);background:#eef0f4}.form{max-width:760px}.field{margin-bottom:18px}.field>label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field .hint{color:var(--ink-faint);margin-left:4px;font-size:12px;font-weight:400}.input,.textarea,select.input{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:#fff;width:100%;padding:10px 12px;transition:all .15s}.input:focus,.textarea:focus,select.input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-050);outline:0}.textarea{resize:vertical;min-height:120px;line-height:1.55}.row2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.seg{border:1px solid var(--line-strong);border-radius:var(--r-sm);display:inline-flex;overflow:hidden}.seg button{color:var(--ink-soft);background:#fff;border:0;padding:9px 16px;font-size:13px;font-weight:600}.seg button.on{background:var(--brand);color:#fff}.qbuilder{border:1px dashed var(--line-strong);border-radius:var(--r);background:#fafbfc;padding:6px}.qrow{border-radius:var(--r-sm);grid-template-columns:34px 1fr 1fr 150px 32px;align-items:center;gap:8px;padding:8px;display:grid}.qrow+.qrow{border-top:1px solid var(--line)}.qrow .qn{background:var(--brand);color:#fff;width:30px;height:30px;font-family:var(--font-display);border-radius:7px;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.qrow input{border:1px solid var(--line-strong);border-radius:6px;width:100%;padding:8px 9px}.qrow .del{color:var(--ink-faint);background:0 0;border:0;border-radius:6px;width:30px;height:30px}.qrow .del:hover{background:var(--bad-bg);color:var(--bad)}.qhead{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);grid-template-columns:34px 1fr 1fr 150px 32px;gap:8px;padding:4px 8px 8px;font-size:10.5px;font-weight:600;display:grid}.form-actions{border-top:1px solid var(--line);flex-direction:column;gap:12px;margin-top:26px;padding-top:20px;display:flex}.form-actions-row{flex-wrap:wrap;gap:10px;display:flex}.form-feedback{border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;font-size:14px;line-height:1.4;display:flex}.form-feedback b{text-transform:uppercase;letter-spacing:.04em;font-size:12px}.form-feedback.is-error{background:var(--bad-bg,#fef2f2);border:1px solid var(--bad)}@supports (color:color-mix(in lab, red, red)){.form-feedback.is-error{border:1px solid color-mix(in srgb, var(--bad) 35%, transparent)}}.form-feedback.is-error{color:var(--ink)}.form-feedback.is-error b{color:var(--bad)}.form-feedback.is-ok{background:var(--good-bg,#ecfdf5);border:1px solid var(--good)}@supports (color:color-mix(in lab, red, red)){.form-feedback.is-ok{border:1px solid color-mix(in srgb, var(--good) 35%, transparent)}}.form-feedback.is-ok b{color:var(--good)}.stu-wrap{max-width:1180px;margin:0 auto;padding:28px 24px}.stu-catalog{grid-template-columns:minmax(220px,260px) minmax(0,1fr);align-items:start;gap:28px;max-width:1320px;display:grid}.stu-catalog.is-listening,.stu-catalog-writing{grid-template-columns:minmax(0,1fr)}.stu-type-menu{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);max-height:calc(100vh - 100px);padding:14px 12px 16px;position:sticky;top:16px;overflow:auto}.stu-type-menu-head h2{font-family:var(--font-display);letter-spacing:-.3px;margin:0 0 6px;font-size:16px;font-weight:700}.stu-type-menu-head p{color:var(--ink-faint);margin:0 0 12px;font-size:12px;line-height:1.4}.stu-type-group{margin-top:10px}.stu-type-group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding:6px 8px 4px;font-size:10px;font-weight:700}.stu-type-item{text-align:left;width:100%;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.stu-type-item:hover:not(:disabled){color:var(--ink);background:#f0f2f5}.stu-type-item.on,.stu-type-item.on:hover:not(:disabled){background:var(--brand);color:#fff}.stu-type-item.on .stu-type-item-count{color:#fff;background:#ffffff2e}.stu-type-item.disabled,.stu-type-item:disabled{opacity:.45;cursor:not-allowed}.stu-type-item-label{flex:1;line-height:1.25}.stu-type-item-count{text-align:center;min-width:22px;color:var(--ink-soft);background:#e8eaee;border-radius:999px;flex-shrink:0;padding:2px 6px;font-size:11px;font-weight:700}.stu-catalog-main{min-width:0}.exam-practice-bar{color:var(--brand-700);background:var(--brand-050);border:1px solid #e4d0f7;border-radius:8px;margin:0 16px;padding:8px 14px;font-size:13px;font-weight:600}@media (width<=860px){.stu-catalog{grid-template-columns:1fr}.stu-type-menu{max-height:none;position:static}.stu-catalog{row-gap:20px}.stu-catalog-main{display:contents}.stu-catalog>.stu-type-menu{order:2}.stu-catalog-main>*{order:3;min-width:0}.stu-catalog-main>.stu-hero,.stu-catalog-main>.live-lesson-inbox{order:1}.stu-catalog-main>.stu-hero{margin-bottom:0}}.stu-shell{min-height:0}.stu-shell-exam .exam-view{height:100vh}.stu-hero{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px;display:flex}.stu-hero h1{font-family:var(--font-display);letter-spacing:-.045em;color:#000;margin:0;font-size:36px;font-weight:800}.stu-hero p{color:var(--ink-faint);margin:6px 0 0}.stu-hero-eyebrow{font-size:14px;font-weight:700;color:var(--brand)!important;margin:0 0 4px!important}.stu-choice{flex-wrap:wrap;gap:8px;margin:16px 0 4px;display:flex}.stu-choice button{border:2px solid var(--line-strong);min-height:46px;color:var(--ink);background:#fff;border-radius:999px;padding:0 20px;font-size:15px;font-weight:700;transition:border-color .15s,background .15s}.stu-choice button:hover{border-color:var(--brand);color:var(--brand)}.stu-choice button.on{background:var(--brand);border-color:var(--brand);color:#fff}@media (width<=520px){.stu-choice button{flex:auto}}.stu-home{gap:32px;max-width:1040px;display:grid}.stu-home .live-lesson-inbox{margin-bottom:0!important}.stu-home-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.stu-home-head h1{margin:0;font-size:40px}.stu-home-module{background:var(--brand-050);color:var(--brand-700);border-radius:999px;align-items:center;gap:10px;padding:8px 16px;font-size:15px;font-weight:700;display:inline-flex}.stu-home-module u{color:var(--brand);font-weight:600}.stu-home-module:hover{background:#ead9fb}.stu-home-section h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 14px;font-size:22px;font-weight:800}.stu-home-list{gap:12px;display:grid}.stu-home-row{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.stu-home-row h3{letter-spacing:-.02em;margin:0 0 4px;font-size:18px}.stu-home-row p{color:var(--ink-soft);margin:0;font-size:15px}.stu-home-row p.stu-home-note{color:var(--ink-faint);margin-top:6px}.stu-home-row .btn{min-height:44px;padding-inline:22px;font-size:15px}.stu-home-actions{flex-wrap:wrap;gap:10px;display:flex}.stu-home-skills{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stu-home-skill{background:var(--card);border:2px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;gap:8px;padding:22px 20px;transition:border-color .15s,transform .15s;display:flex}.stu-home-skill:hover{border-color:var(--brand);transform:translateY(-2px)}.stu-home-skill strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:22px}.stu-home-skill>span:not(.btn):not(.stu-home-skill-icon){color:var(--ink-soft);flex:1;font-size:15px;line-height:1.4}.stu-home-skill .btn{min-height:42px;margin-top:6px;padding-inline:24px;font-size:15px}.stu-home-skill-icon{background:var(--brand-050);width:48px;height:48px;color:var(--brand);border-radius:14px;place-items:center;display:grid}.stu-home-skill-icon svg{width:26px;height:26px}@media (width<=900px){.stu-home-skills{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.stu-home-head h1{font-size:32px}.stu-home-skills{grid-template-columns:1fr}.stu-home-row .btn{flex:1;justify-content:center}.stu-home-actions{width:100%}}.module-choice{text-align:center;max-width:720px;margin:0 auto;padding:64px 24px 80px}.module-choice h1{margin:0 0 10px;font-size:38px}.module-choice-lead{color:var(--ink-soft);margin:0 0 32px;font-size:17px}.module-choice-options{grid-template-columns:1fr 1fr;gap:18px;display:grid}.module-choice-btn{border:2px solid var(--line-strong);border-radius:var(--r);box-shadow:var(--shadow);text-align:center;color:var(--ink);background:#fff;gap:8px;padding:32px 24px;transition:border-color .15s,background .15s;display:grid}.module-choice-btn strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:26px}.module-choice-btn span{color:var(--ink-soft);font-size:16px}.module-choice-btn:hover:not(:disabled),.module-choice-btn.on{border-color:var(--brand);background:var(--brand-050)}.module-choice-btn.on strong{color:var(--brand)}.module-choice-btn:disabled{cursor:progress;opacity:.7}.module-choice-cancel{margin-top:28px}@media (width<=600px){.module-choice{padding-top:40px}.module-choice h1{font-size:30px}.module-choice-options{grid-template-columns:1fr}}.catalog-skill-tabs{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.catalog-skill-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.catalog-skill-group-btns{flex-wrap:wrap;gap:8px;display:flex}.catalog-skill-parent{align-items:center;gap:6px;display:inline-flex}.catalog-skill-caret{opacity:.75;font-size:11px;line-height:1}.catalog-skill-subpanel{border:1px solid var(--ink);flex-wrap:wrap;gap:8px;width:100%;padding:10px;display:flex}@supports (color:color-mix(in lab, red, red)){.catalog-skill-subpanel{border:1px solid color-mix(in srgb, var(--ink) 12%, transparent)}}.catalog-skill-subpanel{background:var(--ink);border-radius:10px}@supports (color:color-mix(in lab, red, red)){.catalog-skill-subpanel{background:color-mix(in srgb, var(--ink) 3%, transparent)}}.testgrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;display:grid}.testcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);flex-direction:column;gap:14px;padding:20px;transition:all .18s;display:flex}.testcard:hover{transform:translateY(-2px);box-shadow:0 16px 40px -20px #10131959}.testcard h3{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:20px;font-weight:700}.testcard .meta{color:var(--ink-faint);gap:16px;margin-top:auto;font-size:13px;display:flex}.testcard .meta b{color:var(--ink-soft)}.testcard-stats{color:var(--ink-soft);background:#f6f7f9;border-radius:8px;flex-wrap:wrap;gap:10px 14px;padding:8px 10px;font-size:12px;display:flex}.testcard-stats.muted{color:var(--ink-faint);font-style:italic}.testcard-stats b{color:var(--ink)}.testcard-actions{gap:8px;margin-top:4px;display:flex}.testcard-actions .btn{flex:1;justify-content:center}.exam-view{flex-direction:column;height:calc(100vh - 68px);display:flex;overflow:hidden}.exam-top{z-index:30;background:var(--booklet);border-bottom:1px solid var(--line-strong);flex:none;align-items:center;gap:16px;padding:12px 22px;display:flex;position:relative;top:auto}.exam-top .back{color:var(--ink-soft);flex:none}.exam-top .title{color:var(--ink-soft);font-size:14px;font-weight:600}.exam-top .part-stepper{flex:1;justify-content:center;align-items:center;gap:20px;display:flex}.part-step{color:var(--ink-faint);flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.part-step-dot{border:2px solid var(--line-strong);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;display:flex}.part-step.active .part-step-dot{border-color:var(--teal);color:var(--teal-700)}.part-step.active{color:var(--teal-700)}.part-step.done .part-step-dot{border-color:var(--good);background:var(--good-bg);color:var(--good)}.part-step.done{color:var(--ink-soft)}.timer{font-family:var(--font-display);font-variant-numeric:tabular-nums;border:1px solid var(--line-strong);background:#fff;border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:7px 14px;font-size:15px;font-weight:600;display:flex}.timer svg{width:15px;height:15px;color:var(--ink-faint)}.timer.low{color:var(--bad);border-color:var(--bad)}.exam-booklet{background:var(--booklet);flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.exam-section-bar{border-bottom:1px solid var(--line);background:#fafbfc;flex:none;align-items:center;gap:16px;padding:10px 22px;display:flex}.booklet{background:var(--booklet);min-height:calc(100vh - 125px)}.instr{max-width:1180px;margin:0 auto;padding:20px 22px 4px}.instr .part{font-family:var(--font-display);color:var(--teal-700);letter-spacing:.02em;margin-bottom:4px;font-size:13px;font-weight:600}.instr h2{font-family:var(--font-paper);margin:6px 0 8px;font-size:21px;font-weight:600}.instr .rule{font-family:var(--font-paper);color:var(--ink-soft);font-size:15.5px}.instr .rule b{color:var(--ink)}.player{max-width:1180px;margin:14px auto 0;padding:0 22px}.player-inner{border:1px solid var(--line-strong);border-radius:var(--r);box-shadow:var(--shadow);background:#fff;align-items:center;gap:14px;padding:13px 16px;display:flex}.playbtn{background:var(--teal);color:#fff;border:0;border-radius:50%;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.playbtn svg{width:18px;height:18px}.track{background:var(--line);cursor:pointer;border-radius:99px;flex:1;height:6px;position:relative}.track .fill{background:var(--teal);border-radius:99px;width:0;position:absolute;inset:0 auto 0 0}.track .knob{border:2px solid var(--teal);background:#fff;border-radius:50%;width:13px;height:13px;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}.time{font-variant-numeric:tabular-nums;color:var(--ink-soft);text-align:right;min-width:84px;font-size:13px;font-weight:600}.listen-here{color:var(--teal-700);background:var(--teal-050);border:1px solid #cfe6e5;border-radius:7px;align-items:center;gap:6px;padding:7px 11px;font-size:12px;font-weight:600;display:inline-flex}.exam-booklet .split{flex:auto;align-items:stretch;gap:0;width:100%;max-width:none;min-height:0;margin:0;display:flex;overflow:hidden}.split{align-items:stretch;gap:0;max-width:1180px;margin:16px auto 0;display:flex}.pane{overflow:auto}.exam-booklet .pane{-webkit-overflow-scrolling:touch;height:auto;min-height:0;overflow:hidden auto}.pane-passage{flex:50%;padding:6px 26px 60px 22px}.pane-questions{flex:50%;padding:6px 22px 60px 26px}.exam-booklet .pane-passage{background:#fff;border-right:0;padding:18px 22px 40px}.exam-booklet .pane-questions{background:var(--booklet);padding:18px 22px 40px}.exam-booklet .split.is-listening-exam .pane-questions{flex:100%;max-width:none}.listening-exam-instructions{margin:0 0 16px}.divider{cursor:col-resize;border-left:1px solid var(--line-strong);border-right:1px solid var(--line-strong);-webkit-user-select:none;user-select:none;background:#eef0f3;flex:0 0 14px;justify-content:center;align-items:center;display:flex}.divider:hover,.divider:active{background:#e4e7ec}.divider span{background:#b8bfc9;border-radius:4px;width:4px;height:42px}.passage{position:relative}.passage-lead{font-family:var(--font-paper);color:var(--ink-soft);margin:0 0 16px;font-size:15px;line-height:1.5}.passage h2{font-family:var(--font-paper);margin:0 0 14px;font-size:22px;font-weight:600}.passage p{font-family:var(--font-paper);color:#1d2738;margin:0 0 1em;font-size:16px;line-height:1.7}.passage-body,.questions-hl-root{-webkit-user-select:text;user-select:text;min-width:0}.questions-hl-root .mcq-stem-text,.questions-hl-root .mcq-option-text,.questions-hl-root .exam-match-stem,.questions-hl-root .match-dnd-stem,.questions-hl-root .match-dnd-option-text,.questions-hl-root .map-labelling-chip-text,.questions-hl-root .short-answer-stem,.questions-hl-root .qrow,.questions-hl-root .heading-list-item,.questions-hl-root .block-instructions{-webkit-user-select:text;user-select:text;cursor:text}.questions-hl-root .mcq-letter,.questions-hl-root .match-dnd-option-key,.questions-hl-root .match-dnd-drop,.questions-hl-root .match-dnd-clear,.questions-hl-root .exam-qnum{-webkit-user-select:none;user-select:none}.passage mark.passage-highlight{color:inherit;background:#fef08a;border-radius:2px;padding:0 1px}.passage-highlight-btn{z-index:5;background:var(--brand);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;position:absolute;transform:translate(-50%);box-shadow:0 4px 12px #0000002e}.passage-highlight-btn:hover{background:#2a3548}::highlight(exam-hl-student){color:inherit;background-color:#fde047}::highlight(exam-hl-local){color:inherit;background-color:#fde047}::highlight(exam-hl-teacher){color:inherit;background-color:#fdba74}::highlight(exam-hl-blackout-student){color:#0a0a0a;background-color:#0a0a0a}::highlight(exam-hl-blackout-local){color:#0a0a0a;background-color:#0a0a0a}::highlight(exam-hl-blackout-teacher){color:#0a0a0a;background-color:#0a0a0a}.exam-hl-toolbar{z-index:80;background:var(--brand);border-radius:8px;flex-wrap:wrap;justify-content:center;gap:2px;max-width:calc(100vw - 16px);padding:4px;display:flex;position:fixed;box-shadow:0 8px 24px #00000038}.exam-hl-toolbar button{color:#fff;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600}.exam-hl-toolbar button:hover{background:#ffffff1f}.exam-hl-toolbar button.on-blackout{background:#171717;box-shadow:inset 0 0 0 1px #ffffff38}.exam-hl-toolbar button.on-blackout:hover{background:#000}.exam-hl-toolbar button.on-share{background:#ea580c}.exam-hl-toolbar button.on-share:hover{background:#c2410c}.exam-top-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.exam-top-actions .timer{margin-left:0}.exam-lesson-hint{color:var(--ink-soft);white-space:nowrap;font-size:12px}.exam-lesson-bar,.exam-hl-hint{max-width:1180px;color:var(--ink-soft);margin:0 auto;padding:8px 18px;font-size:13px}.exam-lesson-bar{color:#9a3412;background:#fff7ed;border-bottom:1px solid #fed7aa;font-weight:500}.exam-hl-hint{border-bottom:1px solid var(--line);background:#fafaf8}.exam-audio-bar{border-bottom:1px solid var(--line);background:#eef4f8;flex:none;width:100%;max-width:none;margin:0;padding:10px 22px 12px}.exam-audio-bar-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;font-size:12px;font-weight:600}.exam-audio-bar-empty{color:var(--ink-soft);font-size:13px}.listening-section-audio{grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px 12px;width:100%;display:grid}.listening-section-audio>audio{display:none}.listening-audio-play{border:1px solid var(--line-strong);width:32px;height:32px;color:var(--ink);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.listening-audio-play:hover{background:#f8fafc}.listening-audio-play:focus-visible{outline:2px solid var(--teal,#0f766e);outline-offset:2px}.listening-audio-clock{font-family:var(--font-body);font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;font-size:13px}.listening-audio-clock-sep,.listening-audio-clock-total{color:var(--ink-soft)}.listening-audio-progress-wrap{min-width:0;height:20px;position:relative}.listening-audio-progress-track{background:#d7e0e8;border-radius:999px;position:absolute;inset:8px 0;overflow:hidden}.listening-audio-progress-fill{border-radius:inherit;background:#4b6b8a;height:100%;transition:width 50ms linear}.listening-audio-progress{z-index:1;cursor:pointer;appearance:none;background:0 0;width:100%;height:20px;margin:0;position:relative}.listening-audio-progress::-webkit-slider-runnable-track{background:0 0;height:4px}.listening-audio-progress::-webkit-slider-thumb{-webkit-appearance:none;background:#1d2738;border:2px solid #fff;border-radius:50%;width:12px;height:12px;margin-top:-4px;box-shadow:0 0 0 1px #1d2738}.listening-audio-progress::-moz-range-track{background:0 0;height:4px}.listening-audio-progress::-moz-range-thumb{background:#1d2738;border:2px solid #fff;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 1px #1d2738}.listening-audio-progress:disabled{cursor:default;opacity:.6}.lesson-copy-toast{z-index:90;color:#fff;background:#1d2738;border-radius:10px;align-items:center;gap:12px;max-width:min(520px,100vw - 32px);padding:12px 14px;font-size:13px;line-height:1.4;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #00000047}.exam-q-block{min-width:0;margin-bottom:28px}.exam-q-block .part{font-family:var(--font-paper);color:var(--ink);margin-bottom:10px;font-size:18px;font-weight:700}.exam-q-instr{font-family:var(--font-paper);color:#1d2738;overflow-wrap:break-word;min-width:0;margin:0 0 16px;font-size:15.5px;line-height:1.5}.exam-q-instr p{white-space:normal;margin:0 0 2px}.exam-q-instr-gap{height:8px}.exam-id-legend{grid-template-columns:7.6rem minmax(0,1fr);gap:2px 18px;max-width:36rem;margin:10px 0 4px;display:grid}.exam-id-legend-row{display:contents}.exam-id-legend-key{font-family:var(--font-display);letter-spacing:.02em;font-size:14px;font-weight:700}.exam-id-legend-rest{font-size:15px}.exam-id-mcq .mcq-option-text{font-family:var(--font-display);letter-spacing:.02em;font-size:14px;font-weight:700}.exam-q-nb{font-style:italic;font-weight:700;margin-top:8px!important}.exam-q-limit{font-weight:700}.exam-qnum{min-width:1.6rem;font-family:var(--font-display);color:var(--ink);flex:none;font-size:14px;font-weight:700;line-height:1.4}.exam-match-table{border-top:1px solid var(--line-strong);flex-direction:column;display:flex}.exam-match-row{border-bottom:1px solid var(--line);font-family:var(--font-paper);color:#1d2738;grid-template-columns:2rem minmax(0,1fr) 4.75rem;align-items:center;gap:8px 12px;padding:9px 0;font-size:16px;line-height:1.45;display:grid}.exam-id-row{grid-template-columns:2rem minmax(0,1fr) 8.5rem}.exam-id-select{width:8.5rem}.match-dnd{margin-top:4px}.match-dnd-hint.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}.match-dnd-layout{grid-template-columns:minmax(11rem,16rem) minmax(0,1fr);align-items:start;gap:20px 24px;display:grid}.match-dnd-bank{border:1px solid var(--ink);background:#fff;border-radius:2px;margin:0;padding:0;overflow:hidden}.match-dnd-bank-title{border-bottom:1px solid var(--line-strong);font-family:var(--font-paper);color:var(--ink);background:#f7f8fa;padding:8px 10px;font-size:14px;font-weight:700}.match-dnd-option-list{margin:0;padding:0;list-style:none}.match-dnd-option-list li+li{border-top:1px solid var(--line)}.match-dnd-option{width:100%;font-family:var(--font-paper);color:#1d2738;cursor:pointer;text-align:left;box-sizing:border-box;-webkit-user-select:none;user-select:none;background:#fff;border:0;grid-template-columns:1.35rem minmax(0,1fr);align-items:start;gap:8px;padding:8px 10px;font-size:14px;line-height:1.35;display:grid}.match-dnd-option-key{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.match-dnd-option-key:active,.match-dnd.is-dragging .match-dnd-option-key{cursor:grabbing}.match-dnd-option.is-picked{outline-offset:-2px;background:#eef4fb;outline:2px solid #4a6fa5}.match-dnd-option.is-used{opacity:.45;cursor:not-allowed;background:#f3f4f6}.match-dnd-option.is-assigned:not(.is-picked){background:#fafbfc}.match-dnd-option-key{font-family:var(--font-display);font-size:13px;font-weight:700}.match-dnd-option-text{min-width:0}.match-dnd-rows{border-top:1px solid var(--line-strong);flex-direction:column;display:flex}.match-dnd-row{border-bottom:1px solid var(--line);font-family:var(--font-paper);color:#1d2738;grid-template-columns:2rem minmax(0,1fr) 4.75rem;align-items:center;gap:8px 12px;padding:10px 0;font-size:16px;line-height:1.45;display:grid}.match-dnd-stem{min-width:0}.match-dnd-drop{border:1px solid var(--ink);cursor:pointer;background:#fff;border-radius:2px;justify-content:center;align-items:center;gap:4px;min-width:4.75rem;min-height:30px;padding:2px 6px;display:flex}.match-dnd-row.is-over .match-dnd-drop{outline-offset:1px;background:#eef4fb;outline:2px solid #4a6fa5}.match-dnd-row.is-filled .match-dnd-drop{background:#fff}.match-dnd-drop-placeholder{width:100%;min-height:1.25rem;display:block}.match-dnd-drop-letter{text-align:center;font-family:var(--font-display);color:var(--ink);flex:1;font-size:14px;font-weight:700;line-height:1.2}.match-dnd-drop-value.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}.match-dnd-clear{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:2px;flex:none;padding:0 2px;font-size:16px;line-height:1}.match-dnd-clear:hover{color:var(--bad,#b42318)}@media (width<=720px){.match-dnd-layout{grid-template-columns:1fr}.match-dnd-row{grid-template-columns:2rem minmax(0,1fr) 4.75rem}}.exam-match-stem{min-width:0}.exam-match-select{border:1px solid var(--ink);width:4.75rem;height:30px;font-family:var(--font-display);color:var(--ink);cursor:pointer;background:#fff;border-radius:2px;padding:0 4px 0 8px;font-size:14px;font-weight:700}.exam-match-select:focus{outline-offset:1px;outline:2px solid #9bb6d8}.exam-id-item{margin:0 0 16px}.exam-id-stem{font-family:var(--font-paper);color:#1d2738;align-items:flex-start;gap:10px;font-size:16px;line-height:1.45;display:flex}.exam-id-text{flex:1}.exam-id-choices{flex-wrap:wrap;gap:8px;margin:8px 0 0 2.2rem;display:flex}.exam-id-choice{border:1px solid var(--line-strong);font-family:var(--font-display);letter-spacing:.02em;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;align-items:center;padding:5px 11px;font-size:12px;font-weight:700;display:inline-flex}.exam-id-choice input{opacity:0;width:0;height:0;position:absolute}.exam-id-choice:hover{border-color:var(--ink-soft)}.exam-id-choice.on{background:var(--brand);color:#fff;border-color:var(--brand)}.passage-hr{border:0;border-top:1px solid var(--line-strong);margin:22px 0}.passage-unit+.passage-unit{margin-top:40px}.passage-unit-card{border:1px solid var(--line-strong);background:#fff;border-radius:10px;padding:22px 24px 8px}.passage .passage-unit>.passage-lead{color:var(--ink);margin:0 0 10px;font-style:normal;font-weight:600}.passage h3.passage-subhead{font-family:var(--font-paper);margin:18px 0 8px;font-size:17px;font-weight:600}.passage-text-label{font-family:var(--font-display);letter-spacing:.03em;color:var(--ink);margin:22px 0 8px;font-size:15px;font-weight:700}.passage-lead{color:var(--ink-soft);margin:0 0 14px;font-style:italic}.passage-para-label{font-family:var(--font-display);color:var(--ink);margin:0 0 1em;font-size:16px;font-weight:700}.passage-para-letter{font-family:var(--font-display);margin-right:.55em;font-weight:700}.qzone{max-width:1180px;margin:6px auto 0;padding:0 22px 70px}.qblock{font-family:var(--font-paper);color:#1d2738;font-size:16px;line-height:2.15}.qline{margin:3px 0;display:block}.mcq-item{margin:0 0 22px;line-height:1.55}.mcq-stem{align-items:flex-start;gap:10px;display:flex}.mcq-num{min-width:28px;height:28px;font-family:var(--font-display);color:var(--ink);border:1px solid var(--line-strong);background:#e8ecf2;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0 7px;font-size:13px;font-weight:700;line-height:1;display:inline-flex}.mcq-stem-text{flex:1;padding-top:3px}.mcq-options{flex-direction:column;gap:8px;margin:10px 0 0 38px;display:flex}.mcq-option{cursor:pointer;color:var(--ink);align-items:center;gap:10px;font-size:15px;line-height:1.45;display:flex}.mcq-option input[type=radio],.mcq-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--ink);flex:none;margin:0}.mcq-letter{width:26px;height:26px;font-family:var(--font-display);color:#334155;letter-spacing:0;background:#dfe4ec;border-radius:4px;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.mcq-option.on .mcq-letter{background:var(--brand);color:#fff}.mcq-option-text{flex:1}.mcq-builder{flex-direction:column;gap:14px;padding:10px;display:flex}.mcq-edit{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:12px}.mcq-edit-stem{grid-template-columns:34px 1fr 32px;align-items:center;gap:8px;display:grid}.mcq-edit-stem .qn{background:var(--brand);color:#fff;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex}.mcq-edit-stem .del{color:var(--ink-faint);background:0 0;border:0;border-radius:6px;width:30px;height:30px}.mcq-edit-stem .del:hover{background:var(--bad-bg);color:var(--bad)}.mcq-edit-options{flex-direction:column;gap:8px;margin:10px 0 0 42px;display:flex}.mcq-edit-option{grid-template-columns:28px 1fr;align-items:center;gap:8px;display:grid}.mcq-edit-option .mcq-letter{width:28px;height:28px;color:var(--ink);background:#e8ecf2}.mcq-edit-answer{align-items:center;gap:10px;margin:12px 0 0 42px;font-size:13px;display:flex}.mcq-edit-answer label{color:var(--ink-soft);font-weight:600}.mcq-edit-answer select{max-width:100px}.tfng-preview .tfng-fixed-label{font-family:var(--font-display);letter-spacing:.02em;color:var(--ink);font-size:13px;font-weight:700}.mcq-edit-answer select.tfng-answer,.mcq-edit-answer select{max-width:160px}.match-info-item{margin-bottom:18px}.match-info-letters{flex-wrap:wrap;gap:8px;margin:8px 0 0 38px;display:flex}.match-info-letter{cursor:pointer;align-items:center;display:inline-flex}.match-info-letter input{opacity:0;width:0;height:0;position:absolute}.match-info-letter .mcq-letter{width:30px;height:30px;transition:background .12s,color .12s}.match-info-letter:hover .mcq-letter{background:#cfd6e1}.match-info-letter.on .mcq-letter{background:var(--brand);color:#fff}.type-rules{border:1px solid var(--line-strong);border-radius:var(--r);color:var(--ink-soft);background:#f7f8fa;margin:0 0 14px;padding:12px 14px;font-size:13px;line-height:1.45}.type-rules b{color:var(--ink)}.type-rules ul{margin:8px 0 0;padding-left:18px}.type-rules li+li{margin-top:4px}.type-rules-examples{margin-top:8px;font-size:12px}.check-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:8px;font-size:13px;display:flex}.check-row input{flex-shrink:0;margin-top:3px}.check-row .hint{margin-top:2px;display:block}.input-warn,.qrow input.input-warn{background:var(--bad-bg);border-color:var(--bad)!important}.item-warn{color:var(--bad);margin:6px 0 0 42px;font-size:12px;font-weight:600}.item-ok{color:var(--good);margin:6px 0 0 42px;font-size:12px;font-weight:600}.match-info-preview{border:1px dashed var(--line-strong);background:#fffdf8;border-radius:8px;margin:10px 0 0 42px;padding:10px 12px}.match-info-preview .mcq-stem{margin-bottom:6px}.match-info-preview .mcq-letter.preview-on{background:var(--brand);color:#fff}.heading-list-editor{border:1px solid var(--line-strong);border-radius:var(--r);background:#fff;margin:0 0 8px;padding:12px 14px}.heading-list-editor>b{margin-bottom:10px;font-size:13px;display:block}.heading-list-row{grid-template-columns:36px 1fr;align-items:center;gap:8px;margin-bottom:8px;display:grid}.heading-num{font-family:var(--font-display);color:var(--ink);text-align:center;font-size:13px;font-weight:700}.heading-list-exam{border:1px solid var(--ink);font-family:var(--font-paper);color:#1d2738;background:#fff;border-radius:0;margin:0 0 20px;padding:12px 18px 14px;font-size:16px;line-height:1.7}.heading-list-exam>b{text-align:center;font-family:var(--font-paper);margin-bottom:10px;font-size:16px;font-weight:700;display:block}.heading-list-exam-ol{margin:0;padding:0;list-style:none}.heading-list-exam-ol li{grid-template-columns:2.4rem 1fr;align-items:baseline;gap:12px;margin:1px 0;display:grid}.heading-list-exam .heading-num{font-family:var(--font-paper);color:var(--ink);text-align:right;font-size:16px;font-style:italic;font-weight:400}.heading-roman .mcq-letter{border-radius:6px;width:auto;min-width:28px;padding:0 7px;font-size:11px}.match-heading-item{margin-bottom:16px}.exam-letter-select,.match-heading-select{border:1px solid var(--line-strong);width:min(100%,220px);max-width:100%;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;margin:8px 0 0 38px;padding:8px 10px;font-size:13px;font-weight:600;display:block}.exam-letter-select:focus,.match-heading-select:focus{outline-offset:1px;outline:2px solid #9bb6d8}.feature-list-editor .heading-num{font-size:14px}.feature-list-exam{background:#f7f8fa}.ending-list-exam{background:#f7f8fa;margin-bottom:18px}.completion-list{color:var(--ink);margin:4px 0 0;padding-left:22px;font-size:15px;line-height:1.85;list-style:outside}.completion-list>li{margin:0 0 14px;padding-left:4px}.completion-list>li::marker{color:var(--ink)}.completion-sentences{font-family:var(--font-paper);color:#1d2738;margin:8px 0 18px;font-size:16px;line-height:2.05}.completion-sentence{text-align:left;margin:0 0 16px}.sentence-complete-row{grid-template-columns:2rem minmax(0,1fr);align-items:baseline;gap:6px 10px;margin:0 0 14px;display:grid}.sentence-complete-row .completion-sentence{margin:0;line-height:1.85}.sentence-complete-row .exam-qnum{position:relative;top:1px}.completion-notes{border:1px solid var(--line-strong);font-family:var(--font-paper);color:#1d2738;background:#fcfbf7;margin:8px 0 18px;padding:14px 16px 8px;font-size:15px;line-height:2}.completion-notes-title{font-family:var(--font-display);text-align:center;letter-spacing:.04em;margin:0 0 12px;font-size:15px;font-weight:700}.completion-notes-list{margin:0;padding:0;list-style:none}.completion-note-line{margin:0 0 12px;padding-left:16px;position:relative}.completion-note-line:before{content:"•";color:var(--ink-soft);font-weight:700;position:absolute;top:0;left:0}.completion-form{background:#fff;padding:16px 20px 12px}.completion-form-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(9rem,11.5rem) minmax(0,1fr);align-items:center;gap:8px 20px;margin:0 0 10px;padding:0 0 10px;display:grid}.completion-form-row:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.completion-form-label{color:var(--ink);font-weight:400}.completion-form-value{flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;display:flex}.completion-form-after{color:var(--ink);white-space:nowrap}.completion-form .completion-form-row .completion-gap{margin:0}.completion-flow{background:#f7f8fb}.completion-notes-list.is-flow{flex-direction:column;align-items:stretch;display:flex}.completion-flow .completion-note-line{border:1px solid var(--ink);text-align:center;background:#fff;border-radius:4px;margin:0;padding:10px 12px}.completion-flow .completion-note-line:before{content:none}.completion-flow .flow-arrow{text-align:center;color:var(--ink-soft);margin:2px 0 6px;font-size:18px;line-height:1.2}.listening-exam-left{font-family:var(--font-paper);color:#1d2738;padding:4px 2px 20px;font-size:16.5px;line-height:1.65}.listening-exam-left h2{font-family:var(--font-display);margin:0 0 12px;font-size:20px}.listening-exam-left p{margin:0 0 12px}.live-lessons-steps{font-family:var(--font-paper);color:#1d2738;margin:0;padding:0 0 0 1.25rem;font-size:15px;line-height:1.55}.live-lessons-steps li+li{margin-top:8px}.lesson-picker-backdrop{z-index:1200;background:#0f172a73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.lesson-picker{border:1px solid var(--line-strong);background:#fff;border-radius:8px;width:min(100%,420px);padding:22px 24px;box-shadow:0 16px 48px #0f172a2e}.lesson-picker h2{margin:0 0 8px;font-size:20px}.lesson-picker p{color:var(--ink-soft);margin:0 0 16px;font-size:14px;line-height:1.45}.lesson-picker-field{gap:6px;margin-bottom:18px;font-size:14px;display:grid}.lesson-picker-field select{border:1px solid var(--line-strong);width:100%;font:inherit;border-radius:4px;padding:8px 10px}.lesson-picker-status{color:var(--ink-soft);margin:0 0 16px;font-size:14px}.lesson-picker-status.is-error{color:var(--bad)}.lesson-picker-actions{justify-content:flex-end;gap:8px;display:flex}.lesson-invite-banner{color:#1d2738;background:#eef4fb;border-bottom:1px solid #c5d4e8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:14px;display:flex}.lesson-invite-banner-actions{flex-wrap:wrap;gap:8px;display:flex}.live-lesson-inbox-list{margin:0;padding:0;list-style:none}.live-lesson-inbox-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.live-lesson-inbox-list li:last-child{border-bottom:none}.live-lesson-inbox-actions{flex-shrink:0;gap:8px;display:flex}.map-labelling-plan-stage .ielts-plan-key:not(.map-labelling-key){display:none}.map-labelling{margin-top:4px}.map-labelling-hint.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}.map-labelling-layout{grid-template-columns:minmax(10rem,14rem) minmax(0,1fr);align-items:start;gap:16px 20px;display:grid}.map-labelling-plan .ielts-plan{max-width:min(100%,520px)}.map-labelling-bank{border:1px solid var(--ink);background:#fff;border-radius:2px;overflow:hidden}.map-labelling-bank-title{border-bottom:1px solid var(--line-strong);font-family:var(--font-paper);background:#f7f8fa;padding:8px 10px;font-size:14px;font-weight:700}.map-labelling-chip-list{margin:0;padding:0;list-style:none}.map-labelling-chip-list li+li{border-top:1px solid var(--line)}.map-labelling-chip{width:100%;font-family:var(--font-paper);color:#1d2738;text-align:left;cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none;background:#fff;border:0;grid-template-columns:1.6rem minmax(0,1fr);align-items:start;gap:8px;padding:8px 10px;font-size:14px;line-height:1.35;display:grid}.map-labelling-chip-handle,.map-labelling-chip .exam-qnum{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.map-labelling-chip-handle:active,.map-labelling-chip .exam-qnum:active,.map-labelling.is-dragging .map-labelling-chip-handle{cursor:grabbing}.map-labelling-chip.is-picked{outline-offset:-2px;background:#eef4fb;outline:2px solid #4a6fa5}.map-labelling-chip.is-placed{opacity:.45;cursor:default;background:#f3f4f6}.map-labelling-chip.is-dragging-chip,.match-dnd-option.is-dragging-chip{opacity:.7}.map-labelling-chip-text{min-width:0}.map-labelling-svg-frame{display:block;position:relative}.map-labelling-drop-layer{pointer-events:none;position:absolute;inset:0}.map-labelling-drop-layer.is-armed{pointer-events:auto}.map-labelling-slot{pointer-events:auto;cursor:pointer;flex-direction:column;align-items:center;gap:2px;min-width:2.6rem;max-width:5.5rem;display:flex;position:absolute;transform:translate(-50%,-50%)}.map-labelling-slot.is-on-svg{justify-content:center;min-width:3.25rem;max-width:none;min-height:3.25rem}.map-labelling-slot-letter{width:1.65rem;height:1.65rem;font-family:var(--font-display);color:#101319;background:#fff;border:1.6px solid #101319;border-radius:999px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;box-shadow:0 0 0 2px #ffffffd9}.map-labelling-slot.is-over .map-labelling-slot-letter{background:#eef4fb;outline:2px solid #4a6fa5}.map-labelling-slot.is-on-svg.is-over{outline-offset:2px;background:#eef4fba6;border-radius:999px;outline:2px solid #4a6fa5}.map-labelling-slot.is-filled .map-labelling-slot-letter{color:#fff;background:#101319}.map-labelling-slot.is-on-svg.is-filled{z-index:2}.map-labelling-slot-placed{text-align:center;background:#fff;border:2px solid #101319;border-radius:4px;flex-direction:column;align-items:center;gap:2px;max-width:6.5rem;padding:3px 6px 4px;display:flex;box-shadow:0 1px 4px #16233a26}.map-labelling-slot-placed-letter{font-family:var(--font-display);color:#101319;font-size:12px;font-weight:700;line-height:1}.map-labelling-slot-placed-text{font-family:var(--font-paper);color:#1d2738;word-break:break-word;font-size:9px;line-height:1.2}.map-labelling-key{margin-top:8px}@media (width<=820px){.map-labelling-layout{grid-template-columns:1fr}.ielts-plan{max-width:none}}.ielts-plan{max-width:440px;margin:0 0 20px}.ielts-plan-title{text-align:center;color:#101319;letter-spacing:.01em;margin:0 0 10px;font-family:Georgia,Times New Roman,serif;font-size:15px;font-weight:700}.ielts-plan-svg{background:#fff;border:1px solid #c5cad3;border-radius:2px;width:100%;height:auto;display:block}.ielts-plan-key{color:var(--ink-faint);margin:8px 0 0;font-size:12px;line-height:1.4}.ielts-plan-generic{background:#fff;border:1.5px solid #101319;height:320px;position:relative;overflow:hidden}.ielts-plan-compass{border:1.2px solid #101319;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:10px;right:12px}.ielts-plan-compass-n{color:#101319;font-family:Georgia,serif;font-size:11px;font-weight:700}.ielts-plan-compass-n:before{content:"▲";text-align:center;margin-bottom:1px;font-size:9px;line-height:1;display:block}.ielts-plan-letter{color:#101319;background:#fff;border:1.6px solid #101319;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-family:Georgia,Times New Roman,serif;font-size:13px;font-weight:700;display:flex;position:absolute;transform:translate(-50%,-50%)}.listening-plan{margin:0 0 18px}.listening-plan-title{text-align:center;margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:15px;font-weight:700}.listening-plan-grid{background:#fff;border:1.5px solid #101319;height:280px;position:relative;overflow:hidden}.listening-plan-n,.listening-plan-s{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);z-index:2;font-size:11px;position:absolute;left:50%;transform:translate(-50%)}.listening-plan-n{top:6px}.listening-plan-s{bottom:6px}.listening-plan-room{background:#ffffff8c;border:1px solid #9aa8a4;border-radius:2px;width:22%;height:22%;position:absolute;transform:translate(-50%,-50%)}.listening-plan-pt{border:2px solid var(--ink);z-index:1;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-family:Georgia,Times New Roman,serif;font-size:12px;font-weight:700;display:flex;position:absolute;transform:translate(-50%,-50%)}.completion-list-notes-edit{padding-left:0;list-style:none}.completion-list-notes-edit>li{margin-bottom:16px;padding-left:16px;position:relative}.completion-list-notes-edit>li:before{content:"•";color:var(--ink-soft);font-weight:700;position:absolute;top:6px;left:0}.notes-paper-edit{background:#fcfbf7}.completion-table-wrap{margin:8px 0 18px;overflow-x:auto}.completion-table{border-collapse:collapse;width:100%;font-family:var(--font-paper);color:#1d2738;background:#fff;font-size:15px;line-height:1.55}.completion-table th,.completion-table td{vertical-align:middle;text-align:left;border:1px solid #222;padding:10px 12px}.completion-table thead th{font-family:var(--font-display);background:#f3f1ea;font-size:13px;font-weight:700}.completion-table-label{background:#fafaf8;width:34%;font-weight:600}.completion-table-gap-cell{width:66%}.completion-table td,.completion-note-line,.completion-sentence,.completion-list li{text-wrap:pretty}.completion-table .completion-gap-input,.completion-note-line .completion-gap-input,.completion-list .completion-gap-input{width:124px;min-width:0}.completion-table-before,.completion-table-after{color:var(--ink-soft)}.completion-table-edit{background:#fcfbf7}.completion-table-edit th,.completion-table-edit td{border-color:var(--line-strong)}.completion-table-actions{width:40px;background:0 0!important;border:0!important;padding:4px!important}.table-paper-edit{background:#fcfbf7}.short-answer-list{margin:4px 0 0;padding:0;list-style:none}.short-answer-item{margin:0 0 18px}.short-answer-question{font-family:var(--font-paper);color:#1d2738;grid-template-columns:2rem minmax(0,1fr);align-items:baseline;gap:6px 10px;margin-bottom:6px;font-size:16px;line-height:1.55;display:grid}.short-answer-stem{min-width:0}.short-answer-input-row{padding-left:calc(2rem + 10px)}.short-answer-paper .short-answer-input-row .completion-gap{height:auto;margin:0}.short-answer-paper .short-answer-input-row .completion-gap-plain .completion-gap-input{width:min(280px,100%);min-width:160px;max-width:320px;height:28px;font-family:var(--font-paper);padding:2px 4px 4px;font-size:16px;box-shadow:none!important;background:0 0!important;border:0!important;border-bottom:1.5px solid #1d2738!important;border-radius:0!important}.short-answer-paper .short-answer-input-row .completion-gap-plain .completion-gap-input:focus{outline:0;border-bottom-color:var(--teal,#0f766e)!important;box-shadow:none!important;background:#f8faf9!important}.short-answer-input-row .completion-gap-plain .completion-gap-input{border-radius:4px;width:220px;min-width:160px;max-width:280px;height:32px}.short-answer-paper-edit{background:#fcfbf7}.short-answer-edit-list{margin:0;padding:0;list-style:none}.short-answer-edit-list>li{margin:0 0 18px}.short-answer-edit-row{align-items:flex-start;gap:10px;display:flex}.short-answer-edit-num{min-width:28px;height:28px;font-family:var(--font-display);border:1px solid var(--line-strong);background:#e8ecf2;border-radius:4px;flex:none;justify-content:center;align-items:center;margin-top:6px;font-size:13px;font-weight:700;display:inline-flex}.short-answer-edit-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.short-answer-edit-answer{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.completion-gap-wide .completion-gap-input{width:200px;min-width:160px;max-width:280px}.completion-paper-edit{border:1px solid var(--line-strong);background:#fff;border-radius:8px;padding:16px 18px 10px}.completion-paper-edit-instr{color:var(--ink);margin-bottom:14px;font-size:14px;line-height:1.55}.completion-paper-edit-instr b{font-weight:700}.completion-list-edit>li{margin-bottom:18px;line-height:2.05;display:list-item}.completion-edit-text{width:auto;min-width:0;max-width:none;font-family:var(--font-paper);color:var(--ink);vertical-align:baseline;field-sizing:content;background:0 0;border:0;border-bottom:1px dashed #9aa3ad;border-radius:0;margin:0 1px;padding:1px 2px;font-size:15px;line-height:1.5;display:inline}.completion-edit-text:focus{border-bottom-color:var(--amber-deep);background:#fffdf4;outline:0}.completion-edit-del{vertical-align:middle;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;margin-left:8px;display:inline-flex;position:relative;top:-1px}.completion-edit-del:hover{background:var(--bad-bg);color:var(--bad)}.completion-edit-warn{margin:4px 0 0;display:block}.completion-gap-select{appearance:auto;cursor:pointer;padding-right:4px}.gap-glue{white-space:nowrap}@media (width<=520px){.gap-glue{white-space:normal}}.completion-gap{vertical-align:middle;align-items:stretch;height:28px;margin:0 3px;display:inline-flex}.completion-gap-num{min-width:28px;font-family:var(--font-body);color:var(--ink);background:#fff;border:1px solid #222;border-right:0;border-radius:4px 0 0 4px;justify-content:center;align-items:center;padding:0 6px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.completion-gap-input{width:140px;min-width:110px;max-width:200px;height:100%;font-family:var(--font-paper);color:var(--ink);box-sizing:border-box;background:#fff;border:1px solid #222;border-radius:0 4px 4px 0;padding:0 8px;font-size:15px}.completion-gap-input:focus{border-color:var(--amber-deep);z-index:1;outline:0;position:relative;box-shadow:0 0 0 2px #d4a01733}.completion-gap-plain .completion-gap-input{border-radius:4px}.completion-gap-input.input-warn{background:var(--bad-bg);border-color:var(--bad)!important}.completion-instr{color:var(--ink);line-height:1.55}.summary-title-exam{font-family:var(--font-display);margin:0 0 10px;font-size:15px;font-weight:700}.summary-bank-exam{margin:0 0 20px}.summary-bank-exam .heading-list-exam-ol{columns:2;column-gap:24px}.summary-gap-marker{border-bottom:2px solid var(--ink);min-width:64px;font-family:var(--font-display);text-align:center;margin:0 2px;padding:0 6px;font-size:12px;font-weight:700;line-height:1.4;display:inline-block}.blank{vertical-align:baseline;align-items:center;margin:0 3px;display:inline-flex}.blank .num{font-family:var(--font-display);background:var(--brand);color:#fff;border-radius:5px;margin-right:6px;padding:1px 7px;font-size:12px;font-weight:600;position:relative;top:-1px}.blank input{border:0;border-bottom:2px solid var(--amber);font-family:var(--font-paper);width:130px;min-width:120px;color:var(--ink);background:#fffdf4;padding:1px 8px 2px;font-size:16px;transition:all .15s}.blank input:focus{background:var(--amber-050);border-bottom-color:var(--amber-deep);outline:0}.blank input:disabled{background:0 0}.blank.correct input{border-bottom-color:var(--good);background:var(--good-bg);color:var(--good);font-weight:600}.blank.wrong input{border-bottom-color:var(--bad);background:var(--bad-bg);color:var(--bad);font-weight:600;text-decoration:line-through}.blank .fix{font-family:var(--font-body);color:var(--good);background:var(--good-bg);white-space:nowrap;border-radius:5px;margin-left:7px;padding:2px 8px;font-size:12px;font-weight:600}.explanation-edit{margin-top:10px}.explanation-edit label{margin-bottom:4px;font-size:12px;font-weight:600;display:block}.explanation-edit textarea.input{resize:vertical;width:100%;min-height:56px}.explanation-edit .hint{color:var(--ink-faint);margin-top:2px;font-weight:400;display:block}.evidence-blackout-toggle{cursor:pointer;align-items:flex-start;gap:8px;font-weight:600;display:flex!important}.evidence-blackout-toggle input{flex-shrink:0;margin-top:3px}.evidence-blackout-toggle span{font-weight:600}.evidence-match-warn{color:#b42318;margin:6px 0 0;font-size:12px}.evidence-match-ok{color:#027a48;margin:6px 0 0;font-size:12px}.stu-filter-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.stu-filter-row button{border:1px solid var(--line-strong);cursor:pointer;color:var(--ink);background:#fff;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600}.stu-filter-row button.on{background:var(--brand);color:#fff;border-color:var(--brand)}.assign-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 16px;padding:4px 0 8px;display:grid}.assign-form label{flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.assign-form select,.assign-form .input{font-weight:400}.assign-form .assign-check{flex-direction:row;grid-column:1/-1;align-items:flex-start;gap:10px}.assign-form .assign-check .hint{color:var(--ink-faint);margin-top:2px;font-weight:400;display:block}.assign-form .assign-notes{grid-column:1/-1}.assigned-work-list{flex-direction:column;gap:10px;padding:4px 0 8px;display:flex}.assigned-work-card{border:1px solid var(--line-strong);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.assigned-work-notes{color:var(--ink-soft);margin:6px 0 0;font-size:13px}.attempt-review-split{flex-direction:column;min-height:420px;display:flex}.attempt-review-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:12px;padding:0 0 12px;display:flex}.attempt-review-hint{color:var(--ink-faint);font-size:12px}.attempt-review-panes{border:1px solid var(--line);background:#fff;border-radius:10px;gap:0;min-height:480px;max-height:min(70vh,720px);display:flex;overflow:hidden}.attempt-review-pane{flex:50%;padding:14px 16px;overflow-y:auto}.attempt-review-pane.pane-passage{border-right:1px solid var(--line);background:#fbfaf6}.attempt-review-pane.pane-questions{background:#fff}.attempt-review-split.is-compact .attempt-review-panes{min-height:360px;max-height:min(62vh,640px)}.review-passage{font-size:14px;line-height:1.55}.review-passage p{margin:0 0 .7em}.review-evidence{background:var(--amber)}@supports (color:color-mix(in lab, red, red)){.review-evidence{background:color-mix(in srgb, var(--amber) 28%, transparent)}}.review-evidence{border-bottom:2px solid var(--amber-deep);cursor:pointer;border-radius:3px;padding:1px 2px}.review-evidence.is-wrong{background:var(--bad)}@supports (color:color-mix(in lab, red, red)){.review-evidence.is-wrong{background:color-mix(in srgb, var(--bad) 18%, transparent)}}.review-evidence.is-wrong{border-bottom-color:var(--bad)}.review-evidence.is-ok{background:var(--good)}@supports (color:color-mix(in lab, red, red)){.review-evidence.is-ok{background:color-mix(in srgb, var(--good) 18%, transparent)}}.review-evidence.is-ok{border-bottom-color:var(--good)}.review-evidence.is-active{outline:2px solid var(--ink);outline-offset:1px}.review-evidence-num{font-family:var(--font-display);background:var(--brand);color:#fff;vertical-align:1px;border-radius:4px;margin-right:4px;padding:0 5px;font-size:10px;font-weight:700;display:inline-block}.review-evidence.is-wrong .review-evidence-num{background:var(--bad)}.review-evidence.is-ok .review-evidence-num{background:var(--good)}.review-item{border-bottom:1px solid var(--line);cursor:pointer;border-radius:6px;padding:12px 0}.review-item:last-child{border-bottom:0}.review-item.is-active{background:var(--amber)}@supports (color:color-mix(in lab, red, red)){.review-item.is-active{background:color-mix(in srgb, var(--amber) 12%, transparent)}}.review-stem{align-items:flex-start;gap:10px;line-height:1.55;display:flex}.review-stem-text{flex:1}.review-correction{background:var(--bad-bg,#fef2f2);border:1px solid var(--bad);margin:10px 0 0 36px;padding:10px 12px}@supports (color:color-mix(in lab, red, red)){.review-correction{border:1px solid color-mix(in srgb, var(--bad) 25%, transparent)}}.review-correction{border-radius:8px}.review-correction-row{align-items:baseline;gap:10px;margin-bottom:4px;font-size:13px;display:flex}.review-label{min-width:88px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.review-your{color:var(--bad);font-weight:600;text-decoration:line-through}.review-correct{color:var(--good);font-weight:700}.review-explanation{color:var(--ink);margin:8px 0 0;font-size:13px;line-height:1.45}.review-explanation.muted{color:var(--ink-faint);font-style:italic}.review-correction.is-ok{background:var(--good-bg,#f0fdf4);border-color:var(--good)}@supports (color:color-mix(in lab, red, red)){.review-correction.is-ok{border-color:color-mix(in srgb, var(--good) 25%, transparent)}}.review-script-stage{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin:.85em 0 .4em;font-size:12px;font-weight:600}.review-script-line{margin:0 0 .55em}.review-script-speaker{color:var(--ink-soft);margin-right:4px;font-weight:700}.attempt-review-split.is-listening .review-passage{font-family:var(--font-paper);font-size:15px;line-height:1.6}.attempt-review-dialog{width:min(1100px,100vw - 1.5rem)!important;max-width:1100px!important}@media (width<=860px){.attempt-review-panes{flex-direction:column;max-height:none}.attempt-review-pane.pane-passage{border-right:0;border-bottom:1px solid var(--line);max-height:40vh}.attempt-review-pane.pane-questions{max-height:50vh}}.exam-foot{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--line-strong);background:#fbfaf6f5;flex:none;align-items:center;gap:14px;padding:13px 22px;display:flex;position:relative;bottom:auto}.exam-foot .prog{color:var(--ink-soft);font-size:13px;font-weight:600}.exam-foot .prog b{color:var(--ink)}.exam-foot .spacer{flex:1}.result-hero{text-align:center;max-width:760px;margin:36px auto 0}.score-ring{width:150px;height:150px;margin:0 auto 8px}.result-hero h1{font-family:var(--font-display);letter-spacing:-.5px;margin:10px 0 4px;font-size:26px;font-weight:700}.result-hero p{color:var(--ink-faint);margin:0}.empty{text-align:center;color:var(--ink-faint);padding:54px 20px}.empty svg{width:42px;height:42px;color:var(--line-strong);margin-bottom:10px}.empty h3{font-family:var(--font-display);color:var(--ink-soft);margin:0 0 4px;font-size:17px}.toast{background:var(--brand);color:#fff;opacity:0;z-index:80;pointer-events:none;text-align:center;border-radius:10px;max-width:min(520px,100vw - 32px);padding:12px 20px;font-size:14px;font-weight:500;line-height:1.35;transition:all .25s;position:fixed;bottom:22px;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 12px 30px -10px #00000080}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.view{animation:.25s both fade}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (width<=900px){.admin{grid-template-columns:1fr}.sidenav{border-right:0;border-bottom:1px solid var(--line);gap:6px;padding:10px;display:flex;overflow-x:auto}.sidenav .lbl{display:none}.sidenav a{white-space:nowrap}.main{padding:22px 18px}.stats{grid-template-columns:repeat(2,1fr)}.row2{grid-template-columns:1fr}.qhead{display:none}.qrow{grid-template-columns:1fr;gap:6px}.qrow .qn{border-radius:6px;width:100%}.split{flex-direction:column}.divider{display:none}.pane{width:100%;flex:auto!important}.pane-passage{padding:6px 18px 24px}.pane-questions{padding:6px 18px 40px}.completion-gap-input{width:120px;min-width:96px}.exam-view{height:auto;min-height:calc(100vh - 68px);overflow:visible}.exam-booklet{min-height:0;overflow:visible}.exam-booklet .split{flex-direction:column;min-height:0;overflow:visible}.exam-booklet .pane{max-height:none;overflow:visible}.exam-booklet .pane-passage{border-bottom:1px solid var(--line-strong);max-height:45vh;overflow-y:auto}.exam-booklet .pane-questions{max-height:none;overflow:visible}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.dropzone{border:2px dashed var(--line-strong);border-radius:var(--r);text-align:center;cursor:pointer;background:#fafbfc;padding:46px 24px;transition:all .18s}.dropzone:hover{border-color:var(--teal);background:var(--teal-050)}.dz-ic{background:var(--brand);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:54px;height:54px;margin:0 auto 14px;display:flex}.dz-ic svg{width:26px;height:26px}.dropzone h3{font-family:var(--font-display);margin:0 0 5px;font-size:18px;font-weight:600}.dropzone p{color:var(--ink-faint);margin:0 0 16px;font-size:14px}.dz-note{color:var(--ink-faint);margin-top:14px;font-size:12.5px}.dz-note b{color:var(--ink-soft)}.recent{margin-top:26px}.recent .lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px;font-size:11px;font-weight:600}.imp{border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;align-items:center;gap:14px;margin-bottom:8px;padding:13px 16px;display:flex}.imp .fic{color:#6a3fb0;background:#f1ecfb;border-radius:8px;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.imp .fic svg{width:18px;height:18px}.imp .nm{font-size:14px;font-weight:600}.imp .mt{color:var(--ink-faint);font-size:12px}.imp .sp{flex:1}.badge{border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.badge.dot:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.b-go{background:var(--amber-050);color:var(--amber-deep)}.b-ok{background:var(--good-bg);color:var(--good)}.b-err{background:var(--bad-bg);color:var(--bad)}.statcard{padding:22px}.statcard .top{align-items:center;gap:14px;margin-bottom:18px;display:flex}.statcard .fic{color:#6a3fb0;background:#f1ecfb;border-radius:11px;flex:0 0 46px;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.statcard .fic svg{width:24px;height:24px}.statcard .nm{font-family:var(--font-display);font-size:16px;font-weight:600}.statcard .mt{color:var(--ink-faint);margin-top:2px;font-size:12.5px}.statcard .sp{flex:1}.progress{background:var(--line);border-radius:99px;height:7px;overflow:hidden}.progress .bar{background:var(--teal);border-radius:99px;width:0;height:100%;transition:width .5s linear}.statmsg{color:var(--ink-soft);align-items:center;margin-top:14px;font-size:14px;display:flex}.spinner{border:2px solid var(--line-strong);border-top-color:var(--teal);border-radius:50%;flex:0 0 16px;width:16px;height:16px;margin-right:10px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.statactions{gap:10px;margin-top:20px;display:flex}.draftnote{background:var(--amber-050);border-radius:var(--r-sm);color:#6b540e;border:1px solid #ecd99a;align-items:center;gap:10px;margin-bottom:20px;padding:11px 14px;font-size:13.5px;display:flex}.draftnote svg{width:18px;height:18px;color:var(--amber-deep);flex:0 0 18px}.exam-shell{background:#f4f5f7;flex-direction:column;min-height:100vh;display:flex}.exam-topbar{background:var(--card);border-bottom:1px solid var(--line);z-index:20;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.exam-back{flex:none}.exam-topbar-meta{flex:1;min-width:0}.exam-breadcrumb{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.exam-topbar-actions{flex:none;align-items:center;gap:10px;display:flex}.exam-timer{font-family:var(--font-display);color:var(--ink);align-items:center;gap:6px;font-size:15px;font-weight:700;display:inline-flex}.exam-timer svg{width:16px;height:16px;color:var(--ink-faint)}.writing-draft-badge{color:var(--ink-soft);background:#eef0f3;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.exam-section-tabs{background:var(--card);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.exam-section-tablist{flex-wrap:wrap;gap:8px;display:flex}.exam-section-tab{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.exam-section-tab.on{background:var(--brand);border-color:var(--brand);color:#fff}.exam-section-label{color:var(--ink-faint);font-size:12px;font-weight:600}.writing-single-task-label{background:var(--card);border-bottom:1px solid var(--line);font-family:var(--font-display);padding:12px 16px;font-size:15px;font-weight:700}.writing-exam-body{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;min-height:0;display:grid}.writing-prompt-pane,.writing-response-pane{min-height:0;padding:20px 22px 28px;overflow:auto}.writing-prompt-pane{border-right:1px solid var(--line);background:#fff}.writing-response-pane{background:#fafbfc;flex-direction:column;display:flex}.writing-task-rubric{color:var(--ink-soft);margin-bottom:14px;font-size:13px;font-weight:600}.writing-visual-note{border:1px dashed var(--line-strong);border-radius:var(--r-sm);color:var(--ink-soft);background:#f3f4f6;margin-bottom:14px;padding:12px 14px;font-size:13px}.writing-visual-root{margin:16px 0 20px}.writing-visual-root.is-compact{margin:8px 0 12px}.writing-visual-svg{width:100%;max-width:520px;height:auto;margin:0 auto;display:block}.writing-visual-title{fill:var(--ink);font-size:11px;font-weight:600}.writing-visual-grid{stroke:#e5e7eb;stroke-width:1px}.writing-visual-axis{stroke:#9ca3af;stroke-width:1.5px}.writing-visual-tick,.writing-visual-axis-label{fill:#6b7280;font-size:9px}.writing-visual-legend{fill:#374151;font-size:9px}.writing-visual-table-wrap,.writing-visual-process,.writing-visual-map{max-width:520px;margin:0 auto}.writing-visual-table-title{color:var(--ink);text-align:center;margin-bottom:10px;font-size:13px;font-weight:600}.writing-visual-table{border-collapse:collapse;width:100%;font-size:13px}.writing-visual-table th,.writing-visual-table td{border:1px solid var(--line);text-align:center;padding:8px 10px}.writing-visual-table th{background:#f3f4f6;font-weight:600}.writing-visual-process-list{flex-direction:column;align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.writing-visual-process-list li{flex-direction:column;align-items:center;gap:4px;display:flex}.writing-visual-process-num{background:var(--teal);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:inline-flex}.writing-visual-process-arrow{color:var(--ink-faint);font-size:18px;line-height:1}.writing-visual-map-panels{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.writing-visual-map-panel{border:1px solid var(--line);border-radius:var(--r-sm);background:#fafbfc;padding:12px}.writing-visual-map-panel h4{text-align:center;margin:0 0 8px;font-size:13px;font-weight:700}.writing-visual-map-svg{width:100%;height:auto;display:block}.writing-visual-map-label{fill:#374151;font-size:7px}.stu-type-item-meta{color:var(--ink-faint);font-size:11px;font-weight:400}.writing-visual-combo{gap:16px;max-width:100%;margin:0 auto;display:grid}.writing-visual-combo.layout-side_by_side{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.writing-visual-combo.layout-stacked{grid-template-columns:1fr}.writing-visual-combo-title{text-align:center;color:var(--ink);margin-bottom:12px;font-size:14px;font-weight:700}.writing-exam-view .writing-exam-booklet,.writing-exam-split{flex:1;min-height:0}.writing-exam-split .writing-answer-pane{flex-direction:column;min-height:0;display:flex}.writing-answer-pane-inner{flex-direction:column;flex:1;min-height:0;display:flex}.writing-textarea-exam{resize:none;flex:1;min-height:280px}.writing-word-footer{color:var(--ink-soft);text-align:right;margin-top:10px;font-size:13px;font-weight:600}.writing-part-bar{border-bottom:1px solid var(--line);background:#f8fafc;align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:flex}.writing-part-label{color:var(--ink);font-weight:700}.writing-part-rule{color:var(--ink-faint)}.writing-passage-body{padding:16px 20px 24px}.writing-gt-letter-meta{border:1px solid var(--line);border-radius:var(--r-sm);background:#f8fafc;margin:0 0 16px;padding:12px 14px;font-size:13px}.writing-gt-formality{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;margin-bottom:10px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.writing-gt-formality-formal{color:#1e40af;background:#dbeafe}.writing-gt-formality-semi_formal{color:#92400e;background:#fef3c7}.writing-gt-formality-informal{color:#166534;background:#dcfce7}.writing-gt-recipient,.writing-gt-opening{color:var(--ink-soft);margin:6px 0 0;line-height:1.45}.writing-prompt-text p{color:var(--ink);margin:0 0 10px;font-size:15px;line-height:1.55}.writing-word-hint{color:var(--ink-faint);margin-top:16px;font-size:13px;font-weight:600}.writing-response-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.writing-response-title{font-family:var(--font-display);font-size:15px;font-weight:700}.writing-word-count{color:var(--ink-faint);font-size:12px;font-weight:600}.writing-textarea{resize:vertical;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;flex:1;width:100%;min-height:360px;padding:14px 16px;font-family:inherit;font-size:15px;line-height:1.55}.writing-textarea:focus{outline:2px solid var(--teal)}@supports (color:color-mix(in lab, red, red)){.writing-textarea:focus{outline:2px solid color-mix(in srgb, var(--teal) 45%, transparent)}}.writing-textarea:focus{border-color:var(--teal)}.writing-response-note{color:var(--ink-faint);margin-top:10px;font-size:12px}.writing-exam-footer{background:var(--card);border-top:1px solid var(--line);justify-content:flex-end;padding:12px 16px;display:flex}.tag-writing{color:#6b21a8;background:#f3e8ff}.tag-speaking{color:#166534;background:#ecfdf3}.speaking-prompt-view .speaking-prompt-card{max-width:720px}.speaking-stage{width:min(640px,100%);margin:8px auto 0}.speaking-back{margin-bottom:18px}.speaking-stage-head h1{font-family:var(--font-display);letter-spacing:-.6px;margin:0;font-size:32px;font-weight:700}.speaking-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 8px;font-size:12px;font-weight:600}.speaking-lead{max-width:52ch;color:var(--ink-soft);margin:10px 0 0;font-size:15px;line-height:1.5}.speaking-stage-card{padding:22px}.speaking-prompt-card h2{margin:0 0 12px;font-size:15px}.speaking-prompt-body{white-space:pre-wrap;color:var(--ink);margin:0;font-family:inherit;font-size:16px;line-height:1.55}.writing-result-badge{border:12px solid var(--line);background:#f3f4f6;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto 8px;display:flex}.writing-result-badge span{font-family:var(--font-display);color:var(--ink);font-size:30px;font-weight:700;line-height:1}.writing-result-badge small{color:var(--ink-faint);margin-top:4px;font-size:12px}.writing-review-note{color:var(--ink-soft);margin:0 0 18px;font-size:14px}.writing-review-task{border:1px solid var(--line);border-radius:var(--r);margin-bottom:16px;overflow:hidden}.writing-review-task-head{border-bottom:1px solid var(--line);background:#f8f9fa;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.writing-review-task-head h3{font-family:var(--font-display);margin:0;font-size:16px}.writing-review-meta{color:var(--ink-faint);font-size:12px;font-weight:600}.writing-review-prompt summary{cursor:pointer;color:var(--ink-soft);padding:10px 16px;font-size:13px;font-weight:600}.writing-review-prompt.is-open{border-bottom:1px solid var(--line);background:#fbfcfd;padding:14px 16px 4px}.writing-review-prompt.is-open h4{letter-spacing:.02em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 8px;font-size:13px;font-weight:700}.writing-review-prompt-body{color:var(--ink-soft);padding:0 16px 14px;font-size:14px;line-height:1.5}.writing-review-prompt.is-open .writing-review-prompt-body{padding:0 0 12px}.writing-review-prompt-instr{color:var(--ink);margin:0 0 10px;font-weight:600}.writing-teacher-feedback{border-radius:var(--r);background:#f3faf8;border:1px solid #c5ddd9;margin:0 0 18px;padding:14px 16px}.writing-teacher-feedback h4{margin:0 0 8px;font-size:14px}.writing-teacher-feedback p{white-space:pre-wrap;margin:0 0 8px;font-size:15px;line-height:1.55}.writing-teacher-feedback-meta{margin:10px 0 0!important;font-size:12px!important}.writing-review-essay{white-space:pre-wrap;padding:16px;font-size:15px;line-height:1.6}.writing-review-essay p{margin:0 0 10px}.writing-eval-summary{border:1px solid var(--line);border-radius:var(--r);background:#f8fafc;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:16px 18px;display:flex}.writing-eval-overall{flex-direction:column;gap:2px;display:flex}.writing-eval-overall-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.writing-eval-overall strong{font-family:var(--font-display);color:var(--ink);font-size:28px}.writing-eval-source{max-width:420px;margin:0;font-size:12px}.writing-review-pending{border-radius:var(--r-sm);background:#fffbeb;border:1px solid #ecd99a;align-items:center;gap:12px;margin-bottom:18px;padding:14px 16px;display:flex}.writing-review-pending p{flex:1;margin:0;font-size:14px}.writing-review-band{background:var(--brand);color:#fff;border-radius:999px;margin-left:10px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.writing-criteria-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px 16px;display:grid}.writing-criterion-card{border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;padding:12px 14px}.writing-criterion-head{justify-content:space-between;gap:8px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.writing-criterion-head strong{font-family:var(--font-display);color:var(--teal-700)}.writing-criterion-card p{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.45}.writing-examiner-comment,.writing-review-essay h4{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);margin:0 0 8px;font-size:13px;font-weight:700}.writing-examiner-comment{padding:0 16px 12px}.writing-examiner-comment p{margin:0;font-size:14px;line-height:1.5}.writing-feedback-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px 16px;display:grid}.writing-feedback-box{border-radius:var(--r-sm);padding:12px 14px;font-size:13px}.writing-feedback-box h4{text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:12px}.writing-feedback-box ul{margin:0;padding-left:18px}.writing-feedback-good{background:#ecfdf5;border:1px solid #a7f3d0}.writing-feedback-improve{background:#fff7ed;border:1px solid #fed7aa}.writing-evaluating{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:50vh;display:flex}.writing-evaluating .spinner{margin:0 0 16px}.speaking-exam{gap:16px;display:grid}.speaking-ready{gap:18px;display:grid}.speaking-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.speaking-facts li{background:var(--paper);border-radius:10px;align-content:start;gap:2px;min-height:72px;padding:12px 12px 10px;display:grid}.speaking-facts b{font-family:var(--font-display);letter-spacing:-.3px;font-size:20px;line-height:1.1}.speaking-facts span{color:var(--ink-faint);font-size:12px;line-height:1.3}.speaking-ready-note{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.5}.speaking-band-row{border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.speaking-band-target{gap:2px;font-size:14px;display:grid}.speaking-band-target span{font-weight:600}.speaking-band-target small{color:var(--ink-faint);font-size:12px}.speaking-band-row select{border:1px solid var(--line-strong);border-radius:var(--r-sm);min-width:88px;font:inherit;background:#fff;padding:8px 10px}.speaking-start{justify-content:center;width:100%}.speaking-mic-error{background:var(--bad-bg);color:var(--bad);border-radius:8px;margin:0;padding:10px 12px;font-size:14px}.speaking-live{gap:16px;display:grid}.speaking-progress{gap:8px;display:grid}.speaking-progress-top{color:var(--ink-soft);justify-content:space-between;gap:12px;font-size:13px;font-weight:600;display:flex}.speaking-progress-track{background:var(--paper);border-radius:999px;height:6px;overflow:hidden}.speaking-progress-track span{background:var(--teal);border-radius:inherit;height:100%;display:block}@media (width<=640px){.speaking-facts{grid-template-columns:1fr}.speaking-facts li{min-height:0}.speaking-band-row{align-items:flex-start}}.speaking-live-card{max-width:none}.speaking-cue-intro{margin:0 0 10px;font-size:18px}.speaking-cue-say{color:var(--ink-faint);margin:0 0 6px;font-size:13px}.speaking-q-text{margin:0;font-size:20px;line-height:1.4}.speaking-hidden-q{justify-items:start;gap:12px;display:grid}.speaking-live-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.speaking-source-fieldset{border:1px solid var(--line);border-radius:10px;margin:0 0 16px;padding:12px 14px}.speaking-source-option{align-items:flex-start;gap:8px;margin:6px 0;font-size:14px;display:flex}.speaking-criteria-grid{grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;display:grid}.speaking-criterion-card{border:1px solid var(--line);border-radius:10px;padding:12px 14px}.speaking-criterion-card h4{justify-content:space-between;gap:8px;margin:0 0 8px;font-size:14px;display:flex}.speaking-criterion-card p{color:var(--ink-soft);margin:0;font-size:13px}.speaking-comment,.speaking-tips,.speaking-transcript-block,.speaking-polished{margin:16px 0}.speaking-transcript{font-size:16px;line-height:1.7}.speaking-word{border-radius:4px;padding:0 1px}.speaking-word.is-warn{color:#92400e;background:#fef3c7}.speaking-word.is-error{color:#991b1b;cursor:help;background:#fee2e2;text-decoration:underline;text-decoration-thickness:2px}.speaking-legend{color:var(--ink-faint);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.speaking-turn-block{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.speaking-turn-block h4{margin:0 0 6px;font-size:13px}.speaking-turn-audio{width:100%;max-width:420px;margin-top:8px;display:block}.speaking-missing{color:#9a3412;background:#fff4f0;border:1px solid #f5d0c5;border-radius:10px;margin:0 0 16px;padding:12px 14px;font-size:14px}@media (width<=760px){.speaking-criteria-grid,.writing-criteria-grid,.writing-feedback-cols{grid-template-columns:1fr}}@media (width<=900px){.writing-exam-body{grid-template-columns:1fr}.writing-prompt-pane{border-right:0;border-bottom:1px solid var(--line)}}.profile-shell{grid-template-rows:1fr;grid-template-columns:250px minmax(0,1fr);gap:36px;max-width:1120px;min-height:calc(100vh - 68px);margin:0 auto;padding:28px 32px 40px;display:grid}.profile-side{flex-direction:column;min-height:100%;display:flex}.profile-menu{flex-direction:column;gap:2px;display:flex}.profile-menu button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;font-size:15px;font-weight:600;display:flex}.profile-menu button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.profile-menu button.on{color:var(--brand)}.profile-menu button:hover{background:var(--brand-050)}.profile-promo{border:1px solid var(--line);box-shadow:var(--shadow);background:#f7f7f8;border-radius:18px;gap:4px;margin-top:24px;padding:18px 16px 16px;display:grid}.profile-promo strong{letter-spacing:-.02em;font-size:16px}.profile-promo span{color:var(--ink-faint);font-size:13px;font-weight:500}.profile-promo-mark{width:36px;height:36px;color:var(--brand);place-items:center;margin-bottom:8px;display:grid}.profile-promo-mark svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:28px;height:28px}.profile-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.profile-head h1{letter-spacing:-.04em;margin:0;font-size:40px}.profile-edit{border-color:var(--brand);color:var(--brand)}.profile-edit:hover{background:var(--brand-050);border-color:var(--brand);color:var(--brand)}.profile-card{border:1px solid var(--line);background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 18px 50px -28px #10131973}.profile-card-main{grid-template-columns:168px minmax(0,1fr);gap:28px;padding:32px 32px 8px;display:grid}.profile-avatar{color:#b7bcc6;background:#e6e7eb;border-radius:22px;place-items:center;width:168px;height:168px;display:grid}.profile-avatar svg{fill:currentColor;width:120px;height:120px}.profile-avatar-wrap{align-content:start;justify-items:center;gap:10px;display:grid}button.profile-avatar{cursor:pointer;font:inherit;border:0;padding:0;position:relative;overflow:hidden}button.profile-avatar:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.profile-avatar-cam{background:var(--brand);color:#fff;border-radius:999px;place-items:center;width:38px;height:38px;transition:transform .15s;display:grid;position:absolute;bottom:10px;right:10px;box-shadow:0 6px 16px -6px #6c18cccc}button.profile-avatar:hover .profile-avatar-cam{transform:scale(1.08)}.profile-avatar .profile-avatar-cam svg{fill:currentColor;width:20px;height:20px}.profile-avatar>svg[role=img],.who-avatar svg{width:100%;height:100%;display:block}.profile-avatar-name{color:var(--ink-faint);margin:0;font-size:13px;font-weight:700}.avatar-chooser-backdrop{z-index:1200;background:#10131980;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.avatar-chooser{background:#fff;border-radius:28px;width:min(100%,1000px);max-height:calc(100vh - 40px);padding:26px 28px 24px;overflow-y:auto;box-shadow:0 30px 80px -30px #10131999}.avatar-chooser-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.avatar-chooser-head h2{letter-spacing:-.03em;margin:0 0 4px;font-size:24px}.avatar-chooser-head p{color:var(--ink-soft);margin:0;font-size:14px}.avatar-chooser-close{cursor:pointer;width:36px;height:36px;color:var(--ink-soft);background:#f4f5f7;border:0;border-radius:999px;flex:none;font-size:22px;line-height:1}.avatar-studio{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:24px;display:grid}.avatar-studio-browse,.avatar-studio-preview{min-width:0}.avatar-studio-preview{background:#f7f7f9;border-radius:22px;gap:14px;padding:18px;display:grid;position:sticky;top:0}.avatar-studio-art{border-radius:30px;justify-self:center;width:150px;height:150px;overflow:hidden;box-shadow:0 16px 34px -20px #1013198c}.avatar-studio-art svg{width:100%;height:100%;display:block}.avatar-studio-name{text-align:center;justify-items:center;gap:2px;margin:0;display:grid}.avatar-studio-name b{letter-spacing:-.02em;font-size:17px}.avatar-studio-name span{color:var(--brand);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}.avatar-studio-hint{color:var(--ink-faint);margin:0;font-size:12px;line-height:1.45}.avatar-swatches{border:0;flex-wrap:wrap;gap:7px;margin:0;padding:0;display:flex}.avatar-swatches legend{color:var(--ink-soft);margin-bottom:8px;padding:0;font-size:12px;font-weight:700}.avatar-swatch{cursor:pointer;border:1px solid #1013191f;border-radius:999px;place-items:center;width:26px;height:26px;padding:0;display:grid}.avatar-swatch.on{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--brand)}.avatar-studio-actions{gap:8px;display:flex}.avatar-studio-actions .btn-primary{flex:1;justify-content:center}.avatar-themes{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.avatar-themes button{border:1px solid var(--line);font:inherit;color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700}.avatar-themes button:hover{border-color:var(--brand);color:var(--brand)}.avatar-themes button.on{background:var(--brand);border-color:var(--brand);color:#fff}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.avatar-tile{border:2px solid var(--line);width:100%;font:inherit;cursor:pointer;text-align:center;background:#fff;border-radius:18px;justify-items:center;gap:3px;padding:10px 6px;transition:border-color .15s,transform .15s;display:grid}.avatar-tile:hover:not(:disabled){border-color:var(--brand);transform:translateY(-2px)}.avatar-tile.is-selected{border-color:var(--brand);background:var(--brand-050)}.avatar-tile.is-locked .avatar-tile-art svg{filter:grayscale();opacity:.45}.avatar-tile-art{border-radius:20px;width:68px;height:68px;margin-bottom:4px;position:relative;overflow:hidden}.avatar-tile-art>svg{width:100%;height:100%;display:block}.avatar-tile-lock{color:#fff;background:#1d1b26bf;border-radius:999px;place-items:center;width:30px;height:30px;margin:auto;display:grid;position:absolute;inset:0}.avatar-tile-lock svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:15px;height:15px}.avatar-tile b{letter-spacing:-.02em;color:var(--ink);font-size:13px;line-height:1.25}.avatar-tile small{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.avatar-tile.is-locked{cursor:pointer}.avatar-studio-art.is-locked svg{filter:grayscale()brightness(.8);opacity:.6}.avatar-studio-reward{color:var(--ink-soft);border:1px solid var(--line);background:#fff;border-radius:14px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.45;display:flex}.avatar-studio-reward svg{fill:none;stroke:currentColor;stroke-width:2px;flex:none;width:16px;height:16px;margin-top:1px}.avatar-studio-reward.is-earned{color:#1f7a4d;background:#f1faf4;border-color:#bfe5cf}.avatar-studio-browse .avatar-studio-hint{margin-top:14px}.profile-achievements{margin-top:20px;padding:26px 32px 22px}.profile-achievements-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.profile-achievements-head h3{letter-spacing:-.03em;margin:0 0 4px;font-size:18px}.profile-achievements-head p{color:var(--ink-faint);margin:0;font-size:14px}.profile-achievements-count{color:var(--ink-soft);white-space:nowrap;font-size:14px;font-weight:600}.profile-achievements-count b{color:var(--ink);letter-spacing:-.03em;font-size:22px}.profile-tracks{margin:0;padding:0;list-style:none;display:grid}.profile-track{border-top:1px solid var(--line);grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 0;display:grid}.profile-track-badge{border-radius:16px;flex:none;width:52px;height:52px;display:block;overflow:hidden}.profile-track-badge svg{width:100%;height:100%;display:block}.profile-track-badge.is-locked svg{filter:grayscale();opacity:.4}.profile-track-title{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;display:flex}.profile-track-title b{font-size:15px}.profile-track-title span{color:var(--brand);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.profile-track-goal{color:var(--ink-faint);margin:2px 0 8px;font-size:13px}.profile-track-bar{background:#eeeef2;border-radius:999px;height:6px;overflow:hidden}.profile-track-bar i{border-radius:inherit;background:linear-gradient(90deg, #8b3fe0, var(--brand));height:100%;display:block}.profile-track-meta{justify-items:end;gap:8px;display:grid}.profile-track-meta b{font-variant-numeric:tabular-nums;font-size:14px}.profile-track-tiers{gap:5px;margin:0;padding:0;list-style:none;display:flex}.profile-track-tiers li{background:#e6e7ec;border-radius:999px;width:12px;height:12px}.profile-track-tiers li.tier-bronze.on{background:linear-gradient(135deg,#f6c08f,#9a5328)}.profile-track-tiers li.tier-silver.on{background:linear-gradient(135deg,#fff,#8a93a3);box-shadow:inset 0 0 0 1px #c9ced8}.profile-track-tiers li.tier-gold.on{background:linear-gradient(135deg,#fff0bd,#b8841f)}.profile-laureate{color:var(--ink-soft);background:#f5f3fb;border-radius:18px;align-items:center;gap:16px;margin:6px 0 0;padding:14px 16px;font-size:13px;display:flex}.profile-laureate>span:last-child{gap:2px;display:grid}.profile-laureate b{color:var(--ink);font-size:15px}.profile-laureate:not(.is-earned) .profile-track-badge svg{filter:grayscale(.6);opacity:.55}.profile-avatar-actions{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.profile-avatar-actions button{background:var(--brand-050);color:var(--brand);font:inherit;cursor:pointer;border:0;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700}.profile-overview{margin-top:20px;padding:8px 32px}.profile-overview section{padding:22px 0}.profile-overview section+section{border-top:1px solid var(--line)}.profile-overview h3{letter-spacing:-.03em;margin:0 0 10px;font-size:18px}.profile-overview h4{color:var(--ink-soft);margin:0 0 4px;font-size:14px;font-weight:600}.profile-overview p{margin:0;font-size:16px;font-weight:600}.profile-overview p.is-empty{color:var(--ink-faint);font-weight:500}.profile-overview-pair{grid-template-columns:1fr 1fr;gap:16px;display:grid}.profile-bio{white-space:pre-line;line-height:1.6}.profile-overview .profile-bio{font-weight:500}.profile-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.profile-chip{background:var(--brand-050);color:var(--brand);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:700;display:inline-flex}.profile-chip button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:16px;line-height:1}.profile-chips-input{border:1px solid var(--line-strong);cursor:text;background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.profile-chips-input:focus-within{border-color:var(--brand)}.profile-form-grid .profile-chips-input input{border:0;outline:none;flex:140px;padding:4px;font-size:14px}.profile-form-photo{border-bottom:1px solid var(--line);align-items:center;gap:22px;margin-bottom:22px;padding-bottom:22px;display:flex}.profile-form-photo .profile-avatar{width:120px;height:120px}.profile-form-photo .profile-avatar>svg:not([role]){width:84px;height:84px}.profile-form-photo .profile-avatar-cam{width:32px;height:32px;bottom:6px;right:6px}.profile-form-photo p{gap:4px;max-width:36ch;margin:0;display:grid}.profile-form-photo span{color:var(--ink-faint);font-size:14px}.profile-identity h2{letter-spacing:-.04em;margin:4px 0 6px;font-size:32px}.profile-email{color:var(--ink-faint);margin:0 0 14px;font-size:15px}.profile-module{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 14px;font-size:15px;display:flex}.profile-module span{color:var(--ink-faint)}.profile-module a{color:var(--brand);font-weight:700;text-decoration:underline}.profile-city{align-items:center;gap:8px;margin:0 0 22px;font-weight:600;display:flex}.profile-city svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:18px;height:18px}.profile-city.is-empty,.profile-dob b.is-empty{color:var(--ink-faint);font-weight:500}.profile-private{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.profile-private h3{letter-spacing:-.03em;margin:0;font-size:18px}.profile-private span{background:var(--brand-050);color:var(--brand);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.profile-private svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:14px;height:14px}.profile-dob{gap:4px;margin:0;display:grid}.profile-dob span{color:var(--ink-soft);font-size:14px}.profile-dob b{font-size:16px;font-weight:600}.profile-streak{background:#f4f5f7;grid-template-columns:160px 160px minmax(0,1fr);align-items:end;gap:12px;margin-top:28px;padding:22px 32px 26px;display:grid}.profile-streak-stat span{color:var(--ink-faint);margin-bottom:6px;font-size:14px;font-weight:600;display:block}.profile-streak-stat strong{letter-spacing:-.04em;align-items:center;gap:8px;font-size:28px;display:flex}.profile-streak-stat small{color:var(--ink-soft);font-size:16px;font-weight:600}.profile-hex,.profile-flame{width:26px;height:26px}.profile-hex{fill:none;stroke:#9aa0ab;stroke-width:1.6px}.profile-flame{fill:#f08a24}.profile-week{justify-content:flex-end;gap:14px;margin:0;padding:0 0 4px;list-style:none;display:flex}.profile-week li{color:var(--ink-faint);justify-items:center;gap:8px;font-size:13px;font-weight:700;display:grid}.profile-week i{border:2px solid #d5d8df;border-radius:999px;width:28px;height:28px;display:block}.profile-week i.on{background:var(--brand);border-color:var(--brand)}.profile-week li.is-today span{color:var(--ink)}.profile-form,.profile-panel{padding:28px 32px 32px}.profile-panel h2{letter-spacing:-.03em;margin:0 0 8px;font-size:22px}.profile-panel-lead{color:var(--ink-soft);max-width:62ch;margin:0 0 18px}.profile-form-grid{grid-template-columns:1fr 1fr;gap:14px 16px;display:grid}.profile-form-grid label{color:var(--ink-soft);gap:6px;font-size:13px;font-weight:700;display:grid}.profile-form-grid input,.profile-form-grid textarea{border:1px solid var(--line-strong);font:inherit;color:var(--ink);background:#fff;border-radius:12px;padding:12px 14px;font-weight:500}.profile-form-grid textarea{resize:vertical;min-height:120px;line-height:1.5}.profile-form-wide{grid-column:1/-1;gap:6px;display:grid}.profile-form-label{color:var(--ink-soft);font-size:13px;font-weight:700}.profile-form-count{color:var(--ink-faint);justify-self:end;font-size:12px;font-weight:600}.profile-form-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.profile-choice{border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;padding:14px 16px;font-weight:700;display:flex}.profile-choice.on{border-color:var(--brand);color:var(--brand)}.profile-choice b{letter-spacing:.04em;text-transform:uppercase;font-size:12px}@media (width<=860px){.profile-shell{grid-template-rows:auto;grid-template-columns:1fr;gap:18px;min-height:0;padding:16px 16px 40px}.profile-side{min-height:0}.profile-menu{flex-direction:row;gap:6px;padding-bottom:4px;overflow-x:auto}.profile-menu button{white-space:nowrap;width:auto}.profile-promo{margin-top:12px}.profile-head h1{font-size:32px}.profile-card-main,.profile-streak,.profile-form-grid{grid-template-columns:1fr}.profile-avatar{width:120px;height:120px}.profile-avatar-wrap{justify-items:start}.profile-overview{padding:4px 22px}.profile-overview-pair{grid-template-columns:1fr}.profile-form-photo{flex-direction:column;align-items:flex-start}.avatar-chooser{border-radius:22px;padding:20px 16px 16px}.avatar-studio{grid-template-columns:minmax(0,1fr);gap:16px}.avatar-studio-preview{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:10px 14px;padding:14px;position:static}.avatar-studio-art{border-radius:22px;grid-row:span 2;width:96px;height:96px}.avatar-studio-name{text-align:left;justify-items:start}.avatar-swatches,.avatar-studio-hint,.avatar-studio-actions{grid-column:1/-1}.avatar-themes{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.avatar-themes button{white-space:nowrap}.avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.profile-achievements{padding:20px 18px 16px}.profile-track{grid-template-columns:44px minmax(0,1fr);gap:12px}.profile-track-badge{border-radius:13px;width:44px;height:44px}.profile-track-meta{grid-column:2;grid-auto-flow:column;justify-content:space-between;place-items:center start}.profile-week{justify-content:flex-start}}.nowrap{white-space:nowrap}@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}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}}
