/*! tailwindcss v4.3.3 | 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{--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-divide-y-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:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}::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-divide-y-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:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--leading-loose:2;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--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);--color-background:var(--background);--color-foreground:var(--foreground);--color-border:var(--border)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::-webkit-file-upload-button{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%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::-webkit-file-upload-button{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:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:-webkit-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::-webkit-file-upload-button{margin-inline-end:4px}::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-start:0;padding-block-end:0}::-webkit-datetime-edit-year-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-month-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-day-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-hour-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-minute-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-second-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-millisecond-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-meridiem-field{padding-block-start:0;padding-block-end:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button{-webkit-appearance:button;appearance:button}input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--color-border)}body{background-color:var(--color-background);color:var(--color-foreground)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.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}.inset-0{top:0;bottom:0;left:0;right:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-top-12{top:calc(var(--spacing) * -12)}.top-0{top: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:0}.right-1{right:var(--spacing)}.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:0}.-left-12{left:calc(var(--spacing) * -12)}.left-0{left: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 (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-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-start:auto;margin-inline-end:auto}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:var(--spacing)}.my-6{margin-block:calc(var(--spacing) * 6)}.-mt-4{margin-top:calc(var(--spacing) * -4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.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:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.-ml-4{margin-left:calc(var(--spacing) * -4)}.ml-1{margin-left:var(--spacing)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.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)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.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-14{height:calc(var(--spacing) * 14)}.h-28{height:calc(var(--spacing) * 28)}.h-\[1em\]{height:1em}.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-\[85dvh\]{max-height:85dvh}.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:0}.min-h-\[60px\]{min-height:60px}.min-h-\[320px\]{min-height:320px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-\(--cell-size\){width:var(--cell-size)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0{width:0}.w-1{width:var(--spacing)}.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-16{width:calc(var(--spacing) * 16)}.w-28{width:calc(var(--spacing) * 28)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\[1em\]{width:1em}.w-\[1px\]{width:1px}.w-\[100px\]{width:100px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;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-3xl{max-width:var(--container-3xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-max{max-width:max-content}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-\(--cell-size\){min-width:var(--cell-size)}.min-w-0{min-width: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-40{min-width:calc(var(--spacing) * 40)}.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-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}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-caret-blink{animation:1.25s ease-out infinite caret-blink}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[7rem_minmax\(0\,1fr\)_3rem\]{grid-template-columns:7rem minmax(0,1fr) 3rem}.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}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}: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-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(var(--spacing) * var(--tw-space-x-reverse));margin-inline-end:calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.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-2xl{border-radius:calc(var(--radius) + 8px)}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.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-start-width:1px;border-block-end-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-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.border-destructive\/50{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/50{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.border-input{border-color:var(--input)}.border-primary,.border-primary\/50{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/50{border-color:color-mix(in oklab, var(--primary) 50%, transparent)}}.border-sidebar-border{border-color:var(--sidebar-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-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.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-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.fill-primary{fill:var(--primary)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[1px\]{padding:1px}.px-\(--cell-size\){padding-inline:var(--cell-size)}.px-0{padding-inline-start:0;padding-inline-end:0}.px-1{padding-inline:var(--spacing)}.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-5{padding-inline:calc(var(--spacing) * 5)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.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)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-0{padding-top:0}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-1{padding-right:var(--spacing)}.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}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.text-\[11px\]{font-size:11px}.leading-loose{--tw-leading:var(--leading-loose);line-height:var(--leading-loose)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.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}.break-all{word-break:break-all}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent-foreground{color:var(--accent-foreground)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-muted-foreground,.text-muted-foreground\/80{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\/80{color:color-mix(in oklab, var(--muted-foreground) 80%, transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab, red, red)){.text-sidebar-foreground\/70{color:color-mix(in oklab, var(--sidebar-foreground) 70%, transparent)}}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.not-italic{font-style:normal}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.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-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)}.ring-ring{--tw-ring-color:var(--ring)}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.\[--cell-size\:2rem\]{--cell-size:2rem}.paused{animation-play-state:paused}.running{animation-play-state:running}.group-open\:block:-webkit-any(:where(.group):-webkit-any([open],:popover-open,:open) *){display:block}.group-open\:block:is(:where(.group):is([open],:popover-open,:open) *){display:block}.group-open\:hidden:-webkit-any(:where(.group):-webkit-any([open],:popover-open,:open) *){display:none}.group-open\:hidden:is(:where(.group):is([open],:popover-open,:open) *){display:none}.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: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:0}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:0px;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\:border-ring:is(:where(.group\/day)[data-focused=true] *){border-color:var(--ring)}.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-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.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: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)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.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-\[\.toast\]\:bg-muted:is(:where(.group).toast *){background-color:var(--muted)}.group-\[\.toast\]\:bg-primary:is(:where(.group).toast *){background-color:var(--primary)}.group-\[\.toast\]\:text-muted-foreground:is(:where(.group).toast *){color:var(--muted-foreground)}.group-\[\.toast\]\:text-primary-foreground:is(:where(.group).toast *){color:var(--primary-foreground)}.group-\[\.toaster\]\:border-border:is(:where(.group).toaster *){border-color:var(--border)}.group-\[\.toaster\]\:bg-background:is(:where(.group).toaster *){background-color:var(--background)}.group-\[\.toaster\]\:text-foreground:is(:where(.group).toaster *){color:var(--foreground)}.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)}@media (hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.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:var(--spacing)}.file\:border-0::-webkit-file-upload-button{border-style:var(--tw-border-style);border-width:0}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::-webkit-file-upload-button{background-color:#0000}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::-webkit-file-upload-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::-webkit-file-upload-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::-webkit-file-upload-button{color:var(--foreground)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.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);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:var(--spacing)}.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:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.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:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}@media (hover:hover){.hover\:border-primary:hover{border-color:var(--primary)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab, var(--destructive) 80%, transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.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)}.group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:is(:where(.group)[data-collapsible=offcanvas] *):hover{background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.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-ring:focus{--tw-ring-color:var(--ring)}.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-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color:var(--sidebar-ring)}.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\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-focus\:border-ring:has(:focus){border-color:var(--ring)}.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-focus\:ring-ring\/50:has(:focus){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:text-muted-foreground[aria-selected=true]{color:var(--muted-foreground)}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.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-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:calc(52*var(--spacing))}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:calc(52*var(--spacing)*-1)}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:calc(52*var(--spacing))}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:calc(52*var(--spacing)*-1)}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-]{--tw-exit-opacity:0}.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:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:var(--spacing)}.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:0px;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-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:calc(var(--radius) - 2px)}.data-\[range-end\=true\]\:bg-primary[data-range-end=true]{background-color:var(--primary)}.data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true]{color:var(--primary-foreground)}.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true]{border-radius:0}.data-\[range-middle\=true\]\:bg-accent[data-range-middle=true]{background-color:var(--accent)}.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle=true]{color:var(--accent-foreground)}.data-\[range-start\=true\]\:rounded-md[data-range-start=true]{border-radius:calc(var(--radius) - 2px)}.data-\[range-start\=true\]\:bg-primary[data-range-start=true]{background-color:var(--primary)}.data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true]{color:var(--primary-foreground)}.data-\[selected-single\=true\]\:bg-primary[data-selected-single=true]{background-color:var(--primary)}.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true]{color:var(--primary-foreground)}.data-\[selected\=true\]\:rounded-none[data-selected=true]{border-radius:0}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.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\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.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-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.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\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=hidden\]\:animate-out[data-state=hidden]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--accent)}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--accent-foreground)}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-accent[data-state=open],.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.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\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}@media (hover:hover){.data-\[state\=open\]\:hover\:bg-accent[data-state=open]:hover{background-color:var(--accent)}.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}.data-\[state\=open\]\:focus\:bg-accent[data-state=open]:focus{background-color:var(--accent)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[state\=visible\]\:animate-in[data-state=visible]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}@media (min-width:40rem){.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:max-w-md{max-width:var(--container-md)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-between{justify-content:space-between}.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)}.sm\:text-left{text-align:left}}@media (min-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:0}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.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 (min-width:48rem){.after\:md\:hidden:after{display:none}}.dark\:border-destructive:is(.dark *){border-color:var(--destructive)}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:var(--muted-foreground)}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:var(--border)}@supports (color:color-mix(in lab, red, red)){.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:color-mix(in oklab, var(--border) 50%, transparent)}}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:var(--border)}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{--tw-outline-style:none;outline-style:none}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke=\#ccc]{stroke:var(--border)}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:var(--muted)}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke=\#ccc]{stroke:var(--border)}.\[\&_\.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-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[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: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:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}:-webkit-any(.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(:-webkit-any(: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] *) *):-webkit-any(.rdp-button_next>svg){rotate:180deg}: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){rotate:180deg}:-webkit-any(.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(:-webkit-any(: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] *) *):-webkit-any(.rdp-button_previous>svg){rotate:180deg}: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:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\>\[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\]\:text-destructive>svg{color:var(--destructive)}.\[\&\>svg\]\:text-foreground>svg{color:var(--foreground)}.\[\&\>svg\]\:text-muted-foreground>svg{color:var(--muted-foreground)}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.\[\&\>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}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:#fff;--foreground:#020618;--card:#fff;--card-foreground:#020618;--popover:#fff;--popover-foreground:#020618;--primary:#0f172b;--primary-foreground:#f8fafc;--secondary:#f1f5f9;--secondary-foreground:#0f172b;--muted:#f1f5f9;--muted-foreground:#62748e;--accent:#f1f5f9;--accent-foreground:#0f172b;--destructive:#e40014;--destructive-foreground:#f8fafc;--border:#e2e8f0;--input:#e2e8f0;--ring:#90a1b9;--chart-1:#f05100;--chart-2:#009588;--chart-3:#104e64;--chart-4:#fcbb00;--chart-5:#f99c00;--sidebar:#f8fafc;--sidebar-foreground:#020618;--sidebar-primary:#0f172b;--sidebar-primary-foreground:#f8fafc;--sidebar-accent:#f1f5f9;--sidebar-accent-foreground:#0f172b;--sidebar-border:#e2e8f0;--sidebar-ring:#90a1b9}@supports (color:color(display-p3 0 0 0)){:root{--background:color(display-p3 1 1 1);--foreground:color(display-p3 .0102437 .0227555 .0878731);--card:color(display-p3 1 1 1);--card-foreground:color(display-p3 .0102437 .0227555 .0878731);--popover:color(display-p3 1 1 1);--popover-foreground:color(display-p3 .0102437 .0227555 .0878731);--primary:color(display-p3 .0639692 .0891152 .163036);--primary-foreground:color(display-p3 .974377 .979815 .986207);--secondary:color(display-p3 .947345 .959969 .97483);--secondary-foreground:color(display-p3 .0639692 .0891152 .163036);--muted:color(display-p3 .947345 .959969 .97483);--muted-foreground:color(display-p3 .397645 .452653 .547642);--accent:color(display-p3 .947345 .959969 .97483);--accent-foreground:color(display-p3 .0639692 .0891152 .163036);--destructive:color(display-p3 .830323 .140383 .133196);--destructive-foreground:color(display-p3 .974377 .979815 .986207);--border:color(display-p3 .890322 .909405 .939294);--input:color(display-p3 .890322 .909405 .939294);--ring:color(display-p3 .577446 .629622 .716602);--chart-1:color(display-p3 .887467 .341665 .0219962);--chart-2:color(display-p3 .207114 .579584 .53668);--chart-3:color(display-p3 .142586 .302008 .385094);--chart-4:color(display-p3 .959186 .738519 .118268);--chart-5:color(display-p3 .93994 .620584 .0585367);--sidebar:color(display-p3 .974377 .979815 .986207);--sidebar-foreground:color(display-p3 .0102437 .0227555 .0878731);--sidebar-primary:color(display-p3 .0639692 .0891152 .163036);--sidebar-primary-foreground:color(display-p3 .974377 .979815 .986207);--sidebar-accent:color(display-p3 .947345 .959969 .97483);--sidebar-accent-foreground:color(display-p3 .0639692 .0891152 .163036);--sidebar-border:color(display-p3 .890322 .909405 .939294);--sidebar-ring:color(display-p3 .577446 .629622 .716602)}}@supports (color:lab(0% 0 0)){:root{--background:lab(100% 0 0);--foreground:lab(1.76974% 1.32743 -9.28855);--card:lab(100% 0 0);--card-foreground:lab(1.76974% 1.32743 -9.28855);--popover:lab(100% 0 0);--popover-foreground:lab(1.76974% 1.32743 -9.28855);--primary:lab(7.78673% 1.82345 -15.0537);--primary-foreground:lab(98.1434% -.369519 -1.05966);--secondary:lab(96.286% -.852436 -2.46847);--secondary-foreground:lab(7.78673% 1.82345 -15.0537);--muted:lab(96.286% -.852436 -2.46847);--muted-foreground:lab(48.0876% -2.03595 -16.5814);--accent:lab(96.286% -.852436 -2.46847);--accent-foreground:lab(7.78673% 1.82345 -15.0537);--destructive:lab(48.4493% 77.4328 61.5452);--destructive-foreground:lab(98.1434% -.369519 -1.05966);--border:lab(91.7353% -.998765 -4.76968);--input:lab(91.7353% -.998765 -4.76968);--ring:lab(65.5349% -2.25151 -14.5072);--chart-1:lab(57.1026% 64.2584 89.8886);--chart-2:lab(55.0223% -41.0774 -3.90277);--chart-3:lab(30.372% -13.1853 -18.7887);--chart-4:lab(80.1641% 16.6016 99.2089);--chart-5:lab(72.7183% 31.8672 97.9407);--sidebar:lab(98.1434% -.369519 -1.05966);--sidebar-foreground:lab(1.76974% 1.32743 -9.28855);--sidebar-primary:lab(7.78673% 1.82345 -15.0537);--sidebar-primary-foreground:lab(98.1434% -.369519 -1.05966);--sidebar-accent:lab(96.286% -.852436 -2.46847);--sidebar-accent-foreground:lab(7.78673% 1.82345 -15.0537);--sidebar-border:lab(91.7353% -.998765 -4.76968);--sidebar-ring:lab(65.5349% -2.25151 -14.5072)}}.dark{--background:#020618;--foreground:#f8fafc;--card:#0f172b;--card-foreground:#f8fafc;--popover:#0f172b;--popover-foreground:#f8fafc;--primary:#e2e8f0;--primary-foreground:#0f172b;--secondary:#1d293d;--secondary-foreground:#f8fafc;--muted:#1d293d;--muted-foreground:#90a1b9;--accent:#1d293d;--accent-foreground:#f8fafc;--destructive:#ff6568;--destructive-foreground:#f8fafc;--border:#ffffff1a;--input:#ffffff26;--ring:#6a7282;--chart-1:#1447e6;--chart-2:#00bb7f;--chart-3:#f99c00;--chart-4:#ac4bff;--chart-5:#ff2357;--sidebar:#0f172b;--sidebar-foreground:#f8fafc;--sidebar-primary:#1447e6;--sidebar-primary-foreground:#f8fafc;--sidebar-accent:#1d293d;--sidebar-accent-foreground:#f8fafc;--sidebar-border:#ffffff1a;--sidebar-ring:#6a7282}@supports (color:color(display-p3 0 0 0)){.dark{--background:color(display-p3 .0102437 .0227555 .0878731);--foreground:color(display-p3 .974377 .979815 .986207);--card:color(display-p3 .0639692 .0891152 .163036);--card-foreground:color(display-p3 .974377 .979815 .986207);--popover:color(display-p3 .0639692 .0891152 .163036);--popover-foreground:color(display-p3 .974377 .979815 .986207);--primary:color(display-p3 .890322 .909405 .939294);--primary-foreground:color(display-p3 .0639692 .0891152 .163036);--secondary:color(display-p3 .121994 .158688 .232363);--secondary-foreground:color(display-p3 .974377 .979815 .986207);--muted:color(display-p3 .121994 .158688 .232363);--muted-foreground:color(display-p3 .577446 .629622 .716602);--accent:color(display-p3 .121994 .158688 .232363);--accent-foreground:color(display-p3 .974377 .979815 .986207);--destructive:color(display-p3 .933534 .431676 .423491);--destructive-foreground:color(display-p3 .974377 .979815 .986207);--border:color(display-p3 1 1 1/.1);--input:color(display-p3 1 1 1/.15);--ring:color(display-p3 .421287 .446085 .504784);--chart-1:color(display-p3 .1379 .274983 .867624);--chart-2:color(display-p3 .267113 .726847 .508397);--chart-3:color(display-p3 .93994 .620584 .0585367);--chart-4:color(display-p3 .629519 .30089 .990817);--chart-5:color(display-p3 .921824 .240748 .355666);--sidebar:color(display-p3 .0639692 .0891152 .163036);--sidebar-foreground:color(display-p3 .974377 .979815 .986207);--sidebar-primary:color(display-p3 .1379 .274983 .867624);--sidebar-primary-foreground:color(display-p3 .974377 .979815 .986207);--sidebar-accent:color(display-p3 .121994 .158688 .232363);--sidebar-accent-foreground:color(display-p3 .974377 .979815 .986207);--sidebar-border:color(display-p3 1 1 1/.1);--sidebar-ring:color(display-p3 .421287 .446085 .504784)}}@supports (color:lab(0% 0 0)){.dark{--background:lab(1.76974% 1.32743 -9.28855);--foreground:lab(98.1434% -.369519 -1.05966);--card:lab(7.78673% 1.82345 -15.0537);--card-foreground:lab(98.1434% -.369519 -1.05966);--popover:lab(7.78673% 1.82345 -15.0537);--popover-foreground:lab(98.1434% -.369519 -1.05966);--primary:lab(91.7353% -.998765 -4.76968);--primary-foreground:lab(7.78673% 1.82345 -15.0537);--secondary:lab(16.132% -.318035 -14.6672);--secondary-foreground:lab(98.1434% -.369519 -1.05966);--muted:lab(16.132% -.318035 -14.6672);--muted-foreground:lab(65.5349% -2.25151 -14.5072);--accent:lab(16.132% -.318035 -14.6672);--accent-foreground:lab(98.1434% -.369519 -1.05966);--destructive:lab(63.7053% 60.745 31.3109);--destructive-foreground:lab(98.1434% -.369519 -1.05966);--border:lab(100% 0 0/.1);--input:lab(100% 0 0/.15);--ring:lab(47.7841% -.393182 -10.0268);--chart-1:lab(36.9089% 35.0961 -85.6872);--chart-2:lab(66.9756% -58.27 19.5419);--chart-3:lab(72.7183% 31.8672 97.9407);--chart-4:lab(52.0183% 66.11 -78.2316);--chart-5:lab(56.101% 79.4328 31.4532);--sidebar:lab(7.78673% 1.82345 -15.0537);--sidebar-foreground:lab(98.1434% -.369519 -1.05966);--sidebar-primary:lab(36.9089% 35.0961 -85.6872);--sidebar-primary-foreground:lab(98.1434% -.369519 -1.05966);--sidebar-accent:lab(16.132% -.318035 -14.6672);--sidebar-accent-foreground:lab(98.1434% -.369519 -1.05966);--sidebar-border:lab(100% 0 0/.1);--sidebar-ring:lab(47.7841% -.393182 -10.0268)}}:root{--background:#fef6e4;--foreground:#3d210b;--card:#f3ebd5;--card-foreground:var(--foreground);--primary:#b7281f;--primary-foreground:#fff8e8;--secondary:#e2e0bd;--secondary-foreground:#484b23;--muted:#f0e7d3;--muted-foreground:#70604e;--accent:#d8d8aa;--accent-foreground:#3f401b;--border:#b3a285;--input:var(--border);--ring:#9e9042;--radius:1rem;--reader-known:#2b9f4a;--reader-composed:#488acb;--lesson-character:#efd8aa;--lesson-component:#bae9bb;--lesson-actor:#ffd0cb;--lesson-place:#bae0ff;--lesson-room:#f5cffd;--lesson-word:#a4eae5}@supports (color:color(display-p3 0 0 0)){:root{--background:color(display-p3 .990107 .96677 .902317);--foreground:color(display-p3 .224832 .133493 .0606765);--card:color(display-p3 .945872 .92226 .844323);--primary:color(display-p3 .658901 .210658 .159996);--primary-foreground:color(display-p3 .993938 .973423 .916664);--secondary:color(display-p3 .885442 .880061 .75452);--secondary-foreground:color(display-p3 .285656 .293436 .157117);--muted:color(display-p3 .933926 .908013 .836611);--muted-foreground:color(display-p3 .430467 .379069 .313632);--accent:color(display-p3 .847229 .845501 .685838);--accent-foreground:color(display-p3 .246869 .249338 .126616);--border:color(display-p3 .691705 .638471 .535085);--ring:color(display-p3 .61159 .566909 .306144);--reader-known:color(display-p3 .316444 .615069 .327193);--reader-composed:color(display-p3 .347076 .536014 .776909);--lesson-character:color(display-p3 .920938 .850883 .687944);--lesson-component:color(display-p3 .767833 .910002 .747026);--lesson-actor:color(display-p3 1.01369 .808059 .780774);--lesson-place:color(display-p3 .751274 .874249 1.00465);--lesson-room:color(display-p3 .935617 .815634 .981582);--lesson-word:color(display-p3 .703582 .911052 .895551)}}@supports (color:lab(0% 0 0)){:root{--background:lab(97.2106% .383317 9.63754);--foreground:lab(16.2085% 12.5775 19.4097);--card:lab(93.1893% -.0233352 11.6048);--primary:lab(41.409% 56.1532 42.7309);--primary-foreground:lab(97.7785% .317305 8.4661);--secondary:lab(88.7549% -3.72159 17.7055);--secondary-foreground:lab(30.8533% -6.08769 23.3352);--muted:lab(92.0018% .464767 10.8212);--muted-foreground:lab(41.9883% 4.58598 13.0798);--accent:lab(85.3814% -5.23952 22.5925);--accent-foreground:lab(26.1518% -4.86484 21.8197);--border:lab(67.6217% 3.01567 17.5678);--ring:lab(59.8821% -1.88863 42.4161);--reader-known:lab(57.884% -47.1709 34.5305);--reader-composed:lab(55.4574% -6.04308 -40.6575);--lesson-character:lab(87.4343% 3.01316 25.776);--lesson-component:lab(88.2654% -22.361 17.6552);--lesson-actor:lab(87.6958% 23.1509 12.621);--lesson-place:lab(87.2049% -7.72509 -21.884);--lesson-room:lab(87.3757% 19.8246 -17.8285);--lesson-word:lab(88.0386% -23.4559 -4.77479)}}.dark{--background:#1d160e;--foreground:#f7eed8;--card:#2a2316;--card-foreground:var(--foreground);--primary:#b3241b;--primary-foreground:#fff8e8;--secondary:#312f16;--secondary-foreground:#bfbf82;--muted:#2b2218;--muted-foreground:#aea48c;--accent:#3d3920;--accent-foreground:#d4d19c;--border:#524632;--input:var(--border);--ring:#b6b16d;--reader-known:#48c063;--reader-composed:#5aa3ec;--lesson-character:#3c2e0f;--lesson-component:#1d381e;--lesson-actor:#4a2321;--lesson-place:#193348;--lesson-room:#3d2742;--lesson-word:#063836}@supports (color:color(display-p3 0 0 0)){.dark{--background:color(display-p3 .108742 .0857211 .0601439);--foreground:color(display-p3 .961769 .934338 .854382);--card:color(display-p3 .15993 .138273 .0923672);--primary:color(display-p3 .645809 .197325 .148295);--primary-foreground:color(display-p3 .993938 .973423 .916664);--secondary:color(display-p3 .191879 .183484 .0989521);--secondary-foreground:color(display-p3 .749065 .748682 .538236);--muted:color(display-p3 .164072 .135308 .0985589);--muted-foreground:color(display-p3 .67446 .64368 .559586);--accent:color(display-p3 .23505 .222167 .136193);--accent-foreground:color(display-p3 .829392 .819805 .633571);--border:color(display-p3 .313527 .275007 .206119);--ring:color(display-p3 .711021 .696576 .459799);--reader-known:color(display-p3 .420474 .744944 .428968);--reader-composed:color(display-p3 .422814 .633144 .901609);--lesson-character:color(display-p3 .226294 .182987 .0797109);--lesson-component:color(display-p3 .138953 .215353 .128744);--lesson-actor:color(display-p3 .271206 .145623 .132978);--lesson-place:color(display-p3 .121513 .19648 .274903);--lesson-room:color(display-p3 .224924 .155525 .250761);--lesson-word:color(display-p3 .0904408 .216899 .210115)}}@supports (color:lab(0% 0 0)){.dark{--background:lab(7.75613% 2.80686 5.49703);--foreground:lab(94.3404% .351936 12.0013);--card:lab(14.2147% 1.60937 10.0723);--primary:lab(40.2445% 56.1972 43.2075);--primary-foreground:lab(97.7785% .317305 8.4661);--secondary:lab(19.0383% -1.94573 16.2505);--secondary-foreground:lab(76.2337% -6.91655 30.6446);--muted:lab(14.1464% 3.12085 8.71773);--muted-foreground:lab(67.6616% .762105 13.6793);--accent:lab(23.6622% -1.34166 16.2026);--accent-foreground:lab(83.097% -5.06493 26.8992);--border:lab(30.4499% 2.98753 13.8481);--ring:lab(71.5902% -5.76299 35.6861);--reader-known:lab(69.6224% -49.9963 36.3143);--reader-composed:lab(64.717% -6.90389 -44.1055);--lesson-character:lab(20.0432% 3.45136 21.8276);--lesson-component:lab(20.6395% -15.4022 12.5217);--lesson-actor:lab(19.3776% 18.7495 10.5939);--lesson-place:lab(19.865% -4.55484 -16.4567);--lesson-room:lab(19.1665% 14.7163 -12.8798);--lesson-word:lab(20.5283% -16.8984 -3.35992)}}*{letter-spacing:0}body{margin:0;font-family:Nunito,sans-serif}.app-shell{max-width:960px;min-height:100dvh;margin:auto;padding:126px 52px 140px}.app-header{z-index:20;background:var(--background);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;width:min(960px,100%);height:126px;padding:0 52px;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.brand{align-items:center;gap:10px;text-decoration:none;display:flex}.brand img{object-fit:contain;width:104px;height:104px}.brand-word{align-items:center;font-size:38px;font-weight:900;line-height:1;display:grid;position:relative}.brand-name,.brand-shadow{grid-area:1/1}.brand-shadow{color:var(--secondary-foreground);opacity:.22;pointer-events:none;font-family:serif;transform:translateY(-4px)}.brand-shadow .bs-slot{text-align:center;vertical-align:baseline;display:inline-block;overflow:visible}.brand-shadow .bs-x{width:1.87em}.brand-shadow .bs-w{width:2em}.brand-shadow .bs-glyph{font-size:64px;line-height:1}.brand-name{z-index:1;position:relative}.theme-toggle{background:var(--muted);border-radius:50%;width:48px;height:48px}.theme-toggle svg{width:24px;height:24px}.page-content{padding-top:22px}.eyebrow{color:var(--muted-foreground);margin:0 0 10px;font-size:10px;font-weight:800}.page-heading{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}h1{margin:0;font-size:36px;font-weight:900;line-height:1.2}.phase-label{color:var(--muted-foreground);border:1px solid var(--border);border-radius:20px;padding:5px 10px;font-size:11px}.continue-button{border:2px solid var(--foreground);outline:3px solid var(--border);outline-offset:2px;width:100%;height:96px;box-shadow:0 7px 0 var(--muted);border-radius:17px;justify-content:space-between;padding:0 30px;font-size:29px;font-weight:900;display:flex}.continue-button svg{width:36px;height:36px}.study-counts{grid-template-columns:repeat(3,1fr);margin:38px 0 50px;padding:13px 0;display:grid}.study-counts a{flex-direction:column;align-items:center;gap:1px;display:flex}.study-counts a+a{border-left:1px solid var(--border)}.study-counts strong{font-size:46px;font-weight:900;line-height:1.25}.study-counts span{color:var(--muted-foreground);font-size:17px;font-weight:600}.section-heading{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.section-heading h2{margin:0;font-size:25px;font-weight:900}.section-heading>a{color:var(--muted-foreground)}.reader-card{border:2px solid var(--border);background:var(--secondary);border-radius:16px;align-items:center;gap:30px;padding:26px 32px;display:flex}.book-cover{border:3px solid var(--foreground);border-left:12px solid var(--primary);background:var(--card);width:124px;height:160px;box-shadow:3px 5px 0 var(--border);border-radius:5px 8px 8px 5px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:14px;display:flex;transform:rotate(-5deg)}.book-cover>span{font-family:serif;font-size:28px}.book-cover svg{width:40px;height:40px;color:var(--secondary-foreground)}.book-cover small{font-size:9px;font-weight:800}.reader-card h3{margin:0;font-size:25px;font-weight:800;line-height:1.25}.reader-description{color:var(--muted-foreground);margin:10px 0 18px;font-size:14px}.reader-link{color:var(--secondary-foreground);align-items:center;gap:10px;font-size:17px;font-weight:800;display:flex}.home-footnote{text-align:center;color:var(--muted-foreground);margin-top:50px}.home-footnote>span{opacity:.6;font-family:serif;font-size:23px}.home-footnote p{margin-top:10px;font-size:11px}.bottom-nav{border-top:1px solid var(--border);background:var(--background);width:min(960px,100%);padding:14px 40px max(14px,env(safe-area-inset-bottom));z-index:10;grid-template-columns:repeat(5,1fr);gap:8px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{height:72px;color:var(--muted-foreground);border-radius:14px;flex-direction:column;gap:7px;font-size:13px;display:flex}.nav-item svg{width:26px;height:26px}.nav-item.is-active{background:var(--accent);color:var(--accent-foreground);font-weight:800}.empty-section{text-align:center;padding:90px 10px}.empty-section>svg{width:50px;height:50px;color:var(--secondary-foreground);margin:0 auto 25px}.empty-section h2{font-size:23px;font-weight:800}.empty-section p{color:var(--muted-foreground);margin:14px 0 30px}.more-list{margin-top:35px}.more-list>a{border-bottom:1px solid var(--border);border-radius:0;justify-content:flex-start;width:100%;height:76px;font-size:20px}.more-list span{flex:1}.more-list svg{width:24px;height:24px}@media (max-width:600px){.app-shell{padding:92px 23px 110px}.app-header{gap:10px;height:92px;padding:0 23px}.brand{gap:5px}.brand img{width:72px;height:78px}.brand-word{font-size:27px}.brand-shadow{transform:translateY(-3px)}.brand-shadow .bs-glyph{font-size:48px}.theme-toggle{width:38px;height:38px}.theme-toggle svg{width:21px;height:21px}.page-content{padding-top:18px}.eyebrow{font-size:8px}h1{font-size:30px}.page-heading{margin-bottom:27px}.phase-label{padding:4px 7px;font-size:9px}.continue-button{border-radius:13px;gap:10px;height:78px;padding:0 18px;font-size:21px}.continue-button svg{width:27px;height:27px}.study-counts{margin:27px 0 36px}.study-counts strong{font-size:39px}.study-counts span{font-size:13px}.section-heading h2{font-size:22px}.reader-card{gap:21px;padding:23px 18px}.book-cover{border-left-width:9px;gap:10px;width:87px;height:125px}.book-cover>span{font-size:24px}.book-cover svg{width:28px;height:28px}.reader-card h3{font-size:19px}.reader-description{margin:8px 0 14px;font-size:11px}.reader-link{font-size:15px}.home-footnote{margin-top:36px}.bottom-nav{padding:10px 10px max(10px,env(safe-area-inset-bottom));gap:3px}.nav-item{height:62px;padding:5px;font-size:10px}.nav-item svg{width:23px;height:23px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.section-note{color:var(--muted-foreground);margin:0 0 18px;font-size:14px;line-height:1.5}.anchor-group{margin-top:34px}.anchor-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.anchor-row{align-items:center;gap:10px;display:flex}.anchor-key{min-width:44px;font-size:15px;font-weight:900}.anchor-flag{color:var(--secondary-foreground);font-weight:900}.lesson-progress{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;display:flex}.lesson-dot{border:2px solid var(--border);border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-family:serif;font-size:20px;display:flex}.lesson-dot.is-current{border-color:var(--foreground);background:var(--accent);color:var(--accent-foreground)}.lesson-dot.is-done{background:var(--secondary);color:var(--secondary-foreground);opacity:.75}.lesson-progress small{color:var(--muted-foreground);margin-left:auto;font-size:12px}.lesson-card{border:2px solid var(--border);background:var(--card);box-shadow:0 6px 0 var(--border);border-radius:18px;padding:26px 28px}.lesson-glyph{text-align:center;margin-bottom:18px;font-family:serif;font-size:86px;line-height:1}.lesson-card h2{margin:0 0 12px;font-size:24px;font-weight:900}.lesson-readings{color:var(--secondary-foreground);margin:0 0 12px;font-size:20px;font-weight:800}.lesson-mnemonic{margin:0 0 12px;font-size:16px;line-height:1.5}.lesson-parts{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.lesson-parts span{border:1px solid var(--border);border-radius:12px;padding:7px 12px;font-size:13px}.lesson-parts strong{margin-right:6px;font-family:serif;font-size:18px}.lesson-parts .is-familiar{background:var(--secondary);color:var(--secondary-foreground)}.lesson-anchors{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.lesson-anchors>span{flex-direction:column;font-size:15px;font-weight:800;display:flex}.lesson-anchors small{color:var(--muted-foreground);font-size:10px;font-weight:800}.lesson-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.lesson-check{gap:14px;margin-top:22px;display:grid}.lesson-check label{gap:6px;display:grid}.lesson-check span{color:var(--muted-foreground);font-size:13px;font-weight:800}.study-hero{text-align:center;border:2px solid var(--border);background:var(--card);box-shadow:0 6px 0 var(--border);border-radius:20px;padding:24px 20px 28px}.study-hero.is-lesson-item{box-shadow:none;border-bottom:0;border-radius:18px 18px 0 0;flex-direction:column;justify-content:center;min-height:230px;padding-top:20px;display:flex}.study-pinyin{color:var(--secondary-foreground);margin:0 0 6px;font-size:22px;font-weight:900}.study-glyph{margin:0;font-family:serif;font-size:110px;line-height:1.05}.study-glyph.is-text{font-family:inherit;font-size:56px;font-weight:900}.study-meaning{margin:10px 0 0;font-size:24px;font-weight:900}.study-meaning.is-hidden{filter:blur(9px);-webkit-user-select:none;user-select:none}.study-alt{color:var(--muted-foreground);margin:8px 0 0;font-size:13px}.lesson-topline{justify-content:space-between;align-items:center;gap:14px;margin:0 0 10px;display:flex}.lesson-meta{min-width:0;color:var(--muted-foreground);align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.lesson-meta>span{white-space:nowrap}.lesson-kind{border:1px solid var(--border);color:var(--secondary-foreground);opacity:.82;border-radius:999px;padding:3px 7px}.cancel-lesson{color:var(--muted-foreground);opacity:.72;flex-shrink:0;font-size:11px}.study-breakdown{border:2px solid var(--border);background:var(--secondary);color:var(--secondary-foreground);border-radius:18px;gap:16px;margin-top:18px;padding:18px 20px;display:grid}.breakdown-block>small{text-transform:uppercase;color:var(--muted-foreground);margin-bottom:8px;font-size:10px;font-weight:800;display:block}.chip-row{flex-wrap:wrap;gap:10px;display:flex}.chip-row>span{border:1px solid var(--border);background:var(--card);color:var(--foreground);border-radius:12px;align-items:center;gap:7px;padding:7px 12px;font-size:13px;display:inline-flex}.chip-row strong{font-size:15px;font-weight:900}.chip-row .is-familiar,.chip-row .is-available{background:var(--accent);color:var(--accent-foreground)}.study-workspace{border:2px solid var(--border);background:var(--secondary);border-radius:0 0 18px 18px;overflow:hidden}.study-tabs{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--muted);flex-wrap:wrap;gap:0;display:flex}.study-tabs button{border:0;border-right:1px solid var(--border);min-width:90px;color:var(--muted-foreground);background:0 0;border-radius:0;flex:1;padding:11px 14px;font-size:13px;font-weight:800}.study-tabs button:last-child{border-right:0}.study-tabs button.is-active{background:var(--accent);color:var(--accent-foreground);box-shadow:inset 0 -3px 0 var(--secondary-foreground)}.study-panel{min-height:180px;padding:22px}.study-panel .study-breakdown{background:0 0;border:0;border-radius:0;margin:0;padding:0}.mnemonic-box{gap:12px;display:grid}.study-row{flex-wrap:wrap;gap:10px;display:flex}.study-bar{z-index:5;background:var(--background);border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;margin-top:26px;padding:14px 0;display:flex;position:sticky;bottom:100px}.study-bar.is-navigation{z-index:9;background:var(--border);border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:2px;margin:0;padding:0;display:grid;position:fixed;bottom:101px;left:0;right:0}.lesson-arrow{background:var(--primary);height:58px;color:var(--primary-foreground);border:0;border-radius:0}.lesson-arrow:hover{background:var(--primary);color:var(--primary-foreground);filter:brightness(1.06)}.lesson-arrow:disabled{background:var(--muted);color:var(--muted-foreground);opacity:.48}.lesson-arrow.is-left{grid-column:1;justify-content:flex-start;padding-left:max(24px,50vw - 428px)}.lesson-arrow.is-right{grid-column:2;justify-content:flex-end;padding-right:max(24px,50vw - 428px)}.review-list{gap:12px;display:grid}.review-row{border-bottom:1px solid var(--border);grid-template-columns:64px minmax(120px,1fr) minmax(240px,auto);align-items:center;gap:16px;padding:16px 0;display:grid}.review-glyph{text-align:center;font-family:serif;font-size:42px}.review-row h2{margin:0;font-size:18px;font-weight:900}.review-row p{color:var(--muted-foreground);margin:3px 0 0;font-size:12px}.review-times{color:var(--muted-foreground);gap:5px;font-size:12px;display:grid}.review-times span{align-items:center;gap:6px;display:flex}.review-times svg{width:14px;height:14px}@media (max-width:600px){.study-bar,.study-bar.is-navigation{bottom:82px}.lesson-arrow{height:54px}.lesson-arrow.is-left{padding-left:23px}.lesson-arrow.is-right{padding-right:23px}.study-glyph{font-size:88px}.study-glyph.is-text{font-size:42px}.study-meaning{font-size:20px}.study-pinyin{font-size:18px}.study-panel{padding:18px 16px}.lesson-meta{gap:5px;font-size:9px}.cancel-lesson{padding-inline-start:6px;padding-inline-end:6px;font-size:10px}.review-row{grid-template-columns:54px 1fr}.review-times{grid-column:1/-1;padding-left:70px}}.review-modes button{height:52px}.review-card{border:2px solid var(--border);background:var(--card);border-radius:18px;overflow:hidden}.review-prompt{text-align:center;background:var(--secondary);border-bottom:1px solid var(--border);padding:24px}.review-prompt h2{margin:0 0 8px;font-size:28px}.review-prompt p{color:var(--muted-foreground);margin:8px 0 0}.review-main-glyph{font-family:serif;font-size:104px;line-height:1.15;display:block}.review-answer,.review-reveal,.review-feedback{gap:12px;padding:22px;display:grid}.review-reveal{text-align:center}.review-grade{grid-template-columns:1fr 1fr;gap:12px;display:grid}.review-feedback{border-top:1px solid var(--border)}.review-feedback strong{font-size:22px}.review-feedback.is-wrong{background:var(--destructive);color:var(--destructive-foreground)}.writing-area{margin-top:18px;position:relative}.writing-area .writing-guide{height:260px;color:var(--foreground);opacity:.13;pointer-events:none;-webkit-user-select:none;user-select:none;place-items:center;font-family:serif;font-size:190px;line-height:1;display:grid;position:absolute;top:0;left:0;right:0}.lesson-trace{margin-top:8px}.lesson-trace>small{color:var(--muted-foreground);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.lesson-trace .writing-area .writing-guide{height:200px;font-size:150px}.lesson-trace .writing-area canvas{height:200px}.writing-area canvas{border:2px solid var(--border);background-color:var(--background);background-image:linear-gradient(to right,transparent calc(50% - .5px),var(--border) calc(50% - .5px),var(--border) calc(50% + .5px),transparent calc(50% + .5px)),linear-gradient(to bottom,transparent calc(50% - .5px),var(--border) calc(50% - .5px),var(--border) calc(50% + .5px),transparent calc(50% + .5px));touch-action:none;border-radius:8px;width:100%;height:260px;display:block}.writing-area>div{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.lesson-reference-layout{margin:-22px -52px 0;padding-bottom:150px}.lesson-reference-layout .lesson-topline{background:var(--secondary);border-bottom:0;margin:0;padding:16px 28px}.lesson-reference-layout .lesson-meta{flex-wrap:wrap}.lesson-reference-layout .study-hero.is-lesson-item{border:0;border-bottom:1px solid var(--border);background:var(--secondary);border-radius:0;gap:12px;min-height:270px;padding:24px 28px 38px}.lesson-reference-layout .study-glyph{font-size:116px}.lesson-reference-layout .study-glyph.is-text{overflow-wrap:anywhere;font-size:48px}.lesson-reference-layout .study-meaning{font-size:30px}.lesson-reference-layout .study-workspace{background:var(--background);border:0;border-radius:0;overflow:visible}.lesson-reference-layout .study-tabs{background:var(--background);border-top:0;flex-wrap:nowrap;justify-content:center;gap:8px;padding:20px 24px}.lesson-reference-layout .study-tabs button{min-width:0;height:40px;box-shadow:none;border:0;border-radius:8px;flex:0 auto;padding:8px 14px;font-size:16px;font-weight:500;position:relative}.lesson-reference-layout .study-tabs button.is-active:after{content:"";background:var(--background);border-left:1px solid var(--border);border-top:1px solid var(--border);width:18px;height:18px;position:absolute;bottom:-29px;left:50%;transform:translate(-50%)rotate(45deg)}.lesson-reference-layout .study-panel{border-bottom:1px solid var(--border);min-height:340px;padding:34px 52px 36px}.lesson-section-title{border-bottom:1px solid var(--border);margin:0 0 22px;padding-bottom:12px;font-size:28px;font-weight:500;line-height:1.3}.lesson-mnemonic-prose{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:19px;line-height:1.85}.lesson-edit-row{justify-content:flex-end;display:flex}.lesson-name-section{margin-top:24px}.lesson-name-section dt{color:var(--muted-foreground);margin-top:18px;font-size:17px}.lesson-name-section dd{margin:4px 0 0;font-size:21px;font-weight:700}.lesson-examples{flex-wrap:wrap;gap:20px 28px;display:flex}.lesson-examples>span{overflow-wrap:anywhere;flex:0 auto;align-items:center;gap:12px;max-width:100%;font-size:19px;display:flex}.lesson-examples strong{white-space:nowrap;border:1px solid var(--border);background:var(--secondary);min-width:54px;height:auto;min-height:58px;color:var(--secondary-foreground);border-radius:5px;flex:none;justify-content:center;align-items:center;padding:5px 10px;font-family:serif;font-size:34px;display:inline-flex}.lesson-reference-layout .lesson-check input{border-radius:4px;height:54px;font-size:19px}.lesson-reference-layout .study-breakdown{font-size:17px}.lesson-reference-layout .study-bar.is-navigation{width:min(960px,100%);left:50%;right:auto;transform:translate(-50%)}@media (max-width:600px){.lesson-reference-layout{margin:-18px -23px 0}.lesson-reference-layout .lesson-topline{gap:6px;padding:12px 18px}.lesson-reference-layout .study-hero.is-lesson-item{min-height:230px;padding:16px 22px 30px}.lesson-reference-layout .study-glyph{font-size:100px}.lesson-reference-layout .study-glyph.is-text{font-size:38px}.lesson-reference-layout .study-meaning{font-size:26px}.lesson-reference-layout .study-tabs{gap:2px;padding:18px 10px}.lesson-reference-layout .study-tabs button{padding:8px 9px;font-size:13px}.lesson-reference-layout .study-tabs button.is-active:after{bottom:-27px}.lesson-reference-layout .study-panel{min-height:300px;padding:30px 24px}.lesson-section-title{font-size:26px}.lesson-mnemonic-prose{font-size:17px}.lesson-examples{gap:16px}.lesson-examples>span{font-size:17px}}.progress-totals{border-bottom:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:12px;padding:20px 0;display:grid}.progress-totals>div{text-align:center;flex-direction:column;gap:6px;display:flex}.progress-totals strong{font-size:34px}.progress-totals span{color:var(--muted-foreground);font-size:13px}.progress-section{border-bottom:1px solid var(--border);padding:26px 0}.progress-section h2{margin-bottom:16px;font-size:23px;font-weight:800}.progress-table{border-collapse:collapse;width:100%;font-size:14px}.progress-table th,.progress-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 6px}.progress-table thead{color:var(--muted-foreground)}@media (max-width:600px){.progress-totals{grid-template-columns:repeat(2,1fr)}.progress-table{font-size:12px}}.anchor-pen{width:22px;height:22px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;margin-left:6px;display:inline-flex}.anchor-pen:hover{background:var(--accent);color:var(--accent-foreground)}.anchor-pen svg{width:13px;height:13px}.chip-row>span.anchor-edit{flex-wrap:wrap;flex:320px;gap:8px}.chip-row>span.anchor-edit input{flex:140px;min-width:120px;height:34px}.lesson-card{border:1px solid var(--border);background:var(--card);border-radius:14px;gap:12px;padding:18px 20px;display:grid}.lesson-card+.lesson-card{margin-top:18px}.lesson-card.is-meaning{background:var(--secondary);color:var(--secondary-foreground)}.lesson-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-card-head small{letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);font-size:11px;font-weight:800}.lesson-card.is-meaning .lesson-card-head small{color:inherit;opacity:.75}.lesson-meaning-list{margin:0}.lesson-meaning-list dt{color:var(--muted-foreground);margin-top:10px;font-size:13px}.lesson-card.is-meaning .lesson-meaning-list dt{color:inherit;opacity:.7}.lesson-meaning-list dd{margin:2px 0 0;font-size:21px;font-weight:700}.queue-search{gap:10px;margin:18px 0 6px;display:flex}.queue-search input{flex:1}.queue-section{border-bottom:1px solid var(--border);padding:20px 0}.queue-section h2{margin-bottom:12px;font-size:21px;font-weight:800}.queue-list{gap:10px;display:grid}.queue-row{border:1px solid var(--border);background:var(--card);border-radius:12px;grid-template-columns:56px 1fr auto;align-items:center;gap:14px;padding:10px 14px;display:grid}.queue-row>strong{background:var(--secondary);height:48px;color:var(--secondary-foreground);border-radius:8px;place-items:center;font-size:30px;display:grid}.queue-row>div{gap:2px;min-width:0;display:grid}.queue-row span{overflow-wrap:anywhere}.queue-row small,.queue-tag{color:var(--muted-foreground);font-size:12px}.reader-title-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.reader-title-row h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:22px;overflow:hidden}.reader-chapter-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:6px;display:grid}.reader-chapter-row>select{width:100%;min-width:0}.reader-stage{min-width:0;margin-top:8px}.reader-page{border:2px solid var(--border);background:var(--card);overflow-wrap:anywhere;border-radius:12px;min-height:440px;padding:24px;font-family:serif;font-size:28px;line-height:1.8;overflow:hidden}.reader-glyph{min-width:1.36em;height:1.55em;color:inherit;font:inherit;vertical-align:middle;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:6px;place-items:center;margin:0;padding:0;line-height:1;display:inline-grid}.reader-glyph:hover{background:var(--accent);color:var(--accent-foreground);outline:2px solid var(--ring);outline-offset:-2px}.reader-glyph:focus-visible{background:var(--accent);color:var(--accent-foreground);outline:2px solid var(--ring);outline-offset:-2px}.reader-mark{white-space:pre-wrap}.reader-break{height:.35em;display:block}.reader-pager{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;margin-top:12px;display:grid}.reader-pager>button{width:44px;height:44px}.reader-pager>span{text-align:center;min-width:0;color:var(--muted-foreground);font-size:13px;font-weight:800}.reader-lookup{border-radius:12px;width:calc(100% - 32px);max-width:430px;max-height:min(620px,100dvh - 32px);overflow-y:auto}.reader-lookup-glyph{text-align:center;font-family:serif;font-size:72px;line-height:1.1}.reader-lookup .reader-lookup-row{border:1px solid var(--border);background:var(--card);border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.reader-character-detail{gap:16px;display:grid}.reader-character-detail>div{border-bottom:1px solid var(--border);gap:3px;padding-bottom:12px;display:grid}.reader-character-detail strong{font-size:20px}.reader-detail-label{text-transform:uppercase;color:var(--muted-foreground);font-size:11px;font-weight:800}.reader-glyph.is-word{min-width:0;box-shadow:inset 0 -2px 0 var(--border);padding:0 .12em}.reader-side-arrow{display:none}.reader-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.reader-word-toggle{color:var(--muted-foreground);align-items:center;gap:8px;margin:0;font-size:13px;font-weight:700;display:flex}.reader-word-toggle input{width:18px;height:18px;accent-color:var(--primary)}.reader-glyph-chips{gap:6px;display:grid}.reader-glyph-chips>div{flex-wrap:wrap;gap:8px;display:flex}.reader-glyph-chips button{border:2px solid var(--border);background:var(--card);border-radius:10px;min-width:52px;height:52px;font-family:serif;font-size:30px;line-height:1}.reader-glyph-chips button:hover{background:var(--accent);color:var(--accent-foreground)}@media (max-width:767px){.reader-page{min-height:360px;padding:14px 10px;font-size:28px;line-height:1.6}.reader-glyph{min-width:1.25em;height:1.42em}.reader-lookup{padding:20px}.reader-lookup-glyph{font-size:64px}}.pool-filters{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.pool-list{gap:10px;margin-top:12px;display:grid}.pool-card{border:2px solid var(--border);background:var(--card);border-radius:12px;padding:12px}.pool-card-head{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;display:grid}.pool-glyph{font-family:serif;font-size:40px;line-height:1.1}.pool-card-text{gap:3px;min-width:0;display:grid}.pool-kind{text-transform:uppercase;color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;font-weight:800;display:flex}.pool-verified{color:var(--primary);align-items:center;gap:3px;font-style:normal;display:inline-flex}.pool-unverified{color:var(--destructive);font-style:normal}.pool-pinyin,.pool-mnemonic,.pool-note{color:var(--muted-foreground);font-size:13px}.pool-card-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.admin-reports{gap:10px;display:grid}.admin-report{border:2px solid var(--border);background:var(--card);border-radius:12px;gap:8px;padding:12px;font-size:14px;display:grid}.header-actions{align-items:center;gap:10px;display:flex}.header-more{background:var(--muted);border-radius:50%;width:48px;height:48px;position:relative}.header-more svg{width:24px;height:24px}.header-more.is-active{background:var(--accent);color:var(--accent-foreground)}.header-dot{background:var(--primary);border-radius:50%;width:10px;height:10px;position:absolute;top:7px;right:7px}.cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-day{aspect-ratio:1;border:1px solid var(--border);background:var(--card);border-radius:10px;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.cal-day.is-empty{background:0 0;border:none}.cal-day.has-task{background:var(--accent);color:var(--accent-foreground);border-color:var(--accent)}.cal-day.is-selected{outline:2px solid var(--primary);outline-offset:1px}.cal-head{color:var(--muted-foreground);text-align:center;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;font-size:11px;font-weight:800;display:grid}.cloze-blank{border-bottom:2px dashed var(--primary);justify-content:center;min-width:64px;padding:0 6px;font-weight:800;display:inline-flex}.tone-glyph{border-radius:6px;padding:0 2px;font-size:28px;line-height:1.4}.tone-glyph.is-set{background:var(--accent);color:var(--accent-foreground)}@media (max-width:600px){.header-more{width:38px;height:38px}.header-more svg{width:21px;height:21px}.header-actions{gap:6px}}.review-stage{margin:-22px -52px 0;padding-bottom:26px}.review-banner{background:var(--primary);min-height:190px;color:var(--primary-foreground);text-align:center;place-items:center;padding:30px 18px 22px;display:grid;position:relative}.review-banner.is-recall{background:var(--accent);color:var(--accent-foreground);min-height:104px;padding:20px 16px}.review-banner.is-recall .review-main-glyph{font-size:84px}.review-banner-count{opacity:.8;font-size:13px;font-weight:600;position:absolute;top:10px;right:14px}.review-banner-title{font-size:26px;font-weight:700;line-height:1.2}.review-banner .review-main-glyph{font-size:104px}.review-question{text-align:center;background:var(--secondary);color:var(--secondary-foreground);border-bottom:1px solid var(--border);padding:10px 16px;font-size:18px;font-weight:600}.review-entry{grid-template-columns:1fr auto;gap:10px;padding:12px 18px;display:grid}.review-entry input{text-align:center;height:50px;font-size:18px}.review-entry button{width:50px;height:50px}.review-unknown{justify-content:center;padding:0 18px 6px;display:flex}.review-writing{padding:0 18px}.review-stage .writing-area{margin-top:6px}.review-stage .writing-area canvas{height:min(300px,34vh)}.review-stage .review-answer,.review-stage .review-reveal,.review-stage .review-feedback{gap:10px;padding:14px 18px}.review-stage .review-reveal p{margin:0;font-size:18px;font-weight:600}.review-stage{max-width:1200px;margin-left:auto;margin-right:auto;padding:0 clamp(12px,2vw,28px) 26px}.review-banner{border:2px solid var(--border);background:var(--card);color:var(--foreground);min-height:220px;box-shadow:none;border-radius:18px 18px 0 0}.review-banner.is-recall{background:var(--secondary);color:var(--secondary-foreground)}.review-banner .review-main-glyph{font-size:clamp(88px,10vw,118px);line-height:1.1}.review-question{border:2px solid var(--border);background:var(--muted);border-top:0;border-bottom:0}.review-stage .review-entry,.review-stage .review-reveal,.review-stage .review-writing,.review-stage .lesson-trace,.review-stage .review-unknown,.review-stage .review-answer{background:var(--secondary);border-left:2px solid var(--border);border-right:2px solid var(--border)}.review-stage .review-feedback{border:2px solid var(--border);border-radius:0 0 18px 18px}.review-pending{text-align:right;background:var(--card);color:var(--muted-foreground);z-index:1;border-radius:8px;margin:0;padding:6px 10px;font-size:13px;font-weight:700;position:absolute;top:14px;right:18px}.review-stage{position:relative}.review-stage .review-banner{background:var(--lesson-character);color:var(--foreground);box-shadow:0 6px 0 var(--border)}.review-stage .review-banner.is-recall{background:var(--lesson-word);color:var(--foreground)}.review-stage .review-question{background:var(--card);font-weight:800}.review-stage .review-entry,.review-stage .review-reveal,.review-stage .review-writing,.review-stage .lesson-trace,.review-stage .review-unknown,.review-stage .review-answer{background:var(--card)}.review-modes{grid-template-columns:1fr;gap:14px;margin-bottom:26px;display:grid}.review-mode{text-align:left;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:88px;padding:0 24px;font-size:24px;font-weight:800;height:auto!important;display:grid!important}.review-mode svg{width:28px;height:28px}.review-mode em{opacity:.85;font-size:26px;font-style:normal;font-weight:900}.review-mode.is-recognition{background:var(--primary);color:var(--primary-foreground)}.review-mode.is-recall{background:var(--accent);color:var(--accent-foreground)}@media (max-width:600px){.review-stage{margin:0;padding:0 0 20px}.review-banner{min-height:150px;padding:24px 14px 18px}.review-banner .review-main-glyph{font-size:84px}.review-banner-title{font-size:22px}.review-question{padding:8px 14px;font-size:16px}.review-entry{padding:10px 14px}.review-writing{padding:0 14px}.review-stage .writing-area canvas{height:clamp(180px,30vh,260px)}.review-mode{min-height:78px;font-size:21px}}.class-chat-fab{z-index:40;background:var(--primary);width:54px;height:54px;color:var(--primary-foreground);cursor:pointer;border:0;border-radius:999px;place-items:center;display:grid;position:fixed;bottom:92px;right:16px;box-shadow:0 10px 24px #00000038}.class-chat-fab svg{width:24px;height:24px}.class-chat-dot{background:var(--destructive);min-width:20px;height:20px;color:var(--destructive-foreground);border-radius:999px;place-items:center;padding:0 5px;font-size:11px;font-weight:800;display:grid;position:absolute;top:-2px;right:-2px}.class-chat-panel{z-index:41;background:var(--card);width:min(360px,100vw - 32px);max-height:min(70vh,560px);color:var(--card-foreground);border:1px solid var(--border);border-radius:18px;flex-direction:column;display:flex;position:fixed;bottom:92px;right:16px;overflow:hidden;box-shadow:0 18px 44px #00000040}.class-chat-panel header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 10px 10px 16px;display:flex}.class-chat-list{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.class-chat-empty{color:var(--muted-foreground);text-align:center;margin:auto;font-size:13px}.class-chat-msg{background:var(--muted);max-width:82%;color:var(--foreground);border-radius:14px;padding:8px 12px}.class-chat-msg small{opacity:.7;margin-bottom:2px;font-size:11px;font-weight:700;display:block}.class-chat-msg p{white-space:pre-wrap;word-break:break-word;margin:0;font-size:14px}.class-chat-msg.is-mine{background:var(--primary);color:var(--primary-foreground);align-self:flex-end}.class-chat-emoji{border-top:1px solid var(--border);flex-wrap:wrap;gap:4px;padding:8px 12px;display:flex}.class-chat-emoji button{cursor:pointer;background:0 0;border:0;font-size:20px;line-height:1}.class-chat-compose{border-top:1px solid var(--border);align-items:center;gap:6px;padding:8px;display:flex}.live-topline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.live-meta{color:var(--muted-foreground);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.live-dot{background:var(--destructive);border-radius:999px;width:9px;height:9px;animation:1.4s infinite live-pulse}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.25}}.live-pulse{animation:2s infinite live-pulse}.live-timer{font-variant-numeric:tabular-nums;color:var(--foreground);align-items:center;gap:4px;font-weight:800;display:inline-flex}.live-timer.is-over{color:var(--destructive)}.live-title{margin-top:10px}.live-console{border:1px solid var(--border);background:var(--card);border-radius:16px;flex-direction:column;gap:10px;margin-top:16px;padding:14px;display:flex}.live-console-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.live-timer-input{align-items:center;gap:6px;font-size:13px;display:inline-flex}.live-timer-input input{text-align:center;width:64px}.live-tasklist{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.live-tasklist li{border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.live-tasklist li.is-current{border-color:var(--primary);background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.live-tasklist li.is-current{background:color-mix(in oklab,var(--primary) 10%,transparent)}}.live-tasklist small{color:var(--muted-foreground);font-size:12px;display:block}.live-stage{flex-direction:column;gap:12px;margin-top:18px;display:flex}.live-stage-label{color:var(--muted-foreground);margin:0;font-size:13px;font-weight:700}.live-answers{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.live-answers li{border:1px solid var(--border);border-radius:12px;padding:10px 12px}.live-answers li.is-done{border-color:var(--primary)}.live-answer-head{justify-content:space-between;align-items:center;font-size:14px;display:flex}.live-board{flex-direction:column;gap:18px;margin-top:20px;display:flex}.live-podium{justify-content:center;align-items:flex-end;gap:12px;display:flex}.live-podium-slot{flex-direction:column;align-items:center;gap:4px;width:96px;display:flex}.live-podium-medal{font-size:28px}.live-podium-name{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:96px;font-size:13px;font-weight:700;overflow:hidden}.live-podium-bar{background:var(--primary);width:100%;color:var(--primary-foreground);border-radius:14px 14px 0 0;place-items:center;font-size:20px;font-weight:900;display:grid}.live-podium-slot:nth-child(2) .live-podium-bar{background:var(--accent);color:var(--accent-foreground)}.live-rest{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.live-rest li{border:1px solid var(--border);border-radius:10px;justify-content:space-between;padding:8px 12px;font-size:14px;display:flex}.suggestion-box{border:2px solid var(--border);background:var(--card);border-radius:20px;gap:10px;margin-top:22px;padding:16px;display:grid}.suggestion-box h2{align-items:center;gap:8px;margin:0;font-size:15px;font-weight:700;display:flex}.suggestion-box h2 svg{width:18px;height:18px}.suggestion-box button{justify-self:start}.stage-row{border:2px solid var(--border);background:var(--card);border-radius:16px;margin-bottom:8px}.stage-row>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-weight:600;list-style:none;display:flex}.stage-row>summary::-webkit-details-marker{display:none}.stage-row .stage-counts{color:var(--muted-foreground);font-size:12px;font-weight:500}.stage-body{gap:10px;padding:0 14px 14px;display:grid}.stage-chips span{text-align:center;border:1px solid var(--border);border-radius:8px;min-width:34px;padding:4px 6px;font-size:18px;line-height:1.2}:root{--fam-red:#f47b74;--fam-orange:#f8a052;--fam-yellow:#ecd065;--fam-green:#65c67d;--fam-cyan:#4fccd9}@supports (color:color(display-p3 0 0 0)){:root{--fam-red:color(display-p3 .896284 .507943 .470911);--fam-orange:color(display-p3 .923255 .643297 .378319);--fam-yellow:color(display-p3 .906017 .819572 .460234);--fam-green:color(display-p3 .493239 .769272 .518088);--fam-cyan:color(display-p3 .449833 .787755 .840457)}}@supports (color:lab(0% 0 0)){:root{--fam-red:lab(66.0576% 46.9408 26.6951);--fam-orange:lab(73.9462% 28.6532 53.7325);--fam-yellow:lab(84.2796% .720114 55.6351);--fam-green:lab(72.7833% -42.0593 27.4982);--fam-cyan:lab(75.4392% -32.72 -17.4129)}}.dark{--fam-red:#bf534e;--fam-orange:#be7125;--fam-yellow:#b09733;--fam-green:#3d8e53;--fam-cyan:#0f919c}@supports (color:color(display-p3 0 0 0)){.dark{--fam-red:color(display-p3 .697711 .352059 .323582);--fam-orange:color(display-p3 .702879 .455956 .212631);--fam-yellow:color(display-p3 .672529 .595441 .271197);--fam-green:color(display-p3 .32435 .548774 .3466);--fam-cyan:color(display-p3 .258099 .559806 .605834)}}@supports (color:lab(0% 0 0)){.dark{--fam-red:lab(49.902% 43.9448 25.4021);--fam-orange:lab(55.3818% 27.3072 52.6415);--fam-yellow:lab(63.3163% 1.37699 53.4725);--fam-green:lab(52.7991% -36.1448 23.7337);--fam-cyan:lab(54.4642% -29.578 -15.7508)}}.reader-glyph[class*=\ fam-]{border-radius:6px}.reader-glyph.fam-red{background:var(--fam-red)}@supports (color:color-mix(in lab, red, red)){.reader-glyph.fam-red{background:color-mix(in oklab,var(--fam-red) 42%,transparent)}}.reader-glyph.fam-orange{background:var(--fam-orange)}@supports (color:color-mix(in lab, red, red)){.reader-glyph.fam-orange{background:color-mix(in oklab,var(--fam-orange) 42%,transparent)}}.reader-glyph.fam-yellow{background:var(--fam-yellow)}@supports (color:color-mix(in lab, red, red)){.reader-glyph.fam-yellow{background:color-mix(in oklab,var(--fam-yellow) 46%,transparent)}}.reader-glyph.fam-green{background:var(--fam-green)}@supports (color:color-mix(in lab, red, red)){.reader-glyph.fam-green{background:color-mix(in oklab,var(--fam-green) 40%,transparent)}}.reader-glyph.fam-cyan{background:var(--fam-cyan)}@supports (color:color-mix(in lab, red, red)){.reader-glyph.fam-cyan{background:color-mix(in oklab,var(--fam-cyan) 40%,transparent)}}.reader-glyph.fam-none{background:0 0}.reader-glyph.fam-unknown{background:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.reader-glyph.fam-unknown{background:color-mix(in oklab,var(--muted-foreground) 13%,transparent)}}.reader-glyph.is-absent{position:relative}.reader-glyph.is-absent:after{content:"×";color:#d73431;color:color(display-p3 .777573 .262988 .226453);color:lab(49.2966% 62.8465 43.054);pointer-events:none;font-size:.34em;font-weight:800;line-height:1;position:absolute;top:-.05em;right:.02em}.reader-legend{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;font-size:12px;font-weight:700;display:flex}.reader-legend i{vertical-align:-3px;border-radius:5px;width:16px;height:16px;margin-right:5px;display:inline-block}.reader-legend .lvl-red{background:var(--fam-red)}@supports (color:color-mix(in lab, red, red)){.reader-legend .lvl-red{background:color-mix(in oklab,var(--fam-red) 42%,transparent)}}.reader-legend .lvl-orange{background:var(--fam-orange)}@supports (color:color-mix(in lab, red, red)){.reader-legend .lvl-orange{background:color-mix(in oklab,var(--fam-orange) 42%,transparent)}}.reader-legend .lvl-yellow{background:var(--fam-yellow)}@supports (color:color-mix(in lab, red, red)){.reader-legend .lvl-yellow{background:color-mix(in oklab,var(--fam-yellow) 46%,transparent)}}.reader-legend .lvl-green{background:var(--fam-green)}@supports (color:color-mix(in lab, red, red)){.reader-legend .lvl-green{background:color-mix(in oklab,var(--fam-green) 40%,transparent)}}.reader-legend .lvl-word{background:var(--fam-cyan)}@supports (color:color-mix(in lab, red, red)){.reader-legend .lvl-word{background:color-mix(in oklab,var(--fam-cyan) 40%,transparent)}}.reader-legend .lvl-unknown{background:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.reader-legend .lvl-unknown{background:color-mix(in oklab,var(--muted-foreground) 13%,transparent)}}.reader-level{border-top:1px solid var(--border);gap:8px;padding-top:12px;display:grid}.reader-level-head{justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.reader-level-warning{color:var(--muted-foreground);font-size:11px}.known-roster-tools{gap:8px;display:grid}.known-roster-bulk{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.known-roster-cell{gap:2px;min-width:0;display:grid}.known-roster-pick{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.known-roster-only-desktop{display:none}@media (min-width:768px){.known-roster-only-desktop{display:inline}.known-roster-only-mobile{display:none}}.live-viewswitch{gap:8px;margin:10px 0 14px;display:flex}.brand{flex:0 auto;min-width:0;margin-left:-10px;padding-right:14px}.brand-word{padding-right:6px}.header-actions{flex:none}.app-header{gap:28px}@media (max-width:600px){.app-header{gap:14px}.brand{margin-left:-12px;padding-right:14px}}.cal-block{border:1px solid var(--border);background:var(--card);border-radius:16px;overflow:hidden}.cal-block-top{padding:16px}.cal-block-tasks{border-top:0;padding:0 16px 16px}.cal-block-tasks>ul{gap:8px;display:grid}.cal-block-tasks>ul>li>button{text-align:left;border:1px solid var(--border);background:var(--background);border-radius:12px;width:100%;padding:10px 14px}@keyframes xw-live-glow{0%,to{background:0 0;box-shadow:0 0 #0000}50%{box-shadow:0 0 0 3px var(--ring);background:var(--accent)}}.nav-item.is-live{animation:2.2s ease-in-out infinite xw-live-glow}.live-toast{left:50%;bottom:calc(112px + env(safe-area-inset-bottom));z-index:40;border:2px solid var(--primary);background:var(--card);border-radius:14px;gap:8px;width:min(520px,100% - 28px);padding:14px 16px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 12px 34px #00000047}.live-toast strong{font-size:15px}.live-toast p{color:var(--muted-foreground);margin:0;font-size:12px}.live-toast-row{align-items:center;gap:8px;display:flex}.live-toast-row>a,.live-toast-row>button{flex:1}.live-present{background:var(--card);text-align:center;align-content:center;gap:24px;min-height:calc(100dvh - 220px);margin:-22px -52px 0;padding:28px 40px;display:grid}.live-present-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground);font-size:14px;font-weight:800}.live-present-title{margin:0;font-size:clamp(34px,6vw,72px);font-weight:900;line-height:1.1}.live-present-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:clamp(28px,4.6vw,58px);font-weight:700;line-height:1.35}.live-present-body.is-hanzi{font-family:serif;font-size:clamp(40px,7vw,96px)}.live-present-list{flex-wrap:wrap;justify-content:center;gap:14px;font-family:serif;font-size:clamp(40px,7vw,92px);font-weight:700;display:flex}.live-present-foot{color:var(--muted-foreground);font-size:clamp(18px,2.4vw,28px);font-weight:800}@media (max-width:600px){.live-present{margin:-18px -23px 0;padding:20px 16px}}.admin-users-totals{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;display:grid}.admin-users-totals>div{border:2px solid var(--border);background:var(--card);text-align:center;border-radius:12px;padding:12px}.admin-users-totals strong{font-size:30px;font-weight:900;line-height:1.2;display:block}.admin-users-totals span{color:var(--muted-foreground);font-size:12px}.admin-user-row{border:1px solid var(--border);background:var(--card);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.admin-user-row>div{flex:1;min-width:180px}.admin-user-row small{color:var(--muted-foreground);font-size:11px;display:block}.pool-badges{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.pool-badge{border:1px solid var(--border);color:var(--muted-foreground);opacity:.5;border-radius:999px;padding:2px 8px;font-size:11px;font-style:normal;font-weight:700}.pool-badge.is-on{opacity:1;color:var(--primary);border-color:var(--primary)}.mode-choice{gap:12px;margin-top:16px;display:grid}.mode-card{text-align:left;border:2px solid var(--border);background:var(--card);cursor:pointer;border-radius:16px;gap:4px;padding:16px;display:grid}.mode-card strong{font-size:17px}.mode-card span{color:var(--muted-foreground);font-size:13px}.mode-card:hover{border-color:var(--primary)}.lesson-remaining{color:var(--muted-foreground);font-size:12px;font-weight:700}.home-primary-actions{gap:16px;display:grid}.home-primary-actions .continue-button{margin:0}.lesson-mode-line{clear:both;color:var(--muted-foreground);margin:22px 0 8px;font-size:12px;font-weight:700}.lesson-source-choice{gap:16px;display:grid}.lesson-source-card{text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;height:auto;min-height:112px;padding:20px;display:grid}.lesson-source-card>svg{flex-shrink:0;width:28px;height:28px}.lesson-source-card span{gap:4px;min-width:0;display:grid}.lesson-source-card strong{white-space:normal;font-size:20px}.lesson-source-card small{color:var(--muted-foreground);white-space:normal;font-size:13px}.lesson-arrow.is-right span{font-size:16px;font-weight:900}.lesson-arrow.is-right:has(span){gap:8px}@media (max-width:600px){.home-primary-actions{gap:14px}.lesson-mode-line{margin-top:20px}.lesson-source-card{gap:12px;min-height:104px;padding:16px}.lesson-source-card strong{font-size:17px}.lesson-source-card small{font-size:12px}.lesson-reference-layout{padding-bottom:170px}.lesson-reference-layout .lesson-check{gap:10px}.lesson-reference-layout .lesson-trace .writing-area{margin-top:5px}.lesson-reference-layout .lesson-trace .writing-area canvas,.lesson-reference-layout .lesson-trace .writing-area .writing-guide{height:min(200px,29vh)}}.done-screen{text-align:center;border:2px solid var(--border);background:var(--card);border-radius:18px;gap:12px;margin-top:16px;padding:24px 16px;display:grid}.done-screen h2{font-size:22px}.done-list{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.done-chip{background:var(--muted);border-radius:12px;gap:2px;min-width:76px;padding:8px 12px;display:grid}.done-chip b{font-family:serif;font-size:24px;line-height:1}.done-chip small{color:var(--muted-foreground);font-size:11px}.done-hint{color:var(--muted-foreground);font-size:12px}.continue-button.is-review{background:var(--accent);color:var(--accent-foreground)}.continue-button.is-homework:hover{background:var(--muted);color:var(--foreground)}.admin-workspace{width:min(1380px,100vw - 48px);margin-left:50%;padding:8px 0 28px;font-family:Work Sans,sans-serif;transform:translate(-50%)}.admin-workspace h1,.admin-workspace h2{font-family:Instrument Serif,serif;font-weight:400}.admin-workspace-header{border:1px solid var(--border);background:var(--card);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding:20px 24px;display:grid}.admin-workspace-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:720px;display:flex}.admin-workspace-body{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:20px;margin-top:20px;display:grid}.admin-sidebar{border:1px solid var(--border);background:var(--card);border-radius:8px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:3px;height:auto;padding:8px;display:flex;position:sticky;top:146px}.admin-sidebar [role=tab]{border-radius:6px;justify-content:flex-start;gap:10px;width:100%;height:42px;padding:0 12px}.admin-sidebar [role=tab] svg{flex:none;width:17px;height:17px}.admin-main-pane{border:1px solid var(--border);background:var(--card);border-radius:8px;min-width:0;padding:20px}.admin-main-pane>[role=tabpanel]{margin-top:0}.verify-dialog{max-height:calc(100dvh - 40px);overflow:hidden;border-radius:8px!important;width:min(1100px,100vw - 40px)!important;max-width:none!important;padding:0!important;display:block!important}.verify-dialog>button{display:none}.verify-deck{background:var(--background);flex-direction:column;min-height:min(760px,100dvh - 40px);max-height:calc(100dvh - 40px);display:flex}.verify-deck-header{border-bottom:1px solid var(--border);background:var(--card);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 20px;display:grid}.verify-deck-sheet{touch-action:pan-y;background:var(--background);flex:1;padding:24px clamp(24px,6vw,80px);overflow-y:auto}.verify-deck-glyph{font-size:clamp(92px,12vw,148px)}.verify-deck-fields{gap:18px;max-width:760px;margin:24px auto 0;display:grid}.verify-deck-fields input,.verify-deck-fields textarea{font-size:16px}.verify-part-row{grid-template-columns:78px minmax(0,1fr) 40px;align-items:center;gap:10px;display:grid}.verify-part-glyph{text-align:center;font-family:serif;font-size:28px!important}.verify-deck-actions{border-top:1px solid var(--border);background:var(--card);grid-template-columns:1fr 1fr;gap:12px;padding:16px 20px;display:grid}@media (max-width:767px){.admin-workspace{width:calc(100vw - 24px);padding-top:0}.admin-workspace-header{border-radius:8px;padding:14px;display:block}.admin-workspace-header h1{font-size:32px}.admin-workspace-actions{grid-template-columns:1fr 1fr;margin-top:14px;display:grid}.admin-workspace-actions button{white-space:normal;min-width:0;height:auto;min-height:42px;line-height:1.15}.admin-workspace-actions button:last-child{grid-column:1/-1}.admin-workspace-body{margin-top:12px;display:block}.admin-sidebar{scrollbar-width:none;border-radius:8px;flex-direction:row;height:48px;display:flex;position:static;overflow-x:auto}.admin-sidebar::-webkit-scrollbar{display:none}.admin-sidebar [role=tab]{flex:none;width:auto;padding:0 12px}.admin-sidebar [role=tab] svg{display:none}.admin-main-pane{margin-top:10px;padding:12px}.admin-main-pane section{max-width:100%;overflow:hidden}.verify-dialog{border:0!important;border-radius:0!important;width:100vw!important;height:100dvh!important;max-height:none!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;right:0!important;translate:none!important}.verify-deck{height:100dvh;min-height:100dvh;max-height:100dvh}.verify-deck-header{padding:10px 14px}.verify-deck-sheet{overscroll-behavior:contain;padding:16px}.verify-deck-glyph{font-size:92px}.verify-deck-fields{gap:14px;margin-top:18px}.verify-part-row{grid-template-columns:64px minmax(0,1fr) 40px;gap:6px}.verify-deck-actions{padding:10px 12px max(10px,env(safe-area-inset-bottom));gap:8px}.verify-deck-actions button{height:54px;padding-inline-start:10px;padding-inline-end:10px;font-size:14px}}.known-roster{border:2px solid var(--border);background:var(--card);border-radius:8px;gap:16px;padding:20px;display:grid}.known-roster-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.known-roster-heading h2{margin:0;font-size:24px;font-weight:900}.known-roster-heading>span{color:var(--muted-foreground);white-space:nowrap;font-size:12px;font-weight:800}.known-roster-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;max-height:52dvh;padding:2px;display:grid;overflow-y:auto}.known-roster-item{text-align:left;white-space:normal;grid-template-columns:46px minmax(0,1fr) 18px;align-items:center;gap:10px;height:auto;min-height:72px;padding:10px 12px;display:grid}.known-roster-item>strong{font-family:serif;font-size:34px;line-height:1}.known-roster-item>span{gap:2px;min-width:0;display:grid}.known-roster-item b{font-size:13px}.known-roster-item small{color:var(--muted-foreground);overflow-wrap:anywhere;font-size:11px}.known-roster-item.is-known{border-color:var(--secondary-foreground);background:var(--secondary);color:var(--secondary-foreground);opacity:1}.known-roster-item.is-known small{color:inherit;opacity:.78}.known-roster-actions{background:var(--card);justify-content:flex-end;gap:10px;padding:10px 0;display:flex;position:static}.known-roster-actions>*{min-width:150px}@media (max-width:600px){.known-roster{padding:16px 12px}.known-roster-heading{align-items:start}.known-roster-heading h2{font-size:21px}.known-roster-grid{grid-template-columns:1fr;max-height:48dvh}.known-roster-actions{grid-template-columns:1fr;display:grid}.known-roster-actions>*{width:100%}}.class-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.class-tile{border:1px solid var(--border);background:var(--card);border-radius:18px;flex-direction:column;gap:8px;padding:14px;display:flex}.class-tile h3{margin:0;font-size:1rem;font-weight:700}.class-tile p{color:var(--muted-foreground);margin:0;font-size:.75rem}.class-tile-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;display:flex}.class-tile-cover{aspect-ratio:16/9;background:var(--primary);border-radius:14px;place-items:center;width:100%;display:grid;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.class-tile-cover{background:color-mix(in oklab, var(--primary) 12%, transparent)}}.class-tile-cover img{object-fit:cover;width:100%;height:100%}.class-tile-emoji{font-size:2.2rem}.class-cover-editor{align-items:flex-start;gap:14px;margin-top:18px;display:flex}.class-cover-editor>.class-tile-cover{flex:none;width:140px}.class-cover-emoji{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.class-cover-emoji button{border:1px solid var(--border);background:0 0;border-radius:10px;padding:2px 6px;font-size:1.2rem}.live-people{cursor:pointer;color:inherit;background:0 0;border:0;align-items:center;gap:4px;display:inline-flex}.live-people-list{border:1px solid var(--border);border-radius:14px;margin-top:8px;padding:12px}.live-people-list ul{gap:4px;margin:6px 0;font-size:.875rem;display:grid}.live-present-image,.task-image{border-radius:16px;max-width:100%;margin:0 auto;display:block}.composer-image{align-items:center;gap:10px;display:flex}.composer-image img{border-radius:12px;max-height:120px}.present-items{gap:16px;display:grid}.present-items-controls{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.present-items-list{gap:14px;display:grid}.present-items-list button{cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border:0;align-items:baseline;gap:20px;display:flex}.present-items-list strong{font-size:clamp(2.5rem,9vw,5rem);line-height:1}.present-items-list span{font-size:clamp(1.1rem,3.5vw,2rem)}.present-items-list .is-hidden{color:var(--muted-foreground);font-size:1rem}.quiz-matrix{overflow-x:auto}.quiz-matrix table{border-collapse:collapse;width:100%;font-size:.8rem}.quiz-matrix th,.quiz-matrix td{border:1px solid var(--border);text-align:center;padding:4px 8px}.quiz-matrix th:first-child,.quiz-matrix td:first-child{text-align:left;white-space:nowrap}.quiz-matrix tr.is-key{background:var(--primary);font-weight:700}@supports (color:color-mix(in lab, red, red)){.quiz-matrix tr.is-key{background:color-mix(in oklab, var(--primary) 8%, transparent)}}.quiz-matrix .is-right{color:var(--primary)}.quiz-matrix .is-wrong{color:var(--destructive)}.quiz-matrix .is-empty{color:var(--muted-foreground)}.quiz-matrix-foot{color:var(--muted-foreground);flex-wrap:wrap;gap:10px;margin-top:8px;font-size:.75rem;display:flex}.class-chat-panel.is-inline{width:100%;max-width:none;height:340px;margin-top:16px;position:static}.homework-list{gap:12px;margin-top:18px;display:grid}.homework-card{border:2px solid var(--border);background:var(--card);border-radius:14px;gap:12px;padding:14px 16px;display:grid}.homework-card.is-done{opacity:.72}.homework-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.homework-head strong{font-size:18px;display:block}.homework-head small{color:var(--muted-foreground);margin-top:2px;font-size:12px;display:block}.homework-percent{color:var(--muted-foreground);font-weight:800}.homework-actions{flex-wrap:wrap;gap:10px;display:flex}.homework-actions>*{flex:200px}.review-modes.is-single{grid-template-columns:1fr}.review-modes.is-single .review-mode{height:72px;font-size:18px}.construction-screen{text-align:center;background:var(--background);min-height:100dvh;color:var(--foreground);flex-direction:column;justify-content:center;align-items:center;gap:.9rem;padding:2rem 1.25rem;display:flex}.construction-screen img{object-fit:contain;width:120px;height:120px}.construction-screen h1{align-items:center;gap:.5rem;margin:0;font-size:1.6rem;display:flex}.construction-screen h1 svg{width:1.2em;height:1.2em}.construction-screen>p{max-width:28rem;color:var(--muted-foreground);margin:0}.construction-screen .construction-user{color:var(--foreground);font-weight:600}.construction-screen .construction-links{font-size:.85rem}.construction-screen .construction-links a{text-decoration:underline}@media (max-width:700px){.header-hide-mobile{display:none}.brand img{width:56px;height:60px}.brand-word{font-size:22px}.brand-shadow .bs-glyph{font-size:38px}.header-actions{gap:4px}.app-header{gap:8px}}.lesson-report{z-index:5;justify-content:center;margin-top:8px;display:flex;position:relative}.lesson-report button{min-height:40px;color:var(--muted-foreground);opacity:.9;font-size:13px}.lesson-report button:hover{color:var(--foreground);background:0 0}.study-hero .is-blurred{filter:blur(9px);-webkit-user-select:none;user-select:none;pointer-events:none}.reveal-answer{height:48px;margin-top:16px;padding-inline-start:22px;padding-inline-end:22px;font-size:16px;font-weight:800}.lesson-reference-layout .study-hero.item-character{background:var(--lesson-character)}.lesson-reference-layout .study-hero.item-component{background:var(--lesson-component)}.lesson-reference-layout .study-hero.item-actor{background:var(--lesson-actor)}.lesson-reference-layout .study-hero.item-place{background:var(--lesson-place)}.lesson-reference-layout .study-hero.item-room{background:var(--lesson-room)}.lesson-reference-layout .study-hero.item-word{background:var(--lesson-word)}.lesson-unit-choice .lesson-choice-panel{border-bottom:1px solid var(--border);background:var(--background);min-height:230px;padding:34px 52px 44px}.lesson-choice-panel h2{border-bottom:1px solid var(--border);margin:0 0 14px;padding-bottom:12px;font-size:26px;font-weight:700}.lesson-choice-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.lesson-answer-correct input{border-color:var(--reader-known);box-shadow:0 0 0 1px var(--reader-known);background:var(--reader-known)}@supports (color:color-mix(in lab, red, red)){.lesson-answer-correct input{background:color-mix(in oklab,var(--reader-known) 12%,var(--background))}}.lesson-answer-correct small{color:var(--reader-known);align-items:center;gap:5px;font-weight:800;display:flex}.lesson-answer-correct small svg{width:16px;height:16px}@media (max-width:600px){.lesson-unit-choice .lesson-choice-panel{padding:28px 24px 36px}.lesson-choice-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.lesson-choice-actions>:first-child{grid-column:1/-1}}.reader-page.is-copying{-webkit-user-select:text;user-select:text;cursor:text}.reader-copy-token{white-space:pre-wrap}.reader-key-hint{z-index:12;border:1px solid var(--border);background:var(--popover);color:var(--muted-foreground);opacity:.82;border-radius:8px;margin:0;padding:6px 9px;font-size:10px;position:fixed;bottom:104px;right:18px}.reader-swipe-hint{text-align:center;color:var(--muted-foreground);opacity:.62;margin:-6px 0 2px;font-size:10px}.class-live-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.class-live-actions>[aria-disabled=true]{opacity:.45;filter:grayscale(.65)}.whiteboard-shell{border:1px solid var(--border);background:var(--card);min-height:min(78dvh,820px);box-shadow:var(--shadow);border-radius:20px;grid-template-rows:auto minmax(420px,1fr) auto auto;margin-top:16px;display:grid;position:relative;overflow:hidden}.whiteboard-shell.is-embedded{min-height:70dvh}.whiteboard-toolbar{border-bottom:1px solid var(--border);background:var(--card);align-items:center;gap:8px;padding:10px 12px;display:flex;overflow-x:auto}.whiteboard-toolbar strong{white-space:nowrap;align-items:center;gap:6px;margin-right:auto;display:flex}.whiteboard-toolbar button{flex:none}.whiteboard-viewport{background:var(--board-frame,#d2c9be);min-height:420px;overflow:hidden}@supports (color:color(display-p3 0 0 0)){.whiteboard-viewport{background:var(--board-frame,color(display-p3 .81615 .789812 .749567))}}@supports (color:lab(0% 0 0)){.whiteboard-viewport{background:var(--board-frame,lab(81.4675% 1.62122 6.70466))}}.whiteboard-transform,.whiteboard-transform-content{width:100%!important;height:100%!important}.whiteboard-canvas{background-color:var(--board-paper,#fefaf1);background-image:radial-gradient(var(--board-grid,#cec2b3) 1.2px,transparent 1.2px);color:var(--board-ink,#291c14);background-size:24px 24px;position:relative;overflow:hidden}@supports (color:color(display-p3 0 0 0)){.whiteboard-canvas{background-color:var(--board-paper,color(display-p3 .993242 .979294 .949339));background-image:radial-gradient(var(--board-grid,color(display-p3 .799526 .763095 .707463)) 1.2px,transparent 1.2px);color:var(--board-ink,color(display-p3 .151935 .112355 .0822612))}}@supports (color:lab(0% 0 0)){.whiteboard-canvas{background-color:var(--board-paper,lab(98.3023% .492096 4.56506));background-image:radial-gradient(var(--board-grid,lab(79.1547% 2.31573 9.35917)) 1.2px,transparent 1.2px);color:var(--board-ink,lab(11.74% 5.3156 8.24537))}}.whiteboard-object{border:2px solid var(--board-object-border,#d0b694);background:var(--board-object,#fef6e4);min-height:54px;box-shadow:0 8px 24px var(--foreground);border-radius:8px;padding:9px;position:absolute}@supports (color:color(display-p3 0 0 0)){.whiteboard-object{border:2px solid var(--board-object-border,color(display-p3 .798026 .717901 .595503));background:var(--board-object,color(display-p3 .990107 .96677 .902317))}}@supports (color:lab(0% 0 0)){.whiteboard-object{border:2px solid var(--board-object-border,lab(75.6838% 5.68435 21.1197));background:var(--board-object,lab(97.2106% .383317 9.63754))}}@supports (color:color-mix(in lab, red, red)){.whiteboard-object{box-shadow:0 8px 24px color-mix(in oklab,var(--foreground) 16%,transparent)}}.whiteboard-object{touch-action:none}.whiteboard-object textarea{min-height:96px;color:var(--board-ink,#291c14);resize:vertical;background:0 0;border:0;font-size:18px}@supports (color:color(display-p3 0 0 0)){.whiteboard-object textarea{color:var(--board-ink,color(display-p3 .151935 .112355 .0822612))}}@supports (color:lab(0% 0 0)){.whiteboard-object textarea{color:var(--board-ink,lab(11.74% 5.3156 8.24537))}}.whiteboard-object p{white-space:pre-wrap;font-size:18px}.whiteboard-object img{object-fit:contain;width:100%;height:auto;max-height:700px;display:block}.whiteboard-object audio{width:100%;display:block}.whiteboard-delete{position:absolute;top:-14px;right:-14px;width:30px!important;height:30px!important}.whiteboard-comment{border:1px solid var(--board-note-border,#d09f38);background:var(--board-note,#ffdf76);max-width:260px;box-shadow:0 5px 15px var(--foreground);border-radius:8px;padding:8px 10px;position:absolute}@supports (color:color(display-p3 0 0 0)){.whiteboard-comment{border:1px solid var(--board-note-border,color(display-p3 .786377 .629992 .296079));background:var(--board-note,color(display-p3 .979277 .880156 .521452))}}@supports (color:lab(0% 0 0)){.whiteboard-comment{border:1px solid var(--board-note-border,lab(68.7804% 11.7852 58.2206));background:var(--board-note,lab(90.0388% 2.07308 55.2369))}}@supports (color:color-mix(in lab, red, red)){.whiteboard-comment{box-shadow:0 5px 15px color-mix(in oklab,var(--foreground) 12%,transparent)}}.whiteboard-comment{font-size:14px}.whiteboard-comment p{white-space:pre-wrap;margin:2px 0 0}.whiteboard-zoom{z-index:8;gap:5px;display:flex;position:absolute;top:72px;right:12px}.whiteboard-comment-form{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px;display:grid}.whiteboard-help{color:var(--muted-foreground);margin:0;padding:0 12px 9px;font-size:11px}.admin-feature-row{border:1px solid var(--border);background:var(--card);border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}.admin-feature-row h2{font-size:18px;font-weight:800}.admin-feature-row p{color:var(--muted-foreground);margin-top:4px;font-size:13px}@media (max-width:700px){.class-live-actions{grid-template-columns:1fr}.whiteboard-shell{border-radius:12px;min-height:75dvh}.whiteboard-toolbar{padding-right:54px}.whiteboard-toolbar strong{font-size:0}.whiteboard-toolbar strong svg{width:22px;height:22px}.whiteboard-toolbar button{height:38px}.whiteboard-toolbar button svg+*{display:none}.whiteboard-comment-form{grid-template-columns:1fr}.whiteboard-zoom{top:64px}.reader-key-hint{display:none}}.desktop-sidebar{display:none}@media (min-width:1024px){:root{--desktop-sidebar-width:256px;--desktop-header-height:76px;--sidebar-surface:#1e150f;--sidebar-text:#f8f1e5;--board-frame:#d2c9be;--board-paper:#fefaf1;--board-grid:#cec2b3;--board-object:#fef6e4;--board-object-border:#d0b694;--board-ink:#291c14;--board-note:#ffdf76;--board-note-border:#d09f38}@supports (color:color(display-p3 0 0 0)){:root{--sidebar-surface:color(display-p3 .111282 .0838872 .063123);--sidebar-text:color(display-p3 .967394 .94572 .901373);--board-frame:color(display-p3 .81615 .789812 .749567);--board-paper:color(display-p3 .993242 .979294 .949339);--board-grid:color(display-p3 .799526 .763095 .707463);--board-object:color(display-p3 .990107 .96677 .902317);--board-object-border:color(display-p3 .798026 .717901 .595503);--board-ink:color(display-p3 .151935 .112355 .0822612);--board-note:color(display-p3 .979277 .880156 .521452);--board-note-border:color(display-p3 .786377 .629992 .296079)}}@supports (color:lab(0% 0 0)){:root{--sidebar-surface:lab(7.71455% 3.75573 4.98605);--sidebar-text:lab(95.4173% .878245 6.8566);--board-frame:lab(81.4675% 1.62122 6.70466);--board-paper:lab(98.3023% .492096 4.56506);--board-grid:lab(79.1547% 2.31573 9.35917);--board-object:lab(97.2106% .383317 9.63754);--board-object-border:lab(75.6838% 5.68435 21.1197);--board-ink:lab(11.74% 5.3156 8.24537);--board-note:lab(90.0388% 2.07308 55.2369);--board-note-border:lab(68.7804% 11.7852 58.2206)}}body{font-family:Work Sans,Segoe UI,sans-serif}h1,h2{font-family:Instrument Serif,Georgia,serif;font-weight:400}.app-shell{width:auto;max-width:none;margin:0 0 0 var(--desktop-sidebar-width);padding:calc(var(--desktop-header-height) + 34px) clamp(32px,4vw,64px) 64px;min-height:100dvh}.desktop-sidebar{z-index:30;width:var(--desktop-sidebar-width);background:var(--sidebar-surface);color:var(--sidebar-text);box-shadow:12px 0 32px var(--foreground);flex-direction:column;padding:22px 14px 18px;display:flex;position:fixed;top:0;bottom:0;left:0;right:auto}@supports (color:color-mix(in lab, red, red)){.desktop-sidebar{box-shadow:12px 0 32px color-mix(in oklab,var(--foreground) 12%,transparent)}}.desktop-brand{color:var(--sidebar-text);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:0 10px 32px;text-decoration:none;display:flex}.desktop-brand img{object-fit:contain;width:176px;height:176px}.desktop-brand-name{color:var(--primary);font-family:Instrument Serif,Georgia,serif;font-size:42px;line-height:.95}.desktop-nav,.desktop-secondary-nav{gap:4px;display:grid}.desktop-secondary-nav{border-top:1px solid var(--sidebar-text);margin-top:auto;padding-top:16px}@supports (color:color-mix(in lab, red, red)){.desktop-secondary-nav{border-top:1px solid color-mix(in oklab,var(--sidebar-text) 12%,transparent)}}.desktop-nav-item{width:100%;height:46px;color:var(--sidebar-text);justify-content:flex-start;padding:0 14px}@supports (color:color-mix(in lab, red, red)){.desktop-nav-item{color:color-mix(in oklab,var(--sidebar-text) 66%,transparent)}}.desktop-nav-item{border-radius:7px;font-size:14px}.desktop-nav-item:hover{background:var(--sidebar-text)}@supports (color:color-mix(in lab, red, red)){.desktop-nav-item:hover{background:color-mix(in oklab,var(--sidebar-text) 7%,transparent)}}.desktop-nav-item:hover{color:var(--sidebar-text)}.desktop-nav-item.is-active{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.desktop-nav-item.is-active{background:color-mix(in oklab,var(--primary) 24%,transparent)}}.desktop-nav-item.is-active{color:var(--sidebar-text);box-shadow:inset 3px 0 0 var(--primary)}.desktop-nav-item svg{width:19px;height:19px}.app-header{left:var(--desktop-sidebar-width);width:auto;height:var(--desktop-header-height);background:var(--background);justify-content:flex-end;padding:0 clamp(32px,4vw,64px);right:0;transform:none}@supports (color:color-mix(in lab, red, red)){.app-header{background:color-mix(in oklab,var(--background) 94%,transparent)}}.app-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-header>.brand{display:none}.header-actions{gap:8px}.header-actions>*{width:40px;height:40px}.header-hide-mobile{display:inline-flex}.page-content{width:100%;max-width:1440px;margin:0 auto;padding-top:0}.page-heading{margin-bottom:26px}h1{font-size:44px}.section-heading h2{font-size:29px}.bottom-nav{display:none}.home-primary-actions{grid-template-rows:repeat(2,1fr);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.home-primary-actions .continue-button:first-child{grid-row:1/3;height:auto;min-height:190px}.home-primary-actions .continue-button{border-radius:8px;height:88px}.study-counts{max-width:780px;margin:32px auto 44px}.reading-section{grid-template-columns:minmax(180px,.38fr) minmax(0,1fr);align-items:start;gap:28px;display:grid}.reading-section .section-heading{margin-top:8px}.reader-card{border-radius:8px;padding:26px 30px}.suggestion-box{border-radius:8px;max-width:760px;margin-left:auto;margin-right:0}.queue-list,.pool-list,.homework-list,.review-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.review-row{border:1px solid var(--border);border-radius:8px;grid-template-columns:58px minmax(100px,1fr);padding:14px}.review-times{grid-column:1/-1;padding-left:74px}.class-tiles{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.class-tile{border-radius:8px;padding:16px}.class-tile-cover{border-radius:6px}.class-live-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.cal-block{grid-template-columns:minmax(360px,.8fr) minmax(0,1.2fr);display:grid}.cal-block-tasks{border-left:1px solid var(--border);padding:16px}.reader-stage{grid-template-rows:auto auto;grid-template-columns:64px minmax(0,920px) 64px;justify-content:center;align-items:stretch;gap:12px 14px;display:grid}.reader-page{border-radius:8px;grid-area:1/2;width:100%;min-height:600px;padding:48px 56px;font-size:30px;line-height:1.85}.reader-side-arrow{border-radius:8px;grid-row:1;min-height:600px;width:64px!important;height:auto!important;display:flex!important}.reader-side-arrow.is-left{grid-column:1}.reader-side-arrow.is-right{grid-column:3}.reader-side-arrow svg{width:28px;height:28px}.reader-pager{grid-area:2/2;grid-template-columns:1fr;justify-items:center}.reader-pager>button{display:none}.reader-controls,.reader-title-row,.reader-chapter-row,.reader-legend,.reader-pager{width:min(100%,1120px)}.reader-lookup{max-width:560px}.lesson-reference-layout{margin:-34px calc(-1*clamp(32px,4vw,64px)) 0}.lesson-reference-layout .study-bar.is-navigation{left:var(--desktop-sidebar-width);width:auto;bottom:0;right:0;transform:none}.study-bar.is-navigation{left:var(--desktop-sidebar-width);bottom:0}.lesson-arrow.is-left{padding-left:64px}.lesson-arrow.is-right{padding-right:64px}.lesson-reference-layout .study-panel{padding-left:clamp(28px,4vw,64px);padding-right:clamp(28px,4vw,64px)}.live-present{min-height:calc(100dvh - var(--desktop-header-height));margin:-34px calc(-1*clamp(32px,4vw,64px)) 0;padding:48px 72px}.class-chat-fab{bottom:28px;right:28px}.class-chat-panel{border-radius:8px;width:420px;max-height:680px;bottom:28px;right:28px}.admin-workspace{width:100%;margin:0;transform:none}.admin-sidebar{top:calc(var(--desktop-header-height) + 20px)}.whiteboard-shell{width:calc(100vw - var(--desktop-sidebar-width) - 48px);max-width:1680px;min-height:calc(100dvh - var(--desktop-header-height) - 48px);border-radius:8px;grid-template-rows:auto minmax(640px,1fr) auto auto;margin:-18px auto 0}.whiteboard-shell.is-embedded{min-height:calc(100dvh - var(--desktop-header-height) - 80px)}.whiteboard-viewport{min-height:640px}.whiteboard-toolbar{padding:12px 16px;overflow:visible}.whiteboard-object:hover .whiteboard-delete{opacity:1}.whiteboard-delete{opacity:.35;transition:opacity .15s}.progress-totals{gap:24px}.progress-section{padding:32px 0}.empty-section{max-width:760px;margin:0 auto}.more-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;display:grid}}.loading-note{color:var(--muted-foreground);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.loading-spinner{width:1.05rem;height:1.05rem;color:var(--primary);flex:none;animation:.9s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.review-hint{text-align:center;max-width:34rem;color:var(--muted-foreground);margin:.5rem auto 0;font-size:.9rem}.review-secondary{flex-wrap:wrap;justify-content:center;gap:.25rem;margin-top:.25rem;display:flex}:root{--radius:.5rem;--background:#f4f7fb;--foreground:#0e1217;--card:#fff;--card-foreground:var(--foreground);--popover:#fff;--popover-foreground:var(--foreground);--primary:#dd1518;--primary-foreground:#fcfcfc;--secondary:#e9edf2;--secondary-foreground:#1e2227;--muted:#e8ebf1;--muted-foreground:#656d76;--accent:#fed6d2;--accent-foreground:#b00c15;--border:#d6dbe1;--input:var(--border);--ring:#dd1518;--sidebar-surface:#0a0e12;--sidebar-text:#eff2f5;--shadow:0 12px 36px var(--foreground)}@supports (color:color(display-p3 0 0 0)){:root{--background:color(display-p3 .95918 .968241 .982134);--foreground:color(display-p3 .0579896 .0697497 .0879957);--card:color(display-p3 1 1 1);--popover:color(display-p3 1 1 1);--primary:color(display-p3 .795688 .194081 .157556);--primary-foreground:color(display-p3 .986829 .986829 .986829);--secondary:color(display-p3 .91744 .929423 .947802);--secondary-foreground:color(display-p3 .119977 .13278 .15256);--muted:color(display-p3 .910957 .922924 .941278);--muted-foreground:color(display-p3 .401358 .424583 .460365);--accent:color(display-p3 .971584 .846907 .829444);--accent-foreground:color(display-p3 .631919 .142885 .126603);--border:color(display-p3 .844003 .858751 .881381);--ring:color(display-p3 .795688 .194081 .157556);--sidebar-surface:color(display-p3 .0413259 .0527319 .0704631);--sidebar-text:color(display-p3 .940915 .948439 .959972)}}@supports (color:lab(0% 0 0)){:root{--background:lab(97.0882% -.492424 -2.20424);--foreground:lab(5.24121% -.570439 -3.65198);--card:lab(100% 0 0);--popover:lab(100% 0 0);--primary:lab(47.876% 70.7672 54.8156);--primary-foreground:lab(98.84% .0000298023 -.0000119209);--secondary:lab(93.604% -.651121 -2.93589);--secondary-foreground:lab(12.9683% -.832886 -4.33317);--muted:lab(93.024% -.651002 -2.93581);--muted-foreground:lab(45.4366% -1.3271 -6.53454);--accent:lab(89.1419% 13.8292 7.48394);--accent-foreground:lab(37.7657% 59.971 44.0499);--border:lab(87.2196% -.805706 -3.66523);--ring:lab(47.876% 70.7672 54.8156);--sidebar-surface:lab(3.67771% -.431366 -2.91663);--sidebar-text:lab(95.3503% -.411779 -1.83766)}}@supports (color:color-mix(in lab, red, red)){:root{--shadow:0 12px 36px color-mix(in oklab,var(--foreground) 8%,transparent)}}.dark{--background:#080a0e;--foreground:#eceff2;--card:#101419;--card-foreground:var(--foreground);--popover:#12161b;--popover-foreground:var(--foreground);--primary:#f3362f;--primary-foreground:#fcfcfc;--secondary:#1a1e24;--secondary-foreground:#e5e8ec;--muted:#191d23;--muted-foreground:#989fa8;--accent:#431f1d;--accent-foreground:#ffcfca;--border:#2c3136;--input:var(--border);--ring:#f3362f;--sidebar-surface:#030406;--sidebar-text:#eff2f5}@supports (color:color(display-p3 0 0 0)){.dark{--background:color(display-p3 .0314424 .0402172 .0546287);--foreground:color(display-p3 .926575 .935578 .949381);--card:color(display-p3 .0665099 .078436 .0969246);--popover:color(display-p3 .075149 .0872345 .105957);--primary:color(display-p3 .878348 .283718 .232268);--primary-foreground:color(display-p3 .986829 .986829 .986829);--secondary:color(display-p3 .106258 .118858 .138338);--secondary-foreground:color(display-p3 .900647 .909602 .923332);--muted:color(display-p3 .101735 .114265 .133642);--muted-foreground:color(display-p3 .602078 .622872 .654833);--accent:color(display-p3 .243754 .130587 .119039);--accent-foreground:color(display-p3 1.02265 .80352 .774732);--border:color(display-p3 .176927 .190457 .211321);--ring:color(display-p3 .878348 .283718 .232268);--sidebar-surface:color(display-p3 .0116356 .0152885 .0221575);--sidebar-text:color(display-p3 .940915 .948439 .959972)}}@supports (color:lab(0% 0 0)){.dark{--background:lab(2.73912% -.304833 -1.98073);--foreground:lab(94.1882% -.492126 -2.20406);--card:lab(6.16643% -.647038 -4.03218);--popover:lab(7.19452% -.728332 -4.26535);--primary:lab(54.8639% 70.5113 51.4354);--primary-foreground:lab(98.84% .0000298023 -.0000119209);--secondary:lab(11.2277% -.821464 -4.32833);--secondary-foreground:lab(91.8682% -.491917 -2.20393);--muted:lab(10.6474% -.817314 -4.32662);--muted-foreground:lab(65.1669% -1.16286 -5.47346);--accent:lab(17.1067% 17.1804 9.69151);--accent-foreground:lab(87.6475% 24.7115 13.4899);--border:lab(19.9301% -.867277 -4.34831);--ring:lab(54.8639% 70.5113 51.4354);--sidebar-surface:lab(1.03926% -.123054 -.838676);--sidebar-text:lab(95.3503% -.411779 -1.83766)}}body{background:var(--background);font-family:Manrope,Segoe UI,sans-serif}h1,h2,h3{letter-spacing:0;font-family:Sora,Manrope,sans-serif}.app-shell{max-width:1080px}.app-header{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.app-header{background:color-mix(in oklab,var(--background) 94%,transparent)}}.app-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-name{font-family:Sora,sans-serif}.page-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;display:grid}.phase-label{background:var(--secondary);border:0;border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.phase-label svg{width:14px;height:14px}.eyebrow{letter-spacing:.08em}.home-primary-actions{gap:12px}.continue-button{box-shadow:none;background:var(--primary);color:var(--primary-foreground);text-align:left;border:0;outline:0;position:relative;overflow:hidden}.continue-button:before{content:"";background:var(--primary-foreground);border-radius:50%;height:210%;position:absolute;top:-70%;bottom:auto;left:45%;right:-15%;transform:rotate(28deg)}@supports (color:color-mix(in lab, red, red)){.continue-button:before{background:color-mix(in oklab,var(--primary-foreground) 9%,transparent)}}.continue-button>span{z-index:1;gap:5px;display:grid;position:relative}.continue-button small{opacity:.72;font-size:11px;font-weight:800}.continue-button em{opacity:.82;font-size:14px;font-style:normal;font-weight:600}.continue-button i{z-index:1;background:var(--primary-foreground);width:48px;height:48px;color:var(--primary);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.continue-button i svg{width:22px;height:22px}.continue-button.is-review{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.continue-button.is-review{background:color-mix(in oklab,var(--primary) 76%,var(--foreground))}}.continue-button.is-review{color:var(--primary-foreground)}.continue-button.is-homework{background:var(--card);color:var(--foreground);border:1px solid var(--border)}.continue-button.is-homework:before{display:none}.continue-button.is-homework i{background:var(--secondary);color:var(--foreground)}.reading-section{margin-top:34px}.reading-section .section-heading>a{align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.reader-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow)}.reader-card-copy{flex:1;min-width:0}.reader-card-stat{border-left:1px solid var(--border);gap:6px;min-width:120px;padding-left:28px;display:grid}.reader-card-stat small{color:var(--muted-foreground);font-size:10px}.suggestion-box{border:1px solid var(--border);background:var(--card);border-radius:8px}@media (max-width:700px){.app-shell{padding:82px 18px 96px}.app-header{height:72px;padding:0 14px}.brand img{width:46px;height:50px}.brand-word{font-size:20px}.header-actions{gap:2px}.header-actions>*{width:34px!important;height:34px!important}.header-actions>* svg{width:19px;height:19px}.page-content{padding-top:16px}h1{font-size:30px}.home-heading{margin-bottom:20px}.continue-button{height:auto;min-height:108px;padding:18px;font-size:21px}.continue-button i{width:42px;height:42px}.reader-card{align-items:flex-start;gap:18px;padding:18px 14px}.reader-card-stat{display:none}.book-cover{width:76px;height:108px}.bottom-nav{padding:8px 5px max(8px,env(safe-area-inset-bottom));background:var(--background)}@supports (color:color-mix(in lab, red, red)){.bottom-nav{background:color-mix(in oklab,var(--background) 94%,transparent)}}.bottom-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.nav-item{border-radius:6px;height:58px}.nav-item.is-active{background:var(--primary);color:var(--primary-foreground)}}@media (min-width:1024px){:root{--desktop-sidebar-width:248px;--desktop-header-height:72px}.app-shell{margin-left:var(--desktop-sidebar-width);padding:calc(var(--desktop-header-height) + 36px) clamp(34px,4vw,70px) 70px}.desktop-sidebar{background:var(--sidebar-surface);box-shadow:none;padding:30px 18px 22px}.desktop-brand{flex-direction:row;justify-content:flex-start;gap:8px;padding:0 12px 36px}.desktop-brand img{flex:none;width:64px;height:64px}.desktop-brand-name{color:var(--sidebar-text);white-space:nowrap;font-family:Manrope,sans-serif;font-size:22px;font-weight:800;line-height:1.2}.desktop-brand:after{content:"";background:var(--primary);width:34px;height:2px;position:absolute;top:100px;left:30px}.desktop-nav,.desktop-secondary-nav{gap:7px}.desktop-secondary-nav{margin-top:auto}.desktop-nav-item{border-radius:7px;height:48px;font-weight:600}.desktop-nav-item.is-active{background:var(--primary);box-shadow:none;color:var(--primary-foreground)}.app-header{border-bottom:1px solid var(--border)}.page-content{max-width:1320px}h1{font-size:46px;font-weight:700}.home-primary-actions{grid-template-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.home-primary-actions .continue-button:first-child{grid-row:auto;min-height:178px}.home-primary-actions .continue-button{border-radius:8px;height:auto;min-height:178px;padding:30px 34px;font-size:27px}.home-primary-actions .continue-button.is-homework{grid-column:1/-1;min-height:88px}.reading-section{display:block}.reading-section .section-heading{margin-bottom:14px}.reader-card{border-radius:8px}.page-heading{margin-bottom:28px}.app-header .header-progress,.app-header .header-more{display:none}.review-stage{border:1px solid var(--border);background:var(--card);width:min(100%,900px);box-shadow:var(--shadow);border-radius:8px;margin:-22px auto 0;overflow:hidden}.review-banner{min-height:160px}.review-banner .review-main-glyph{font-size:88px}.review-writing,.review-entry,.review-stage .review-answer,.review-stage .review-reveal,.review-stage .review-feedback{width:100%;max-width:720px;margin-left:auto;margin-right:auto}}.stage-row{border-bottom:1px solid var(--border);background:var(--card)}.stage-row summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 4px;list-style:none;display:grid}.stage-row summary::-webkit-details-marker{display:none}.stage-row summary:after{content:"+";color:var(--muted-foreground);grid-column:3;font-size:20px}.stage-row[open] summary:after{content:"−"}.stage-name{font-weight:800}.stage-counts{color:var(--muted-foreground);font-size:12px}.stage-body{grid-template-columns:1fr 1fr;gap:18px;padding:0 4px 18px;display:grid}.stage-chips{flex-wrap:wrap;gap:7px;margin-top:8px;display:flex}.stage-chips>span{border:1px solid var(--border);background:var(--secondary);border-radius:6px;place-items:center;min-width:38px;height:38px;font-family:serif;font-size:22px;display:grid}@media (max-width:600px){.stage-row summary{grid-template-columns:minmax(0,1fr) auto;padding:14px 2px}.stage-row summary:after{grid-column:2}.stage-counts{grid-column:1/-1}.stage-body{grid-template-columns:1fr}}body.reader-fullscreen .app-header,body.reader-fullscreen .bottom-nav,body.reader-fullscreen .desktop-sidebar,body.reader-fullscreen .reader-controls,body.reader-fullscreen .reader-legend,body.reader-fullscreen .reader-pager{display:none!important}body.reader-fullscreen main{width:100%!important;max-width:none!important;margin:0!important;padding:8px 10px!important}body.reader-fullscreen .reader-page{min-height:calc(100dvh - 80px)}@media (min-width:1024px){body.reader-fullscreen{overflow:hidden}body.reader-fullscreen .app-shell{width:100%;max-width:none;min-height:100dvh;margin:0;padding:0}body.reader-fullscreen .page-content{width:100%;max-width:none;margin:0;padding:0!important}body.reader-fullscreen .reader-title-row,body.reader-fullscreen .section-note,body.reader-fullscreen .reader-key-hint{display:none!important}body.reader-fullscreen .reader-chapter-row{border-bottom:1px solid var(--border);background:var(--card);width:100%;height:56px;margin:0;padding:6px 60px 6px 52px}body.reader-fullscreen .reader-chapter-row>button{display:none}body.reader-fullscreen .reader-chapter-row>select{background:0 0;border:0;border-radius:0;grid-column:1/-1;width:100%;height:42px;font-size:15px;font-weight:600}body.reader-fullscreen .reader-stage{background:var(--card);grid-template-rows:minmax(0,1fr);grid-template-columns:52px minmax(0,1fr) 52px;gap:0;width:100%;height:calc(100dvh - 56px);min-height:0;margin:0;display:grid}body.reader-fullscreen .reader-page{background:var(--card);border:0;border-radius:0;grid-area:1/2;width:100%;height:100%;min-height:0;padding:clamp(24px,4vh,64px) clamp(16px,3vw,64px);font-size:38px;line-height:1.65;overflow-y:auto}body.reader-fullscreen .reader-side-arrow{background:var(--card);border:0;border-radius:0;grid-row:1;min-height:0;width:52px!important;height:100%!important}body.reader-fullscreen .reader-side-arrow.is-left{border-right:1px solid var(--border);grid-column:1}body.reader-fullscreen .reader-side-arrow.is-right{border-left:1px solid var(--border);grid-column:3}}:root{--success:#b4efbf;--success-foreground:#033816}@supports (color:color(display-p3 0 0 0)){:root{--success:color(display-p3 .752903 .932494 .7634);--success-foreground:color(display-p3 .0844105 .217269 .10203)}}@supports (color:lab(0% 0 0)){:root{--success:lab(89.5782% -26.7793 17.2411);--success-foreground:lab(19.7945% -24.304 16.2004)}}.dark{--success:#1b552c;--success-foreground:#e4f8e7}@supports (color:color(display-p3 0 0 0)){.dark{--success:color(display-p3 .172559 .327761 .189336);--success-foreground:color(display-p3 .909819 .969828 .912165)}}@supports (color:lab(0% 0 0)){.dark{--success:lab(31.533% -27.1752 17.9185);--success-foreground:lab(95.7616% -8.8726 5.65814)}}.review-feedback.is-correct{background:var(--success)!important;color:var(--success-foreground)!important}@media (min-width:1024px){.review-stage{width:min(100%,1100px)!important}.review-stage .review-entry,.review-stage .review-answer,.review-stage .review-reveal,.review-stage .review-feedback,.review-stage .review-writing,.review-stage .lesson-trace{width:100%;max-width:820px;margin-left:auto;margin-right:auto}.review-banner{min-height:230px}.review-stage{max-width:1200px;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0 auto;overflow:visible;width:100%!important}.review-stage .review-entry,.review-stage .review-answer,.review-stage .review-reveal,.review-stage .review-feedback,.review-stage .review-writing,.review-stage .lesson-trace{width:100%;max-width:none}.review-banner{border:2px solid var(--border);border-radius:18px 18px 0 0;min-height:220px}.review-banner .review-main-glyph{font-size:clamp(88px,10vw,118px)}}.whiteboard-viewport{height:100%;min-height:0;position:relative}.whiteboard-shell.is-student{min-height:calc(100dvh - 140px)}.whiteboard-object.is-stroke{pointer-events:none}.whiteboard-draw-layer{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.whiteboard-draw-layer.is-drawing{cursor:crosshair;touch-action:none}.whiteboard-shell.is-immersive{z-index:50;width:100vw;max-width:none;height:100dvh;min-height:0;box-shadow:none;border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto;margin:0;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.whiteboard-shell.is-immersive .whiteboard-toolbar{min-width:0;min-height:58px;padding:10px 12px;overflow:auto hidden}.whiteboard-shell.is-immersive .whiteboard-toolbar>button[aria-label="На весь экран"],.whiteboard-shell.is-immersive .whiteboard-toolbar>button[aria-label="Выйти из полного экрана"],.whiteboard-shell.is-immersive .whiteboard-toolbar>button[aria-label=Закрыть\ доску]{flex:none}.whiteboard-shell.is-immersive .whiteboard-viewport{min-width:0;height:100%;min-height:0;overflow:hidden}.whiteboard-shell.is-immersive .whiteboard-help{display:none}.whiteboard-transform{width:100%!important;height:100%!important}.whiteboard-transform-content{width:max-content!important;height:max-content!important}.whiteboard-zoom{top:12px;right:12px}.whiteboard-shell:-webkit-full-screen{border-radius:0;grid-template-rows:auto minmax(0,1fr) auto;width:100vw;max-width:none;height:100dvh;min-height:0;margin:0;overflow:hidden}.whiteboard-shell:fullscreen{border-radius:0;grid-template-rows:auto minmax(0,1fr) auto;width:100vw;max-width:none;height:100dvh;min-height:0;margin:0;overflow:hidden}@media (max-width:700px){.whiteboard-shell.is-immersive .whiteboard-toolbar{padding-right:12px}.whiteboard-zoom{top:12px}.whiteboard-shell.is-immersive .whiteboard-comment-form{grid-template-columns:minmax(0,1fr) auto}.whiteboard-shell.is-immersive .whiteboard-comment-form button{gap:0;font-size:0}.whiteboard-shell.is-immersive .whiteboard-comment-form button svg{width:18px;height:18px}}.brand-word{font-family:Manrope,sans-serif}.brand-shadow{display:none}@media (min-width:1024px){.app-shell:has(.lesson-reference-layout){max-width:none;padding-left:0;padding-right:0}.page-content:has(.lesson-reference-layout){max-width:none}.lesson-reference-layout{margin:-34px 0 0}.desktop-brand{flex-direction:column;align-items:center;gap:3px;padding-bottom:18px}.desktop-brand img{width:108px;height:108px}.desktop-brand-name{font-size:22px}.desktop-brand:after{display:none}}.dark{--lesson-character:#213c59;--lesson-component:#24432b;--lesson-actor:#5b2e2d;--lesson-place:#383656;--lesson-room:#49304a;--lesson-word:#144340}@supports (color:color(display-p3 0 0 0)){.dark{--lesson-character:color(display-p3 .153267 .234493 .338317);--lesson-component:color(display-p3 .169727 .258115 .176629);--lesson-actor:color(display-p3 .332126 .190297 .183044);--lesson-place:color(display-p3 .216773 .212838 .328786);--lesson-room:color(display-p3 .272087 .193351 .285399);--lesson-word:color(display-p3 .131805 .258125 .250758)}}@supports (color:lab(0% 0 0)){.dark{--lesson-character:lab(24.3922% -3.48425 -20.41);--lesson-component:lab(25.3071% -16.4648 10.7028);--lesson-actor:lab(25.105% 20.5849 10.0719);--lesson-place:lab(23.9884% 7.1471 -19.2597);--lesson-room:lab(23.813% 15.4284 -11.54);--lesson-word:lab(25.1688% -16.8645 -3.3707)}}.whiteboard-canvas.is-placing{cursor:crosshair}.whiteboard-comment{z-index:3;pointer-events:none}.whiteboard-object{z-index:4}.whiteboard-toolbar .pen-swatch{border:2px solid #0000;border-radius:50%;width:22px;min-width:22px;height:22px;padding:0}.whiteboard-toolbar .pen-swatch.is-active{border-color:var(--ring);box-shadow:0 0 0 2px var(--card)}.stroke-order-links{flex-wrap:wrap;justify-content:center;gap:4px;margin:4px 0 8px;display:flex}.stroke-order-links a{white-space:normal;height:auto}@media (max-width:700px){.brand img{width:64px;height:68px}.brand-word{font-family:Sora,Manrope,sans-serif;font-size:22px;font-weight:800}.whiteboard-toolbar{padding-right:12px}.whiteboard-shell.is-immersive .whiteboard-toolbar{min-height:54px}.whiteboard-zoom{top:10px}}.reader-lib-head{align-items:center;gap:16px;margin-bottom:8px;display:flex}.reader-lib-head h1{margin:0}.reader-lib-head p{color:var(--muted-foreground);font-size:14px}.reader-lib-icon{background:var(--primary);width:60px;height:60px;color:var(--primary-foreground);box-shadow:0 10px 30px var(--primary);border-radius:16px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.reader-lib-icon{box-shadow:0 10px 30px color-mix(in oklab,var(--primary) 40%,transparent)}}.reader-lib-icon{flex-shrink:0}.reader-carousel{text-align:center;background:radial-gradient(ellipse at 50% 85%,var(--primary),transparent 60%);border-radius:20px;padding:8px 0 4px;position:relative}@supports (color:color-mix(in lab, red, red)){.reader-carousel{background:radial-gradient(ellipse at 50% 85%,color-mix(in oklab,var(--primary) 22%,transparent),transparent 60%)}}.reader-carousel-stage{perspective:1200px;height:340px;position:relative}.reader-cover{border:1px solid var(--border);background:var(--card);width:210px;height:290px;transform:translateX(calc(-50% + var(--off) * 170px)) scale(calc(1 - (max(var(--off),calc(var(--off) * -1)) * .2)));filter:brightness(calc(1 - max(var(--off),calc(var(--off) * -1)) * .25));border-radius:6px;transition:transform .4s,filter .4s;position:absolute;bottom:30px;left:50%;overflow:hidden;box-shadow:0 18px 40px #00000073;box-shadow:0 18px 40px color(display-p3 0 0 0/.45);box-shadow:0 18px 40px lab(0% 0 0/.45)}.reader-cover.is-active{box-shadow:0 20px 50px #00000080,0 30px 60px -20px var(--primary)}@supports (color:color(display-p3 0 0 0)){.reader-cover.is-active{box-shadow:0 20px 50px color(display-p3 0 0 0/.5),0 30px 60px -20px var(--primary)}}@supports (color:lab(0% 0 0)){.reader-cover.is-active{box-shadow:0 20px 50px lab(0% 0 0/.5),0 30px 60px -20px var(--primary)}}.reader-cover img{object-fit:cover;width:100%;height:100%}.reader-cover-fallback{background:linear-gradient(160deg,var(--primary),var(--card));place-items:center;height:100%;padding:16px;font-size:22px;font-weight:700;line-height:1.3;display:grid}@supports (color:color-mix(in lab, red, red)){.reader-cover-fallback{background:linear-gradient(160deg,color-mix(in oklab,var(--primary) 70%,var(--card)),var(--card))}}.reader-cover-fallback{color:var(--foreground);word-break:break-word}.reader-carousel-stage:after{content:"";border:3px solid var(--primary);opacity:.7;width:320px;height:36px;box-shadow:0 0 30px var(--primary);pointer-events:none;border-radius:50%;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.reader-carousel-arrow{z-index:20;position:absolute;top:45%;background:var(--card)!important;border-radius:999px!important;width:52px!important;height:52px!important}@supports (color:color-mix(in lab, red, red)){.reader-carousel-arrow{background:color-mix(in oklab,var(--card) 70%,transparent)!important}}.reader-carousel-arrow.is-left{left:6%}.reader-carousel-arrow.is-right{right:6%}.reader-carousel-title{margin-top:4px;font-size:28px;font-weight:800}.reader-carousel-meta{color:var(--muted-foreground);font-size:14px}.reader-carousel-dots{justify-content:center;gap:8px;margin-top:10px;display:flex}.reader-carousel-dots button{background:var(--muted-foreground);opacity:.5;border-radius:50%;width:9px;height:9px}.reader-carousel-dots button.is-active{background:var(--primary);opacity:1}.reader-import-card{border:1.5px solid var(--primary);margin-top:18px}@supports (color:color-mix(in lab, red, red)){.reader-import-card{border:1.5px solid color-mix(in oklab,var(--primary) 70%,var(--border))}}.reader-import-card{background:linear-gradient(180deg,var(--primary),var(--card));border-radius:18px;padding:20px}@supports (color:color-mix(in lab, red, red)){.reader-import-card{background:linear-gradient(180deg,color-mix(in oklab,var(--primary) 8%,var(--card)),var(--card))}}.reader-import-card{box-shadow:0 0 40px -12px var(--primary);gap:12px;display:grid}.reader-import-head{align-items:center;gap:14px;display:flex}.reader-import-head h2{font-size:20px;font-weight:700}.reader-import-head p{color:var(--muted-foreground);font-size:13px}.reader-import-icon{border:1px solid var(--border);background:var(--background);width:48px;height:48px;color:var(--primary);border-radius:12px;place-items:center;display:grid}.reader-field{position:relative}.reader-field>svg{width:18px;height:18px;color:var(--muted-foreground);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.reader-field.is-area>svg{top:20px;transform:none}.reader-field input,.reader-field textarea{padding-left:44px}@media (max-width:767px){.reader-carousel-stage{height:250px}.reader-cover{width:140px;height:196px;transform:translateX(calc(-50% + var(--off) * 105px)) scale(calc(1 - (max(var(--off),calc(var(--off) * -1)) * .22)))}.reader-carousel-stage:after{width:210px}.reader-carousel-arrow{width:40px!important;height:40px!important}.reader-carousel-arrow.is-left{left:0}.reader-carousel-arrow.is-right{right:0}.reader-carousel-title{font-size:22px}.reader-lib-icon{width:48px;height:48px}}.page-content>h1,.page-content>:not(.reader-lib-head)>h1,.page-heading h1{letter-spacing:0;font-family:Sora,Manrope,sans-serif;font-weight:750;line-height:1.15}.page-content>h1{border-left:5px solid var(--primary);margin-bottom:24px;padding-left:18px}.page-heading{border-left:5px solid var(--primary);min-height:52px;padding-left:18px;position:relative}.page-heading .eyebrow{color:var(--primary);font-weight:800}.section-heading h2,.progress-section h2,.queue-section h2{font-weight:750;line-height:1.25}.page-content>section>h2:first-child{letter-spacing:0}.page-content :where(.queue-row,.pool-card,.class-tile,.homework-card,.review-row,.reader-library-item,.reader-card,.suggestion-box,.lesson-card){border:1px solid var(--border);background:var(--card);box-shadow:0 8px 26px var(--foreground);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.page-content :where(.queue-row,.pool-card,.class-tile,.homework-card,.review-row,.reader-library-item,.reader-card,.suggestion-box,.lesson-card){box-shadow:0 8px 26px color-mix(in oklab,var(--foreground) 5%,transparent)}}.page-content :where(.queue-row,.pool-card,.class-tile,.homework-card,.review-row,.reader-library-item,.reader-card,.lesson-card){transition:border-color .2s,box-shadow .2s,transform .2s}.page-content :where(.queue-row,.pool-card,.class-tile,.homework-card,.review-row,.reader-library-item,.reader-card,.lesson-card):hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.page-content :where(.queue-row,.pool-card,.class-tile,.homework-card,.review-row,.reader-library-item,.reader-card,.lesson-card):hover{border-color:color-mix(in oklab,var(--primary) 42%,var(--border))}}.page-content :where(.queue-row,.pool-card,.class-tile,.homework-card,.review-row,.reader-library-item,.reader-card,.lesson-card):hover{box-shadow:0 10px 28px var(--primary)}@supports (color:color-mix(in lab, red, red)){.page-content :where(.queue-row,.pool-card,.class-tile,.homework-card,.review-row,.reader-library-item,.reader-card,.lesson-card):hover{box-shadow:0 10px 28px color-mix(in oklab,var(--primary) 11%,transparent)}}.progress-totals{border:0;gap:12px;margin:24px 0;padding:0}.progress-totals>div{border:1px solid var(--border);background:var(--card);min-width:0;box-shadow:0 8px 26px var(--foreground);border-radius:8px;padding:22px 12px}@supports (color:color-mix(in lab, red, red)){.progress-totals>div{box-shadow:0 8px 26px color-mix(in oklab,var(--foreground) 5%,transparent)}}.progress-totals strong{color:var(--primary)}.progress-section,.queue-section{border-top:1px solid var(--border);border-bottom:0}.review-modes .review-mode,.more-list a,.more-list button,.reader-import-card{border-radius:8px}.reader-library-item{align-items:center;gap:12px;min-width:0;padding:10px;display:flex}.reader-list-cover{border:1px solid var(--border);background:var(--secondary);min-width:56px;color:var(--primary);overflow:hidden;border-radius:6px!important;width:56px!important;height:80px!important;padding:0!important}.reader-list-cover img{object-fit:cover;width:100%;height:100%}.reader-list-cover.is-empty{align-content:center;justify-items:center;gap:3px;display:grid}.reader-list-cover.is-empty svg{width:22px;height:22px}.reader-list-cover.is-empty span{white-space:normal;font-size:9px;font-weight:700}.reader-library-title{overflow-wrap:anywhere;min-width:0;color:var(--foreground);flex:1;gap:4px;text-align:left!important;white-space:normal!important;justify-content:start!important;height:auto!important;padding:4px!important;display:grid!important}.reader-cover.is-empty{white-space:normal;padding:0}.reader-cover-fallback{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;font-size:15px;display:flex}.reader-cover-fallback svg{width:38px;height:38px;color:var(--primary)}.reader-carousel-title{overflow-wrap:anywhere;max-width:100%}@media (max-width:767px){.page-heading{min-height:44px;padding-left:12px}.page-content>h1{padding-left:12px}.progress-totals>div{padding:16px 8px}.reader-library-item{gap:6px}.reader-library-item>button:not(.reader-list-cover):not(.reader-library-title){width:36px;min-width:36px;padding:0}.reader-list-cover{min-width:48px;width:48px!important;height:68px!important}}@media (prefers-reduced-motion:reduce){.reader-cover{transition:none}.page-content :where(.queue-row,.pool-card,.class-tile,.homework-card,.review-row,.reader-library-item,.reader-card,.lesson-card){transition:none}}.reader-carousel-arrow{box-shadow:0 4px 14px var(--foreground);color:var(--foreground)!important;border:1px solid var(--border)!important;background:var(--card)!important}@supports (color:color-mix(in lab, red, red)){.reader-carousel-arrow{box-shadow:0 4px 14px color-mix(in oklab,var(--foreground) 12%,transparent)}}.reader-carousel-arrow:hover{color:var(--primary)!important;border-color:var(--primary)!important}@media (min-width:1024px){:root{--desktop-header-height:0px}.app-header{display:none}.app-shell{padding-top:36px}}.more-theme-toggle{justify-content:flex-start;width:100%}.reader-page.has-pinyin ruby{ruby-position:over}.reader-page.has-pinyin rt{color:var(--muted-foreground);letter-spacing:0;-webkit-user-select:none;user-select:none;font-family:Manrope,sans-serif;font-size:.36em;line-height:1}.reader-custom-entry{border:1px solid var(--border);background:var(--secondary);border-radius:8px;gap:8px;padding:12px;display:grid}.study-bar:not(.is-navigation){z-index:9;background:var(--background);justify-content:center;margin:0;padding:12px 24px;position:fixed;bottom:100px;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.study-bar:not(.is-navigation){background:color-mix(in oklab,var(--background) 94%,transparent)}}.study-bar:not(.is-navigation){-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);box-shadow:0 -10px 28px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.study-bar:not(.is-navigation){box-shadow:0 -10px 28px color-mix(in oklab,var(--foreground) 8%,transparent)}}.study-bar-spacer{height:96px}@media (max-width:600px){.study-bar:not(.is-navigation){gap:6px;padding:10px 12px;bottom:82px}.study-bar:not(.is-navigation) button{flex:1 1 0;min-width:0;padding-inline-start:8px;padding-inline-end:8px}}@media (min-width:1024px){.study-bar:not(.is-navigation){left:var(--desktop-sidebar-width);bottom:0}}.reader-page.has-pinyin{line-height:2.4}.reader-page.has-pinyin .reader-glyph,.reader-page.has-pinyin .reader-copy-token{vertical-align:bottom;white-space:nowrap;flex-wrap:nowrap;align-items:flex-end;height:auto;min-height:1.42em;line-height:1;display:inline-flex}.reader-page.has-pinyin ruby{flex-direction:column-reverse;align-items:center;min-width:1.1em;line-height:1.05;display:inline-flex}.reader-page.has-pinyin rt{text-align:center;white-space:nowrap;padding-bottom:.08em;display:block}.reader-page.has-pinyin .reader-glyph.is-absent:after{top:.1em}.reader-page.has-pinyin .reader-mark{vertical-align:bottom;white-space:nowrap;align-items:flex-end;min-height:1.42em;line-height:1;display:inline-flex}@media (hover:none),(max-width:900px){.reader-hotkeys-button{display:none!important}}.hotkey-list{gap:.6rem;display:grid}.hotkey-row{grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;font-size:.9rem;display:grid}.hotkey-row kbd{text-align:center;border:1px solid var(--border);background:var(--muted);border-radius:.5rem;min-width:2.2rem;padding:.2rem .5rem;font-family:inherit;font-weight:700}.upgrade-dialog{text-align:center}.upgrade-dialog [data-slot=dialog-header],.upgrade-dialog>div:first-child{text-align:center;align-items:center}.upgrade-icon{background:var(--primary);border-radius:999px;place-items:center;width:3rem;height:3rem;margin:0 auto .25rem;display:grid}@supports (color:color-mix(in lab, red, red)){.upgrade-icon{background:color-mix(in oklab, var(--primary) 15%, transparent)}}.upgrade-icon{color:var(--primary)}.upgrade-perks{color:var(--muted-foreground);font-size:.9rem}.batch-test{max-width:46rem;padding-bottom:calc(6rem + env(safe-area-inset-bottom));gap:1rem;margin:0 auto;display:grid}.batch-test h1{margin:0}.batch-test .study-hero.is-correct{outline:2px solid var(--success,#29a356)}.batch-test .study-hero.is-wrong{outline:2px solid var(--destructive)}.batch-browse{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.batch-browse li{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);align-items:flex-start;gap:1rem;padding:.8rem 1rem;display:flex}.batch-browse li>strong{font-size:2rem;line-height:1}.batch-browse li span{gap:.15rem;display:grid}.batch-browse small{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}.batch-browse em{color:var(--primary);font-style:normal}.batch-browse i{color:var(--muted-foreground);font-size:.9rem;font-style:normal}.batch-result{border-radius:var(--radius);border:1px solid var(--border);background:var(--card);padding:.8rem 1rem}.batch-result>p{align-items:center;gap:.4rem;margin:0 0 .5rem;font-weight:700;display:flex}.batch-result.is-ok>p{color:var(--success,#29a356)}.batch-result.is-bad>p{color:var(--destructive)}.batch-result dl{grid-template-columns:auto 1fr;gap:.25rem .8rem;margin:0;display:grid}.batch-result dt{color:var(--muted-foreground)}.batch-result dd{margin:0}.batch-summary{gap:.4rem;display:grid}.session-plan{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);gap:.35rem;margin:.75rem 0;padding:.9rem 1rem;display:grid}.session-plan p{margin:0}.session-size{align-items:center;gap:.5rem;font-size:.9rem;display:inline-flex}.session-size select{background:var(--background);color:var(--foreground);border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);padding:.2rem .5rem}.study-question-stage{width:100%;max-width:none;padding-bottom:calc(7rem + env(safe-area-inset-bottom));gap:0;margin:0}.study-question-stage>.eyebrow{background:var(--secondary);margin:0;padding:14px 28px}.study-question-stage .study-hero.is-lesson-item{min-height:240px;box-shadow:none;border:0;border-radius:0}.study-question-stage .study-hero.item-character,.review-stage .review-banner.item-character{background:var(--lesson-character)}.study-question-stage .study-hero.item-component,.review-stage .review-banner.item-component{background:var(--lesson-component)}.study-question-stage .study-hero.item-actor,.review-stage .review-banner.item-actor{background:var(--lesson-actor)}.study-question-stage .study-hero.item-place,.review-stage .review-banner.item-place{background:var(--lesson-place)}.study-question-stage .study-hero.item-room,.review-stage .review-banner.item-room{background:var(--lesson-room)}.study-question-stage .study-hero.item-word,.review-stage .review-banner.item-word{background:var(--lesson-word)}.study-question{border-bottom:1px solid var(--border);background:var(--secondary);min-height:94px;color:var(--foreground);text-align:center;justify-content:center;align-items:center;gap:16px;margin:0;padding:18px 24px;font-size:clamp(20px,2.5vw,32px);font-weight:700;line-height:1.3;display:flex}.study-question>span:first-child{flex:none;font-size:1.15em}.study-question-stage .lesson-check{gap:16px;margin:0;padding:22px clamp(20px,5vw,52px)}.study-question-stage .lesson-check input{text-align:center;height:64px;font-size:20px}.study-input-correct,.review-entry.is-correct input{box-shadow:0 0 0 1px var(--reader-known);border-color:var(--reader-known)!important;background:var(--reader-known)!important}@supports (color:color-mix(in lab, red, red)){.study-input-correct,.review-entry.is-correct input{background:color-mix(in oklab,var(--reader-known) 16%,var(--background))!important}}.study-input-wrong,.review-entry.is-wrong input{box-shadow:0 0 0 1px var(--destructive);border-color:var(--destructive)!important;background:var(--destructive)!important}@supports (color:color-mix(in lab, red, red)){.study-input-wrong,.review-entry.is-wrong input{background:color-mix(in oklab,var(--destructive) 12%,var(--background))!important}}.study-question-stage .batch-result,.review-stage .review-feedback{border:0;border-top:1px solid var(--border);border-radius:0;background:var(--card)!important;color:var(--foreground)!important}.study-question-stage .batch-result>p,.review-stage .review-feedback>strong{font-size:20px}.study-question-stage .batch-result button,.review-stage .review-feedback>button:first-of-type{justify-self:start}.study-answer-details{border-top:1px solid var(--border);grid-template-columns:minmax(90px,auto) minmax(0,1fr);gap:14px 22px;margin:12px 0 0;padding:24px 0;font-size:17px;display:grid}.study-answer-details dt{color:var(--muted-foreground);font-weight:600}.study-answer-details dd{overflow-wrap:anywhere;margin:0;font-weight:700}.review-stage .review-banner.item-character,.review-stage .review-banner.item-component,.review-stage .review-banner.item-actor,.review-stage .review-banner.item-place,.review-stage .review-banner.item-room,.review-stage .review-banner.item-word{color:var(--foreground)}.review-stage .review-question.study-question{min-height:94px;font-size:clamp(20px,2.5vw,32px);font-weight:700}.review-stage .review-entry.is-correct,.review-stage .review-entry.is-wrong{background:var(--card)}.study-question-stage .batch-result.is-ok>button,.review-stage .review-feedback.is-correct>button:first-of-type{border-color:var(--reader-known);background:var(--reader-known)}@supports (color:color-mix(in lab, red, red)){.study-question-stage .batch-result.is-ok>button,.review-stage .review-feedback.is-correct>button:first-of-type{background:color-mix(in oklab,var(--reader-known) 25%,var(--card))}}.study-question-stage .batch-result.is-ok>button,.review-stage .review-feedback.is-correct>button:first-of-type{color:var(--foreground)}.study-question-stage .batch-result.is-bad>button,.review-stage .review-feedback.is-wrong>button:first-of-type{border-color:var(--destructive);background:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.study-question-stage .batch-result.is-bad>button,.review-stage .review-feedback.is-wrong>button:first-of-type{background:color-mix(in oklab,var(--destructive) 20%,var(--card))}}.study-question-stage .batch-result.is-bad>button,.review-stage .review-feedback.is-wrong>button:first-of-type{color:var(--foreground)}.study-question-stage .batch-result .study-answer-details{grid-template-columns:minmax(90px,auto) minmax(0,1fr);gap:14px 22px;margin:12px 0 0;display:grid}@media (max-width:600px){.study-question-stage .batch-result .study-answer-details{grid-template-columns:1fr;gap:4px}.study-question-stage{margin:0 -23px}.study-question{gap:10px;min-height:82px;padding:14px 16px;font-size:21px}.study-question-stage .study-hero.is-lesson-item{min-height:205px}.study-question-stage .lesson-check{padding:18px 16px}.study-answer-details{grid-template-columns:1fr;gap:4px}.study-answer-details dd{margin-bottom:10px}}.page-content:has(>.study-question-stage){width:100%;max-width:none;padding-top:0}.app-shell:has(.study-question-stage){max-width:none}.page-content:has(>.review-stage){padding-top:0}@media (min-width:1024px){:-webkit-any(.app-shell:has(.study-question-stage),.app-shell:has(.review-stage),.review-stage){padding-left:0;padding-right:0}:is(.app-shell:has(.study-question-stage),.app-shell:has(.review-stage),.review-stage){padding-left:0;padding-right:0}}.study-question-stage>.eyebrow{background:var(--card)}@media (min-width:1024px){.review-stage{max-width:none!important}.review-stage .review-banner{border:0;border-radius:0;min-height:240px}.review-stage .review-question{width:100%}}@media (max-width:1023px){.study-question-stage{width:100%;margin:0}}@media (max-width:767px){.desktop-hotkey-hint{display:none}}@media (min-width:601px) and (max-width:1023px){.lesson-reference-layout>.session-plan,.lesson-reference-layout>.lesson-mode-line,.lesson-reference-layout>.study-breakdown,.lesson-reference-layout>p,.lesson-reference-layout>.section-note{max-width:calc(100% - 104px);margin-left:52px;margin-right:52px}}@media (max-width:767px){:root{--m-gutter:16px;--m-header:64px;--m-nav:66px;--m-safe:env(safe-area-inset-bottom,0px);--m-navspace:calc(var(--m-nav) + var(--m-safe))}html,body{max-width:100%;overflow-x:hidden}.app-shell{width:100%;min-width:0;max-width:100%;padding:calc(var(--m-header) + 12px) var(--m-gutter) calc(var(--m-navspace) + 24px);margin:0;overflow-x:clip}.page-content{width:100%;min-width:0;max-width:100%;padding-top:6px;overflow-x:clip}.app-header{width:100%;height:var(--m-header);padding:0 var(--m-gutter);gap:10px;left:0;right:0;transform:none}.brand{gap:6px;margin-left:0;padding-right:0}.brand img{width:40px;height:42px}.brand-word{font-size:19px}.header-actions{gap:4px}.header-actions>*{width:36px!important;height:36px!important}.header-actions>* svg{width:19px;height:19px}.header-more{display:inline-flex!important}.bottom-nav{width:100%;padding:6px 6px max(6px, var(--m-safe));grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid;left:0;right:0;transform:none}.nav-item{border-radius:8px;gap:4px;height:54px;padding:4px 2px;font-size:10px}.nav-item svg{width:21px;height:21px}.nav-item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}h1{overflow-wrap:anywhere;font-size:26px;line-height:1.22}.section-heading h2{font-size:19px}.page-heading{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:18px;grid-template-columns:none!important;display:flex!important}.page-heading>*{min-width:0;max-width:100%}.phase-label{white-space:normal;overflow-wrap:anywhere;width:100%;padding:7px 10px;font-size:11px;line-height:1.45;display:block}.phase-label .lesson-remaining{margin-top:2px;font-style:normal;display:block}.eyebrow{margin-bottom:4px}button,.btn,a[role=button]{white-space:normal}input,select,textarea{max-width:100%;font-size:16px}img,svg,video,canvas{max-width:100%}table{width:100%;display:block;overflow-x:auto}pre,code{max-width:100%;overflow-x:auto}.chip-row>span,.reader-legend>span{max-width:100%}.continue-button,.review-mode,.lesson-source-card{width:100%;min-height:92px;padding:16px var(--m-gutter);text-align:left;white-space:normal;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;font-size:19px;height:auto!important;display:grid!important}.continue-button>span,.review-mode>span,.lesson-source-card>span{min-width:0}.continue-button i{width:40px;height:40px}.review-mode em{font-size:21px}.review-modes,.review-modes.is-single{grid-template-columns:minmax(0,1fr);gap:12px}.study-counts{margin:22px 0 28px}.study-counts strong{font-size:32px}.study-counts span{text-align:center;font-size:12px}.lesson-reference-layout,.study-question-stage,.review-stage,.live-present{border-radius:0;width:auto!important;max-width:none!important;margin:0 calc(var(--m-gutter) * -1)!important}.lesson-reference-layout{padding-bottom:calc(var(--m-navspace) + 74px)}.lesson-reference-layout .lesson-topline{padding:10px var(--m-gutter);flex-wrap:wrap;gap:6px 10px;display:flex}.lesson-meta{flex-wrap:wrap;gap:6px;font-size:10px}.cancel-lesson{margin-left:auto;font-size:10px}.lesson-reference-layout .study-hero.is-lesson-item{min-height:0;padding:16px var(--m-gutter) 20px;gap:6px}.lesson-reference-layout .study-glyph{font-size:74px}.lesson-reference-layout .study-glyph.is-text{font-size:32px}.lesson-reference-layout .study-meaning{font-size:21px}.lesson-reference-layout .study-pinyin{font-size:16px}.lesson-reference-layout .study-tabs{padding:10px var(--m-gutter);scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;gap:6px;display:flex;overflow-x:auto}.lesson-reference-layout .study-tabs::-webkit-scrollbar{display:none}.lesson-reference-layout .study-tabs button{white-space:nowrap;flex:none;height:36px;padding:0 12px;font-size:13px}.lesson-reference-layout .study-tabs button.is-active:after{display:none}.lesson-reference-layout .study-panel{padding:18px var(--m-gutter) 24px;min-height:0}.lesson-section-title{margin-bottom:12px;padding-bottom:8px;font-size:18px}.lesson-mnemonic-prose{font-size:16px;line-height:1.7}.lesson-examples{gap:12px}.lesson-examples>span{gap:8px;font-size:16px}.lesson-examples strong{min-width:44px;min-height:48px;font-size:27px}.lesson-name-section dd{font-size:18px}.lesson-reference-layout .lesson-check input{height:50px;font-size:16px}.lesson-reference-layout .lesson-trace .writing-area canvas,.lesson-reference-layout .lesson-trace .writing-area .writing-guide{height:min(190px,28vh)}.lesson-reference-layout>.session-plan,.lesson-reference-layout>.lesson-mode-line,.lesson-reference-layout>.study-breakdown,.lesson-reference-layout>p,.lesson-reference-layout>.section-note{margin-left:var(--m-gutter);margin-right:var(--m-gutter);max-width:calc(100% - var(--m-gutter) * 2)}.lesson-unit-choice .lesson-choice-panel{padding:20px var(--m-gutter) 26px;min-height:0}.lesson-choice-panel h2{margin-bottom:12px;font-size:20px}.lesson-choice-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.lesson-choice-actions>:first-child{grid-column:1/-1}.lesson-choice-actions>*{height:auto;min-height:48px;font-size:15px}.study-bar{bottom:var(--m-navspace)}.study-bar.is-navigation{width:100%;left:0;right:0;bottom:var(--m-navspace);transform:none}.lesson-arrow{height:52px}.lesson-arrow.is-left{padding-left:var(--m-gutter)}.lesson-arrow.is-right{padding-right:var(--m-gutter)}.lesson-arrow.is-right span{font-size:14px}.study-question-stage{padding-bottom:calc(var(--m-navspace) + 24px)}.study-question{min-height:0;padding:16px var(--m-gutter);gap:8px;font-size:19px;line-height:1.3}.study-question-stage .study-hero.is-lesson-item{min-height:0;padding:18px var(--m-gutter) 22px}.study-question-stage .lesson-check{padding:16px var(--m-gutter)}.study-question-stage .lesson-check input{height:52px;font-size:17px}.study-answer-details{padding:16px var(--m-gutter);grid-template-columns:1fr;gap:3px}.study-answer-details dd{margin-bottom:8px}.study-question-stage .batch-result{padding:16px var(--m-gutter)}.study-question-stage .batch-result>p{font-size:17px}.review-stage{padding:0 0 calc(var(--m-navspace) + 20px)}.review-banner{min-height:150px;padding:22px var(--m-gutter) 18px;border-left:0;border-right:0;border-radius:0}.review-banner .review-main-glyph{font-size:80px}.review-banner-title{font-size:20px}.review-question{padding:12px var(--m-gutter);border-left:0;border-right:0;font-size:16px}.review-stage .review-question.study-question{min-height:0;font-size:19px}.review-entry{padding:12px var(--m-gutter)}.review-entry input{height:52px;font-size:17px}.review-writing,.review-unknown{padding-left:var(--m-gutter);padding-right:var(--m-gutter)}.review-stage .review-answer,.review-stage .review-reveal,.review-stage .review-feedback{padding:14px var(--m-gutter)}.review-stage .review-feedback{border-left:0;border-right:0;border-radius:0}.review-stage .review-entry,.review-stage .review-reveal,.review-stage .review-writing,.review-stage .lesson-trace,.review-stage .review-unknown,.review-stage .review-answer{border-left:0;border-right:0}.review-stage .writing-area canvas{height:clamp(180px,28vh,250px)}.review-row{grid-template-columns:48px minmax(0,1fr);gap:12px}.review-times{grid-column:1/-1;padding-left:60px}.review-pending{margin:0 var(--m-gutter) 6px;text-align:left;position:static}.class-tiles{grid-template-columns:minmax(0,1fr)}.class-live-actions{grid-template-columns:minmax(0,1fr);gap:10px}.live-topline{gap:8px}.live-viewswitch{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 14px;display:grid!important}.live-viewswitch>button,.live-viewswitch>a{white-space:normal;width:100%;min-height:48px;padding:8px 10px;font-size:13px;line-height:1.2;height:auto!important}.live-viewswitch>button:has(>svg:only-child){min-width:0}.live-present{padding:24px var(--m-gutter);min-height:calc(100dvh - 200px)}.cal-block-top,.cal-block-tasks{padding-left:12px;padding-right:12px}.homework-actions>*{flex:100%}.whiteboard-shell{min-height:calc(100dvh - var(--m-header) - var(--m-navspace) - 60px);border-radius:12px;margin-top:12px}.whiteboard-toolbar{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;gap:6px;padding:7px 10px;overflow-x:auto}.whiteboard-toolbar::-webkit-scrollbar{display:none}.whiteboard-toolbar button{white-space:nowrap;flex:none;min-width:38px;height:38px;padding:0 9px;font-size:13px}.whiteboard-toolbar button svg{width:17px;height:17px}.whiteboard-viewport{touch-action:none;min-height:320px}.whiteboard-comment-form{grid-template-columns:minmax(0,1fr) auto;padding:8px 10px}.whiteboard-zoom{top:auto;bottom:12px;right:8px}.class-chat-fab{right:14px;bottom:calc(var(--m-navspace) + 16px);width:48px;height:48px}.class-chat-fab svg{width:21px;height:21px}.class-chat-panel{width:auto;left:10px;right:10px;bottom:calc(var(--m-navspace) + 16px);max-height:62dvh}.reader-title-row h1{font-size:19px}.reader-page{min-height:340px;padding:14px 12px;font-size:26px;line-height:1.7}.reader-controls{gap:8px}.reader-pager{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}.reader-lookup{width:calc(100% - 20px);padding:18px}.reader-lookup-glyph{font-size:62px}.reader-key-hint{display:none}.progress-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.queue-row{grid-template-columns:48px minmax(0,1fr);row-gap:8px}.queue-row>:last-child{grid-column:1/-1}.admin-users-totals{grid-template-columns:minmax(0,1fr)}.more-list>a{height:64px;font-size:17px}.done-screen{padding:20px var(--m-gutter)}body.reader-fullscreen .app-shell{padding:0!important}body.reader-fullscreen .reader-page{border-radius:0;min-height:calc(100dvh - 40px)}}body.study-immersive .app-header,body.study-immersive .bottom-nav{display:none!important}body.study-immersive .app-shell{padding-top:0!important;padding-bottom:0!important}@media (max-width:1023px){body.study-immersive .app-shell{padding-left:0!important;padding-right:0!important}}body.study-immersive .page-content{max-width:none;padding-top:0!important}.study-screen{width:100%;min-height:100dvh;padding-top:0;padding-bottom:calc(58px + env(safe-area-inset-bottom,0px));background:var(--background);overscroll-behavior-x:contain;touch-action:pan-y;flex-direction:column;display:flex;position:relative;max-width:none!important;margin:0!important}.study-topbar{z-index:20;background:0 0;border-bottom:0;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;height:52px;padding:4px 14px 0 4px;display:grid;position:absolute;top:0;left:0;right:0}.study-exit{color:var(--muted-foreground);width:44px!important;height:44px!important}.study-topbar-progress{grid-template-columns:minmax(0,auto) minmax(40px,1fr) auto;align-items:center;gap:10px;min-width:0;display:grid}.study-topbar-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--foreground);opacity:.66;text-transform:uppercase;font-size:11px;font-weight:800;overflow:hidden}.study-topbar-track{background:var(--foreground);border-radius:999px;height:3px;position:relative}@supports (color:color-mix(in lab, red, red)){.study-topbar-track{background:color-mix(in oklab, var(--foreground) 14%, transparent)}}.study-topbar-track{overflow:hidden}.study-topbar-track>span{background:var(--primary);border-radius:999px;height:100%;transition:width .25s;display:block}.study-topbar-count{color:var(--muted-foreground);white-space:nowrap;font-size:12px;font-weight:800}.study-screen .study-hero.is-lesson-item{min-height:clamp(300px,46dvh,430px);padding:64px 20px 34px;position:relative;overflow:hidden;box-shadow:none!important;border:0!important;border-radius:0!important}.study-screen .study-hero.is-lesson-item:after{content:"";pointer-events:none;background:radial-gradient(62% 68% at 50% 44%, var(--study-tone,var(--lesson-character)), transparent 74%);position:absolute;top:0;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.study-screen .study-hero.is-lesson-item:after{background:radial-gradient(62% 68% at 50% 44%, color-mix(in oklab, var(--study-tone,var(--lesson-character)) 75%, transparent), transparent 74%)}}.study-screen .study-hero.item-character{--study-tone:var(--lesson-character)}.study-screen .study-hero.item-component{--study-tone:var(--lesson-component)}.study-screen .study-hero.item-actor{--study-tone:var(--lesson-actor)}.study-screen .study-hero.item-place{--study-tone:var(--lesson-place)}.study-screen .study-hero.item-room{--study-tone:var(--lesson-room)}.study-screen .study-hero.item-word{--study-tone:var(--lesson-word)}.study-screen.tone-character{--study-tone:var(--lesson-character)}.study-screen.tone-component{--study-tone:var(--lesson-component)}.study-screen.tone-actor{--study-tone:var(--lesson-actor)}.study-screen.tone-place{--study-tone:var(--lesson-place)}.study-screen.tone-room{--study-tone:var(--lesson-room)}.study-screen.tone-word{--study-tone:var(--lesson-word)}.study-screen .study-hero.is-lesson-item>*{z-index:1;position:relative}.study-screen .study-glyph{text-shadow:0 0 34px var(--study-tone,var(--lesson-character));font-size:clamp(96px,28vw,156px)}@supports (color:color-mix(in lab, red, red)){.study-screen .study-glyph{text-shadow:0 0 34px color-mix(in oklab, var(--study-tone,var(--lesson-character)) 60%, transparent)}}.study-screen .study-glyph.is-text{text-shadow:none;font-size:clamp(30px,8vw,48px)}.study-screen .study-pinyin{letter-spacing:.08em;opacity:.9;font-size:clamp(17px,5vw,24px);font-weight:500}.study-screen .study-meaning{opacity:.95;font-size:clamp(19px,5.5vw,28px);font-weight:600}.study-screen .study-tabs{border-top:0;border-bottom:1px solid var(--border);background:var(--background);grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:4px;padding:4px 8px 0;display:grid;overflow:hidden}.study-screen .study-tabs button{width:100%;min-width:0;height:46px;color:var(--muted-foreground);white-space:nowrap;border-radius:0;padding:0 6px;font-size:15px;font-weight:500;position:relative;box-shadow:none!important;background:0 0!important;border:0!important}.pinyin-umlaut-help{text-align:center}.pinyin-umlaut-help [data-slot=dialog-footer]{justify-content:center}.study-screen .study-tabs button.is-active{color:var(--foreground);font-weight:800}.study-screen .study-tabs button.is-active:after{content:"";background:var(--primary);border:0;border-radius:3px 3px 0 0;width:auto;height:3px;position:absolute;bottom:0;left:10px;right:10px;transform:none}.study-screen .study-workspace{background:0 0;border:0;border-radius:0;overflow:visible}.study-screen .study-panel{border-bottom:0;min-height:0;padding:16px 20px 28px}.study-screen .study-breakdown{background:0 0;border:0;border-radius:0;gap:22px;margin:0 0 8px;padding:0}.study-screen .breakdown-block>small{letter-spacing:.06em;font-size:12px}.study-screen .chip-row{flex-direction:column;align-items:stretch;gap:10px}.study-screen .chip-row>span{background:0 0;border:0;border-radius:12px;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:14px;padding:0;font-size:17px;display:grid}.study-screen .chip-row>span>strong{border:1px solid var(--border);background:var(--card);border-radius:8px;justify-content:center;align-items:center;width:56px;height:56px;font-family:serif;font-size:28px;display:inline-flex}.study-screen .chip-row>span.is-familiar{color:var(--foreground);background:0 0}.study-screen .chip-row>span.is-familiar>strong{border-color:var(--reader-known)}.study-screen .lesson-card{background:0 0;border:0;padding:0}.study-screen .lesson-mnemonic-prose{font-size:17px;line-height:1.75}.study-screen .lesson-choice-panel{padding:22px 20px 26px}.study-screen .lesson-choice-panel h2{font-size:clamp(21px,6vw,28px);font-weight:800}.study-screen .study-intro-content{padding:24px 20px 34px}.study-screen .study-intro-content .study-breakdown{margin:0}.study-screen .study-intro-content .breakdown-block>small{color:var(--foreground);text-transform:none;margin-bottom:16px;font-size:clamp(20px,5.5vw,27px);font-weight:800}.study-screen .study-intro-content .breakdown-block+.breakdown-block{border-top:1px solid var(--border);padding-top:24px}.study-screen .study-intro-content .chip-row>span>strong{border-color:var(--border);background:var(--card)}.study-screen .study-intro-content .chip-row>span.is-familiar>strong{border-color:var(--reader-known)}.study-screen .anchor-type-icon{background:var(--study-tone,var(--card));border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}@supports (color:color-mix(in lab, red, red)){.study-screen .anchor-type-icon{background:color-mix(in oklab, var(--study-tone,var(--card)) 32%, var(--card))}}.study-screen .anchor-type-icon{border:1px solid var(--study-tone,var(--border))}@supports (color:color-mix(in lab, red, red)){.study-screen .anchor-type-icon{border:1px solid color-mix(in oklab, var(--study-tone,var(--border)) 42%, var(--border))}}.study-screen .anchor-type-icon svg{width:21px;height:21px}.study-decision-actions{display:none}.study-screen.lesson-unit-choice{padding-bottom:130px}.study-screen.lesson-unit-choice .study-decision-actions{z-index:12;left:0;right:0;bottom:env(safe-area-inset-bottom,0px);background:var(--border);border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:grid;position:fixed}.study-screen.lesson-unit-choice .study-decision-actions>button{border:0;border-radius:0;gap:8px;width:100%;height:56px;font-size:16px;font-weight:800}.study-screen.lesson-unit-choice .study-decision-actions>button[data-enter-action]{background:var(--primary);color:var(--primary-foreground)}body.keyboard-open .study-screen.lesson-unit-choice .study-decision-actions{bottom:0}.study-screen .study-bar.is-navigation{left:0;right:0;bottom:env(safe-area-inset-bottom,0px);z-index:12;width:100%;position:fixed;transform:none}.study-screen .study-bar.is-navigation .lesson-arrow{justify-content:center;gap:8px;padding:0 12px}.study-screen .lesson-choice-actions{bottom:calc(44px + env(safe-area-inset-bottom,0px));background:var(--background);z-index:8;padding-top:12px;position:sticky}.swipe-hints{z-index:11;height:calc(34px + env(safe-area-inset-bottom,0px));padding:0 16px env(safe-area-inset-bottom,0px);background:var(--background);justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.swipe-hints{background:color-mix(in oklab, var(--background) 96%, transparent)}}.swipe-hints{border-top:1px solid var(--border);color:var(--muted-foreground)}.swipe-hints button{height:100%;color:inherit;box-shadow:none;background:0 0;padding:0;font-size:12px}.swipe-hints button:disabled{opacity:1}.study-screen.review-stage,.study-screen.study-question-stage{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}.study-screen .review-banner{border:0;border-radius:0;min-height:0;padding:26px 20px 30px;position:relative;overflow:hidden}.study-screen .review-banner:after{content:"";pointer-events:none;background:radial-gradient(60% 70% at 50% 45%, var(--study-tone,var(--lesson-character)), transparent 72%);position:absolute;top:0;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.study-screen .review-banner:after{background:radial-gradient(60% 70% at 50% 45%, color-mix(in oklab, var(--study-tone,var(--lesson-character)) 70%, transparent), transparent 72%)}}.study-screen .review-banner.item-character{--study-tone:var(--lesson-character)}.study-screen .review-banner.item-component{--study-tone:var(--lesson-component)}.study-screen .review-banner.item-actor{--study-tone:var(--lesson-actor)}.study-screen .review-banner.item-place{--study-tone:var(--lesson-place)}.study-screen .review-banner.item-room{--study-tone:var(--lesson-room)}.study-screen .review-banner.item-word{--study-tone:var(--lesson-word)}.study-screen .review-banner>*{z-index:1;position:relative}.study-screen .review-main-glyph{text-shadow:0 0 34px var(--study-tone,var(--lesson-character));font-size:clamp(86px,26vw,150px)}@supports (color:color-mix(in lab, red, red)){.study-screen .review-main-glyph{text-shadow:0 0 34px color-mix(in oklab, var(--study-tone,var(--lesson-character)) 60%, transparent)}}.study-screen .review-banner-count{color:var(--muted-foreground);font-size:12px}.study-screen .study-question{background:0 0;border-left:0;border-right:0;font-weight:800}.study-screen .review-entry,.study-screen .review-feedback,.study-screen .batch-result{border-left:0;border-right:0;border-radius:0}.study-screen .anchor-chips>span{flex-wrap:wrap;align-items:center;gap:8px;font-size:17px;display:flex}.study-screen .anchor-chips>span>strong{letter-spacing:.06em;text-transform:uppercase;width:auto;min-width:0;height:auto;color:var(--muted-foreground);background:0 0;border:0;border-radius:0;padding:0;font-family:inherit;font-size:12px;font-weight:700}@media (max-width:767px){.study-screen.study-swipe-left .study-hero,.study-screen.study-swipe-left .study-intro-content,.study-screen.study-swipe-left .study-workspace,.study-screen.study-swipe-left .study-question,.study-screen.study-swipe-left .review-banner,.study-screen.study-swipe-left .review-entry,.study-screen.study-swipe-left .lesson-check,.study-screen.study-swipe-right .study-hero,.study-screen.study-swipe-right .study-intro-content,.study-screen.study-swipe-right .study-workspace,.study-screen.study-swipe-right .study-question,.study-screen.study-swipe-right .review-banner,.study-screen.study-swipe-right .review-entry,.study-screen.study-swipe-right .lesson-check{animation:.23s ease-in both study-card-away}.study-screen.study-swipe-right .study-hero,.study-screen.study-swipe-right .study-intro-content,.study-screen.study-swipe-right .study-workspace,.study-screen.study-swipe-right .study-question,.study-screen.study-swipe-right .review-banner,.study-screen.study-swipe-right .review-entry,.study-screen.study-swipe-right .lesson-check{animation-name:study-card-away-right}}@keyframes study-card-away{to{opacity:0;transform:translate(-110%)rotate(-7deg)}}@keyframes study-card-away-right{to{opacity:0;transform:translate(110%)rotate(7deg)}}@media (prefers-reduced-motion:reduce){.study-screen.study-swipe-left *,.study-screen.study-swipe-right *{animation:none!important}}@media (min-width:768px){.study-screen .swipe-hints{display:none}.study-screen .study-bar.is-navigation{grid-template-columns:repeat(2,minmax(0,1fr));bottom:0}.study-screen .study-bar.is-navigation .lesson-arrow{justify-content:center;gap:10px;padding:0 16px}.study-screen.lesson-unit-choice{padding-bottom:92px}.study-screen.lesson-unit-choice .study-decision-actions{z-index:12;background:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0}.study-screen.lesson-unit-choice .study-decision-actions>button{border-radius:0;width:100%;height:64px;font-size:18px;font-weight:700}.study-screen.lesson-unit-choice .swipe-hints{display:none}}@media (min-width:1024px){.study-screen .study-bar.is-navigation,.study-screen .swipe-hints,.study-screen.lesson-unit-choice .study-decision-actions{left:var(--desktop-sidebar-width)}body.study-immersive .app-shell{margin-left:var(--desktop-sidebar-width)!important}.study-screen .study-bar.is-navigation{width:auto;right:0;transform:none}}.reader-chapter-row{grid-template-columns:auto minmax(0,1fr)}.reader-chapter-select{max-width:320px}.reader-chapter-button{flex:none;width:44px;height:44px}.reader-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.reader-tool{border-width:2px!important;width:40px!important;height:40px!important}.reader-tool.is-on{color:#2b9f4a;color:color(display-p3 .316444 .615069 .327193);color:lab(57.884% -47.1709 34.5305);border-color:#2b9f4a!important;border-color:color(display-p3 .316444 .615069 .327193)!important;border-color:lab(57.884% -47.1709 34.5305)!important}.reader-tool.is-off{color:#d6464d;color:color(display-p3 .777535 .317665 .319181);color:lab(51.7381% 57.3676 29.7444);border-color:#d6464d!important;border-color:color(display-p3 .777535 .317665 .319181)!important;border-color:lab(51.7381% 57.3676 29.7444)!important}.reader-chapter-dialog .reader-chapter-list{gap:6px;max-height:60dvh;display:grid;overflow-y:auto}.reader-chapter-list button{border:1px solid var(--border);background:var(--card);text-align:left;border-radius:10px;padding:12px;font-size:15px}.reader-chapter-list button.is-active{border-color:var(--primary);font-weight:800}.reader-sentence-source{color:var(--foreground);font-family:serif;font-size:20px}.reader-sentence-translation{font-size:17px;line-height:1.55}.reader-page{transition:transform .17s,opacity .17s}.reader-page.is-sliding-left{opacity:.15;transform:translate(-14%)}.reader-page.is-sliding-right{opacity:.15;transform:translate(14%)}.lesson-method-switch{text-align:center;color:var(--muted-foreground);margin:10px 0 96px;font-size:12px}.lesson-method-switch button{color:var(--muted-foreground);font-size:12px;text-decoration:underline}.plain-study-card{gap:18px;max-width:720px;margin:0 auto;display:grid}.plain-study-card .lesson-meaning-list{margin:0}.plain-study-card .lesson-meaning-list dd{font-size:22px}@media (max-width:1023px){body.reader-fullscreen .reader-title-row,body.reader-fullscreen .section-note,body.reader-fullscreen .reader-key-hint{display:none!important}body.reader-fullscreen main{padding:0!important}body.reader-fullscreen .reader-chapter-row{z-index:20;border-bottom:1px solid var(--border);background:var(--card);width:100%;margin:0;padding:6px 48px 6px 6px;position:sticky;top:0}body.reader-fullscreen .reader-stage{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:0;width:100%;height:calc(100dvh - 60px);margin:0;display:grid}body.reader-fullscreen .reader-side-arrow{display:none!important}body.reader-fullscreen .reader-page{border:0;border-radius:0;grid-area:1/1;width:100%;height:100%;min-height:0;padding:14px 10px;overflow-y:auto}}@media (min-width:1024px){body.reader-fullscreen .reader-chapter-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:6px 60px 6px 16px;display:grid!important}body.reader-fullscreen .reader-chapter-row>select{border:2px solid var(--border);background:var(--card);border-radius:10px;grid-column:auto;width:100%;max-width:320px;height:40px}body.reader-fullscreen .reader-tools{display:flex}}@media (max-width:1023px){body.reader-fullscreen .reader-chapter-row{height:52px;padding:6px}body.reader-fullscreen .reader-tools{flex-wrap:nowrap;gap:5px}body.reader-fullscreen .reader-tool,body.reader-fullscreen .reader-chapter-button{width:34px!important;height:34px!important}body.reader-fullscreen .reader-tool svg,body.reader-fullscreen .reader-chapter-button svg{width:16px;height:16px}body.reader-fullscreen .reader-stage{height:calc(100dvh - 52px)}}.home-progress-link{justify-content:flex-end;margin-bottom:12px;display:flex}.study-screen .study-choice-question{text-align:center;color:var(--foreground);margin:0 0 20px;font-size:clamp(20px,5.5vw,26px);font-weight:800}.review-stage .review-banner .review-main-glyph.is-text{overflow-wrap:anywhere;text-wrap:balance;max-width:100%;padding:0 8px;font-family:inherit;font-size:clamp(26px,7vw,44px);font-weight:800;line-height:1.15}.review-stage .review-banner{min-width:0;overflow:hidden}.review-banner-count{white-space:nowrap;max-width:calc(100% - 28px)}.review-entry,.review-entry input{min-width:0}@media (max-width:700px){.review-stage{min-height:calc(100dvh - 64px);padding-top:env(safe-area-inset-top);flex-direction:column;display:flex}.review-stage .review-banner{flex:none;min-height:clamp(150px,26dvh,240px)}.review-stage .review-feedback{margin-top:auto}.review-stage .review-banner-count{font-size:12px;top:8px;right:10px}}.reader-translation-shelf{border:2px solid var(--border);background:var(--card);border-radius:12px;gap:10px;margin-top:16px;padding:16px;display:grid}.reader-translation-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.reader-translation-head h2{margin:0;font-size:16px;font-weight:700}.reader-translation-head p{color:var(--muted-foreground);margin:2px 0 0;font-size:13px}.reader-translation-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.reader-translation-list li{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 6px 6px 12px;display:flex}.reader-translation-list span{min-width:0;display:grid}.reader-translation-list small{color:var(--muted-foreground);font-size:12px}.reader-dual{background:var(--card);grid-template-columns:minmax(0,3fr) minmax(0,2fr);height:calc(100dvh - 56px);min-height:0;display:grid}body.reader-fullscreen .reader-dual>.reader-stage{min-height:0;height:100%!important}.reader-translation-pane{border-left:1px solid var(--border);background:var(--background);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.reader-translation-bar{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px;padding:4px 6px;display:grid}.reader-translation-bar select{min-width:0;height:36px;color:var(--foreground);background:0 0;border:0;font-size:14px;font-weight:600}.reader-translation-body{white-space:pre-wrap;overflow-wrap:anywhere;padding:20px 24px;font-size:18px;line-height:1.7;overflow-y:auto}.reader-translation-pane{flex-direction:column;min-height:0;display:flex}.reader-translation-body{flex:1;min-height:0}.reader-translation-pager{border-top:1px solid var(--border);color:var(--muted-foreground);justify-content:center;align-items:center;gap:12px;padding:4px 8px;font-size:14px;display:flex}@media (max-width:767px){.reader-dual{grid-template-rows:minmax(0,3fr) minmax(0,2fr);grid-template-columns:minmax(0,1fr);height:calc(100dvh - 52px)}.reader-translation-pane{border-left:0;border-top:2px solid var(--border)}.reader-translation-body{padding:12px 14px;font-size:16px}}.reader-info-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.reader-info-list li{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:10px;display:grid}.reader-info-list strong{font-size:14px;display:block}.reader-info-list li>span:last-child{color:var(--muted-foreground);font-size:13px}.reader-info-list strong{color:var(--foreground)}.reader-info-icon{border:2px solid var(--border);border-radius:8px;place-items:center;width:36px;height:36px;font-family:serif;font-weight:700;display:grid}.reader-info-icon svg{width:18px;height:18px}.reader-page{scrollbar-width:none}.reader-page::-webkit-scrollbar{display:none}.reader-glyph.is-user-marked,.reader-mark.is-user-marked{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.reader-glyph.is-user-marked,.reader-mark.is-user-marked{background:color-mix(in oklab,var(--primary) 22%,transparent)}}.reader-glyph.is-user-marked,.reader-mark.is-user-marked{box-shadow:inset 0 -3px 0 var(--primary);border-radius:0}.reader-glyph.is-user-marked.has-note{box-shadow:inset 0 -3px 0 var(--primary),inset 0 3px 0 var(--primary)}@supports (color:color-mix(in lab, red, red)){.reader-glyph.is-user-marked.has-note{box-shadow:inset 0 -3px 0 var(--primary),inset 0 3px 0 color-mix(in oklab,var(--primary) 50%,transparent)}}.reader-glyph.is-mark-start{outline:2px dashed var(--primary);outline-offset:-2px}.reader-mark-title{word-break:break-all;font-family:serif;font-size:28px;line-height:1.3}.reader-notebook-body{white-space:normal;flex-direction:column;gap:10px;font-size:15px;line-height:1.5;display:flex}.reader-notebook-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.reader-notebook-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.reader-notebook-list li{border:1px solid var(--border);border-radius:8px;gap:4px;padding:8px;display:grid}.reader-hover-gloss{z-index:60;pointer-events:none;border:1px solid var(--border);background:var(--popover);max-width:280px;color:var(--popover-foreground);box-shadow:0 8px 24px var(--foreground);border-radius:10px;gap:2px;padding:8px 12px;display:grid;position:fixed;transform:translate(-50%,calc(-100% - 8px))}@supports (color:color-mix(in lab, red, red)){.reader-hover-gloss{box-shadow:0 8px 24px color-mix(in oklab,var(--foreground) 18%,transparent)}}.reader-hover-gloss{font-size:14px;line-height:1.35}.reader-hover-gloss strong{font-size:16px}.reader-hover-gloss small{color:var(--muted-foreground);font-size:11px}.nb{background:var(--background);flex-direction:column;min-width:0;min-height:0;display:flex}.nb-pane{border-left:1px solid var(--border)}.nb-page{border:1px solid var(--border);background:var(--card);border-radius:14px;height:calc(100dvh - 120px);min-height:480px;overflow:hidden}.nb-bar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:4px 8px;display:flex}.nb-bar strong{padding:0 8px;font-size:15px}.nb-quiet{color:var(--muted-foreground)}.nb-quiet:hover{color:var(--foreground)}.nb-main{flex:1;min-height:0;display:flex}.nb-toc{flex-direction:column;flex:1;gap:2px;min-height:0;padding:10px 8px;display:flex;overflow-y:auto}.nb-page .nb-toc{border-right:1px solid var(--border);background:var(--muted);flex:0 0 260px}@supports (color:color-mix(in lab, red, red)){.nb-page .nb-toc{background:color-mix(in oklab,var(--muted) 35%,transparent)}}.nb-toc>button,.nb-chapters button{text-align:left;width:100%;color:var(--muted-foreground);border-radius:8px;align-items:center;gap:8px;padding:7px 10px;font-size:14px;transition:background .15s,color .15s;display:flex}.nb-toc>button svg{flex:none;width:16px;height:16px}.nb-toc>button:hover,.nb-chapters button:hover{background:var(--muted);color:var(--foreground)}.nb-toc button.is-active{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.nb-toc button.is-active{background:color-mix(in oklab,var(--primary) 12%,transparent)}}.nb-toc button.is-active{color:var(--foreground);font-weight:600}.nb-chapters span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nb-chapters button.has-notes{color:var(--foreground)}.nb-dot{width:6px;height:6px;box-shadow:inset 0 0 0 1px var(--muted-foreground);background:0 0;border-radius:99px;flex:none}@supports (color:color-mix(in lab, red, red)){.nb-dot{box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--muted-foreground) 45%,transparent)}}.nb-chapters button.has-notes .nb-dot{background:var(--primary);box-shadow:none}.nb-count{color:var(--muted-foreground);margin-left:auto;font-size:12px;font-weight:400}.nb-toc-sep{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);margin:10px 10px 4px;font-size:11px}.nb-book{border:1px solid var(--border);background:var(--background);height:36px;color:var(--foreground);border-radius:8px;margin:0 2px 8px;padding:0 8px;font-size:14px;font-weight:600}.nb-book.is-static{text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;align-items:center;display:flex;overflow:hidden}.nb-body{flex:1;min-width:0;min-height:0;padding:18px 22px;overflow-y:auto}.nb-chapter{flex-direction:column;gap:8px;min-height:100%;display:flex}.nb-chapter-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.nb-chapter-head h3{margin:0;font-size:18px;font-weight:600}.nb-tools{opacity:.7;gap:2px;transition:opacity .15s;display:flex}.nb-chapter:hover .nb-tools,.nb-chapter:focus-within .nb-tools{opacity:1}.nb-tools button{width:32px;height:32px;color:var(--muted-foreground);border-radius:8px;place-items:center;display:grid}.nb-tools button:hover{background:var(--muted);color:var(--foreground)}.nb-tools svg{width:16px;height:16px}.nb-editor{resize:none;width:100%;min-height:280px;color:var(--foreground);background:0 0;border:0;outline:0;flex:1;padding:4px 0;font-size:16px;line-height:1.7}.nb-preview{cursor:text;border-radius:8px;flex:1;min-height:200px}.nb-md{overflow-wrap:anywhere;font-size:16px;line-height:1.7}.nb-md p{margin:0 0 .7em}.nb-md h4{margin:1em 0 .4em;font-size:17px;font-weight:600}.nb-md ul{margin:0 0 .7em;padding-left:1.3em;list-style:outside}.nb-md blockquote,.nb-quotes blockquote{border-left:3px solid var(--primary);margin:0 0 .7em;padding:2px 0 2px 14px}@supports (color:color-mix(in lab, red, red)){.nb-md blockquote,.nb-quotes blockquote{border-left:3px solid color-mix(in oklab,var(--primary) 55%,transparent)}}.nb-md blockquote,.nb-quotes blockquote{color:var(--foreground);font-family:serif;font-size:19px}.nb-link{color:var(--primary);border-radius:4px;align-items:center;gap:4px;padding:0 2px;font-family:inherit;font-size:14px;text-decoration:none;display:inline-flex}.nb-link:hover{text-decoration:underline}.nb-link svg{width:13px;height:13px}.nb-empty{color:var(--muted-foreground);font-size:15px}.nb-quotes{gap:14px;display:grid}.nb-quotes figure{border-bottom:1px solid var(--border);margin:0;padding-bottom:12px}.nb-quotes figcaption{color:var(--muted-foreground);margin:-4px 0 6px;font-size:14px}.nb-quote-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.nb-read{max-width:680px;margin:0 auto}.nb-read h2{margin:0 0 18px;font-size:24px;font-weight:700}.nb-read section{margin-bottom:26px}.nb-read h3{margin:0 0 8px;font-size:18px;font-weight:600}.nb-read h3 button:hover{color:var(--primary)}@media (max-width:767px){.nb-pane{border-left:0;border-top:2px solid var(--border)}.nb-page{height:calc(100dvh - 140px)}.nb-page .nb-main{flex-direction:column}.nb-page .nb-toc{border-right:0;border-bottom:1px solid var(--border);flex:none;max-height:38%}.nb-body{padding:14px}}.guest-banner{background:var(--muted);color:var(--muted-foreground);border-radius:.75rem;margin:0 0 .75rem;padding:.5rem .75rem;font-size:.8125rem;line-height:1.35}.guest-banner a{color:var(--foreground);font-weight:600;text-decoration:underline}.mode-card.is-recommended{border-color:var(--primary);animation:2.4s ease-in-out 3 xw-reco-pulse;position:relative}.mode-card .mode-reco{color:var(--primary);opacity:.85;font-size:11px;font-weight:700;position:absolute;top:10px;right:12px}@keyframes xw-reco-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in oklab,var(--primary) 0%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in oklab,var(--primary) 22%,transparent)}}@media (prefers-reduced-motion:reduce){.mode-card.is-recommended{animation:none}}.method-tour{gap:14px;max-width:520px;max-height:min(88dvh,640px);display:grid;overflow-y:auto}.method-tour-intro{gap:14px;display:grid}.method-tour-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@media (max-width:600px){.method-tour-actions{flex-direction:column-reverse}.method-tour-actions>*{width:100%}}.method-tour-body{color:var(--foreground);gap:10px;font-size:15px;line-height:1.6;display:grid}.method-tour-body p{margin:0}.method-tour-body ul{gap:4px;margin:0;padding-left:18px;display:grid}.method-tour-dots{gap:6px;display:flex}.method-tour-dots span{background:var(--border);border-radius:4px;flex:1;height:4px;transition:background .2s}.method-tour-dots span.is-active,.method-tour-dots span.is-done{background:var(--primary)}.method-tour-nav{justify-content:space-between;align-items:center;gap:10px;display:flex}.method-tour-count{color:var(--muted-foreground);font-size:13px}.known-roster-start{gap:20px}.known-roster-start h2{margin:4px 0 6px;font-size:26px;font-weight:900;line-height:1.15}.known-start-choices{grid-template-columns:1fr 1fr;gap:12px;display:grid}.known-start-card{text-align:left;border:2px solid var(--border);background:var(--background);color:var(--foreground);cursor:pointer;border-radius:12px;justify-items:start;gap:6px;min-height:120px;padding:22px 52px 22px 20px;transition:border-color .15s,transform .15s;display:grid;position:relative}.known-start-card:hover:not(:disabled){border-color:var(--primary);transform:translateY(-1px)}.known-start-card:disabled{opacity:.6;cursor:wait}.known-start-card>svg:first-child{width:26px;height:26px;color:var(--primary)}.known-start-card strong{font-size:19px;font-weight:900}.known-start-card span{color:var(--muted-foreground);font-size:14px}.known-start-card.is-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.known-start-card.is-primary>svg:first-child,.known-start-card.is-primary span{color:var(--primary-foreground)}.known-start-card.is-primary span{opacity:.85}.known-start-arrow{width:22px;height:22px;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.known-roster-back{justify-self:start;margin:-6px 0 -8px -8px}.known-roster-label{margin:0 0 6px;font-size:13px;font-weight:800}.known-roster-levels .known-roster-bulk button{font-weight:700}.known-roster-more{grid-column:1/-1;min-height:48px}.known-roster .known-roster-actions{z-index:6;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--card);border-radius:0 0 8px 8px;justify-content:flex-end;align-items:center;gap:10px;margin:0 -20px -20px;display:flex;position:sticky;bottom:0}.known-roster .known-roster-actions>*{min-width:0}.known-roster-count{color:var(--muted-foreground);margin-right:auto;font-size:14px}.known-roster-count b{color:var(--foreground);font-size:17px}.known-roster .known-roster-grid{max-height:none;overflow:visible}@media (max-width:600px){.known-start-choices{grid-template-columns:1fr}.known-roster-start h2{font-size:22px}.known-start-card{min-height:96px;padding:18px 48px 18px 16px}.known-roster .known-roster-grid{grid-template-columns:1fr 1fr}.known-roster .known-roster-item{grid-template-columns:34px minmax(0,1fr);gap:8px;min-height:64px;padding:8px}.known-roster .known-roster-item>strong{font-size:28px}.known-roster .known-roster-item>svg{display:none}.known-roster .known-roster-actions{padding:10px 12px calc(10px + env(safe-area-inset-bottom));margin:0 -12px -16px;display:flex}.known-roster .known-roster-actions>button:last-child{flex:auto;min-height:46px}}@media (max-width:1023px){.known-roster .known-roster-actions{bottom:calc(76px + env(safe-area-inset-bottom));border:1px solid var(--border);box-shadow:0 -6px 18px -8px var(--foreground);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.known-roster .known-roster-actions{box-shadow:0 -6px 18px -8px color-mix(in oklab,var(--foreground) 25%,transparent)}}.known-roster .known-roster-actions{left:12px;right:12px;bottom:calc(80px + env(safe-area-inset-bottom));margin:0;position:fixed}.known-roster:has(.known-roster-actions){padding-bottom:96px}}.known-roster .known-roster-item.is-known{border-color:var(--primary);background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.known-roster .known-roster-item.is-known{background:color-mix(in oklab,var(--primary) 18%,var(--card))}}.known-roster .known-roster-item.is-known{color:var(--foreground)}.known-roster .known-roster-item.is-known>svg{color:var(--primary)}.known-roster-count{white-space:nowrap}@media (max-width:600px){.known-roster .known-roster-item{position:relative}.known-roster .known-roster-item>svg{width:14px;height:14px;display:block;position:absolute;top:6px;right:6px}.known-roster .known-roster-actions>button:last-child{white-space:nowrap}}.roster-pick-pulse{border-color:var(--primary);color:var(--primary);font-weight:600;animation:2.2s ease-in-out infinite roster-pick-pulse}@keyframes roster-pick-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in oklab,var(--primary) 0%,transparent);background:0 0}50%{box-shadow:0 0 0 6px color-mix(in oklab,var(--primary) 18%,transparent);background:color-mix(in oklab,var(--primary) 14%,transparent)}}@media (prefers-reduced-motion:reduce){.roster-pick-pulse{background:var(--primary);animation:none}@supports (color:color-mix(in lab, red, red)){.roster-pick-pulse{background:color-mix(in oklab,var(--primary) 12%,transparent)}}}.limit-upsell{border:1px solid var(--primary);margin-top:1.25rem;padding:1rem 1.1rem}@supports (color:color-mix(in lab, red, red)){.limit-upsell{border:1px solid color-mix(in oklab,var(--primary) 45%,transparent)}}.limit-upsell{border-radius:var(--radius);background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.limit-upsell{background:color-mix(in oklab,var(--primary) 8%,transparent)}}.limit-upsell{justify-items:start;gap:.6rem;display:grid}.limit-upsell p{color:var(--muted-foreground);margin:0}.done-screen{width:100%;max-width:760px;margin-inline-start:auto;margin-inline-end:auto}.done-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.done-screen .limit-upsell{text-align:left;margin-top:.5rem}@media (max-width:640px){.done-actions{grid-template-columns:1fr;display:grid}.done-actions>*,.done-screen .limit-upsell>a{width:100%}}.roster-back-row{margin:0 0 8px;display:flex}.review-extras{text-align:left;color:var(--foreground);gap:16px;padding-top:4px;display:grid}.review-extras>section{gap:8px;display:grid}.review-extras small{text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);font-size:11px;font-weight:800}.review-extras-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.review-extras-prose{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.6}.review-extras-note{color:var(--muted-foreground);margin:0;font-size:13px}.review-extras .anchor-edit{flex-wrap:wrap}.review-extras .anchor-edit input{flex:140px;min-width:0}.writing-area{container-type:inline-size}.writing-area .writing-guide{white-space:nowrap;overflow:hidden;font-size:min(var(--guide-max,150px),calc((100cqw - 24px) / var(--guide-count,1)))!important}.writing-area:not(.lesson-trace *) .writing-guide{--guide-max:190px}body.keyboard-open .study-bar.is-navigation,body.keyboard-open .study-bar:not(.is-navigation){bottom:0!important}body.keyboard-open .bottom-nav,body.keyboard-open .swipe-hints,body.keyboard-open .study-bar-spacer{display:none!important}.study-bar.is-navigation.is-single{grid-template-columns:1fr}.study-bar.is-navigation.is-single .lesson-arrow.is-right{grid-column:1;justify-content:center;padding-inline-start:24px;padding-inline-end:24px}.lesson-check label:has(.pinyin-tip-btn){position:relative}.lesson-check label:has(.pinyin-tip-btn) input{padding-right:48px}.pinyin-tip-btn{width:36px;height:64px;color:var(--muted-foreground);background:0 0;border:0;justify-content:center;align-items:center;display:flex;position:absolute;top:auto;bottom:0;right:10px}.pinyin-tip-btn svg{width:20px;height:20px}.pinyin-tip{color:var(--muted-foreground);text-align:center;margin:-6px 0 0;font-size:14px}.anchor-chips>span[class^=anchor-kind-]{flex-wrap:nowrap;grid-template-columns:auto minmax(0,1fr) auto;column-gap:10px;display:grid}.anchor-chips .anchor-text{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;display:flex}.anchor-chips .anchor-actions{flex-wrap:nowrap;align-items:center;gap:2px;display:inline-flex}.bkrs-link{color:var(--muted-foreground);text-underline-offset:3px;align-items:center;gap:6px;margin-top:12px;font-size:14px;text-decoration:underline;display:inline-flex}.bkrs-link svg{width:14px;height:14px}.bkrs-link:hover{color:var(--foreground)}.custom-answers{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.custom-answer-chip{border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 10px;font-size:14px;font-weight:500;display:inline-flex}.custom-answer-chip button{color:var(--muted-foreground);padding:4px;display:flex}.custom-answer-chip svg{width:13px;height:13px}.custom-answer-add{border:1px dashed var(--border);min-height:32px;color:var(--muted-foreground);background:0 0;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:13px;font-weight:500;display:inline-flex}.custom-answer-add svg{width:14px;height:14px}.custom-answer-add:hover{color:var(--foreground)}.custom-answer-form{flex-wrap:wrap;gap:6px;width:100%;display:flex}.custom-answer-form input{flex:160px;height:36px}.known-roster-big{width:100%;min-height:64px;font-size:18px;font-weight:800}.known-roster-hint{color:var(--muted-foreground);text-align:center;margin:0;font-size:13px}.install-header-btn{display:none}@media (min-width:769px){.install-header-btn{display:inline-flex}}.install-banner{display:none}@media (max-width:768px){.install-banner{z-index:40;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--card-foreground);align-items:center;gap:8px;padding:8px 8px 8px 14px;font-size:.9rem;display:flex;position:fixed;box-shadow:0 8px 24px #00000026;box-shadow:0 8px 24px color(display-p3 0 0 0/.15);box-shadow:0 8px 24px lab(0% 0 0/.15)}.install-banner>span{flex:1}}.lesson-inline-intro{border-radius:var(--radius);background:var(--muted);border:1px solid var(--border);color:var(--foreground);gap:.4rem;margin-bottom:.75rem;padding:.75rem .9rem;font-size:.9rem;line-height:1.4;display:grid}.lesson-inline-intro p{color:var(--muted-foreground);margin:0}.lesson-inline-intro button{justify-self:start}:root{--entry-background:#090a0c;--entry-surface:#1a1c20;--entry-foreground:#f8f8fa;--entry-muted:#a6a7ad;--entry-primary:#fd2229;--entry-primary-top:#ff534a;--entry-border:#43454b;--entry-glow:0 16px 50px #e600183b;--entry-card-gradient:linear-gradient(145deg, var(--entry-primary-top), var(--entry-primary));--entry-shadow:0 20px 45px #02020273}@supports (color:color(display-p3 0 0 0)){:root{--entry-background:color(display-p3 .0367813 .0391969 .0472515);--entry-surface:color(display-p3 .103744 .10814 .122506);--entry-foreground:color(display-p3 .97198 .973618 .978816);--entry-muted:color(display-p3 .650518 .656556 .675856);--entry-primary:color(display-p3 .911397 .242963 .214858);--entry-primary-top:color(display-p3 .94794 .351053 .303795);--entry-border:color(display-p3 .26335 .269714 .290324);--entry-glow:0 16px 50px color(display-p3 .828282 .163814 .154062/.23);--entry-shadow:0 20px 45px color(display-p3 .00661504 .00661504 .00661504/.45)}}@supports (color:lab(0% 0 0)){:root{--entry-background:lab(2.73936% .0341237 -.978333);--entry-surface:lab(10.0527% .113994 -2.99846);--entry-foreground:lab(97.6693% .00885129 -.760388);--entry-muted:lab(68.6361% .0562072 -3.0292);--entry-primary:lab(55.1991% 77.2662 55.8387);--entry-primary-top:lab(60.6585% 70.6103 47.6699);--entry-border:lab(29.1826% .113189 -3.76287);--entry-glow:0 16px 50px lab(48.8487% 75.8639 57.6396/.23);--entry-shadow:0 20px 45px lab(.462488% 0 0/.45)}}.first-entry{background:var(--entry-background);width:100%;min-height:100svh;color:var(--entry-foreground);flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:48px 24px 56px;display:flex;overflow:hidden}.entry-brand{justify-content:center;align-items:center;gap:14px;margin-bottom:20px;display:flex}.entry-brand img{object-fit:contain;width:76px;height:86px}.entry-brand h1{font-size:36px;font-weight:800}.entry-carousel{touch-action:pan-y;justify-content:center;align-items:center;gap:26px;width:min(100%,1040px);height:410px;display:flex;position:relative}.entry-carousel .entry-card{border:1px solid var(--entry-border);background:var(--entry-surface);height:360px;color:var(--entry-foreground);white-space:normal;box-shadow:var(--entry-shadow);text-align:center;border-radius:28px;flex-direction:column;flex:0 300px;justify-content:center;gap:8px;padding:20px;transition:transform .25s,background .25s;display:flex}.entry-carousel .entry-card.is-selected{background:var(--entry-card-gradient);border-color:var(--entry-primary-top);height:410px;box-shadow:var(--entry-glow);flex-basis:340px}.entry-carousel .entry-card:hover{color:var(--entry-foreground);background:var(--entry-surface);transform:translateY(-5px)}.entry-carousel .entry-card.is-selected:hover{background:var(--entry-card-gradient)}.entry-card img{object-fit:contain;width:100%;height:230px;margin-bottom:12px}.entry-card-title{font-size:27px;font-weight:800;line-height:1.2}.entry-card-subtitle{color:var(--entry-muted);font-size:16px;font-weight:500}.entry-card.is-selected .entry-card-subtitle{color:var(--entry-foreground);opacity:.8}.entry-dots{align-items:center;gap:2px;display:flex}.entry-dots button{width:26px;height:30px;color:var(--entry-foreground);border-radius:50%;padding:0}.entry-dots button:hover{background:0 0}.entry-dots span{background:var(--entry-surface);border-radius:50%;width:9px;height:9px}.entry-dots [aria-pressed=true] span{background:var(--entry-primary)}.first-entry .entry-start{background:var(--entry-card-gradient);width:min(440px,100%);height:70px;color:var(--entry-foreground);box-shadow:var(--entry-glow);border-radius:40px;gap:24px;margin-top:8px;font-size:26px;font-weight:800}.first-entry .entry-start:hover{background:var(--entry-card-gradient);filter:brightness(1.06)}.entry-start svg{width:30px;height:30px}@media (max-width:700px){.first-entry{padding:32px 20px max(32px,env(safe-area-inset-bottom));gap:14px}.entry-brand{gap:10px;margin-bottom:18px}.entry-brand img{width:56px;height:66px}.entry-brand h1{font-size:29px}.entry-carousel{flex:none;width:100%;height:min(410px,49svh)}.entry-carousel .entry-card{border-radius:24px;flex:none;width:min(72vw,320px);height:88%;padding:14px;position:absolute;left:50%;transform:translate(-50%)}.entry-carousel .entry-card.is-selected{z-index:2;height:100%}.entry-carousel .entry-card.is-before{transform:translate(calc(-150% - 18px))rotate(-7deg)}.entry-carousel .entry-card.is-after{transform:translate(calc(50% + 18px))rotate(7deg)}.entry-carousel .entry-card:hover{transform:translate(-50%)}.entry-carousel .entry-card.is-before:hover{transform:translate(calc(-150% - 18px))rotate(-7deg)}.entry-carousel .entry-card.is-after:hover{transform:translate(calc(50% + 18px))rotate(7deg)}.entry-card img{height:62%;margin-bottom:8px}.entry-card-title{font-size:24px}.entry-card-subtitle{font-size:14px}.first-entry .entry-start{max-width:360px;height:62px;margin-top:16px;font-size:25px}}.class-qr{flex-direction:column;align-items:center;gap:12px;padding:8px 0;display:flex}.class-qr>svg{border-radius:12px;width:min(260px,70vw);height:auto}.class-qr-code{letter-spacing:.2em;font-size:1.5rem;font-weight:700}.game{border:1px solid var(--border);background:var(--card);border-radius:18px;flex-direction:column;gap:14px;margin-top:14px;padding:16px;display:flex}.game-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.game-kicker{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}.game-phase{font-size:1.6rem;font-weight:800;line-height:1.15}.game-hint{color:var(--muted-foreground);font-size:.9rem}.game-note{background:var(--muted);border-radius:12px;padding:10px 12px;font-size:.95rem}.game-timer{font-variant-numeric:tabular-nums;background:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:1.25rem;font-weight:700;display:inline-flex}.game-timer.is-low{color:var(--destructive)}.game-timer.is-over{background:var(--destructive);color:var(--destructive-foreground,var(--background))}.game-steps{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.game-steps li{border:1px solid var(--border);color:var(--muted-foreground);border-radius:999px;flex:none;padding:4px 10px;font-size:.78rem}.game-steps li.is-current{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.game-controls{background:var(--muted);border-radius:14px;flex-direction:column;gap:10px;padding:12px;display:flex}.game-next{width:100%;height:52px;font-size:1.05rem}.game-controls-row{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.game-timer-pick{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:6px;font-size:.85rem;display:flex}.game-timer-pick button{border:1px solid var(--border);background:var(--background);color:var(--foreground);border-radius:999px;min-height:36px;padding:6px 12px}.game-timer-pick button.is-on{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.game-legend{white-space:pre-line;background:var(--muted);border-radius:14px;padding:14px;font-size:1.15rem;line-height:1.6}.game-mine{border:2px solid var(--primary);border-radius:16px;padding:14px}.game-mine-label{color:var(--primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:.8rem;font-weight:700}.game-card{gap:10px;display:grid}.game-card>div{gap:2px;display:grid}.game-card dt{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.game-card dd{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.game-card-zh{font-size:1.5rem;font-weight:700}.game-card-py{color:var(--primary);font-size:.95rem}.game-card-ru{color:var(--muted-foreground);font-size:.9rem}.game-card.is-compact{gap:6px}.game-card.is-compact .game-card-zh{font-size:1.05rem}.game-card.is-compact .game-card-py,.game-card.is-compact .game-card-ru{font-size:.78rem}.game-players{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.game-player>button,.game-player>div{text-align:left;border:1px solid var(--border);background:var(--background);border-radius:14px;flex-direction:column;gap:8px;width:100%;height:100%;padding:12px;transition:border-color .15s,transform .1s;display:flex}.game-player.is-tappable>button:hover{border-color:var(--primary)}.game-player.is-tappable>button:active{transform:scale(.98)}.game-player.is-voted>button{border:2px solid var(--primary);background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.game-player.is-voted>button{background:color-mix(in oklab,var(--primary) 10%,var(--background))}}.game-player.is-speaking>*{border:2px solid var(--primary);box-shadow:0 0 0 4px var(--primary)}@supports (color:color-mix(in lab, red, red)){.game-player.is-speaking>*{box-shadow:0 0 0 4px color-mix(in oklab,var(--primary) 20%,transparent)}}.game-player.is-out>*{opacity:.45}.game-player-name{flex-wrap:wrap;align-items:center;gap:6px;font-weight:700;display:flex}.game-badge{background:var(--primary);color:var(--primary-foreground);border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:600}.game-badge.is-muted{background:var(--muted);color:var(--muted-foreground)}.game-votes{background:var(--destructive);min-width:26px;height:26px;color:var(--destructive-foreground,var(--background));border-radius:999px;place-items:center;margin-left:auto;font-size:.85rem;display:inline-grid}.game-reveal{background:var(--muted);border-radius:14px;flex-direction:column;gap:8px;padding:14px;font-size:1.1rem;display:flex}.game-final{text-align:center;background:var(--primary);border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:18px;display:flex}@supports (color:color-mix(in lab, red, red)){.game-final{background:color-mix(in oklab,var(--primary) 12%,var(--card))}}.game-final h3{font-size:1.2rem;font-weight:800}.game-final p{font-size:1.1rem}.game-templates{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.game-templates>button,.game-template{text-align:left;border:1px solid var(--border);background:var(--background);border-radius:14px;flex-direction:column;gap:4px;min-height:84px;padding:14px;display:flex}.game-template{flex-direction:row;align-items:flex-start;padding:0}.game-template>button{text-align:left;flex-direction:column;flex:1;gap:4px;padding:14px;display:flex}.game-template-tools{padding:4px;display:flex}.game-templates span{color:var(--muted-foreground);font-size:.8rem}.game-templates .is-on{border:2px solid var(--primary)}.game-templates .is-add{color:var(--muted-foreground);border-style:dashed;justify-content:center;align-items:center}.game-keep{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.game-stepper{align-items:center;gap:10px;display:inline-flex}.game-stepper strong{text-align:center;min-width:2ch;font-size:1.3rem}.game-field{gap:6px;font-size:.9rem;display:grid}.game-cat{border:1px solid var(--border);border-radius:14px;gap:6px;padding:12px;display:grid}.game-cat-head{gap:6px;display:flex}.live-viewswitch{flex-wrap:wrap}@media (max-width:520px){.game{padding:12px}.game-phase{font-size:1.35rem}.game-players{grid-template-columns:repeat(2,minmax(0,1fr))}}.game-player-sub{color:var(--muted-foreground);font-size:.85rem}body.live-immersive .app-header,body.live-immersive .bottom-nav,body.live-immersive .desktop-sidebar,body.live-immersive .install-banner,body.live-immersive .guest-banner{display:none!important}body.live-immersive .app-shell{max-width:1080px;margin-left:auto!important;padding-top:12px!important;padding-bottom:24px!important}body.live-immersive .page-content{padding-top:0}.game.is-live,.game{background:0 0;border:0;border-radius:0;gap:18px;padding:4px 0}.game-steps{gap:6px;overflow:visible}.game-steps li{background:var(--muted);border:0;border-radius:4px;flex:1 1 0;height:4px;padding:0}.game-steps li.is-current{background:var(--primary)}.game-kicker{text-transform:none;letter-spacing:0;font-size:.85rem}.game-phase{font-size:2rem}.game-controls{background:0 0;padding:0}.game-legend{background:0 0;padding:0;font-size:1.25rem}.game-mine{border:0;padding:0}.game-note,.game-reveal{background:0 0;padding:0}.game-player>button,.game-player>div{background:var(--muted);border-color:#0000}.game-final{background:0 0}.game.is-night{color:var(--foreground)}body .live-viewswitch{scrollbar-width:none;gap:6px;overflow-x:auto;flex-wrap:nowrap!important;grid-template-columns:none!important;display:flex!important}body .live-viewswitch>button{border-radius:999px;flex:none!important;width:auto!important;min-width:0!important;height:34px!important;padding:0 12px!important;font-size:.85rem!important}body.live-immersive .app-shell{margin:0 auto!important}.game-player{display:block}.game-player>.game-player-card{justify-content:flex-start;height:auto;min-height:0}.game-censor{text-align:left;cursor:pointer;border-radius:10px;width:100%;min-height:56px;display:block;position:relative;overflow:hidden}.game-censor-body{display:block}.game-censor:not(.is-open) .game-censor-body{filter:blur(8px);-webkit-user-select:none;user-select:none;pointer-events:none}.game-censor-label{text-align:center;color:var(--muted-foreground);background:var(--muted);place-items:center;padding:4px;font-size:.78rem;font-weight:700;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.game-censor-label{background:color-mix(in oklab,var(--muted) 55%,transparent)}}.game-censor:not(.is-open) .game-censor-body{visibility:hidden;filter:none;max-height:56px;overflow:hidden}.game-censor:not(.is-open) .game-censor-label{background:var(--muted)}.game.is-live{flex-direction:column;min-height:calc(100dvh - 120px);display:flex}.game-mine{background:var(--card);width:100%;max-width:440px;box-shadow:0 18px 40px -24px var(--foreground);margin:8px auto 0;border:1px solid var(--border)!important;border-radius:22px!important;padding:20px 20px 8px!important}@supports (color:color-mix(in lab, red, red)){.game-mine{box-shadow:0 18px 40px -24px color-mix(in oklab,var(--foreground) 40%,transparent)}}.game-mine-label{text-align:center;margin-bottom:12px}.game-mine .game-card{gap:0}.game-mine .game-card>div{border-top:1px solid var(--border);gap:6px;padding:14px 0}.game-mine .game-card>div:first-child{border-top:0}.game-mine .game-card dd{flex-direction:column;align-items:flex-start;gap:2px}.game-mine .game-card-zh{font-size:2rem;line-height:1.1}.game-mine .game-card-py{font-size:1rem}.game-mine .game-card-ru{font-size:.95rem}.game-players-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);margin-top:8px;font-size:.75rem;font-weight:700}.game-player>.game-player-card{border-radius:16px;padding:14px 16px}.game.is-live{padding-bottom:88px!important}.game-reveal strong{margin-top:4px;font-size:1.6rem;line-height:1.2;display:block}.game-players.is-vote{gap:10px}.game-players.is-vote .game-player{min-height:64px;font-size:1.15rem;font-weight:600}.game-mine-pill{border:1px solid var(--border);background:var(--card);border-radius:16px;width:100%;max-width:440px;margin:16px 0 0;padding:0 16px}.game-mine-pill>summary{cursor:pointer;color:var(--muted-foreground);justify-content:space-between;padding:14px 0;font-weight:600;list-style:none;display:flex}.game-mine-pill>summary:after{content:"▾"}.game-mine-pill[open]>summary:after{content:"▴"}.game-mine-pill>.game-card{padding-bottom:14px}.level-progress{text-align:left;gap:6px;width:100%;max-width:420px;margin-inline-start:auto;margin-inline-end:auto;display:grid}.level-progress-row{color:var(--muted-foreground);justify-content:space-between;font-size:13px;display:flex}.level-progress-row b{color:var(--foreground);font-variant-numeric:tabular-nums}.level-progress-bar{background:var(--muted);border-radius:999px;height:8px;overflow:hidden}.level-progress-bar i{border-radius:inherit;background:var(--primary);height:100%;transition:width .6s;display:block}.level-done{text-align:center;justify-items:center;gap:14px;width:100%;max-width:560px;margin:24px auto 0;padding:36px 20px 28px;display:grid}.level-done-badge{background:var(--primary);width:112px;height:112px;color:var(--primary-foreground);box-shadow:0 18px 50px var(--primary);border-radius:32px;place-content:center;gap:0;display:grid}@supports (color:color-mix(in lab, red, red)){.level-done-badge{box-shadow:0 18px 50px color-mix(in oklab,var(--primary) 35%,transparent)}}.level-done-badge{transform:rotate(-4deg)}.level-done-badge small{letter-spacing:.14em;text-transform:uppercase;opacity:.75;font-size:11px}.level-done-badge b{font-size:56px;font-weight:800;line-height:1}.level-done h2{margin:8px 0 0;font-size:28px;font-weight:750}.level-done-sub{color:var(--muted-foreground);max-width:34ch;margin:0}.level-done .done-list{margin:4px 0}.level-done-next{text-align:left;background:var(--primary);border-radius:16px;align-items:center;gap:14px;width:100%;padding:14px 16px;display:flex}@supports (color:color-mix(in lab, red, red)){.level-done-next{background:color-mix(in oklab,var(--primary) 8%,transparent)}}.level-done-next strong{display:block}.level-done-next p{color:var(--muted-foreground);margin:2px 0 0;font-size:14px}.level-done-lock{border:2px dashed var(--primary);border-radius:12px;flex:none;place-items:center;width:44px;height:44px;font-size:20px;font-weight:800;display:grid}@supports (color:color-mix(in lab, red, red)){.level-done-lock{border:2px dashed color-mix(in oklab,var(--primary) 50%,transparent)}}.level-done-lock{color:var(--primary)}.level-done-actions{gap:8px;width:100%;display:grid}.level-done-actions>a{width:100%}.sub-page{gap:28px;max-width:880px;margin-inline-start:auto;margin-inline-end:auto;display:grid}.sub-hero{text-align:center;gap:8px;padding-top:8px;display:grid}.sub-hero h1{margin:0;font-size:clamp(28px,5vw,40px);line-height:1.1}.sub-hero p{color:var(--muted-foreground);max-width:46ch;margin:0 auto}.sub-plans{grid-template-columns:1fr 1fr;align-items:stretch;gap:16px;display:grid}.sub-plan{background:var(--card);border:1px solid var(--border);border-radius:20px;grid-template-rows:auto auto 1fr auto;gap:14px;padding:22px;display:grid}.sub-plan.is-plus{border:2px solid var(--primary);box-shadow:0 20px 50px var(--primary)}@supports (color:color-mix(in lab, red, red)){.sub-plan.is-plus{box-shadow:0 20px 50px color-mix(in oklab,var(--primary) 18%,transparent)}}.sub-plan h2{align-items:center;gap:8px;margin:0;font-size:18px;display:flex}.sub-price{align-items:baseline;gap:6px;display:flex}.sub-price b{font-size:36px;font-weight:800;line-height:1}.sub-price span{color:var(--muted-foreground);font-size:14px}.sub-plan ul{align-content:start;gap:9px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.sub-plan li{align-items:flex-start;gap:8px;display:flex}.sub-plan li svg{width:16px;height:16px;color:var(--primary);flex:none;margin-top:2px}.sub-plan li.is-limit svg{color:var(--muted-foreground)}.sub-plan .sub-cta{gap:8px;display:grid}.sub-plan .sub-cta>button,.sub-plan .sub-cta>a{width:100%}.sub-fine{color:var(--muted-foreground);margin:0;font-size:12px}.sub-status{background:var(--card);border:1px solid var(--border);border-radius:16px;gap:10px;padding:18px 20px;font-size:14px;display:grid}.sub-status-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sub-faq{border-top:1px solid var(--border);gap:0;display:grid}.sub-faq details{border-bottom:1px solid var(--border);padding:14px 2px}.sub-faq summary{cursor:pointer;justify-content:space-between;gap:12px;font-weight:600;list-style:none;display:flex}.sub-faq summary::-webkit-details-marker{display:none}.sub-faq summary:after{content:"+";color:var(--muted-foreground);font-size:20px;font-weight:400;line-height:1}.sub-faq details[open] summary:after{content:"−"}.sub-faq details p{color:var(--muted-foreground);margin:10px 0 0;font-size:14px}.sub-links{color:var(--muted-foreground);flex-wrap:wrap;justify-content:center;gap:16px;font-size:13px;display:flex}.sub-links a{text-decoration:underline}@media (max-width:720px){.sub-plans{grid-template-columns:1fr}.sub-plan.is-plus{order:-1}}@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-divide-y-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 spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto)))))}to{height:0}}@keyframes caret-blink{0%,70%,to{opacity:1}20%,50%{opacity:0}}
