@import"https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800;900&family=Inter:wght@500;700&family=Noto+Serif+SC:wght@700&display=swap";/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties,theme,base,utilities;@layer theme{:root,:host{--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--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: 1.5 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.right-2{right:calc(var(--spacing) * 2)}.bottom-0{bottom:0}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.order-first{order:-9999}.order-last{order:9999}.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-4{margin-inline:calc(var(--spacing) * -4)}.my-1{margin-block:var(--spacing)}.my-auto{margin-block:auto}.mt-4{margin-top:calc(var(--spacing) * 4)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.h-6{height:calc(var(--spacing) * 6)}.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-\[720px\]{height:720px}.h-\[calc\(--spacing\(5\.25\)\)\]{height:calc(calc(var(--spacing) * 5.25))}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-\(--available-height\){max-height:var(--available-height)}.max-h-\[min\(calc\(--spacing\(72\)---spacing\(9\)\)\,calc\(var\(--available-height\)---spacing\(9\)\)\)\]{max-height:min(calc(calc(var(--spacing) * 72) - calc(var(--spacing) * 9)),calc(var(--available-height) - calc(var(--spacing) * 9)))}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-\[120px\]{min-height:120px}.w-\(--anchor-width\){width:var(--anchor-width)}.w-72{width:calc(var(--spacing) * 72)}.w-\[1280px\]{width:1280px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--available-width\){max-width:var(--available-width)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-7{min-width:calc(var(--spacing) * 7)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-16{min-width:calc(var(--spacing) * 16)}.min-w-36{min-width:calc(var(--spacing) * 36)}.min-w-\[calc\(var\(--anchor-width\)\+--spacing\(7\)\)\]{min-width:calc(var(--anchor-width) + calc(var(--spacing) * 7))}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.origin-center{transform-origin:50%}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%-2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-text{cursor:text}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.scroll-my-1{scroll-margin-block:var(--spacing)}.scroll-py-1{scroll-padding-block:var(--spacing)}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.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}.place-items-center{place-items:center}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\[--spacing\(var\(--gap\)\)\]{gap:calc(var(--spacing) * var(--gap))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-\[calc\(var\(--radius\)-3px\)\]{border-radius:calc(var(--radius) - 3px)}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md),10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md),12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-xl{border-bottom-right-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border,.border-input{border-color:var(--color-border-default)}.border-primary{border-color:var(--color-brand-primary)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--color-surface)}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.bg-border{background-color:var(--color-border-default)}.bg-destructive\/10{background-color:var(--color-error-strong)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--color-error-strong) 10%,transparent)}}.bg-foreground{background-color:var(--color-text-primary)}.bg-muted,.bg-muted\/50{background-color:var(--color-neutral-control)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--color-neutral-control) 50%,transparent)}}.bg-popover{background-color:var(--color-surface)}.bg-primary{background-color:var(--color-brand-primary)}.bg-primary-foreground{background-color:var(--color-text-inverse)}.bg-secondary{background-color:var(--color-neutral-control)}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.fill-foreground{fill:var(--color-text-primary)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-\[3px\]{padding:3px}.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)}.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)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.text-\[length\:var\(--font-size-14px\)\]{font-size:var(--font-size-14px)}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-\[color\:var\(--imoca-red\,var\(--color-brand-primary\)\)\]{color:var(--imoca-red,var(--color-brand-primary))}.text-\[color\:var\(--muted\,var\(--color-board-muted\)\)\]{color:var(--muted,var(--color-board-muted))}.text-background{color:var(--color-surface)}.text-current{color:currentColor}.text-destructive{color:var(--color-error-strong)}.text-foreground,.text-foreground\/60{color:var(--color-text-primary)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/60{color:color-mix(in oklab,var(--color-text-primary) 60%,transparent)}}.text-muted-foreground{color:var(--color-neutral-muted)}.text-popover-foreground{color:var(--color-text-primary)}.text-primary{color:var(--color-brand-primary)}.text-primary-foreground{color:var(--color-text-inverse)}.text-secondary-foreground{color:var(--color-text-primary)}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.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)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-3{--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)}.ring-foreground\/10{--tw-ring-color:var(--color-text-primary)}@supports (color:color-mix(in lab,red,red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--color-text-primary) 10%, transparent)}}.ring-ring\/50{--tw-ring-color:var(--color-brand-primary)}@supports (color:color-mix(in lab,red,red)){.ring-ring\/50{--tw-ring-color:color-mix(in oklab, var(--color-brand-primary) 50%, transparent)}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.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-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-none{transition-property:none}.duration-100{--tw-duration:.1s;transition-duration:.1s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[animation-duration\:0\.8s\]{animation-duration:.8s}.paused{animation-play-state:paused}.running{animation-play-state:running}.group-has-disabled\/field\:opacity-50:is(:where(.group\/field):has(:disabled) *){opacity:.5}.group-has-data-\[slot\=combobox-clear\]\/input-group\:hidden:is(:where(.group\/input-group):has([data-slot=combobox-clear]) *){display:none}.group-has-\[\:focus-visible\]\/field-label\:ring-0:is(:where(.group\/field-label):has(:focus-visible) *){--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)}.group-has-\[\:focus-visible\]\/field-label\:not-data-checked\:border-input:is(:where(.group\/field-label):has(:focus-visible) *):not([data-checked]){border-color:var(--color-border-default)}.group-has-\[\>input\]\/input-group\:pt-2:is(:where(.group\/input-group):has(>input) *){padding-top:calc(var(--spacing) * 2)}.group-has-\[\>input\]\/input-group\:pb-2:is(:where(.group\/input-group):has(>input) *){padding-bottom:calc(var(--spacing) * 2)}.group-data-empty\/combobox-content\:flex:is(:where(.group\/combobox-content)[data-empty] *){display:flex}.group-data-horizontal\/tabs\:h-8:is(:where(.group\/tabs)[data-horizontal] *){height:calc(var(--spacing) * 8)}.group-data-vertical\/tabs\:h-fit:is(:where(.group\/tabs)[data-vertical] *){height:fit-content}.group-data-vertical\/tabs\:w-full:is(:where(.group\/tabs)[data-vertical] *){width:100%}.group-data-vertical\/tabs\:flex-col:is(:where(.group\/tabs)[data-vertical] *){flex-direction:column}.group-data-vertical\/tabs\:justify-start:is(:where(.group\/tabs)[data-vertical] *){justify-content:flex-start}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),.group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *){opacity:.5}.group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size=sm] *){display:grid}.group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}.group-data-\[spacing\=0\]\/toggle-group\:rounded-none:is(:where(.group\/toggle-group)[data-spacing="0"] *){border-radius:0}.group-data-\[spacing\=0\]\/toggle-group\:px-2:is(:where(.group\/toggle-group)[data-spacing="0"] *){padding-inline:calc(var(--spacing) * 2)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:calc(var(--spacing) * 6)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--color-text-primary)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-neutral-muted)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-x-3:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * -3)}.after\:-inset-y-2:after{content:var(--tw-content);inset-block:calc(var(--spacing) * -2)}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--color-text-primary)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-horizontal\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-horizontal] *):after{content:var(--tw-content);inset-inline:0}.group-data-horizontal\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-horizontal\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-vertical\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-vertical] *):after{content:var(--tw-content);inset-block:0}.group-data-vertical\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-vertical] *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-vertical\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-vertical] *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}.focus-within\:border-ring:focus-within{border-color:var(--color-brand-primary)}.focus-within\:ring-3:focus-within{--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)}.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:var(--color-brand-primary)}@supports (color:color-mix(in lab,red,red)){.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:color-mix(in oklab, var(--color-brand-primary) 50%, transparent)}}@media(hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-destructive\/20:hover{background-color:var(--color-error-strong)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab,var(--color-error-strong) 20%,transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--color-neutral-control)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--color-neutral-control) 50%,transparent)}}.hover\:bg-primary\/80:hover{background-color:var(--color-brand-primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--color-brand-primary) 80%,transparent)}}.hover\:text-foreground:hover{color:var(--color-text-primary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:z-10:focus{z-index:10}.focus\:bg-accent:focus{background-color:var(--color-brand-soft)}.focus\:text-accent-foreground:focus,:is(.not-data-\[variant\=destructive\]\:focus\:\*\*\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--color-brand-deep)}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--color-error-strong)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab,var(--color-error-strong) 40%,transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--color-brand-primary)}.focus-visible\:ring-0:focus-visible{--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)}.focus-visible\:ring-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible{--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)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--color-error-strong)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-error-strong) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--color-brand-primary)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-brand-primary) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--color-brand-primary)}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-input\/50:disabled{background-color:var(--color-border-default)}@supports (color:color-mix(in lab,red,red)){.disabled\:bg-input\/50:disabled{background-color:color-mix(in oklab,var(--color-border-default) 50%,transparent)}}.disabled\:bg-transparent:disabled{background-color:#0000}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius-lg)}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:border-inherit:focus-within{border-color:inherit}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:ring-0:focus-within{--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)}.has-disabled\:pointer-events-none:has(:disabled){pointer-events:none}.has-disabled\:cursor-not-allowed:has(:disabled){cursor:not-allowed}.has-disabled\:bg-input\/50:has(:disabled){background-color:var(--color-border-default)}@supports (color:color-mix(in lab,red,red)){.has-disabled\:bg-input\/50:has(:disabled){background-color:color-mix(in oklab,var(--color-border-default) 50%,transparent)}}.has-disabled\:opacity-50:has(:disabled){opacity:.5}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:var(--color-neutral-control)}@supports (color:color-mix(in lab,red,red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab,var(--color-neutral-control) 50%,transparent)}}.has-aria-invalid\:border-destructive:has([aria-invalid=true]){border-color:var(--color-error-strong)}.has-aria-invalid\:ring-3:has([aria-invalid=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)}.has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]){--tw-ring-color:var(--color-error-strong)}@supports (color:color-mix(in lab,red,red)){.has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--color-error-strong) 20%, transparent)}}.has-data-\[icon\=inline-end\]\:pr-1:has([data-icon=inline-end]){padding-right:var(--spacing)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.group-data-\[spacing\=0\]\/toggle-group\:has-data-\[icon\=inline-end\]\:pr-1\.5:is(:where(.group\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-1:has([data-icon=inline-start]){padding-left:var(--spacing)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.group-data-\[spacing\=0\]\/toggle-group\:has-data-\[icon\=inline-start\]\:pl-1\.5:is(:where(.group\/toggle-group)[data-spacing="0"] *):has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.has-data-\[slot\=alert-dialog-media\]\:gap-x-4:has([data-slot=alert-dialog-media]){column-gap:calc(var(--spacing) * 4)}.has-data-\[slot\=combobox-chip\]\:px-1:has([data-slot=combobox-chip]){padding-inline:var(--spacing)}.has-data-\[slot\=combobox-chip-remove\]\:pr-0:has([data-slot=combobox-chip-remove]){padding-right:0}.has-data-\[slot\=kbd\]\:pr-1\.5:has([data-slot=kbd]){padding-right:calc(var(--spacing) * 1.5)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--color-brand-primary)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-3:has([data-slot=input-group-control]:focus-visible){--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-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--color-brand-primary)}@supports (color:color-mix(in lab,red,red)){.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/50:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--color-brand-primary) 50%, transparent)}}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--color-error-strong)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-3:has([data-slot][aria-invalid=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)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--color-error-strong)}@supports (color:color-mix(in lab,red,red)){.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--color-error-strong) 20%, transparent)}}.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){height:auto}.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){height:auto}.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){flex-direction:column}.has-\[\>button\]\:mr-\[-0\.3rem\]:has(>button){margin-right:-.3rem}.has-\[\>button\]\:ml-\[-0\.3rem\]:has(>button){margin-left:-.3rem}.has-\[\>kbd\]\:mr-\[-0\.15rem\]:has(>kbd){margin-right:-.15rem}.has-\[\>kbd\]\:ml-\[-0\.15rem\]:has(>kbd){margin-left:-.15rem}.has-\[\>svg\]\:p-0:has(>svg){padding:0}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-expanded\:bg-muted[aria-expanded=true],.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--color-neutral-control)}.aria-expanded\:text-foreground[aria-expanded=true],.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--color-text-primary)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--color-error-strong)}.aria-invalid\:ring-0[aria-invalid=true]{--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)}.aria-invalid\:ring-3[aria-invalid=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)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--color-error-strong)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-error-strong) 20%, transparent)}}.aria-invalid\:aria-checked\:border-primary[aria-invalid=true][aria-checked=true]{border-color:var(--color-brand-primary)}.aria-pressed\:bg-muted[aria-pressed=true]{background-color:var(--color-neutral-control)}.data-active\:bg-background[data-active]{background-color:var(--color-surface)}.data-active\:text-foreground[data-active]{color:var(--color-text-primary)}.group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-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)}.group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-active]{--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)}.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-active]:after{content:var(--tw-content);opacity:1}.data-checked\:border-primary[data-checked]{border-color:var(--color-brand-primary)}.data-checked\:bg-primary[data-checked]{background-color:var(--color-brand-primary)}.data-checked\:text-primary-foreground[data-checked]{color:var(--color-text-inverse)}.group-has-\[\:focus-visible\]\/field-label\:data-checked\:border-primary:is(:where(.group\/field-label):has(:focus-visible) *)[data-checked]{border-color:var(--color-brand-primary)}.data-closed\:pointer-events-none[data-closed]{pointer-events:none}.data-closed\:animate-out[data-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-closed\:fade-out-0[data-closed]{--tw-exit-opacity:0}.data-closed\:zoom-out-95[data-closed]{--tw-exit-scale:.95}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-empty\:p-0[data-empty]{padding:0}.data-highlighted\:bg-accent[data-highlighted]{background-color:var(--color-brand-soft)}.data-highlighted\:text-accent-foreground[data-highlighted],:is(.not-data-\[variant\=destructive\]\:data-highlighted\:\*\*\:text-accent-foreground:not([data-variant=destructive])[data-highlighted] *){color:var(--color-brand-deep)}.data-horizontal\:h-1[data-horizontal]{height:var(--spacing)}.data-horizontal\:h-full[data-horizontal]{height:100%}.data-horizontal\:w-full[data-horizontal]{width:100%}.data-horizontal\:flex-col[data-horizontal]{flex-direction:column}.data-open\:animate-in[data-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-open\:fade-in-0[data-open]{--tw-enter-opacity:0}.data-open\:zoom-in-95[data-open]{--tw-enter-scale:.95}.data-placeholder\:text-muted-foreground[data-placeholder]{color:var(--color-neutral-muted)}.data-pressed\:bg-transparent[data-pressed]{background-color:#0000}.data-vertical\:h-full[data-vertical]{height:100%}.data-vertical\:flex-col[data-vertical]{flex-direction:column}.data-vertical\:items-stretch[data-vertical]{align-items:stretch}.data-\[align-trigger\=true\]\:animate-none[data-align-trigger=true]{animation:none}.data-\[chips\=true\]\:min-w-\(--anchor-width\)[data-chips=true]{min-width:var(--anchor-width)}.data-\[side\=bottom\]\:top-1[data-side=bottom]{top:var(--spacing)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=inline-end\]\:top-1\/2\![data-side=inline-end]{top:50%!important}.data-\[side\=inline-end\]\:-left-1[data-side=inline-end]{left:calc(var(--spacing) * -1)}.data-\[side\=inline-end\]\:-translate-y-1\/2[data-side=inline-end]{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=inline-end\]\:slide-in-from-left-2[data-side=inline-end]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=inline-start\]\:top-1\/2\![data-side=inline-start]{top:50%!important}.data-\[side\=inline-start\]\:-right-1[data-side=inline-start]{right:calc(var(--spacing) * -1)}.data-\[side\=inline-start\]\:-translate-y-1\/2[data-side=inline-start]{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=inline-start\]\:slide-in-from-right-2[data-side=inline-start]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=left\]\:top-1\/2\![data-side=left]{top:50%!important}.data-\[side\=left\]\:-right-1[data-side=left]{right:calc(var(--spacing) * -1)}.data-\[side\=left\]\:-translate-y-1\/2[data-side=left]{--tw-translate-y: -50% ;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\]\:top-1\/2\![data-side=right]{top:50%!important}.data-\[side\=right\]\:-left-1[data-side=right]{left:calc(var(--spacing) * -1)}.data-\[side\=right\]\:-translate-y-1\/2[data-side=right]{--tw-translate-y: -50% ;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\]\:-bottom-2\.5[data-side=top]{bottom:calc(var(--spacing) * -2.5)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-8[data-size=default]{height:calc(var(--spacing) * 8)}.data-\[size\=default\]\:max-w-xs[data-size=default]{max-width:var(--container-xs)}.data-\[size\=sm\]\:h-7[data-size=sm]{height:calc(var(--spacing) * 7)}.data-\[size\=sm\]\:max-w-xs[data-size=sm]{max-width:var(--container-xs)}.data-\[size\=sm\]\:rounded-\[min\(var\(--radius-md\)\,10px\)\][data-size=sm]{border-radius:min(var(--radius-md),10px)}:is(.\*\:data-\[slot\=input-group\]\:m-1>*)[data-slot=input-group]{margin:var(--spacing)}:is(.\*\:data-\[slot\=input-group\]\:mb-0>*)[data-slot=input-group]{margin-bottom:0}:is(.\*\:data-\[slot\=input-group\]\:h-8>*)[data-slot=input-group]{height:calc(var(--spacing) * 8)}:is(.\*\:data-\[slot\=input-group\]\:border-input\/30>*)[data-slot=input-group]{border-color:var(--color-border-default)}@supports (color:color-mix(in lab,red,red)){:is(.\*\:data-\[slot\=input-group\]\:border-input\/30>*)[data-slot=input-group]{border-color:color-mix(in oklab,var(--color-border-default) 30%,transparent)}}:is(.\*\:data-\[slot\=input-group\]\:bg-input\/30>*)[data-slot=input-group]{background-color:var(--color-border-default)}@supports (color:color-mix(in lab,red,red)){:is(.\*\:data-\[slot\=input-group\]\:bg-input\/30>*)[data-slot=input-group]{background-color:color-mix(in oklab,var(--color-border-default) 30%,transparent)}}:is(.\*\:data-\[slot\=input-group\]\:shadow-none>*)[data-slot=input-group]{--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)}:is(.\*\*\:data-\[slot\=kbd\]\:relative *)[data-slot=kbd]{position:relative}:is(.\*\*\:data-\[slot\=kbd\]\:isolate *)[data-slot=kbd]{isolation:isolate}:is(.\*\*\:data-\[slot\=kbd\]\:z-50 *)[data-slot=kbd]{z-index:50}:is(.\*\*\:data-\[slot\=kbd\]\:rounded-sm *)[data-slot=kbd]{border-radius:var(--radius-sm)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-1\.5>*)[data-slot=select-value]{gap:calc(var(--spacing) * 1.5)}.group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:first\:rounded-l-lg:is(:where(.group\/toggle-group)[data-horizontal] *)[data-spacing="0"]:first-child{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:first\:rounded-t-lg:is(:where(.group\/toggle-group)[data-vertical] *)[data-spacing="0"]:first-child{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:last\:rounded-r-lg:is(:where(.group\/toggle-group)[data-horizontal] *)[data-spacing="0"]:last-child{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:last\:rounded-b-lg:is(:where(.group\/toggle-group)[data-vertical] *)[data-spacing="0"]:last-child{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.data-\[state\=delayed-open\]\:animate-in[data-state=delayed-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\=delayed-open\]\:fade-in-0[data-state=delayed-open]{--tw-enter-opacity:0}.data-\[state\=delayed-open\]\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.data-\[state\=on\]\:bg-muted[data-state=on],.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--color-neutral-control)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}.group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-l-0:is(:where(.group\/toggle-group)[data-horizontal] *)[data-spacing="0"][data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-t-0:is(:where(.group\/toggle-group)[data-vertical] *)[data-spacing="0"][data-variant=outline]{border-top-style:var(--tw-border-style);border-top-width:0}.group-data-horizontal\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-l:is(:where(.group\/toggle-group)[data-horizontal] *)[data-spacing="0"][data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-vertical\/toggle-group\:data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-t:is(:where(.group\/toggle-group)[data-vertical] *)[data-spacing="0"][data-variant=outline]:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media(prefers-reduced-motion:reduce){.motion-reduce\:animate-none,.motion-reduce\:data-closed\:animate-none[data-closed],.motion-reduce\:data-open\:animate-none[data-open]{animation:none}}@media(min-width:40rem){.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size=default] *){place-items:start}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size=default] *){text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size=default] *):is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.data-\[size\=default\]\:sm\:max-w-sm[data-size=default]{max-width:var(--container-sm)}}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-pretty{text-wrap:pretty}}@media(prefers-color-scheme:dark){.dark\:border-input{border-color:var(--color-border-default)}.dark\:bg-destructive\/20{background-color:var(--color-error-strong)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/20{background-color:color-mix(in oklab,var(--color-error-strong) 20%,transparent)}}.dark\:bg-input\/30{background-color:var(--color-border-default)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--color-border-default) 30%,transparent)}}.dark\:bg-transparent{background-color:#0000}.dark\:text-muted-foreground{color:var(--color-neutral-muted)}@media(hover:hover){.dark\:hover\:bg-destructive\/30:hover{background-color:var(--color-error-strong)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-destructive\/30:hover{background-color:color-mix(in oklab,var(--color-error-strong) 30%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:var(--color-border-default)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--color-border-default) 50%,transparent)}}.dark\:hover\:bg-muted\/50:hover{background-color:var(--color-neutral-control)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--color-neutral-control) 50%,transparent)}}.dark\:hover\:text-foreground:hover{color:var(--color-text-primary)}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--color-error-strong)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-error-strong) 40%, transparent)}}.dark\:disabled\:bg-input\/80:disabled{background-color:var(--color-border-default)}@supports (color:color-mix(in lab,red,red)){.dark\:disabled\:bg-input\/80:disabled{background-color:color-mix(in oklab,var(--color-border-default) 80%,transparent)}}.dark\:disabled\:bg-transparent:disabled{background-color:#0000}.dark\:has-disabled\:bg-input\/80:has(:disabled){background-color:var(--color-border-default)}@supports (color:color-mix(in lab,red,red)){.dark\:has-disabled\:bg-input\/80:has(:disabled){background-color:color-mix(in oklab,var(--color-border-default) 80%,transparent)}}.dark\:has-aria-invalid\:border-destructive\/50:has([aria-invalid=true]){border-color:var(--color-error-strong)}@supports (color:color-mix(in lab,red,red)){.dark\:has-aria-invalid\:border-destructive\/50:has([aria-invalid=true]){border-color:color-mix(in oklab,var(--color-error-strong) 50%,transparent)}}.dark\:has-aria-invalid\:ring-destructive\/40:has([aria-invalid=true]){--tw-ring-color:var(--color-error-strong)}@supports (color:color-mix(in lab,red,red)){.dark\:has-aria-invalid\:ring-destructive\/40:has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--color-error-strong) 40%, transparent)}}.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--color-error-strong)}@supports (color:color-mix(in lab,red,red)){.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--color-error-strong) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50[aria-invalid=true]{border-color:var(--color-error-strong)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:border-destructive\/50[aria-invalid=true]{border-color:color-mix(in oklab,var(--color-error-strong) 50%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:var(--color-error-strong)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-error-strong) 40%, transparent)}}.dark\:data-active\:border-input[data-active]{border-color:var(--color-border-default)}.dark\:data-active\:bg-input\/30[data-active]{background-color:var(--color-border-default)}@supports (color:color-mix(in lab,red,red)){.dark\:data-active\:bg-input\/30[data-active]{background-color:color-mix(in oklab,var(--color-border-default) 30%,transparent)}}.dark\:data-active\:text-foreground[data-active]{color:var(--color-text-primary)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-active]{background-color:#0000}.dark\:data-checked\:bg-primary[data-checked]{background-color:var(--color-brand-primary)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_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}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\.border-b\]\:pb-2.border-b{padding-bottom:calc(var(--spacing) * 2)}.\[\.border-t\]\:pt-2.border-t{padding-top:calc(var(--spacing) * 2)}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media(hover:hover){:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--color-text-primary)}}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--spacing) * 3)}.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-1\.5:has(>[data-align=inline-end])>input{padding-right:calc(var(--spacing) * 1.5)}.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-1\.5:has(>[data-align=inline-start])>input{padding-left:calc(var(--spacing) * 1.5)}.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd{border-radius:calc(var(--radius) - 5px)}.\[\&\>svg\]\:size-3\.5>svg,.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}:root{--secondary:var(--color-neutral-control);--foreground:var(--color-text-primary)}.slidev-layout{font-size:17.6px;line-height:1.5}.slidev-layout p{margin-top:16px;margin-bottom:16px;line-height:24px}.slidev-layout h1+p{opacity:.5;margin-top:-8px;margin-bottom:16px}.slidev-layout :is(p,ul,table)+h2{margin-top:40px}.slidev-layout h1{margin-bottom:16px;margin-left:-.05em;font-size:36px;line-height:40px}.slidev-layout h2{font-size:30px;line-height:36px}.slidev-layout h3{font-size:24px;line-height:32px}.slidev-layout h4{font-size:20px;line-height:28px}.slidev-layout h5{font-size:16px;line-height:24px}.slidev-layout h6{text-transform:uppercase;letter-spacing:.1em;margin-left:-.05em;padding-top:4px;font-size:14px;font-weight:500;line-height:20px}.slidev-layout h6:not(.opacity-100){opacity:.4}.slidev-layout.cover{display:grid}.slidev-layout table{width:100%}.slidev-layout li{margin-left:1.1em;margin-right:0;padding-left:.2em;padding-right:0}.slidev-layout th{text-align:left;font-weight:400}.slidev-layout th,.slidev-layout td{padding:12px 8px}.classroom-slide{opacity:1;z-index:1}.classroom-slide[hidden]{pointer-events:none;z-index:0}@supports (transition-behavior:allow-discrete){.classroom-slide{transition:opacity .2s cubic-bezier(.22,1,.36,1),display .2s linear allow-discrete}.classroom-slide[hidden]{opacity:0;transition:opacity .2s step-end,display .2s linear allow-discrete}@starting-style{.classroom-slide:not([hidden]){opacity:0}}}@media(prefers-reduced-motion:reduce){.classroom-slide,.classroom-slide[hidden]{transition:none}}:root{--color-neutral-muted:#71717a;--color-control-text:#211f26;--color-control-description:#6f6d78;--color-control-popup-shadow:#0002;--color-dialog-shadow-strong:#0e121659;--color-dialog-shadow-soft:#0e121633;--color-control-red-dark:#a62126;--color-neutral-control:#f4f4f5;--color-control-red-soft:#fbecea;--color-auth-glow:#d2232a1a;--color-auth-shadow:#571c191f;--color-auth-hint:#989188;--color-range-shadow:#0004;--color-diagnostic-border:#d4d4d8;--color-diagnostic-ink:#18181b;--color-diagnostic-shadow:#0003;--color-diagnostic-muted:#52525b;--color-diagnostic-button:#fafafa;--color-challenge-choice-shadow:#30201a0a;--color-video-caption:#716966;--color-video-border:#e4dcd8;--color-video-text:#292524;--color-video-muted:#8b7670;--color-video-accent:#bf3530;--color-video-shadow:#60221b14;--color-video-mask:#0009;--color-video-player:#171717;--color-brand-primary:#d2232a;--color-brand-hover:#9d141d;--color-brand-deep:#7c0d14;--color-brand-soft:#f8e4e0;--color-surface:#fff;--color-surface-subtle:#fbf3f1;--color-background-slide:#f3d9d5;--color-text-primary:#2c2725;--color-brand-gold:#ffb531;--color-border-default:#cdbbb7;--color-border-control:#bea9a4;--color-text-muted:#635955;--color-teaching-accent:#75635e;--color-teaching-accent-dark:#443834;--color-teaching-accent-soft:#f0f1f4;--color-review-background:#e0eeeb;--color-review-border:#b7d2cc;--color-review-accent:var(--color-tool-remote);--color-shadow:#2b252a;--color-shadow-black:#000;--color-dialog-backdrop:#00000070;--color-shadow-warm:#462a20;--color-cover-glow:#ff7a5c;--color-cover-glow-curriculum:#ff9c5d;--color-background-game:#131316;--color-surface-image:#fffdfa;--color-success-attendance:#15803d;--color-success-attendance-soft:#ecfdf3;--color-success-attendance-filled:#dcf2e3;--color-game-text-muted:#bebfb8;--color-game-text-secondary:#aaada4;--color-game-surface:#1e1f23;--color-game-border:#55565c;--color-game-success:#77d69b;--color-game-ink:#30322e;--color-game-score-muted:#9d9e96;--color-game-answer-soft:#f7ddd4;--color-game-answer-ink:#55574f;--color-game-panel:#16171a;--color-game-caption:#9fa19b;--color-game-label:#a9aaa6;--color-game-placeholder-border:#73766e;--color-tool-challenge:#d58a13;--color-tool-remote:#0f766e;--color-tool-board:#4338ca;--color-overlay-warm:#140f0e;--color-navigation-shadow:#1e1412;--color-overlay-zoom:#181412;--color-game-error-shadow:#c43030;--color-success-border:#2e9b62;--color-success-soft:#e5f6ed;--color-success-text:#197846;--color-error-border:#d14848;--color-error-soft:#fde9e7;--color-error-text:#b72f2f;--color-popover-shadow:#2b2823;--color-writing-ink:#1a1b1e;--color-writing-outline:#e7e3dd;--color-writing-outline-numbers:#eaded2;--color-writing-outline-basic:#e2d7ca;--color-writing-guide:#f0e9df;--color-writing-surface:#fffdf9;--color-writing-blue:#123f8d;--color-writing-cyan:#2785c7;--color-writing-violet:#8e5bb7;--color-writing-grid-border:#d9cbbb;--color-writing-feedback-surface:#fff4f3;--color-writing-stroke-preview:#111;--color-writing-blue-border:#b9cce9;--color-writing-shadow:#2d2319;--color-writing-callout-ink:#2f312d;--color-writing-chip-ink:#36383a;--color-writing-grid-surface:#f5f0e9;--color-writing-empty:#9d968d;--color-selection-soft:#fcece8;--color-background-stage:#151518;--color-surface-study:#f8fafc;--color-border-study:#e2e8f0;--color-border-study-neutral:#e4e4e7;--color-border-study-input:#cbd5e1;--color-text-study:#0f172a;--color-text-study-secondary:#334155;--color-text-study-label:#475569;--color-text-study-muted:#64748b;--color-surface-study-image:#f1f5f9;--color-surface-vocab-stripe:#fff8f6;--color-game-timer:#ea580c;--color-game-progress-track:#e5e7eb;--color-error-strong:#b42318;--color-answer-wrong-border:#fecaca;--color-answer-wrong-text:#b91c1c;--color-answer-wrong-surface:#fef2f2;--color-answer-correct-border:#bbf7d0;--color-answer-correct-surface:#f0fdf4;--color-reading-pinyin:#9d2f28;--color-reading-new-word:#087532;--color-reading-underline:#27303b;--color-speaker-1-surface:#f5d3cf;--color-speaker-2-accent:#2563eb;--color-speaker-2-surface:#d2e3fc;--color-speaker-3-accent:#6c5581;--color-speaker-3-surface:#ddd1e8;--color-speaker-4-accent:#3d6b59;--color-speaker-4-surface:#d2e4d9;--color-speaker-5-accent:#7d6240;--color-speaker-5-surface:#eedec5;--color-speaker-6-accent:#82516c;--color-speaker-6-surface:#e9d1df;--color-grammar-accent:#d89931;--color-grammar-surface:#fffefc;--color-grammar-icon:#b7771d;--color-grammar-heading:#8e4f18;--color-grammar-divider:#f0e4d2;--color-video-surface:#17191f;--color-names-orange:#d67a1f;--color-names-teal:#347d72;--color-names-violet:#7556a5;--color-names-empty:#9b968e;--color-board-surface:#fbf8f3;--color-board-line:#eae1d6;--color-board-muted:#6e6961;--color-remote-warning:#f59e0b;--color-remote-success:#16a34a;--color-remote-danger:#dc2626;--color-remote-ink:#111827;--color-remote-code-surface:#fafafa;--color-picker-spinner-track:#f1d7d5;--color-picker-border:#d4d4d8;--color-picker-sidebar:#fcfcfd;--color-text-inverse:var(--color-surface);--color-border-inverse:var(--color-surface);--color-speaker-1-accent:var(--color-brand-primary);--color-drawing-red:var(--color-remote-danger);--color-drawing-blue:var(--color-speaker-2-accent);--color-drawing-green:var(--color-remote-success);--color-drawing-black:var(--color-remote-ink);--color-writing-radical:var(--color-brand-primary);--color-writing-active-stroke:var(--color-brand-primary);--color-focus-ring:var(--color-brand-gold);--color-remote-primary:var(--color-answer-wrong-text);--color-remote-surface:var(--color-text-study);--color-remote-text:var(--color-surface-study-image);--imoca-red:var(--color-brand-primary);--imoca-red-dark:var(--color-brand-hover);--imoca-red-deep:var(--color-brand-deep);--imoca-red-tint:var(--color-brand-soft);--paper:var(--color-surface-subtle);--slide-background:var(--color-background-slide);--ink:var(--color-text-primary);--yellow:var(--color-brand-gold);--line:var(--color-border-default);--control-line:var(--color-border-control);--muted:var(--color-text-muted);--teaching-accent:var(--color-teaching-accent);--teaching-accent-dark:var(--color-teaching-accent-dark);--teaching-accent-tint:var(--color-teaching-accent-soft);--font-family-auth:"Be Vietnam Pro", Inter, system-ui, sans-serif;--font-size-0_7em:.7em;--type-game-result-size:clamp(36px, 4vw, 72px);--type-game-fighter-size:clamp(32px, 4vw, 72px);--type-game-duck-size:calc(var(--cg-fit-duck) * .7);--type-game-team-caption-size:calc(var(--cg-fit-team-heading) * .6);--font-family-diagnostic:system-ui,sans-serif;--type-challenge-label-size:clamp(18px, 1.5vw, 28px);--type-challenge-heading-size:clamp(24px, 2vw, 38px);--type-challenge-choice-size:clamp(40px, 4.2vw, 80px);--type-challenge-number-size:clamp(26px, 2.5vw, 44px);--type-challenge-feedback-size:clamp(24px, 2.2vw, 40px);--type-challenge-action-size:clamp(20px, 1.6vw, 30px);--type-challenge-answer-size:clamp(54px, 5vw, 96px);--type-challenge-prompt-size:clamp(56px, 5vw, 96px);--font-family-grammar:"GrammarHanzi","Be Vietnam Pro",sans-serif;--font-family-hanzi:"LessonDialogue","Be Vietnam Pro",sans-serif;--font-family-hanzi-serif:"Noto Serif SC",serif;--font-family-hanzi-serif-fallback:"Noto Serif SC","Songti SC",serif;--font-family-pinyin:"Inter","Arial",sans-serif;--font-family-ui:var(--font-family-ui-primary),"Inter","Arial",sans-serif;--font-family-ui-primary:"Be Vietnam Pro";--font-family-ui-system:var(--font-family-ui-primary),"Inter","Arial",system-ui,sans-serif;--font-size-0_82em:.82em;--font-size-0_85em:.85em;--font-size-0_88em:.88em;--font-size-0_92em:.92em;--font-size-0_9em:.9em;--font-size-100px:100px;--font-size-10px:10px;--font-size-11_5px:11.5px;--font-size-11px:11px;--font-size-120px:120px;--font-size-12px:12px;--font-size-13px:13px;--font-size-148px:148px;--font-size-14px:14px;--font-size-15px:15px;--font-size-16px:16px;--font-size-17px:17px;--font-size-18px:18px;--font-size-19px:19px;--font-size-1_05em:1.05em;--font-size-1_2em:1.2em;--font-size-1_3em:1.3em;--font-size-1_4em:1.4em;--font-size-1_6em:1.6em;--font-size-20px:20px;--font-size-21px:21px;--font-size-22px:22px;--font-size-23px:23px;--font-size-24px:24px;--font-size-25px:25px;--font-size-26px:26px;--font-size-27px:27px;--font-size-28px:28px;--font-size-29px:29px;--font-size-30px:30px;--font-size-31px:31px;--font-size-32px:32px;--font-size-34px:34px;--font-size-35px:35px;--font-size-36px:36px;--font-size-38px:38px;--font-size-39px:39px;--font-size-3em:3em;--font-size-40px:40px;--font-size-42px:42px;--font-size-44px:44px;--font-size-46px:46px;--font-size-48px:48px;--font-size-4em:4em;--font-size-52px:52px;--font-size-54px:54px;--font-size-56px:56px;--font-size-60px:60px;--font-size-64px:64px;--font-size-72px:72px;--font-size-75px:75px;--font-size-76px:76px;--font-size-80px:80px;--font-size-82px:82px;--font-size-84px:84px;--font-size-9px:9px;--font-size-0_72em:.72em;--font-size-0_75em:.75em;--font-size-0_8em:.8em;--font-weight-black:900;--font-weight-regular:400;--font-weight-bold:700;--font-weight-demibold:650;--font-weight-extrabold:800;--font-weight-heavy:750;--font-weight-medium:500;--font-weight-semibold:600;--line-height-1:1;--line-height-1_04:1.04;--line-height-1_05:1.05;--line-height-1_08:1.08;--line-height-1_1:1.1;--line-height-1_12:1.12;--line-height-1_15:1.15;--line-height-1_16:1.16;--line-height-1_2:1.2;--line-height-1_25:1.25;--line-height-1_3:1.3;--line-height-1_35:1.35;--line-height-1_4:1.4;--line-height-1_42:1.42;--line-height-1_45:1.45;--line-height-1_5:1.5;--line-height-1_55:1.55;--line-height-1_6:1.6;--line-height-1_65:1.65;--line-height-1_7:1.7;--line-height-1_75:1.75;--line-height-1_8:1.8;--line-height-1_9:1.9;--line-height-2_65:2.65;--type-character-body-size:clamp(22px,2.5vw,34px);--type-character-hanzi-size:clamp(44px,5vw,72px);--type-character-pinyin-size:clamp(24px,2.5vw,36px);--type-character-title-size:clamp(22px,2.2vw,32px);--type-control-size:var(--font-size-13px);--type-cover-hanzi-size:clamp(90px,11vw,148px);--type-cover-title-compact-size:clamp(38px,9vw,64px);--type-cover-title-size:clamp(54px,5.5vw,94px);--type-dialog-title-base-size:var(--font-size-23px);--type-dialog-title-size:var(--font-size-20px);--type-dialog-title-compact-size:var(--font-size-17px);--type-dialogue-compact-size:var(--font-size-25px);--type-dialogue-size:var(--font-size-29px);--type-flashcard-meaning-size:clamp(34px,5vw,72px);--type-grammar-size:var(--font-size-23px);--type-header-title-size:var(--font-size-16px);--type-memory-action-size:clamp(22px,1.6vw,28px);--type-memory-answer-hanzi-size:clamp(68px,6vw,104px);--type-memory-answer-meaning-size:clamp(32px,2.7vw,46px);--type-memory-answer-pinyin-size:clamp(27px,2.1vw,36px);--type-memory-progress-size:clamp(18px,1.2vw,22px);--type-memory-prompt-size:clamp(21px,1.6vw,28px);--type-memory-question-hanzi-size:clamp(84px,8vw,140px);--type-memory-question-meaning-size:clamp(46px,4vw,72px);--type-memory-question-size:clamp(60px,5vw,96px);--type-memory-timer-size:clamp(24px,1.8vw,32px);--type-objective-size:clamp(22px,1.65vw,28px);--type-panel-title-compact-size:var(--font-size-17px);--type-panel-title-size:var(--font-size-18px);--type-panel-icon-size:var(--font-size-20px);--type-pinyin-size:var(--font-size-0_75em);--type-pinyin-tooltip-size:clamp(28px,2vw,36px);--type-describe-heading-size:clamp(26px,2vw,34px);--type-hanzi-weight:var(--font-weight-semibold);--type-practice-weight:var(--type-hanzi-weight);--type-practice-size:var(--font-size-26px);--type-prose-compact-size:var(--font-size-28px);--type-prose-size:var(--font-size-32px);--type-radical-caption-size:clamp(14px,2.5vw,22px);--type-reading-leading:var(--line-height-2_65);--type-reading-plain-leading:var(--line-height-1_65);--type-rich-body-compact-size:var(--font-size-18px);--type-rich-body-size:var(--font-size-21px);--type-rich-heading-compact-size:var(--font-size-20px);--type-rich-heading-size:var(--font-size-22px);--type-speaker-name-size:var(--font-size-0_72em);--type-vocab-body-size:clamp(20px,1.6vw,30px);--type-vocab-card-hanzi-size:clamp(54px,5vw,82px);--type-vocab-card-pinyin-size:clamp(36px,3vw,52px);--type-vocab-card-size:clamp(32px,2.5vw,44px);--type-vocab-hanzi-size:clamp(36px,2.8vw,52px);--type-writer-hanviet-size:clamp(25px,2vw,38px);--type-writer-hanzi-size:clamp(70px,6vw,112px);--type-writer-label-size:clamp(17px,1.2vw,22px);--type-writer-meaning-size:clamp(29px,2.3vw,44px);--type-writer-pinyin-size:clamp(26px,2.5vw,44px);--type-rich-leading:var(--line-height-1_75);--type-practice-leading:var(--line-height-1_9);--type-reading-weight:var(--type-hanzi-weight)}@font-face{font-family:KaiTi;src:url(/fonts/kaiti.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:LessonDialogue;src:url(/fonts/kaiti.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+3000-303F,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF}@font-face{font-family:GrammarHanzi;src:url(/fonts/kaiti.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap;size-adjust:125%;unicode-range:U+3000-303F,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF}:root{--tt-ink:var(--ink);--tt-muted:var(--muted);--tt-paper:var(--paper);--tt-line:var(--line);--tt-accent:var(--imoca-red)}:is(.tt-slide,.tt-dialog),:is(.tt-slide,.tt-dialog) *{box-sizing:border-box}.tt-dialog button:where(:not([class*=cr-])),.tt-dialog select{font:inherit;border:1px solid var(--tt-line);background:var(--color-surface);color:var(--tt-ink);cursor:pointer;border-radius:8px;padding:9px 13px;text-decoration:none}.tt-dialog button:where(:not([class*=cr-])):hover{border-color:var(--tt-accent)}:is(.tt-dialog,.tt-slide) button:disabled{opacity:.45;cursor:not-allowed!important}.tt-primary,.tt-dialog .tt-primary{background:var(--imoca-red);color:var(--color-text-inverse);border-color:var(--imoca-red)}:is(.tt-dialog,.tt-slide) :is(button,a,input,select):focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}.tt-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.tt-empty{color:var(--tt-muted);font-size:var(--font-size-18px);line-height:var(--line-height-1_6)}.tt-dialog-content{flex:1;min-height:0;padding:24px;overflow:auto}.tt-dialog input,.tt-dialog select{border:1px solid var(--tt-line);background:var(--color-surface);color:var(--tt-ink);font:inherit;border-radius:8px;max-width:100%;padding:10px}.tt-game-config{flex-direction:column;gap:22px;display:flex}.tt-game-config label{font-size:var(--font-size-14px);font-weight:var(--font-weight-semibold);flex-direction:column;gap:10px;display:flex}.tt-error{color:var(--color-error-strong);line-height:var(--line-height-1_5)}.tt-vocab-table{border-collapse:collapse;width:100%;font-size:var(--font-size-20px)}.tt-vocab-table th{text-align:left;font-size:var(--font-size-13px);text-transform:uppercase;color:var(--tt-muted)}.tt-vocab-table td,.tt-vocab-table th{border-bottom:1px solid var(--tt-line);padding:15px}.tt-vocab-table td button{font-size:var(--font-size-30px);font-weight:var(--type-hanzi-weight);font-family:var(--font-family-hanzi)}.tt-game-setup{grid-template-columns:2fr 1fr;gap:32px;display:grid}.tt-game-setup input[type=number]{width:80px}.tt-word-picker{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.tt-word-picker label{background:var(--color-surface);border:1px solid var(--tt-line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.tt-word-picker label small{width:100%;color:var(--tt-muted);padding-left:25px}.tt-game-config{background:var(--imoca-red-tint);border-radius:16px;padding:24px}.tt-game-config p{color:var(--tt-muted);line-height:var(--line-height-1_6)}.tt-game-playing{flex-direction:column;justify-content:space-between;align-items:center;height:100%;display:flex}.tt-question{text-align:center;flex-direction:column;align-items:center;gap:18px;display:flex}.tt-question>strong{font-size:var(--font-size-80px)}.tt-question>span{font-size:var(--font-size-30px);color:var(--tt-accent)}.tt-question p{font-size:var(--font-size-32px);margin:0}.tt-game-result{text-align:center;max-width:650px;margin:50px auto}.tt-game-result h3{font-size:var(--font-size-48px)}.tt-game-result ol{padding:0;list-style:none}.tt-game-result li{background:var(--color-surface);font-size:var(--font-size-22px);border-radius:10px;justify-content:space-between;margin-bottom:10px;padding:18px;display:flex}.tt-game-result .tt-actions{justify-content:center}.tt-flashcard{flex-direction:column;height:100%;display:flex}.tt-flash-face{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;width:min(850px,100%);min-height:0;display:flex}.tt-flash-face strong{font-size:var(--font-size-75px)}.tt-flash-face span,.tt-flash-face p{font-size:var(--font-size-30px);margin:0}.tt-flash-face small{font-size:var(--font-size-13px);color:var(--tt-muted)}.tt-camera{background:var(--color-surface);width:240px;box-shadow:0 12px 30px var(--color-shadow-black);border-radius:20px;position:fixed;bottom:80px;right:24px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.tt-camera{box-shadow:0 12px 30px color-mix(in srgb,var(--color-shadow-black) 20%,transparent)}}.tt-camera{z-index:950}.tt-camera video{width:100%;transform:scaleX(-1)}.tt-camera>button{z-index:1;background:var(--color-surface);border:0;border-radius:20px;width:26px;height:26px;position:absolute;top:5px;right:5px}.tt-camera p{font-size:var(--font-size-13px);padding:20px}@media(max-width:1100px){.tt-word-picker{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){body:has(.tt-slide) #page-root{padding-top:0}.tt-dialog-content{padding:15px}.tt-game-setup{grid-template-columns:1fr}.tt-vocab-table{font-size:var(--font-size-14px)}.tt-vocab-table td{padding:8px}.tt-question>strong{font-size:var(--font-size-48px)}}.tt-vocab-table th{background:var(--tt-paper);padding-top:18px;padding-bottom:18px;position:sticky;top:-24px}.tt-vocab-table td button{color:var(--tt-accent);background:0 0;border:0}.tt-flash-face{border:1px solid var(--tt-line);background:var(--color-surface);box-shadow:var(--card-shadow);border-radius:20px!important;padding:24px!important}.tt-flash-face img{max-height:45%}.tt-flash-face>span{color:var(--tt-accent)}.tt-flash-count{font-size:var(--font-size-22px);font-variant-numeric:tabular-nums;position:absolute;left:50%;transform:translate(-50%)}.tt-dialog-fullscreen .tt-dialog-content:has(.tt-flashcard){background:var(--tt-paper);padding:0}.tt-flashcard{flex:1;align-items:stretch;gap:0;width:100%;min-height:0}.tt-flash-options{background:var(--color-surface);border-bottom:1px solid var(--tt-line);flex:none;justify-content:center;align-items:center;gap:10px;min-height:62px;padding:8px 16px;display:flex}.tt-flash-options>span{font-weight:var(--font-weight-bold);color:var(--tt-muted)}.tt-flash-options button{font-weight:var(--font-weight-bold)}.tt-flash-options button[aria-pressed=true]{color:var(--tt-accent);border-color:var(--tt-accent);background:var(--imoca-red-tint)}.tt-flash-options label{font-weight:var(--font-weight-bold);cursor:pointer;align-items:center;gap:8px;margin-left:8px;display:flex}.tt-flash-stage{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;min-height:0;padding:20px 70px;display:grid;overflow:hidden}.tt-flash-center{justify-content:center;align-items:center;gap:18px;width:100%;height:100%;min-height:0;display:flex;container-type:size}.tt-dialog .tt-flash-nav{width:52px;height:52px;font-size:var(--font-size-32px);line-height:var(--line-height-1);color:var(--tt-accent);box-shadow:0 5px 18px var(--color-shadow-black);border-radius:50%;flex:none;padding:0}@supports (color:color-mix(in lab,red,red)){.tt-dialog .tt-flash-nav{box-shadow:0 5px 18px color-mix(in srgb,var(--color-shadow-black) 13.3333%,transparent)}}.tt-dialog .tt-flash-face{aspect-ratio:4/5;width:min(700px,100cqw - 140px,80cqh);height:auto;min-height:0;max-height:100%;box-shadow:none;perspective:1400px;background:0 0;border:0;flex:none;overflow:visible;border-radius:28px!important;padding:0!important}.tt-flash-rotor{width:100%;height:100%;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.2,.75,.25,1);display:block;position:relative}.tt-flash-rotor.is-flipped{transform:rotateY(180deg)}.tt-flash-rotor.no-animate{transition:none}.tt-flash-side{box-sizing:border-box;border:2px solid var(--tt-accent);backface-visibility:hidden;background:var(--color-surface);box-shadow:0 22px 60px var(--color-shadow-black);border-radius:28px;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.tt-flash-side{box-shadow:0 22px 60px color-mix(in srgb,var(--color-shadow-black) 13.3333%,transparent)}}.tt-flash-side-back{transform:rotateY(180deg)}.tt-flash-face img{object-fit:contain;width:100%;max-width:none;height:100%;display:block;max-height:none!important}.tt-flash-meaning{background:linear-gradient(145deg,var(--imoca-red-tint),var(--color-surface) 72%);width:100%;height:100%;color:var(--tt-ink);flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:40px;display:flex}.tt-flash-meaning small{font-size:var(--font-size-15px);font-weight:var(--font-weight-bold);color:var(--tt-accent)}.tt-flash-meaning strong{font-size:var(--type-flashcard-meaning-size);line-height:var(--line-height-1_25);text-align:center}.tt-flash-meaning em{font-size:var(--font-size-17px);color:var(--tt-muted);font-style:normal}.tt-flash-footer{background:var(--color-surface);border-top:1px solid var(--tt-line);flex:none;justify-content:flex-end;gap:12px;min-height:50px;padding:8px 20px;display:flex}.tt-dialog .tt-flash-face>.tt-flash-meaning{color:var(--tt-ink)}@media(max-width:800px){.tt-flash-options{font-size:var(--font-size-13px);flex-wrap:wrap}.tt-flash-stage{padding:12px 8px}.tt-flash-center{gap:6px}.tt-dialog .tt-flash-nav{width:34px;height:34px;font-size:var(--font-size-24px)}.tt-dialog .tt-flash-face{width:min(100cqw - 80px,80cqh)}.tt-flash-meaning{padding:16px}.tt-flash-meaning em{font-size:var(--font-size-12px)}.tt-dialog-content{padding:16px}.tt-vocab-table{font-size:var(--font-size-15px);min-width:620px}.tt-flash-face strong{font-size:var(--font-size-56px)}.tt-flash-face p,.tt-flash-face span{font-size:var(--font-size-24px)}.tt-game-setup{grid-template-columns:1fr}}.tt-countdown{justify-content:center;gap:24px}.tt-countdown>strong{font-size:var(--font-size-120px);line-height:var(--line-height-1);color:var(--tt-accent)}body:has(.tt-slide){--slidev-slide-container-background:var(--color-background-stage)}body :is(.classroom-auth-shell,.classroom-games-backdrop)[class]{font-family:var(--font-family-ui)}.tt-dialog-fullscreen .tt-dialog-content{background:var(--color-surface-study);flex-direction:column;min-height:0;padding:20px;display:flex;overflow:hidden}.tt-dialog-vocabulary .tt-dialog-content{background:var(--color-surface);gap:0;padding:12px}.tt-vocab-shuffle{border:1px solid var(--tt-line);color:var(--tt-muted);font-size:var(--font-size-14px);font-weight:var(--font-weight-bold);cursor:pointer;border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:5px 10px;display:inline-flex}.tt-vocab-body{flex:1;min-height:0;padding-top:12px;overflow:auto}.tt-vocab-list{border:2px solid var(--tt-line);background:var(--color-surface);box-shadow:0 12px 32px var(--color-writing-ink);border-radius:18px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.tt-vocab-list{box-shadow:0 12px 32px color-mix(in srgb,var(--color-writing-ink) 7%,transparent)}}.tt-vocab-list-heading{border-bottom:1px solid var(--tt-line);background:linear-gradient(90deg,var(--imoca-red-tint),var(--color-surface));color:var(--tt-muted);font-size:var(--font-size-16px);font-weight:var(--font-weight-bold);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.tt-vocab-list-heading strong{color:var(--imoca-red-dark);font-size:var(--font-size-18px)}.tt-vocab-table-scroll{overflow-x:auto}:is(.tt-dialog-vocabulary,.tt-vocabulary-content) .tt-vocab-table{table-layout:fixed;border-collapse:separate;border-spacing:0;min-width:1100px;font-size:var(--type-vocab-body-size)}.tt-vocab-col-number{width:6%}.tt-vocab-col-hanzi{width:15%}.tt-vocab-col-pinyin{width:17%}.tt-vocab-col-type{width:12%}.tt-vocab-col-meaning{width:33%}.tt-vocab-col-hanviet{width:17%}:is(.tt-dialog-vocabulary,.tt-vocabulary-content) .tt-vocab-table th{z-index:1;border-bottom:2px solid var(--tt-line);background:var(--imoca-red-tint);color:var(--imoca-red-dark);font-size:var(--font-size-16px);font-weight:var(--font-weight-extrabold);letter-spacing:.02em;text-align:left;padding:14px 16px;position:sticky;top:0}:is(.tt-dialog-vocabulary,.tt-vocabulary-content) .tt-vocab-table th:first-child,:is(.tt-dialog-vocabulary,.tt-vocabulary-content) .tt-vocab-table th:nth-child(2){text-align:center}:is(.tt-dialog-vocabulary,.tt-vocabulary-content) .tt-vocab-table td{border-bottom:1px solid var(--tt-line);line-height:var(--line-height-1_35);font-weight:var(--font-weight-demibold);white-space:normal;overflow-wrap:anywhere;padding:18px 16px}:is(.tt-dialog-vocabulary,.tt-vocabulary-content) .tt-vocab-table td:first-child,:is(.tt-dialog-vocabulary,.tt-vocabulary-content) .tt-vocab-table td:nth-child(2){text-align:center}:is(.tt-dialog-vocabulary,.tt-vocabulary-content) .tt-vocab-table tbody tr:nth-child(2n){background:var(--color-surface-vocab-stripe)}.tt-vocab-ordinal{background:var(--imoca-red);width:34px;height:34px;color:var(--color-text-inverse);font:var(--font-weight-extrabold) var(--font-size-16px)/var(--line-height-1) var(--font-family-ui);border-radius:50%;flex:none;place-items:center;display:inline-grid}:is(.tt-dialog-vocabulary,.tt-vocabulary-content) .tt-vocab-hanzi{color:var(--tt-ink);font:var(--font-weight-bold) var(--type-vocab-hanzi-size)/var(--line-height-1_15) var(--font-family-hanzi);background:0 0;border:0;border-radius:12px;padding:2px 8px;transition:color .15s,background-color .15s,box-shadow .15s}:is(.tt-dialog-vocabulary,.tt-vocabulary-content) .tt-vocab-hanzi:hover{background:var(--imoca-red-tint);color:var(--imoca-red-dark);box-shadow:0 0 0 2px var(--imoca-red)}:is(.tt-dialog-vocabulary,.tt-vocabulary-content) .tt-vocab-hanzi:focus-visible{outline:3px solid var(--imoca-red);outline-offset:3px}.tt-vocab-type{border:1px solid var(--tt-line);background:var(--color-surface);color:var(--tt-muted);font-size:var(--font-size-17px);font-weight:var(--font-weight-heavy);border-radius:999px;padding:5px 10px;display:inline-block}.tt-vocab-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.tt-vocab-grid[data-kind=hanzi]{grid-template-columns:repeat(4,minmax(0,1fr))}:is(.tt-dialog-vocabulary,.tt-vocabulary-content) .tt-vocab-tile{border:2px solid var(--tt-line);background:linear-gradient(145deg,var(--color-surface-vocab-stripe),var(--color-surface) 82%);min-width:0;min-height:118px;color:var(--tt-ink);text-align:center;overflow-wrap:anywhere;border-radius:18px;justify-content:center;align-items:center;padding:22px 28px 22px 64px;display:flex;position:relative}:is(.tt-dialog-vocabulary,.tt-vocabulary-content) .tt-vocab-grid[data-kind=pinyin] .tt-vocab-tile{min-height:104px}:is(.tt-dialog-vocabulary,.tt-vocabulary-content) .tt-vocab-tile-hanzi{min-height:132px;padding:24px 20px}.tt-vocab-tile .tt-vocab-ordinal{width:32px;height:32px;position:absolute;top:16px;left:16px}.tt-vocab-tile strong{font-size:var(--type-vocab-card-size);line-height:var(--line-height-1_3);font-weight:var(--font-weight-heavy)}.tt-vocab-grid[data-kind=pinyin] .tt-vocab-tile strong{font-size:var(--type-vocab-card-pinyin-size)}.tt-vocab-grid[data-kind=hanzi] .tt-vocab-tile strong{font:var(--font-weight-bold) var(--type-vocab-card-hanzi-size)/var(--line-height-1_2) var(--font-family-hanzi)}@media(max-width:900px){.tt-vocab-grid[data-kind=hanzi]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.tt-vocab-grid{grid-template-columns:1fr}.tt-vocab-grid[data-kind=hanzi]{grid-template-columns:repeat(2,minmax(0,1fr))}.tt-vocab-list-heading{flex-wrap:wrap}}.tt-dialog-fullscreen:has(.tt-game-setup,.tt-memory-game) .tt-dialog-content{background:var(--color-surface-study);gap:16px;padding:clamp(16px,1.6vw,28px)}.tt-challenge-setup-tabs{flex-direction:column;flex:1;min-height:0;display:flex}.tt-challenge-setup-tabs>.cr-tabs-panel[data-state=active]{flex:1;min-height:0;display:flex;overflow:hidden}.tt-dialog-fullscreen .tt-game-setup{flex:1;grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr);gap:20px;min-width:0;min-height:0}.tt-game-picker,.tt-dialog-fullscreen .tt-game-config{border:1px solid var(--tt-line);background:var(--color-surface);border-radius:20px;min-height:0;padding:clamp(18px,2vw,32px);overflow:auto}.tt-game-picker-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.tt-game-picker-heading h3{font-size:var(--font-size-24px);margin:0}.tt-game-picker-heading p,.tt-game-selected{color:var(--tt-muted)}.tt-game-selected strong{color:var(--imoca-red)}.tt-vocab-range{border:1px solid var(--tt-line);background:var(--color-surface-study);border-radius:12px;margin-top:16px;padding:14px 16px 8px}.tt-vocab-range-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 16px;display:flex}.tt-vocab-range-heading>div{flex-direction:column;gap:4px;display:flex}.tt-vocab-range-heading strong{font-size:var(--font-size-16px)}.tt-vocab-range-heading span{color:var(--tt-muted);font-size:var(--font-size-14px)}.tt-vocab-range-heading output{background:var(--imoca-red-tint);color:var(--imoca-red-dark);font-size:var(--font-size-16px);font-weight:var(--font-weight-bold);white-space:nowrap;border-radius:8px;padding:7px 10px}.tt-vocab-range-slider{margin-top:8px}.tt-dialog-fullscreen .tt-word-picker{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.tt-dialog-fullscreen .tt-word-picker label{font-size:var(--font-size-19px);cursor:pointer;flex-wrap:nowrap;padding:13px}.tt-dialog-fullscreen .tt-word-picker label[data-selected=true]{border-color:var(--imoca-red);background:var(--imoca-red-tint)}.tt-word-number{color:var(--tt-muted);font-size:var(--font-size-14px)}.tt-dialog-fullscreen .tt-game-config{flex-direction:column;gap:18px;display:flex}.tt-game-intro{text-align:center}.tt-game-intro>span{font-size:var(--font-size-46px)}.tt-game-intro h3{font-size:var(--font-size-30px);margin:8px 0}.tt-game-intro p{margin:0}.tt-game-config h4{font-size:var(--font-size-19px);margin:6px 0 0}.tt-describe-field{flex-direction:column;gap:10px;display:flex}.tt-describe-field p{margin:0}.tt-dialog .tt-describe-intro h3{font-size:var(--type-describe-heading-size)}.tt-describe-team-names{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px;display:grid}.tt-dialog .tt-describe-team-names input,.tt-dialog .tt-describe-duration select{box-sizing:border-box;width:100%;min-width:0;min-height:48px;font-size:var(--font-size-18px)}.tt-game-config .tt-describe-duration{font-size:var(--font-size-19px);font-weight:var(--font-weight-bold)}.tt-game-config .tt-describe-summary{color:var(--imoca-red-dark);font-weight:var(--font-weight-bold);margin:0}.tt-game-config .tt-direction-choices{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.tt-dialog .tt-direction-choices button{font-size:var(--font-size-18px);font-weight:var(--font-weight-bold);text-align:left;border-radius:12px;justify-content:flex-start;padding:13px 16px}.tt-dialog .tt-direction-choices button[data-state=checked]{color:var(--imoca-red-dark);background:var(--imoca-red-tint);border:2px solid var(--imoca-red)}.tt-dialog .tt-game-start{width:100%;font-size:var(--font-size-20px);font-weight:var(--font-weight-extrabold);border-radius:14px;margin-top:auto;padding:16px}.tt-memory-game{flex:1;grid-template-rows:auto auto minmax(280px,1fr) auto;gap:clamp(8px,1.2vh,16px);width:min(100%,1280px);min-height:0;margin:auto;display:grid}.tt-memory-toolbar{justify-content:flex-end;gap:12px;display:flex}.tt-dialog .tt-memory-toolbar button{min-width:142px;height:40px;font-size:var(--font-size-16px);font-weight:var(--font-weight-bold)}.tt-dialog .tt-memory-toolbar button[aria-pressed=true]{color:var(--imoca-red-dark);background:var(--imoca-red-tint)}.tt-memory-progress{font-size:var(--type-memory-progress-size);grid-template-columns:minmax(110px,150px) minmax(120px,1fr) 72px;align-items:center;gap:20px;display:grid}.tt-memory-progress>strong:last-child{color:var(--color-game-timer);text-align:right;font-size:var(--type-memory-timer-size)}.tt-memory-track{background:var(--color-game-progress-track);border-radius:999px;height:14px;overflow:hidden}.tt-memory-track>div{background:var(--imoca-red);height:100%;transition:width .2s}.tt-memory-card{border:2px solid var(--tt-line);background:linear-gradient(145deg,var(--color-surface),var(--imoca-red-tint));min-height:0;box-shadow:0 14px 38px var(--color-text-study);border-radius:24px;flex-direction:column;justify-content:safe center;align-items:center;padding:clamp(18px,2.5vh,34px) clamp(24px,3vw,48px);display:flex;overflow:auto}@supports (color:color-mix(in lab,red,red)){.tt-memory-card{box-shadow:0 14px 38px color-mix(in srgb,var(--color-text-study) 12.9412%,transparent)}}.tt-memory-card{text-align:center}.tt-memory-prompt{color:var(--color-text-study-muted);font-size:var(--type-memory-prompt-size);font-weight:var(--font-weight-bold)}.tt-memory-question{max-width:100%;font-size:var(--type-memory-question-size);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-1_12);overflow-wrap:anywhere;margin:clamp(10px,1.6vh,20px) 0}.tt-memory-game[data-question-kind=hanzi] .tt-memory-question{font-family:var(--font-family-hanzi);font-size:var(--type-memory-question-hanzi-size)}.tt-memory-game[data-question-kind=vi] .tt-memory-question{font-size:var(--type-memory-question-meaning-size)}.tt-memory-answer{border-top:3px dashed var(--tt-line);width:min(100%,860px);padding-top:14px}.tt-memory-hanzi{color:var(--imoca-red-dark);font:var(--font-weight-bold) var(--type-memory-answer-hanzi-size)/var(--line-height-1_15) var(--font-family-hanzi)}.tt-memory-meaning{font-size:var(--type-memory-answer-meaning-size);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-1_2);overflow-wrap:anywhere;margin-top:6px}.tt-memory-pinyin{color:var(--color-text-study-muted);font-size:var(--type-memory-answer-pinyin-size);margin-top:6px}.tt-dialog .tt-memory-reveal{border:3px solid var(--imoca-red);color:var(--imoca-red-dark);font-size:var(--type-memory-action-size);font-weight:var(--font-weight-extrabold);border-radius:16px;margin-top:14px;padding:14px 32px}.tt-memory-actions{grid-template-columns:1fr 1fr;gap:16px;display:grid}.tt-dialog .tt-memory-actions button{min-height:56px;font-size:var(--type-memory-action-size);font-weight:var(--font-weight-extrabold);border-radius:16px}.tt-dialog .tt-memory-actions button:first-child{border:2px solid var(--color-answer-wrong-border);color:var(--color-answer-wrong-text);background:var(--color-answer-wrong-surface)}.tt-dialog .tt-memory-actions button:last-child{border:2px solid var(--color-answer-correct-border);color:var(--color-success-attendance);background:var(--color-answer-correct-surface)}@media(max-width:900px){.tt-dialog-fullscreen .tt-game-setup{grid-template-columns:1fr;overflow:auto}.tt-game-picker,.tt-dialog-fullscreen .tt-game-config{overflow:visible}.tt-memory-game{grid-template-rows:auto auto minmax(240px,1fr) auto}}.tt-hanzi-study{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.tt-dialog-fullscreen:has(.tt-hanzi-study) .tt-dialog-content{padding:12px 16px}.tt-hanzi-panel{flex:1;min-width:0;min-height:0;display:flex;overflow:auto}.tt-hanzi-panel>.tt-hanzi-main{width:100%;min-width:0}.tt-hanzi-panel[data-state=inactive]{display:none}.tt-hanzi-toolbar{flex-wrap:wrap;flex:none;align-items:center;gap:10px;display:flex}.tt-hanzi-toolbar .cr-tabs-list{gap:16px;margin:0 0 0 10px}.tt-hanzi-toolbar .cr-tabs-trigger{font-size:var(--font-size-16px);padding:8px 4px}.tt-hanzi-toolbar>label{font-size:var(--font-size-14px);font-weight:var(--font-weight-bold);color:var(--color-text-study-label)}.tt-hanzi-toolbar>.cr-field{flex:0 260px;min-width:140px}.tt-hanzi-toolbar .cr-input{min-height:44px;font:var(--type-hanzi-weight) var(--font-size-26px) var(--font-family-hanzi);padding:6px 10px}.tt-hanzi-main{flex:1;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:18px;min-height:0;display:grid}.tt-hanzi-main--single{grid-template-columns:minmax(0,1fr)}.tt-hanzi-stage,.tt-hanzi-details{border:1px solid var(--color-border-study);background:var(--color-surface);border-radius:16px;min-width:0;min-height:0}.tt-hanzi-stage{position:relative;overflow:hidden}.tt-hanzi-writers{justify-content:safe center;align-items:center;gap:18px;width:100%;height:100%;padding:20px;display:flex;overflow:auto}.tt-hanzi-cell{flex-direction:column;flex:none;justify-content:center;align-items:center;gap:6px;display:flex}.tt-hanzi-canvas{border:1px solid var(--color-border-study-neutral);background:var(--color-surface);border-radius:8px;flex:none}.tt-hanzi-cell>span{min-height:54px;color:var(--color-text-study-muted);font-size:var(--type-writer-pinyin-size);font-weight:var(--font-weight-bold);line-height:var(--line-height-1_25);text-align:center}.tt-hanzi-status,.tt-hanzi-error{z-index:1;color:var(--color-text-study-muted);font-size:var(--font-size-13px);margin:0;position:absolute;top:12px;left:18px}.tt-hanzi-error{color:var(--color-error-strong)}.tt-hanzi-details{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(24px,3vw,48px);display:flex;overflow:auto}.tt-hanzi-word{font:var(--type-hanzi-weight) var(--type-writer-hanzi-size)/var(--line-height-1_2) var(--font-family-hanzi);color:var(--color-text-study);overflow-wrap:anywhere}.tt-hanzi-label{color:var(--color-text-study-muted);font-size:var(--type-writer-label-size);font-weight:var(--font-weight-extrabold)}.tt-hanzi-hanviet{color:var(--color-text-study-secondary);font-size:var(--type-writer-hanviet-size);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-1_3);text-transform:uppercase;margin-top:6px}.tt-hanzi-type{background:var(--color-border-study);color:var(--color-text-study-secondary);font-size:var(--font-size-17px);font-weight:var(--font-weight-bold);border-radius:999px;margin-top:18px;padding:7px 14px}.tt-hanzi-divider{background:var(--color-border-study);width:100%;height:1px;margin:30px 0}.tt-hanzi-meaning{color:var(--color-text-study);font-size:var(--type-writer-meaning-size);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-1_4);white-space:pre-wrap;margin-top:12px}.tt-radicals{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.tt-radicals-top{flex-direction:column;align-items:stretch;gap:10px;display:flex}.tt-radicals-top>div:not(.cr-field){align-items:baseline;gap:12px;margin-right:auto;display:flex}.tt-radicals-top strong{font-size:var(--font-size-15px)}.tt-radicals-top span{color:var(--color-text-study-muted);font-size:var(--font-size-13px)}.tt-radicals-top .cr-field,.tt-radicals-top input{width:100%;min-width:0}.tt-radicals-top input{min-height:42px}.tt-radical-preview-body{padding:0;overflow:hidden}.tt-radicals-state{color:var(--color-text-study-muted);text-align:center;margin:auto}.tt-radicals-grid{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:12px;min-height:0;display:grid;overflow:auto}.tt-dialog .tt-radical-card{background:var(--color-surface);text-align:center;cursor:pointer;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:0 0 6px;display:flex}.tt-dialog .tt-radical-card:hover{border-color:var(--imoca-red);box-shadow:var(--card-shadow)}.tt-radical-image{background:var(--color-surface-study-image);width:100%;height:140px;font-size:var(--font-size-54px);border-radius:8px;place-items:center;display:grid;overflow:hidden}.tt-radical-image img{object-fit:cover;width:100%;height:100%}.tt-radical-caption{font-size:var(--font-size-13px);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 8px;display:flex}.tt-radical-caption small{font-size:var(--font-size-12px);flex-basis:100%}.tt-radical-card strong{font:var(--type-hanzi-weight) var(--font-size-24px) var(--font-family-hanzi)}.tt-radical-card>span:not(.tt-radical-image){color:var(--color-text-study-secondary)}.tt-radical-card small{color:var(--color-text-study-muted)}@media(max-width:800px){.tt-dialog-fullscreen .tt-dialog-content{padding:12px;overflow:auto}.tt-hanzi-toolbar{gap:10px}.tt-hanzi-toolbar>label{width:auto}.tt-hanzi-toolbar .cr-tabs-list{width:100%;margin:0}.tt-hanzi-toolbar>.cr-field{flex:1}.tt-hanzi-main{flex:none;grid-template-columns:1fr}.tt-hanzi-stage{min-height:390px}.tt-hanzi-details{padding:24px}.tt-radicals{flex:none;width:100%;min-height:500px}.tt-radicals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.slidev-layout.tt-slide{--tt-space:20px;--tt-panel-padding:24px;gap:var(--tt-space);height:100%;color:var(--ink);font-family:var(--font-family-hanzi);flex-direction:column;padding:94px 58px 40px;display:flex;position:relative;overflow:hidden}.tt-slide .tt-control{border:1px solid var(--control-line);background:var(--color-surface);min-height:36px;color:var(--ink);font:var(--font-weight-semibold) var(--type-control-size)/var(--line-height-1_4) var(--font-family-ui);cursor:pointer;border-radius:10px;padding:7px 14px;transition:background-color .15s,border-color .15s}.tt-slide .tt-control:hover{color:var(--imoca-red);background:var(--imoca-red-tint);border-color:var(--imoca-red)}.tt-slide .tt-control[aria-pressed=true]{color:var(--imoca-red-dark);background:var(--imoca-red-tint);border-color:#0000}.tt-slide .tt-panel{border:1px solid var(--line);border-radius:var(--tt-panel-radius);background:var(--color-surface);min-width:0;min-height:0;box-shadow:var(--tt-panel-shadow);flex-direction:column;flex:1;display:flex;overflow:hidden}.tt-slide .tt-column.tt-panel{overflow:visible}.tt-slide .tt-panel-heading{min-height:72px;padding:16px var(--tt-panel-padding);flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.tt-slide .tt-column .tt-panel-heading{z-index:2;position:relative}.tt-slide .tt-panel .tt-panel-heading h2{min-width:0;color:var(--ink);font:var(--font-weight-bold) var(--type-panel-title-size)/var(--line-height-1_4) var(--font-family-hanzi);letter-spacing:0;overflow-wrap:anywhere;border:0;margin:0;padding:0}.tt-slide .tt-column .tt-panel-heading{flex-wrap:wrap}.tt-slide .tt-column .tt-panel-heading h2{flex:150px}.tt-slide .tt-panel-tools{flex:none;align-items:center;gap:8px;display:flex}.tt-slide .tt-reading-panel .tt-panel-tools{flex:auto;width:100%;min-width:0}.tt-slide .tt-reading-panel .tt-panel-tools .tt-control{white-space:nowrap;flex:none;margin-left:auto}.tt-slide .tt-panel-body{min-width:0;min-height:0;padding:0 var(--tt-panel-padding) var(--tt-panel-padding);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;overflow:auto}.tt-slide .tt-title-in-chrome>.tt-panel-body{padding-top:var(--tt-panel-padding)}.tt-slide .tt-empty{background:var(--paper);color:var(--muted);font-size:var(--font-size-18px);line-height:var(--line-height-1_7);border-radius:12px;margin:0;padding:24px}.tt-slide .tt-notice{border-left:3px solid var(--imoca-red);background:var(--paper);color:var(--muted);font-size:var(--font-size-14px);line-height:var(--line-height-1_6);border-radius:0 8px 8px 0;margin:16px 0 0;padding:12px 16px}.tt-slide .tt-objectives{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.tt-slide .tt-lesson-summary h3{font-size:var(--font-size-32px);line-height:var(--line-height-1_35);font-weight:var(--font-weight-bold);letter-spacing:-.6px;overflow-wrap:anywhere;margin:0 0 16px}.tt-slide .tt-lesson-summary p{color:var(--muted);font-size:var(--font-size-15px);line-height:var(--line-height-1_6);margin:0}.tt-slide .tt-objectives ol{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tt-slide .tt-objectives li{display:flex}.tt-slide .tt-objectives li b{color:var(--imoca-red);font:var(--font-weight-bold) var(--font-size-15px) var(--font-family-ui);font-variant-numeric:tabular-nums;flex:none}.tt-slide .tt-image-grid{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-wrap:wrap;flex:1;place-content:flex-start center;gap:16px;min-height:0;padding:4px;display:flex;overflow-y:auto}.tt-slide .tt-image-grid--few{align-content:center}.tt-slide .tt-image-card{aspect-ratio:4/5;border-radius:var(--tt-panel-radius);background:var(--color-surface);cursor:pointer;flex:0 0 min(440px,25% - 12px);justify-content:center;align-items:center;min-width:0;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;overflow:hidden}.tt-slide .tt-image-card:hover{border-color:var(--imoca-red)}.tt-slide .tt-image-card img{object-fit:contain;border-radius:calc(var(--tt-panel-radius) - 7px);width:100%;height:100%;min-height:0;display:block}.tt-slide .tt-reading-columns{gap:var(--tt-space);flex:1;grid-template-columns:minmax(0,3fr) minmax(0,2fr);min-height:0;display:grid}.tt-slide .tt-reading-panel .tt-panel-tools .tt-lesson-audio{color-scheme:light;flex:auto;width:0;min-width:180px;height:40px;display:block}.tt-slide :is(.tt-reading-panel,.tt-grammar) .tt-panel-heading{min-height:48px;padding:8px var(--tt-panel-padding);gap:8px}.tt-slide .tt-grammar .tt-panel-heading h2{font-size:var(--font-size-18px)}.tt-slide .tt-review-panel .tt-panel-heading{min-height:0;display:block}.tt-slide .tt-review-heading .cr-tabs-list{gap:16px;margin:0}.tt-slide .tt-review-heading .cr-tabs-trigger{min-height:36px;font-size:var(--font-size-16px);padding:6px 4px}.tt-slide .tt-review-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-width:0;display:grid}.tt-slide .tt-review-heading--audio{grid-template-columns:minmax(0,1fr)}.tt-slide .tt-review-controls{align-items:center;gap:10px;min-width:0;display:flex}.tt-slide .tt-review-controls:only-child{grid-column:1/-1}.tt-slide .tt-review-controls audio{color-scheme:light;flex:1;min-width:0;height:40px;display:block}.tt-slide .tt-review-controls .tt-control{white-space:nowrap;flex:none;margin-left:auto}.tt-slide .tt-reading-toolbar{align-items:center;gap:12px;width:100%;min-width:0;display:flex}.tt-slide .tt-reading-toolbar .cr-tabs-list{scrollbar-width:none;border-bottom:0;flex:1;gap:16px;min-width:0;margin:0;overflow-x:auto}.tt-slide .tt-reading-toolbar .cr-tabs-trigger{min-height:36px;font-size:var(--font-size-16px);flex:none;padding:6px 4px}.tt-slide .tt-reading-toolbar-controls{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.tt-slide .tt-reading-toolbar-controls .tt-control{white-space:nowrap}.tt-slide .tt-audio-control{justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.tt-slide .tt-audio-control svg{width:18px;height:18px}.tt-slide .tt-reading-text{font-size:var(--type-prose-size);font-weight:var(--type-reading-weight);line-height:var(--type-reading-leading);overflow-wrap:break-word}.tt-slide .tt-reading-text.hide-pinyin{line-height:var(--type-reading-plain-leading)}.tt-slide .tt-reading-prose p{line-height:inherit;margin:0 0 .7em}.tt-slide .tt-reading-text .tt-ruby-unit{display:inline-block}.tt-slide .tt-reading-text ruby{ruby-position:over;cursor:pointer;white-space:nowrap;border-radius:4px;padding-inline:2px}.tt-slide .tt-reading-text ruby>span{white-space:nowrap;overflow-wrap:normal}.tt-slide .tt-reading-text ruby.tt-new-word{white-space:nowrap;padding-inline:5px}.tt-slide .tt-reading-text rt{color:var(--color-reading-pinyin);font-family:var(--font-family-pinyin);font-size:var(--type-pinyin-size);font-weight:var(--font-weight-medium);letter-spacing:.02em;white-space:nowrap;padding-inline:.2em}.tt-slide .tt-reading-text ruby.tt-new-word>span{color:var(--color-reading-new-word);border-bottom:1px dashed var(--color-reading-underline)}.tt-slide .tt-reading-text ruby:hover>span{color:var(--color-brand-hover)}.tt-slide .tt-dialogue{flex-direction:column;gap:16px;padding:4px 0 12px;display:flex}.tt-slide .tt-dialogue-message{--dialogue-color:var(--color-speaker-1-accent);--dialogue-bubble:var(--color-speaker-1-surface);align-items:flex-end;gap:12px;width:100%;display:flex}.tt-slide .tt-dialogue-right{flex-direction:row-reverse;align-self:flex-end}.tt-slide .tt-dialogue-participant-1{--dialogue-color:var(--color-speaker-2-accent);--dialogue-bubble:var(--color-speaker-2-surface)}.tt-slide .tt-dialogue-participant-2{--dialogue-color:var(--color-speaker-3-accent);--dialogue-bubble:var(--color-speaker-3-surface)}.tt-slide .tt-dialogue-participant-3{--dialogue-color:var(--color-speaker-4-accent);--dialogue-bubble:var(--color-speaker-4-surface)}.tt-slide .tt-dialogue-participant-4{--dialogue-color:var(--color-speaker-5-accent);--dialogue-bubble:var(--color-speaker-5-surface)}.tt-slide .tt-dialogue-participant-5{--dialogue-color:var(--color-speaker-6-accent);--dialogue-bubble:var(--color-speaker-6-surface)}.tt-slide .tt-dialogue-avatar{border:2px solid var(--color-border-inverse);background:var(--dialogue-color);width:46px;height:46px;box-shadow:0 0 0 1px var(--dialogue-color),0 4px 12px var(--color-shadow-black);border-radius:50%;flex:0 0 46px;place-items:center;padding:0;display:grid;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.tt-slide .tt-dialogue-avatar{box-shadow:0 0 0 1px color-mix(in srgb,var(--dialogue-color) 45%,transparent),0 4px 12px color-mix(in srgb,var(--color-shadow-black) 12%,transparent)}}.tt-slide .tt-dialogue-avatar{color:var(--color-text-inverse);font:var(--font-weight-bold) var(--font-size-19px) var(--font-family-ui);cursor:pointer}.tt-slide .tt-dialogue-avatar img{object-fit:cover;width:100%;height:100%;display:block}.tt-slide .tt-dialogue-avatar:disabled{opacity:1;cursor:default}.tt-slide .tt-dialogue-bubble{border:1px solid var(--dialogue-color);width:max-content;min-width:0;max-width:100%;padding:10px 16px}@supports (color:color-mix(in lab,red,red)){.tt-slide .tt-dialogue-bubble{border:1px solid color-mix(in srgb,var(--dialogue-color) 20%,transparent)}}.tt-slide .tt-dialogue-bubble{background:var(--dialogue-bubble);overflow-wrap:break-word;border-radius:5px 18px 18px}.tt-slide .tt-dialogue-right .tt-dialogue-bubble{border-radius:18px 5px 18px 18px}.tt-slide .tt-dialogue-line{font-size:var(--type-dialogue-size);line-height:var(--type-reading-leading);overflow-wrap:break-word}.tt-slide .hide-pinyin .tt-dialogue-line{line-height:var(--type-reading-plain-leading)}.tt-slide .tt-dialogue-name{color:var(--dialogue-color);font:var(--font-weight-extrabold) var(--type-speaker-name-size) var(--font-family-ui);cursor:pointer;background:0 0;border:0;border-bottom:1px dashed;padding:0 0 2px;display:inline}.tt-slide .tt-dialogue-name:hover{opacity:.7}.tt-slide .tt-dialogue-name-static{cursor:default}.tt-slide .tt-dialogue-narration{background:var(--paper);max-width:94%;font-size:var(--font-size-0_8em);line-height:var(--line-height-1_7);border-radius:12px;align-self:center;padding:6px 14px}.tt-character-profile{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:1040px;margin:auto;display:flex}.tt-dialog:has(.tt-character-profile){width:min(1120px,100%);height:auto}.tt-dialog:has(.tt-character-profile)>header{flex:none;padding:12px clamp(20px,3vw,40px)}.tt-dialog:has(.tt-character-profile)>header h2{font-size:var(--type-character-title-size);overflow-wrap:anywhere}.tt-dialog:has(.tt-character-profile)>header>button{min-width:48px;min-height:48px}.tt-dialog-content:has(.tt-character-profile){padding:24px clamp(20px,3vw,40px) 32px}.tt-character-portrait{border:4px solid var(--color-border-inverse);object-fit:cover;width:clamp(128px,min(18vw,24dvh),224px);height:clamp(128px,min(18vw,24dvh),224px);box-shadow:0 0 0 2px var(--line),0 8px 24px var(--color-shadow-black);border-radius:50%;flex:none}@supports (color:color-mix(in lab,red,red)){.tt-character-portrait{box-shadow:0 0 0 2px var(--line),0 8px 24px color-mix(in srgb,var(--color-shadow-black) 12%,transparent)}}.tt-character-hanzi{color:var(--imoca-red);font:var(--font-weight-extrabold) var(--type-character-hanzi-size)/var(--line-height-1_2) var(--font-family-hanzi)}.tt-character-pinyin{font:var(--font-weight-medium) var(--type-character-pinyin-size)/var(--line-height-1_4) var(--font-family-ui)}.tt-character-profile p{font:var(--font-weight-medium) var(--type-character-body-size)/var(--line-height-1_6) var(--font-family-ui);text-align:left;align-self:stretch;margin:12px 0 0}.tt-slide .hide-pinyin rt{display:none}.tt-slide .tt-rich{font-weight:var(--type-hanzi-weight);font-size:var(--type-rich-body-size);line-height:var(--type-rich-leading);overflow-wrap:anywhere}.tt-slide .tt-grammar .tt-rich{font-family:var(--font-family-grammar);font-size:var(--type-grammar-size)}.tt-slide .tt-rich :is(p,div,ul,ol,li){line-height:inherit}.tt-slide .tt-rich :is(p,ul,ol){margin:0 0 16px}.tt-slide .tt-rich :is(h2,h3,h4){color:var(--ink);font-size:var(--type-rich-heading-size);font-weight:var(--font-weight-bold);line-height:var(--line-height-1_5);letter-spacing:0;border:0;margin:24px 0 12px;padding:0}.tt-slide .tt-rich>:first-child{margin-top:0}.tt-slide .tt-rich>:last-child{margin-bottom:0}.tt-slide .tt-rich :is(ul,ol){padding-left:26px}.tt-slide .tt-rich :is(img,video,iframe,audio){max-width:100%}.tt-slide .tt-rich img{object-fit:contain;border-radius:8px;height:auto}.tt-slide .tt-rich :is(video,iframe){aspect-ratio:16/9;border:0;border-radius:8px;width:100%}.tt-slide .tt-rich table{border-collapse:collapse;width:100%;font-size:var(--font-size-18px)}.tt-slide .tt-rich :is(td,th){border:1px solid var(--line);padding:10px 12px}.tt-slide .tt-rich th{background:var(--paper)}.tt-slide .tt-assistance{font-size:var(--font-size-17px);border-radius:12px;margin-top:24px;padding:16px 20px}.tt-slide .tt-review-words{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.tt-slide .tt-review-words>span{background:var(--paper);font-size:var(--font-size-32px);text-align:center;border-radius:12px;padding:20px}.tt-slide .tt-review-words small{font-size:var(--font-size-16px);color:var(--imoca-red);margin-top:8px;display:block}.tt-slide .tt-practice .tt-rich{font-size:var(--type-practice-size);font-weight:var(--type-practice-weight);line-height:var(--type-practice-leading)}.tt-slide .tt-video-panel .tt-panel-body{display:flex}.tt-slide .tt-video{place-items:center;width:100%;min-height:0;display:grid;overflow:hidden}.tt-slide .tt-video :is(iframe,video){object-fit:contain;border:0;width:100%;height:100%}.tt-slide .tt-video a{border:1px solid var(--line);background:var(--color-surface);color:var(--imoca-red);font-size:var(--font-size-17px);font-weight:var(--font-weight-semibold);border-radius:10px;padding:12px 20px;text-decoration:none}.tt-slide .tt-video a:hover{border-color:var(--imoca-red)}.slidev-layout.tt-slide{--tt-panel-radius:22px;--tt-panel-shadow:0 12px 32px var(--color-shadow)}@supports (color:color-mix(in lab,red,red)){.slidev-layout.tt-slide{--tt-panel-shadow:0 12px 32px color-mix(in srgb, var(--color-shadow) 7%, transparent)}}.slidev-layout.tt-slide{background:var(--slide-background)}.slidev-layout.tt-slide:is([data-kind=opening],[data-kind=closing]){color:var(--color-text-inverse);background:radial-gradient(760px 540px at 81% 34%,var(--color-cover-glow-curriculum),transparent 68%),radial-gradient(650px 480px at 10% 100%,var(--color-shadow-black),transparent 66%),linear-gradient(140deg,var(--imoca-red),var(--imoca-red-dark) 65%,var(--imoca-red-deep))}@supports (color:color-mix(in lab,red,red)){.slidev-layout.tt-slide:is([data-kind=opening],[data-kind=closing]){background:radial-gradient(760px 540px at 81% 34%,color-mix(in srgb,var(--color-cover-glow-curriculum) 34%,transparent),transparent 68%),radial-gradient(650px 480px at 10% 100%,color-mix(in srgb,var(--color-shadow-black) 22%,transparent),transparent 66%),linear-gradient(140deg,var(--imoca-red),var(--imoca-red-dark) 65%,var(--imoca-red-deep))}}.classroom-header-frame:is([data-slide-kind=opening],[data-slide-kind=closing]) .slide-chrome .vocabulary-btn,.classroom-header-frame:is([data-slide-kind=opening],[data-slide-kind=closing]) .slide-chrome .curriculum-challenge-btn{border:1px solid var(--color-border-inverse)}@supports (color:color-mix(in lab,red,red)){.classroom-header-frame:is([data-slide-kind=opening],[data-slide-kind=closing]) .slide-chrome .vocabulary-btn,.classroom-header-frame:is([data-slide-kind=opening],[data-slide-kind=closing]) .slide-chrome .curriculum-challenge-btn{border:1px solid color-mix(in srgb,var(--color-border-inverse) 65%,transparent)}}.classroom-header-frame:is([data-slide-kind=opening],[data-slide-kind=closing]) .slide-chrome .vocabulary-btn,.classroom-header-frame:is([data-slide-kind=opening],[data-slide-kind=closing]) .slide-chrome .curriculum-challenge-btn{background:var(--color-surface)}@supports (color:color-mix(in lab,red,red)){.classroom-header-frame:is([data-slide-kind=opening],[data-slide-kind=closing]) .slide-chrome .vocabulary-btn,.classroom-header-frame:is([data-slide-kind=opening],[data-slide-kind=closing]) .slide-chrome .curriculum-challenge-btn{background:color-mix(in srgb,var(--color-surface) 12%,transparent)}}.classroom-header-frame:is([data-slide-kind=opening],[data-slide-kind=closing]) .slide-chrome .vocabulary-btn,.classroom-header-frame:is([data-slide-kind=opening],[data-slide-kind=closing]) .slide-chrome .curriculum-challenge-btn{color:var(--color-text-inverse)}.tt-slide .tt-cover{flex:1;grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr);align-items:center;gap:24px;min-height:0;display:grid}.tt-slide .tt-cover-copy{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.tt-slide .tt-cover-kicker{background:var(--color-shadow-black);border-radius:999px;padding:9px 16px}@supports (color:color-mix(in lab,red,red)){.tt-slide .tt-cover-kicker{background:color-mix(in srgb,var(--color-shadow-black) 22%,transparent)}}.tt-slide .tt-cover-kicker{color:var(--yellow);font:var(--font-weight-extrabold) var(--font-size-16px)/var(--line-height-1_3) var(--font-family-ui);letter-spacing:.12em}.tt-slide .tt-cover h2{max-width:740px;color:var(--color-text-inverse);font:var(--font-weight-black) var(--type-cover-title-size)/var(--line-height-1_12) var(--font-family-ui);letter-spacing:-.055em;overflow-wrap:anywhere;text-shadow:0 15px 36px var(--color-shadow-black);margin:22px 0 0}@supports (color:color-mix(in lab,red,red)){.tt-slide .tt-cover h2{text-shadow:0 15px 36px color-mix(in srgb,var(--color-shadow-black) 20%,transparent)}}.tt-slide .tt-cover h2 em{color:var(--yellow);font-style:normal}.tt-slide .tt-cover p{max-width:620px;color:var(--color-text-inverse);margin:24px 0 0}@supports (color:color-mix(in lab,red,red)){.tt-slide .tt-cover p{color:color-mix(in srgb,var(--color-text-inverse) 90%,transparent)}}.tt-slide .tt-cover p{font:var(--font-weight-medium) var(--font-size-25px)/var(--line-height-1_5) var(--font-family-ui)}.tt-slide .tt-cover-tags{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.tt-slide .tt-cover-tags span{border:1px solid var(--color-border-inverse);padding:9px 16px}@supports (color:color-mix(in lab,red,red)){.tt-slide .tt-cover-tags span{border:1px solid color-mix(in srgb,var(--color-border-inverse) 45%,transparent)}}.tt-slide .tt-cover-tags span{background:var(--color-surface);border-radius:999px}@supports (color:color-mix(in lab,red,red)){.tt-slide .tt-cover-tags span{background:color-mix(in srgb,var(--color-surface) 8%,transparent)}}.tt-slide .tt-cover-tags span{font:var(--font-weight-bold) var(--font-size-18px) var(--font-family-ui)}.tt-slide .tt-cover-copy small{border-top:1px solid var(--color-border-inverse);margin-top:42px;padding-top:18px}@supports (color:color-mix(in lab,red,red)){.tt-slide .tt-cover-copy small{border-top:1px solid color-mix(in srgb,var(--color-border-inverse) 30%,transparent)}}.tt-slide .tt-cover-copy small{color:var(--color-text-inverse)}@supports (color:color-mix(in lab,red,red)){.tt-slide .tt-cover-copy small{color:color-mix(in srgb,var(--color-text-inverse) 78%,transparent)}}.tt-slide .tt-cover-copy small{font:var(--font-weight-extrabold) var(--font-size-14px) var(--font-family-ui);letter-spacing:.16em}.tt-slide .tt-cover .sound-orbit{width:min(34vw,420px);height:min(34vw,420px)}.tt-slide .tt-cover .orbit-one{width:48%;height:48%}.tt-slide .tt-cover .orbit-two{width:72%;height:72%}.tt-slide .tt-cover .orbit-three{width:96%;height:96%}.tt-slide .tt-cover .sound-orbit strong{font-size:var(--type-cover-hanzi-size)}.tt-slide .tt-panel{border-color:var(--line)}.tt-slide .tt-panel-heading{border-bottom:1px solid var(--line)}.tt-slide .tt-reading-panel{border-top:5px solid var(--imoca-red)}.tt-slide .tt-grammar{border-top:5px solid var(--color-grammar-accent);background:var(--color-grammar-surface)}.tt-slide .tt-grammar .tt-panel-heading h2:before{content:"✦";color:var(--color-grammar-icon);font:var(--font-weight-bold) var(--type-panel-icon-size) var(--font-family-ui);margin-right:10px}.tt-slide .tt-reading-panel .tt-panel-body,.tt-slide .tt-grammar .tt-panel-body{padding-top:12px}.tt-slide .tt-grammar .tt-rich :is(h2,h3,h4){color:var(--color-grammar-heading)}.tt-slide .tt-grammar .tt-rich :is(h2,h3,h4):not(:first-child){border-top:1px solid var(--color-grammar-divider);padding-top:18px}.tt-slide .tt-assistance{border-left:4px solid var(--teaching-accent);background:var(--teaching-accent-tint);color:var(--teaching-accent-dark)}.tt-slide .tt-section-eyebrow{color:var(--imoca-red);font:var(--font-weight-extrabold) var(--font-size-13px)/var(--line-height-1_4) var(--font-family-ui);letter-spacing:.13em;display:inline-block}.tt-slide .tt-slide-caption{font:var(--font-weight-semibold) var(--font-size-15px)/var(--line-height-1_5) var(--font-family-ui);color:var(--muted);justify-content:space-between;align-items:baseline;gap:16px;padding:0 5px;display:flex}.tt-slide .tt-image-card{border:1px solid var(--line);box-shadow:0 14px 30px var(--color-shadow);padding:6px}@supports (color:color-mix(in lab,red,red)){.tt-slide .tt-image-card{box-shadow:0 14px 30px color-mix(in srgb,var(--color-shadow) 9%,transparent)}}.tt-slide .tt-image-card:hover{box-shadow:0 22px 42px var(--color-shadow)}@supports (color:color-mix(in lab,red,red)){.tt-slide .tt-image-card:hover{box-shadow:0 22px 42px color-mix(in srgb,var(--color-shadow) 16%,transparent)}}.tt-slide .tt-image-card:hover{transform:translateY(-4px)}.tt-slide .tt-image-card:focus-visible{outline:4px solid var(--imoca-red);outline-offset:3px}.tt-slide .tt-objectives-panel{position:relative}.tt-slide .tt-objectives-panel:before{content:"";background:var(--imoca-red);flex:none;height:6px}.tt-slide .tt-objectives-panel .tt-panel-body{padding:24px clamp(24px,3vw,52px) 32px}.tt-slide .tt-objectives{flex-direction:column;align-items:stretch;gap:18px;width:100%;padding:0;display:flex}.tt-slide .tt-lesson-summary{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;padding:8px 0 16px;display:flex}.tt-slide .tt-lesson-facts{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0;display:flex}.tt-slide .tt-lesson-facts span{border:1px solid var(--line);background:var(--paper);color:var(--muted);font:var(--font-weight-bold) var(--font-size-15px) var(--font-family-ui);white-space:nowrap;border-radius:999px;padding:7px 12px}.tt-slide .tt-lesson-facts strong{font-size:var(--font-size-20px);color:var(--imoca-red);margin-right:4px}.tt-slide .tt-objectives-list{flex-direction:column;gap:10px;display:flex}.tt-slide .tt-objectives ol{gap:9px}.tt-slide .tt-objectives li{border:1px solid var(--line);background:var(--paper);font-size:var(--type-objective-size);line-height:var(--line-height-1_35);border-radius:14px;align-items:center;gap:16px;padding:14px 18px}.tt-slide .tt-objectives li b{background:var(--imoca-red-tint);width:40px;height:40px;font-size:var(--font-size-17px);border-radius:10px;place-items:center;display:grid}.tt-slide .tt-objectives-panel .tt-section-eyebrow{font-size:var(--font-size-15px)}.tt-slide .tt-practice{border-top:5px solid var(--imoca-red)}.tt-slide .tt-practice .tt-panel-body{padding:clamp(28px,3.5vw,56px)}.tt-slide .tt-practice .tt-rich{max-width:1120px}.tt-slide .tt-video-panel{border-top:5px solid var(--teaching-accent)}.tt-slide .tt-video-panel .tt-panel-body{flex-direction:column;padding:24px}.tt-slide .tt-video{background:var(--color-video-surface);border-radius:16px;flex:1}.tt-slide .tt-video a{border-color:#0000}#slide-content .tt-slide .tt-reading-panel--no-audio .tt-panel-heading{min-height:0;padding-block:8px}@media(prefers-reduced-motion:reduce){.tt-slide button{transition:none}}.challenge-choices button,.challenge-prompt,.challenge-answer>strong,.challenge-feedback strong,.pinyin-chart-table,.pinyin-chart-table button,.syllable-grid button,.review-chart button,.review-tone-bar .cr-button,.ct-syllable,.ct-parts,.ct-buttons button,.counting-examples em{font-family:var(--font-family-pinyin)}#slideshow>.slidev-page.fade-leave-active{pointer-events:none}:root{--card-shadow:0 12px 30px var(--color-shadow)}@supports (color:color-mix(in lab,red,red)){:root{--card-shadow:0 12px 30px color-mix(in srgb, var(--color-shadow) 8%, transparent)}}:root{--chrome-control-bg:var(--color-surface);--chrome-control-border:var(--control-line);--chrome-divider:var(--line);--slide-title-offset:44px;--slide-content-gap:30px}.slidev-layout{font-family:var(--font-family-ui-system);color:var(--ink);background:var(--slide-background);padding:42px 58px 46px}.slidev-layout.imoca-deck{color:var(--color-text-inverse);background:radial-gradient(1100px 650px at 82% 22%,var(--color-cover-glow),transparent 60%),radial-gradient(800px 500px at 8% 95%,var(--color-shadow-black),transparent 55%),linear-gradient(140deg,var(--imoca-red) 0%,var(--imoca-red-dark) 62%,var(--imoca-red-deep) 100%)}@supports (color:color-mix(in lab,red,red)){.slidev-layout.imoca-deck{background:radial-gradient(1100px 650px at 82% 22%,color-mix(in srgb,var(--color-cover-glow) 38%,transparent),transparent 60%),radial-gradient(800px 500px at 8% 95%,color-mix(in srgb,var(--color-shadow-black) 28%,transparent),transparent 55%),linear-gradient(140deg,var(--imoca-red) 0%,var(--imoca-red-dark) 62%,var(--imoca-red-deep) 100%)}}.slidev-layout.lesson-light{background:var(--slide-background)}.slidev-layout.game-page{color:var(--color-text-inverse);background:radial-gradient(950px 520px at 50% -10%,var(--color-brand-primary),transparent 60%),var(--color-background-game)}@supports (color:color-mix(in lab,red,red)){.slidev-layout.game-page{background:radial-gradient(950px 520px at 50% -10%,color-mix(in srgb,var(--color-brand-primary) 30%,transparent),transparent 60%),var(--color-background-game)}}.slidev-layout.image-slide{padding:calc(42px + var(--slide-title-offset)) 58px 24px;background:var(--slide-background);grid-template-rows:minmax(0,1fr);place-items:center;display:grid;overflow:hidden}.slidev-layout.image-slide>img{object-fit:contain;width:100%;height:100%;min-height:0;display:block}.eyebrow{font-size:var(--font-size-12px);letter-spacing:.16em;font-weight:var(--font-weight-bold);color:var(--imoca-red)}.imoca-deck .eyebrow{color:var(--yellow)}.slidev-layout h2{font-size:var(--font-size-48px);line-height:var(--line-height-1_12);letter-spacing:-2.4px;margin:var(--slide-title-offset) 0 var(--slide-content-gap);max-width:1000px;font-weight:var(--font-weight-extrabold)}.slidev-layout.lesson-light h2{font-size:var(--font-size-32px);line-height:var(--line-height-1_15);letter-spacing:-1.2px}.cover-grid{grid-template-columns:1.2fr .8fr;align-items:center;height:100%;display:grid}.cover-grid>div:first-child{flex-direction:column;align-items:flex-start;display:flex}.slidev-layout .cover-kicker{font-weight:var(--font-weight-extrabold);letter-spacing:.2em;font-size:var(--font-size-13px);background:var(--color-shadow-black);border-radius:999px;align-items:center;gap:10px;margin:0 0 26px;padding:9px 18px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.slidev-layout .cover-kicker{background:color-mix(in srgb,var(--color-shadow-black) 25%,transparent)}}.slidev-layout .cover-kicker{color:var(--yellow)}.slidev-layout .cover-grid h1{color:var(--color-text-inverse);font-size:var(--font-size-84px);line-height:var(--line-height-1_04);letter-spacing:-3.8px;font-weight:var(--font-weight-black);text-shadow:0 16px 44px var(--color-shadow-black);margin:0}@supports (color:color-mix(in lab,red,red)){.slidev-layout .cover-grid h1{text-shadow:0 16px 44px color-mix(in srgb,var(--color-shadow-black) 28%,transparent)}}.slidev-layout .cover-grid h1.cover-title-spaced{line-height:var(--line-height-1_16)}.cover-grid h1 em{color:var(--yellow);font-style:normal}.slidev-layout .cover-subtitle{font-size:var(--font-size-20px);line-height:var(--line-height-1_5);max-width:600px;color:var(--color-text-inverse);margin:26px 0 24px}@supports (color:color-mix(in lab,red,red)){.slidev-layout .cover-subtitle{color:color-mix(in srgb,var(--color-text-inverse) 90%,transparent)}}.tag-row{gap:10px;display:flex}.tag-row span{border:1px solid var(--color-border-inverse);padding:9px 17px}@supports (color:color-mix(in lab,red,red)){.tag-row span{border:1px solid color-mix(in srgb,var(--color-border-inverse) 45%,transparent)}}.tag-row span{font-size:var(--font-size-14px);font-weight:var(--font-weight-semibold);background:var(--color-surface);border-radius:999px}@supports (color:color-mix(in lab,red,red)){.tag-row span{background:color-mix(in srgb,var(--color-surface) 8%,transparent)}}.tag-row span{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.slidev-layout .cover-brandline{border-top:1px solid var(--color-border-inverse);margin-top:42px;padding-top:20px}@supports (color:color-mix(in lab,red,red)){.slidev-layout .cover-brandline{border-top:1px solid color-mix(in srgb,var(--color-border-inverse) 22%,transparent)}}.slidev-layout .cover-brandline{font-size:var(--font-size-11px);font-weight:var(--font-weight-bold);letter-spacing:.26em;text-transform:uppercase;color:var(--color-text-inverse)}@supports (color:color-mix(in lab,red,red)){.slidev-layout .cover-brandline{color:color-mix(in srgb,var(--color-text-inverse) 65%,transparent)}}.sound-orbit{justify-self:center;place-items:center;width:420px;height:420px;display:grid;position:relative}.sound-orbit strong{font-family:var(--font-family-hanzi-serif);font-size:var(--font-size-148px);z-index:2;text-shadow:0 22px 70px var(--color-shadow-black)}@supports (color:color-mix(in lab,red,red)){.sound-orbit strong{text-shadow:0 22px 70px color-mix(in srgb,var(--color-shadow-black) 40%,transparent)}}.orbit{border:1.5px solid var(--color-border-inverse);position:absolute}@supports (color:color-mix(in lab,red,red)){.orbit{border:1.5px solid color-mix(in srgb,var(--color-border-inverse) 50%,transparent)}}.orbit{border-radius:50%}.orbit-one{width:200px;height:200px}.orbit-two{opacity:.55;width:300px;height:300px}.orbit-three{opacity:.28;border-style:dashed;width:405px;height:405px}.orbit-glow{background:radial-gradient(circle,var(--color-brand-gold),var(--color-brand-gold) 70%);border-radius:50%;width:250px;height:250px;position:absolute}@supports (color:color-mix(in lab,red,red)){.orbit-glow{background:radial-gradient(circle,color-mix(in srgb,var(--color-brand-gold) 38%,transparent),color-mix(in srgb,var(--color-brand-gold) 0%,transparent) 70%)}}.orbit-chip{z-index:3;background:var(--color-shadow-black);border-radius:50%;place-items:center;min-width:52px;height:52px;padding:0 12px;display:grid;position:absolute}@supports (color:color-mix(in lab,red,red)){.orbit-chip{background:color-mix(in srgb,var(--color-shadow-black) 28%,transparent)}}.orbit-chip{border:1px solid var(--color-border-inverse)}@supports (color:color-mix(in lab,red,red)){.orbit-chip{border:1px solid color-mix(in srgb,var(--color-border-inverse) 35%,transparent)}}.orbit-chip{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-style:normal;font-weight:var(--font-weight-extrabold);font-size:var(--font-size-21px);color:var(--yellow);animation:4.5s ease-in-out infinite chip-float}.chip-1{animation-delay:0s;top:6px;left:55%}.chip-2{animation-delay:1.1s;top:46%;right:-4px}.chip-3{animation-delay:2.2s;bottom:14px;left:26%}.chip-4{animation-delay:3.3s;top:24%;left:-2px}@keyframes chip-float{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.teacher-note{border-left:3px solid var(--imoca-red);color:var(--muted);font-size:var(--font-size-16px);margin-top:65px;padding-left:18px}.tongue-diagram{width:100%;height:180px}.mouth{fill:var(--color-game-answer-soft);stroke:var(--ink);stroke-width:3px}.teeth{fill:none;stroke:var(--color-text-inverse);stroke-width:23px;stroke-linecap:round}.tongue{fill:none;stroke:var(--imoca-red);stroke-width:19px;stroke-linecap:round}.focus-dot{fill:var(--yellow);stroke:var(--ink);stroke-width:3px}.game-heading{justify-content:space-between;align-items:center;display:flex}.game-heading h2{margin:var(--slide-title-offset) 0 8px}.game-heading p{color:var(--color-game-text-muted);font-size:var(--font-size-17px);margin:0}.listening-score{color:var(--yellow);align-items:center;gap:17px;display:flex}.listening-score span{font-size:var(--font-size-12px);letter-spacing:.15em}.listening-score strong{font-size:var(--font-size-46px)}.game-stage{background:var(--color-game-surface);border:1px solid var(--color-border-inverse);min-height:430px;margin-top:28px}@supports (color:color-mix(in lab,red,red)){.game-stage{border:1px solid color-mix(in srgb,var(--color-border-inverse) 6%,transparent)}}.game-stage{border-radius:20px;flex-direction:column;align-items:center;padding:24px 50px;display:flex;position:relative;overflow:hidden}.listening-round-label{color:var(--color-game-text-secondary);letter-spacing:.15em;font-size:var(--font-size-12px)}.listen-button{background:var(--yellow);width:130px;height:130px;color:var(--ink);cursor:pointer;box-shadow:0 0 0 12px var(--color-brand-gold),0 18px 40px var(--color-shadow-black);border:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:7px;margin:25px 0 28px;display:flex}@supports (color:color-mix(in lab,red,red)){.listen-button{box-shadow:0 0 0 12px color-mix(in srgb,var(--color-brand-gold) 12%,transparent),0 18px 40px color-mix(in srgb,var(--color-shadow-black) 35%,transparent)}}.listen-button{transition:transform .15s}.listen-button:hover{transform:scale(1.04)}.listen-button span{font-size:var(--font-size-27px);margin-left:5px}.listen-button strong{font-size:var(--font-size-13px);letter-spacing:.12em}.choice-row{grid-template-columns:1fr 1fr;gap:20px;width:650px;display:grid}.listening-choice{border:2px solid var(--color-game-border);height:80px;color:var(--color-text-inverse);font-size:var(--font-size-39px);font-weight:var(--font-weight-bold);cursor:pointer;background:0 0;border-radius:14px;transition:border-color .15s}.listening-choice:hover{border-color:var(--yellow)}.listening-choice.correct{color:var(--ink);background:var(--color-game-success);border-color:var(--color-game-success)}.listening-choice.wrong{background:var(--imoca-red);border-color:var(--imoca-red)}.listening-choice.muted{opacity:.35}.listening-feedback{background:var(--paper);height:78px;color:var(--ink);align-items:center;gap:20px;padding:0 25px;display:flex;position:absolute;bottom:0;left:0;right:0}.listening-feedback strong{font-size:var(--font-size-19px)}.listening-feedback span{color:var(--muted);font-size:var(--font-size-15px)}.listening-feedback button{background:var(--imoca-red);color:var(--color-text-inverse);cursor:pointer;font-weight:var(--font-weight-bold);border:0;border-radius:10px;margin-left:auto;padding:12px 18px}.slidev-layout.agenda-page{--slide-title-offset:68px;color:var(--color-text-inverse);background:radial-gradient(1000px 620px at 86% 18%,var(--color-brand-primary),transparent 60%),radial-gradient(700px 420px at 0% 100%,var(--color-brand-gold),transparent 55%),var(--color-game-panel)}@supports (color:color-mix(in lab,red,red)){.slidev-layout.agenda-page{background:radial-gradient(1000px 620px at 86% 18%,color-mix(in srgb,var(--color-brand-primary) 38%,transparent),transparent 60%),radial-gradient(700px 420px at 0% 100%,color-mix(in srgb,var(--color-brand-gold) 10%,transparent),transparent 55%),var(--color-game-panel)}}.slidev-layout.agenda-page .eyebrow{color:var(--yellow)}.slidev-layout.agenda-page h2{color:var(--color-text-inverse)}.slidev-layout.agenda-page .teacher-note{color:var(--color-game-caption);border-color:var(--yellow)}.lesson-map{grid-template-columns:repeat(4,1fr);gap:0;margin-top:66px;display:grid;position:relative}.lesson-map--three{grid-template-columns:repeat(3,1fr)}.lesson-map article{padding:36px 30px 0 0;position:relative}.lesson-map article+article{border-left:1px solid var(--color-border-inverse)}@supports (color:color-mix(in lab,red,red)){.lesson-map article+article{border-left:1px solid color-mix(in srgb,var(--color-border-inverse) 16%,transparent)}}.lesson-map article+article{padding-left:32px}.lesson-map article:before{content:"";background:linear-gradient(90deg,var(--imoca-red),var(--yellow));border-radius:3px;width:48px;height:5px;position:absolute;top:0;left:0}.lesson-map article+article:before{left:32px}.lesson-map article span{font-size:var(--font-size-64px);font-weight:var(--font-weight-black);line-height:var(--line-height-1);color:#0000;-webkit-text-stroke:2px var(--yellow);margin:0 0 22px;display:block}.lesson-map article strong{color:var(--color-text-inverse);font-size:var(--font-size-25px);letter-spacing:-.6px;margin:0 0 12px;display:block}.lesson-map article p{color:var(--color-game-label);font-size:var(--font-size-16px);line-height:var(--line-height-1_55);margin:0}.recall-heading,.family-heading,.practice-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.recall-heading h2,.family-heading h2,.practice-heading h2{margin:var(--slide-title-offset) 0 var(--slide-content-gap)}.recall-heading>button,.family-heading>button,.practice-heading>button{background:var(--ink);color:var(--color-text-inverse);font-weight:var(--font-weight-bold);cursor:pointer;white-space:nowrap;border:0;border-radius:10px;flex-shrink:0;margin-bottom:24px;padding:12px 18px}.recall-columns{grid-template-columns:1fr 1.07fr;align-items:start;gap:34px;display:grid}.recall-columns.single{grid-template-columns:minmax(450px,650px);justify-content:center}.recall-table,.final-table{border-collapse:separate;border-spacing:0;background:var(--color-surface);table-layout:fixed;border:1px solid var(--line);width:100%;box-shadow:var(--card-shadow);border-radius:14px;overflow:hidden}.recall-table th,.final-table th{background:linear-gradient(135deg,var(--imoca-red),var(--imoca-red-dark));color:var(--color-text-inverse);font-size:var(--font-size-18px);letter-spacing:.02em;padding:10px 15px}.recall-table td,.final-table td{border:0;border-top:1px solid var(--line);text-align:center;font-size:var(--font-size-24px);font-weight:var(--font-weight-extrabold);white-space:normal;overflow-wrap:anywhere}.recall-table td+td,.final-table td+td{border-left:1px solid var(--line)}.recall-table td{height:43px}.recall-table th:first-child{width:42%}.family-heading h2{font-size:var(--font-size-32px);line-height:var(--line-height-1_15);letter-spacing:-1.2px;max-width:960px}.family-layout{grid-template-columns:275px 1fr;align-items:start;gap:25px;display:grid}.final-table th{font-size:var(--font-size-15px)}.final-table td{height:42px;font-size:var(--font-size-19px)}.final-table td:first-child{width:42%}.syllable-grid{background:var(--color-surface);border:1px solid var(--line);box-shadow:var(--card-shadow);border-radius:14px;display:grid;overflow:hidden}.syllable-grid button{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--color-surface);height:42px;font-size:var(--font-size-21px);font-weight:var(--font-weight-bold);color:var(--color-game-ink);cursor:pointer;transition:background .12s,color .12s}.family-layout.initials-side .syllable-grid{grid-auto-rows:1fr;align-self:stretch}.family-layout.initials-side .syllable-grid button{height:auto;min-height:42px}.syllable-grid button:hover:not(:disabled){background:var(--imoca-red-tint);color:var(--imoca-red);font-weight:var(--font-weight-extrabold)}.syllable-grid button:disabled{background:var(--color-surface)}.syllable-grid button.special{color:var(--imoca-red)}.syllable-grid button.special:hover:not(:disabled){background:var(--imoca-red);color:var(--color-text-inverse)}.exception-note{background:var(--imoca-red-tint);border-left:5px solid var(--imoca-red);font-size:var(--font-size-19px);line-height:var(--line-height-1_45);border-radius:0 12px 12px 0;align-items:center;gap:20px;margin-top:18px;padding:16px 22px;display:flex}.exception-note b{color:var(--imoca-red);text-transform:uppercase;letter-spacing:.08em;font-size:var(--font-size-15px);flex-shrink:0}.sandhi-formula{justify-content:center;align-items:center;gap:30px;margin:72px 0 45px;display:flex}.sandhi-formula>div{background:var(--color-surface);box-shadow:var(--card-shadow);border-radius:14px;align-items:center;gap:20px;padding:24px 35px;display:flex}.sandhi-formula>div.result{background:var(--imoca-red);color:var(--color-text-inverse);box-shadow:0 18px 42px var(--color-brand-primary)}@supports (color:color-mix(in lab,red,red)){.sandhi-formula>div.result{box-shadow:0 18px 42px color-mix(in srgb,var(--color-brand-primary) 35%,transparent)}}.sandhi-formula span{font-size:var(--font-size-24px);font-weight:var(--font-weight-extrabold)}.sandhi-formula b{color:var(--imoca-red);font-size:var(--font-size-35px)}.sandhi-examples{grid-template-columns:1fr 1fr;gap:20px;max-width:800px;margin:auto;display:grid}.sandhi-examples button{border:1px solid var(--line);background:var(--color-surface);cursor:pointer;box-shadow:var(--card-shadow);border-radius:14px;grid-template-columns:70px 1fr 1fr;align-items:center;padding:18px;transition:transform .15s;display:grid}.sandhi-examples button:hover{transform:translateY(-2px)}.sandhi-examples small{color:var(--muted)}.sandhi-examples strong{font-size:var(--font-size-25px)}.sandhi-examples span{color:var(--imoca-red);font-weight:var(--font-weight-bold)}.reading-grid{background:var(--color-surface);border:1px solid var(--line);box-shadow:var(--card-shadow);border-radius:14px;grid-template-columns:repeat(5,1fr);margin-top:0;display:grid;overflow:hidden}.reading-grid .cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--color-surface);height:65px;font-size:var(--font-size-22px);font-weight:var(--font-weight-bold);cursor:default;justify-content:center;align-items:center;display:flex}.slidev-layout.embed-slide{flex-direction:column;display:flex}.embed-slide .practice-heading,.embed-slide .teacher-note{flex:none}.embed-frame{background:var(--color-surface);border:1px solid var(--line);width:min(560px,100%);min-height:0;box-shadow:var(--card-shadow);border-radius:14px;flex:auto;align-self:center;margin-top:0;overflow:hidden}.embed-frame iframe{border:0;width:100%;height:100%;display:block}.listening-write-stage{background:var(--color-game-surface);border:1px solid var(--color-border-inverse);min-height:390px;margin-top:50px}@supports (color:color-mix(in lab,red,red)){.listening-write-stage{border:1px solid color-mix(in srgb,var(--color-border-inverse) 6%,transparent)}}.listening-write-stage{border-radius:20px;grid-template-columns:190px 1fr 190px;align-items:center;gap:60px;padding:35px 80px;display:grid}.write-prompt{border:2px dashed var(--color-game-placeholder-border);cursor:pointer;border-radius:14px;place-items:center;height:180px;display:grid;position:relative;overflow:hidden}.write-prompt span{color:var(--color-text-inverse);font-size:var(--font-size-72px);font-weight:var(--font-weight-extrabold)}.write-prompt em{background:linear-gradient(135deg,var(--imoca-red),var(--imoca-red-dark));color:var(--color-text-inverse);font-style:normal;font-size:var(--font-size-14px);letter-spacing:.12em;font-weight:var(--font-weight-extrabold);place-items:center;transition:transform .25s;display:grid;position:absolute;top:0;right:0;bottom:0;left:0}.write-prompt.revealed em{transform:translateY(-105%)}.next-round{background:var(--imoca-red);color:var(--color-text-inverse);font-weight:var(--font-weight-extrabold);cursor:pointer;border:0;border-radius:10px;padding:16px 18px}.cover-td{padding:0}.cover-cell{place-items:center;width:100%;height:100%;min-height:42px;display:grid;position:relative;overflow:hidden}.cover-cell>span{min-width:0;max-width:100%;color:var(--imoca-red);font-weight:var(--font-weight-extrabold);padding:4px 6px}.cover-cell>em{background:linear-gradient(135deg,var(--imoca-red),var(--imoca-red-dark));color:var(--color-text-inverse);font-style:normal;font-size:var(--font-size-22px);font-weight:var(--font-weight-extrabold);place-items:center;transition:transform .25s;display:grid;position:absolute;top:0;right:0;bottom:0;left:0;transform:translateY(-105%)}.cover-cell.covered>em{transform:translateY(0)}.th-cover{justify-content:space-between;align-items:center;gap:12px;display:flex}.cover-toggle{background:var(--color-surface);border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.cover-toggle{background:color-mix(in srgb,var(--color-surface) 20%,transparent)}}.cover-toggle{color:var(--color-text-inverse);cursor:pointer;transition:background .15s}.cover-toggle:hover{background:var(--color-surface)}@supports (color:color-mix(in lab,red,red)){.cover-toggle:hover{background:color-mix(in srgb,var(--color-surface) 38%,transparent)}}.cover-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.final-table .cover-toggle{width:26px;height:26px}.final-table .cover-toggle svg{width:16px;height:16px}.family-layout.no-finals{grid-template-columns:1fr}.syllable-grid.dense button{font-size:var(--font-size-17px)}.dialogue+.teacher-note{max-width:920px;margin:22px auto 0}.sandhi-options{grid-template-columns:1fr 1fr;gap:24px;margin-top:48px;display:grid}.sandhi-option{background:var(--color-surface);border-top:5px solid var(--imoca-red);box-shadow:var(--card-shadow);border-radius:0 0 16px 16px;padding:22px 26px}.sandhi-option header{align-items:center;gap:14px;margin-bottom:18px;display:flex}.sandhi-option header span{background:var(--imoca-red);width:34px;height:34px;color:var(--color-text-inverse);font-weight:var(--font-weight-extrabold);border-radius:50%;place-items:center;display:grid}.sandhi-option header strong{font-size:var(--font-size-19px);letter-spacing:-.3px}.sandhi-mini{font-weight:var(--font-weight-extrabold);font-size:var(--font-size-17px);align-items:center;gap:14px;display:flex}.sandhi-mini>div{background:var(--paper);border-radius:10px;padding:12px 16px}.sandhi-mini>div.result{background:var(--ink);color:var(--color-text-inverse)}.sandhi-mini>b{color:var(--imoca-red);font-size:var(--font-size-22px)}.sandhi-demo{align-items:baseline;gap:14px;margin:18px 0 0;display:flex}.sandhi-demo strong{font-size:var(--font-size-22px);color:var(--imoca-red)}.sandhi-demo span{color:var(--muted);font-size:var(--font-size-15px)}.umlaut-rule{background:var(--imoca-red-tint);border-left:5px solid var(--imoca-red);border-radius:0 12px 12px 0;align-items:center;gap:16px;margin-top:46px;padding:16px 22px;display:flex}.umlaut-rule b{color:var(--imoca-red);font-size:var(--font-size-24px)}.umlaut-rule span{font-size:var(--font-size-17px);font-weight:var(--font-weight-semibold)}.umlaut-compare{grid-template-columns:1fr 60px 1fr;align-items:center;margin-top:30px;display:grid}.umlaut-arrow{text-align:center;color:var(--imoca-red);font-size:var(--font-size-40px)}.umlaut-grid{background:var(--color-surface);border:1px solid var(--line);box-shadow:var(--card-shadow);border-radius:14px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.umlaut-grid span,.umlaut-grid button{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--color-surface);height:56px;font-size:var(--font-size-22px);font-weight:var(--font-weight-bold);place-items:center;display:grid}.umlaut-grid.ghost span{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--color-brand-primary);text-decoration-color:var(--color-brand-primary)}@supports (color:color-mix(in lab,red,red)){.umlaut-grid.ghost span{-webkit-text-decoration-color:color-mix(in srgb,var(--color-brand-primary) 55%,transparent);text-decoration-color:color-mix(in srgb,var(--color-brand-primary) 55%,transparent)}}.umlaut-grid.ghost span{text-decoration-thickness:2px}.umlaut-grid button{cursor:pointer;transition:background .12s,color .12s}.umlaut-grid button:hover{background:var(--imoca-red-tint);color:var(--imoca-red)}.number-lesson{gap:20px;display:grid}.number-lesson-label{align-items:center;gap:10px;margin-bottom:10px;display:flex}.number-lesson-label span,.counting-rule header>span{background:var(--imoca-red);width:26px;height:26px;color:var(--color-text-inverse);font-size:var(--font-size-13px);font-weight:var(--font-weight-black);border-radius:50%;flex:none;place-items:center;display:grid}.number-lesson-label strong{font-size:var(--font-size-16px)}.number-lesson-label small{color:var(--muted);font-size:var(--font-size-13px)}.number-grid{grid-template-columns:repeat(6,1fr);gap:10px;margin:0;display:grid}.number-grid button{border:0;border-top:4px solid var(--imoca-red);background:var(--color-surface);min-height:78px;box-shadow:var(--card-shadow);cursor:pointer;border-radius:0 0 12px 12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;transition:transform .15s;display:flex}.number-grid button:hover{transform:translateY(-3px)}.number-grid .digit{font-size:var(--font-size-32px);font-weight:var(--font-weight-black);line-height:var(--line-height-1)}.number-grid strong{font-size:var(--font-size-17px);color:var(--imoca-red)}.counting-rules{grid-template-columns:1fr 1fr;gap:18px;display:grid}.counting-rule{border-top:4px solid var(--imoca-red);background:var(--color-surface);box-shadow:var(--card-shadow);border-radius:0 0 14px 14px;padding:14px 16px}.counting-rule header{align-items:center;gap:10px;display:flex}.counting-rule header small{color:var(--imoca-red);font-size:var(--font-size-12px);font-weight:var(--font-weight-extrabold);letter-spacing:.08em;display:block}.counting-rule header strong{font-size:var(--font-size-18px);display:block}.counting-formula{background:var(--imoca-red-tint);color:var(--ink);font-size:var(--font-size-16px);font-weight:var(--font-weight-bold);border-radius:8px;margin:12px 0 10px;padding:8px 11px}.counting-examples{gap:10px;display:flex}.counting-examples span{align-items:baseline;gap:6px;display:flex}.counting-examples b{font-size:var(--font-size-18px)}.counting-examples em{color:var(--imoca-red);font-size:var(--font-size-16px);font-style:normal;font-weight:var(--font-weight-extrabold)}.classroom-header-frame{z-index:20;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.classroom-header-frame .slide-chrome{pointer-events:auto}.slide-chrome{z-index:5;box-sizing:content-box;border-bottom:1px solid;align-items:center;gap:16px;height:auto;min-height:34px;padding-bottom:12px;display:flex;position:absolute;top:16px;left:42px;right:42px}@supports (color:color-mix(in lab,red,red)){.slide-chrome{border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent)}}.slide-chrome .slide-chrome-brand{box-sizing:border-box;background:var(--chrome-logo-bg,transparent);border-radius:8px;flex:0 0 88px;justify-content:center;align-items:center;height:34px;padding:4px 6px;display:flex}.slide-chrome .slide-chrome-brand img{object-fit:contain;width:100%;height:100%;display:block}.slide-chrome .classroom-controls,.slide-chrome .slide-actions{flex:none}.slidev-layout .slide-chrome .slide-chrome-title,.classroom-header-frame .slide-chrome .slide-chrome-title{text-overflow:ellipsis;white-space:nowrap;text-align:center;min-width:0;color:inherit;font:var(--font-weight-extrabold) var(--type-header-title-size)/var(--line-height-1_3) var(--font-family-ui);letter-spacing:0;flex:1;margin:0;padding:0 8px;overflow:hidden}.classroom-controls{align-items:center;gap:6px;min-width:0;display:inline-flex}.classroom-quick-actions{flex:none;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.classroom-class-control{border:1px solid;align-items:center;gap:7px;max-width:260px;height:32px;padding:0 11px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.classroom-class-control{border:1px solid color-mix(in srgb,currentColor 24%,transparent)}}.classroom-class-control{background:currentColor;border-radius:999px}@supports (color:color-mix(in lab,red,red)){.classroom-class-control{background:color-mix(in srgb,currentColor 8%,transparent)}}.classroom-class-control{color:inherit;cursor:pointer;font-family:inherit}.classroom-class-control:hover{background:currentColor}@supports (color:color-mix(in lab,red,red)){.classroom-class-control:hover{background:color-mix(in srgb,currentColor 15%,transparent)}}.classroom-class-control strong{font-size:var(--font-size-12px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.classroom-class-control span{font-size:var(--font-size-15px)}.classroom-class-control svg{opacity:.65;fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:13px;height:13px}.classroom-attendance-control,.classroom-games-control{border:1px solid;place-items:center;width:34px;height:34px;padding:0;display:inline-grid}@supports (color:color-mix(in lab,red,red)){.classroom-attendance-control,.classroom-games-control{border:1px solid color-mix(in srgb,currentColor 18%,transparent)}}.classroom-attendance-control,.classroom-games-control{background:currentColor;border-radius:10px}@supports (color:color-mix(in lab,red,red)){.classroom-attendance-control,.classroom-games-control{background:color-mix(in srgb,currentColor 7%,transparent)}}.classroom-attendance-control,.classroom-games-control{color:inherit;cursor:pointer;font-family:inherit}.classroom-attendance-control:hover,.classroom-games-control:hover{filter:brightness(1.08)}.classroom-attendance-control span,.classroom-games-control span{font-size:var(--font-size-15px);line-height:var(--line-height-1)}.classroom-attendance-control.done{border-color:var(--color-success-attendance);color:var(--color-success-attendance);background:var(--color-success-attendance-soft)}@keyframes vp-slide{0%{opacity:.4;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.vp-item{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:6px 8px;display:flex}.vp-item:hover:not(:disabled){background:var(--imoca-red-tint)}.vp-item:disabled{opacity:.45;cursor:default}.vp-thumb{aspect-ratio:16/9;background:var(--color-shadow-black);border-radius:6px;flex-shrink:0;width:64px;position:relative;overflow:hidden}.vp-thumb img{object-fit:cover;width:100%;height:100%;display:block}.vp-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-14px);line-height:var(--line-height-1_3);color:var(--ink);flex:1}.vp-play{width:24px;height:24px;color:var(--color-text-inverse);background:var(--color-overlay-warm);place-items:center;margin:auto;display:grid;position:absolute;top:0;right:0;bottom:0;left:0}@supports (color:color-mix(in lab,red,red)){.vp-play{background:color-mix(in srgb,var(--color-overlay-warm) 55%,transparent)}}.vp-play{font-size:var(--font-size-10px);opacity:0;border-radius:50%;padding-left:1px;transition:opacity .15s}.vp-item:hover:not(:disabled) .vp-play{opacity:1}.slide-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.page-pill{right:clamp(18px,2vw,32px);bottom:max(18px,env(safe-area-inset-bottom));z-index:100;min-height:52px;color:var(--ink);box-shadow:0 10px 32px var(--color-navigation-shadow);border-radius:16px;align-items:center;gap:4px;padding:4px;display:inline-flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.page-pill{box-shadow:0 10px 32px color-mix(in srgb,var(--color-navigation-shadow) 16%,transparent)}}.page-pill{font:var(--font-weight-bold) var(--font-size-16px) var(--font-family-ui);font-variant-numeric:tabular-nums}.pp-num{text-align:center;min-width:58px}.pp-nav{width:44px;height:44px;color:inherit;font-size:var(--font-size-30px);line-height:var(--line-height-1);font-weight:var(--font-weight-semibold);cursor:pointer;touch-action:manipulation;border:0;border-radius:12px;place-items:center;padding:0 0 4px;display:grid}.pp-nav:hover:not(:disabled){background:var(--imoca-red-tint);color:var(--imoca-red)}.pp-nav:disabled{opacity:.35;cursor:default}body:has(.page-pill) #slide-container>div>nav :is([title="Go to previous slide"],[title="Go to next slide"],[title="Enter fullscreen"],[title="Close fullscreen"],div.px2.my-auto,div:has(+div.px2.my-auto)){display:none}@media(max-width:760px){.page-pill{right:12px;bottom:calc(68px + env(safe-area-inset-bottom))}}.tool-btn{height:34px;color:var(--color-text-inverse);font-family:var(--font-family-ui);font-weight:var(--font-weight-bold);font-size:var(--font-size-13px);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 15px 0 12px;transition:transform .15s,filter .15s;display:inline-flex}.tool-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.tool-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round;width:17px;height:17px}.tool-btn.icon-only{justify-content:center;width:34px;padding:0}.tool-btn.icon-only svg{width:18px;height:18px}.course-choose-button{background:var(--ink);box-shadow:0 6px 16px var(--color-shadow-black)}@supports (color:color-mix(in lab,red,red)){.course-choose-button{box-shadow:0 6px 16px color-mix(in srgb,var(--color-shadow-black) 25%,transparent)}}.course-choose-button{white-space:nowrap}.vocabulary-btn{background:var(--imoca-red);box-shadow:0 6px 16px var(--color-brand-primary)}@supports (color:color-mix(in lab,red,red)){.vocabulary-btn{box-shadow:0 6px 16px color-mix(in srgb,var(--color-brand-primary) 25%,transparent)}}.curriculum-challenge-btn{background:var(--color-tool-challenge);box-shadow:0 6px 16px var(--color-tool-challenge)}@supports (color:color-mix(in lab,red,red)){.curriculum-challenge-btn{box-shadow:0 6px 16px color-mix(in srgb,var(--color-tool-challenge) 25%,transparent)}}.chart-btn{background:var(--ink);box-shadow:0 6px 16px var(--color-shadow-black)}@supports (color:color-mix(in lab,red,red)){.chart-btn{box-shadow:0 6px 16px color-mix(in srgb,var(--color-shadow-black) 30%,transparent)}}.video-btn{background:var(--imoca-red);box-shadow:0 6px 16px var(--color-brand-primary)}@supports (color:color-mix(in lab,red,red)){.video-btn{box-shadow:0 6px 16px color-mix(in srgb,var(--color-brand-primary) 35%,transparent)}}.challenge-btn{background:var(--color-tool-challenge);box-shadow:0 6px 16px var(--color-tool-challenge)}@supports (color:color-mix(in lab,red,red)){.challenge-btn{box-shadow:0 6px 16px color-mix(in srgb,var(--color-tool-challenge) 35%,transparent)}}.remote-btn{background:var(--color-tool-remote);box-shadow:0 6px 16px var(--color-tool-remote)}@supports (color:color-mix(in lab,red,red)){.remote-btn{box-shadow:0 6px 16px color-mix(in srgb,var(--color-tool-remote) 35%,transparent)}}.draw-btn{background:var(--color-tool-board);box-shadow:0 6px 16px var(--color-tool-board)}@supports (color:color-mix(in lab,red,red)){.draw-btn{box-shadow:0 6px 16px color-mix(in srgb,var(--color-tool-board) 35%,transparent)}}.slidev-draw-btn{background:var(--imoca-red);box-shadow:0 6px 16px var(--color-brand-primary)}@supports (color:color-mix(in lab,red,red)){.slidev-draw-btn{box-shadow:0 6px 16px color-mix(in srgb,var(--color-brand-primary) 30%,transparent)}}.slide-chrome .classroom-class-control{max-width:180px}.slide-chrome .cr-tool-button{min-width:32px;height:32px;min-height:32px;box-shadow:none;font-size:var(--font-size-12px);border-radius:8px;gap:6px;padding:0 10px}.slide-chrome .cr-tool-button svg{width:16px;height:16px}.slide-chrome .classroom-class-control svg{width:12px;height:12px}.slide-chrome .course-choose-button,.slide-chrome .draw-btn,.slide-chrome .slidev-draw-btn,.slide-chrome .fullscreen-btn,.slide-chrome .chart-btn,.slide-chrome .video-btn,.slide-chrome .remote-btn{border:1px solid}@supports (color:color-mix(in lab,red,red)){.slide-chrome .course-choose-button,.slide-chrome .draw-btn,.slide-chrome .slidev-draw-btn,.slide-chrome .fullscreen-btn,.slide-chrome .chart-btn,.slide-chrome .video-btn,.slide-chrome .remote-btn{border:1px solid color-mix(in srgb,currentColor 18%,transparent)}}.slide-chrome .course-choose-button,.slide-chrome .draw-btn,.slide-chrome .slidev-draw-btn,.slide-chrome .fullscreen-btn,.slide-chrome .chart-btn,.slide-chrome .video-btn,.slide-chrome .remote-btn{background:currentColor}@supports (color:color-mix(in lab,red,red)){.slide-chrome .course-choose-button,.slide-chrome .draw-btn,.slide-chrome .slidev-draw-btn,.slide-chrome .fullscreen-btn,.slide-chrome .chart-btn,.slide-chrome .video-btn,.slide-chrome .remote-btn{background:color-mix(in srgb,currentColor 7%,transparent)}}.slide-chrome .course-choose-button,.slide-chrome .draw-btn,.slide-chrome .slidev-draw-btn,.slide-chrome .fullscreen-btn,.slide-chrome .chart-btn,.slide-chrome .video-btn,.slide-chrome .remote-btn{color:inherit}.slide-chrome :is(.tool-btn.icon-only,.classroom-attendance-control,.classroom-games-control){width:32px;padding:0}.slide-chrome :is(.classroom-class-control,.classroom-attendance-control,.classroom-games-control)>span{font-size:var(--font-size-14px)}.slide-chrome .slide-actions{gap:6px;margin-left:0}.slide-chrome .slide-chrome-clock{white-space:nowrap;color:inherit;font:var(--font-weight-semibold) var(--type-header-title-size)/var(--line-height-1_3) var(--font-family-ui);font-variant-numeric:tabular-nums;flex:none;order:1}.slide-chrome .slide-chrome-clock strong{font-weight:inherit}.slide-chrome .slide-chrome-clock{align-items:center;gap:7px;display:flex}.slide-chrome-clock-icon{flex:none;width:1em;height:1em}.slide-chrome .vocabulary-btn{border:1px solid var(--imoca-red)}@supports (color:color-mix(in lab,red,red)){.slide-chrome .vocabulary-btn{border:1px solid color-mix(in srgb,var(--imoca-red) 40%,transparent)}}.slide-chrome .vocabulary-btn{color:var(--imoca-red)}.slide-chrome .curriculum-challenge-btn,.slide-chrome .challenge-btn{background:var(--imoca-red);color:var(--color-text-inverse)}.slidev-layout:is(.imoca-deck,.game-page,.agenda-page),.tt-slide:is([data-kind=opening],[data-kind=closing]){--chrome-control-bg:var(--color-surface)}@supports (color:color-mix(in lab,red,red)){.slidev-layout:is(.imoca-deck,.game-page,.agenda-page),.tt-slide:is([data-kind=opening],[data-kind=closing]){--chrome-control-bg:color-mix(in srgb, var(--color-surface) 12%, transparent)}}.slidev-layout:is(.imoca-deck,.game-page,.agenda-page),.tt-slide:is([data-kind=opening],[data-kind=closing]){--chrome-logo-bg:var(--color-surface);--chrome-control-border:var(--color-surface)}@supports (color:color-mix(in lab,red,red)){.slidev-layout:is(.imoca-deck,.game-page,.agenda-page),.tt-slide:is([data-kind=opening],[data-kind=closing]){--chrome-control-border:color-mix(in srgb, var(--color-surface) 55%, transparent)}}.slidev-layout:is(.imoca-deck,.game-page,.agenda-page),.tt-slide:is([data-kind=opening],[data-kind=closing]){--chrome-divider:var(--color-surface)}@supports (color:color-mix(in lab,red,red)){.slidev-layout:is(.imoca-deck,.game-page,.agenda-page),.tt-slide:is([data-kind=opening],[data-kind=closing]){--chrome-divider:color-mix(in srgb, var(--color-surface) 28%, transparent)}}.slide-chrome{border-bottom-color:var(--chrome-divider)}.slide-chrome :is(.classroom-class-control,.classroom-attendance-control,.classroom-games-control,.course-choose-button,.draw-btn,.slidev-draw-btn,.fullscreen-btn,.chart-btn,.video-btn,.remote-btn){border:1px solid var(--chrome-control-border);background:var(--chrome-control-bg)}.slide-chrome .classroom-class-control svg{opacity:1}.slide-chrome .vocabulary-btn{border-width:1px;border-color:var(--chrome-control-border);background:var(--chrome-control-bg)}.slide-chrome .slidev-draw-btn.active{border-color:var(--imoca-red);background:var(--imoca-red);color:var(--color-text-inverse)}.page-pill{border:1px solid var(--control-line);background:var(--color-surface)}.pp-nav{background:var(--paper)}.slide-chrome .classroom-attendance-control.done{border-color:var(--color-success-attendance);color:var(--color-success-attendance);background:var(--color-success-attendance-filled)}#slide-container{touch-action:pan-x pan-y}.slidev-layout:has(>.imoca-zoom-viewport){position:relative}.imoca-zoom-viewport{clip-path:inset(var(--imoca-zoom-top,0px) 0 0);cursor:var(--imoca-zoom-cursor,auto);position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.slidev-layout.imoca-zoom-canvas{transform-origin:0 0;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;background:0 0!important}#slide-content[data-classroom-zoomed] :is(.imoca-zoom-canvas,.imoca-zoom-ink){transform:translate3d(var(--imoca-zoom-x),var(--imoca-zoom-y),0) scale(var(--imoca-zoom-scale));will-change:transform}.imoca-zoom-ink{transform-origin:0 0;clip-path:var(--imoca-ink-clip)}.zoom-pill{z-index:200;background:var(--color-overlay-zoom);border-radius:999px;align-items:center;gap:8px;padding:8px 12px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab,red,red)){.zoom-pill{background:color-mix(in srgb,var(--color-overlay-zoom) 88%,transparent)}}.zoom-pill{color:var(--color-text-inverse);box-shadow:0 12px 34px var(--color-shadow-black)}@supports (color:color-mix(in lab,red,red)){.zoom-pill{box-shadow:0 12px 34px color-mix(in srgb,var(--color-shadow-black) 35%,transparent)}}.zoom-pill{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-family:var(--font-family-ui)}.zoom-pill button{background:var(--color-surface);border:0;border-radius:50%;width:34px;height:34px}@supports (color:color-mix(in lab,red,red)){.zoom-pill button{background:color-mix(in srgb,var(--color-surface) 14%,transparent)}}.zoom-pill button{color:var(--color-text-inverse);font-size:var(--font-size-19px);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-1);cursor:pointer;transition:background .12s}.zoom-pill button:hover{background:var(--color-surface)}@supports (color:color-mix(in lab,red,red)){.zoom-pill button:hover{background:color-mix(in srgb,var(--color-surface) 28%,transparent)}}.zoom-pill strong{text-align:center;min-width:44px;font-size:var(--font-size-14px);font-weight:var(--font-weight-extrabold)}.zoom-pill .zoom-exit{background:var(--color-brand-primary)}@supports (color:color-mix(in lab,red,red)){.zoom-pill .zoom-exit{background:color-mix(in srgb,var(--color-brand-primary) 85%,transparent)}}.zoom-pill .zoom-exit{font-size:var(--font-size-14px)}.zoom-pill .zoom-exit:hover{background:var(--imoca-red)}.zoom-pill .zoom-hint{border-left:1px solid var(--color-border-inverse);margin-left:4px;padding-left:10px}@supports (color:color-mix(in lab,red,red)){.zoom-pill .zoom-hint{border-left:1px solid color-mix(in srgb,var(--color-border-inverse) 20%,transparent)}}.zoom-pill .zoom-hint{color:var(--color-text-inverse)}@supports (color:color-mix(in lab,red,red)){.zoom-pill .zoom-hint{color:color-mix(in srgb,var(--color-text-inverse) 65%,transparent)}}.zoom-pill .zoom-hint{font-size:var(--font-size-11_5px);font-weight:var(--font-weight-semibold);white-space:nowrap}@media(max-width:1100px){.zoom-pill .zoom-hint{display:none}}@media(max-width:760px){.zoom-pill{bottom:max(12px,env(safe-area-inset-bottom))}}.challenge-setup{flex:1;grid-template-columns:1.05fr .95fr;gap:22px;min-height:0;padding:22px;display:grid}.challenge-config{border:1px solid var(--line);background:var(--color-surface);border-radius:15px;min-height:0;padding:18px}.challenge-section-heading{align-items:center;gap:11px;margin-bottom:15px;display:flex}.challenge-section-heading>span{background:var(--imoca-red);width:28px;height:28px;color:var(--color-text-inverse);font-size:var(--font-size-13px);font-weight:var(--font-weight-black);border-radius:50%;place-items:center;display:grid}.challenge-section-heading div{gap:1px;display:grid}.challenge-section-heading strong{color:var(--ink);font-size:var(--font-size-17px)}.challenge-section-heading small{color:var(--muted);font-size:var(--font-size-12px)}.game-config{flex-direction:column;display:flex}.challenge-quick-settings{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px;display:grid}.challenge-play{flex-direction:column;flex:1;min-height:0;padding:20px 28px 26px;display:flex}.challenge-play-top{justify-content:space-between;align-items:center;display:flex}.challenge-play-top>div:first-child{gap:2px;display:grid}.challenge-play-top>div:first-child span{color:var(--imoca-red);font-size:var(--font-size-12px);font-weight:var(--font-weight-black);letter-spacing:.06em}.challenge-play-top>div:first-child strong{color:var(--ink);font-size:var(--font-size-18px)}.challenge-score-single{background:var(--ink);border-radius:10px;justify-items:center;min-width:76px;padding:7px 14px;display:grid}.challenge-score-single span{color:var(--color-text-inverse)}@supports (color:color-mix(in lab,red,red)){.challenge-score-single span{color:color-mix(in srgb,var(--color-text-inverse) 65%,transparent)}}.challenge-score-single span{font-size:var(--font-size-9px)}.challenge-score-single strong{color:var(--color-text-inverse);font-size:var(--font-size-24px)}.challenge-team-scores{gap:8px;display:flex}.challenge-team-scores button{background:var(--line);cursor:pointer;border:2px solid #0000;border-radius:10px;min-width:92px;padding:7px 12px}.challenge-team-scores button span{color:var(--muted);font-size:var(--font-size-9px);font-weight:var(--font-weight-black);display:block}.challenge-team-scores button strong{color:var(--ink);font-size:var(--font-size-23px)}.challenge-team-scores button.active{border-color:var(--imoca-red);background:var(--imoca-red-tint)}.challenge-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:22px;min-height:0;display:flex}.challenge-instruction{color:var(--muted);font-size:var(--font-size-16px);margin:0}.challenge-listen{background:var(--imoca-red);width:150px;height:86px;color:var(--color-text-inverse);cursor:pointer;box-shadow:0 14px 30px var(--color-game-error-shadow);border:0;border-radius:18px;place-items:center;gap:3px;display:grid}@supports (color:color-mix(in lab,red,red)){.challenge-listen{box-shadow:0 14px 30px color-mix(in srgb,var(--color-game-error-shadow) 25%,transparent)}}.challenge-listen span{font-size:var(--font-size-26px)}.challenge-listen strong{font-size:var(--font-size-14px);letter-spacing:.1em}.challenge-choices{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;width:min(780px,100%);display:grid}.challenge-choices button{border:2px solid var(--line);background:var(--color-surface);min-height:74px;color:var(--ink);font-size:var(--font-size-28px);font-weight:var(--font-weight-black);cursor:pointer;border-radius:14px}.challenge-choices button:hover{border-color:var(--imoca-red)}.challenge-choices button.correct,.challenge-marking button.correct{border-color:var(--color-success-border);background:var(--color-success-soft);color:var(--color-success-text)}.challenge-choices button.wrong,.challenge-marking button.wrong{border-color:var(--color-error-border);background:var(--color-error-soft);color:var(--color-error-text)}.challenge-choices button.muted{opacity:.35}.challenge-feedback{align-items:center;gap:18px;display:flex}.challenge-feedback strong{color:var(--ink);font-size:var(--font-size-18px)}.challenge-feedback button,.challenge-next{background:var(--ink);color:var(--color-text-inverse);font-size:var(--font-size-13px);font-weight:var(--font-weight-extrabold);cursor:pointer;border:0;border-radius:9px;padding:11px 16px}.challenge-blank{color:var(--imoca-red)}.truefalse-choices{width:min(560px,100%)}.truefalse-choices button{font-size:var(--font-size-22px)}.reveal-stage{gap:18px}.challenge-prompt{background:var(--color-surface);min-width:320px;box-shadow:var(--card-shadow);color:var(--ink);font-size:var(--font-size-60px);font-weight:var(--font-weight-black);text-align:center;border-radius:18px;padding:24px 50px}.challenge-reveal{background:var(--imoca-red);color:var(--color-text-inverse);font-size:var(--font-size-15px);font-weight:var(--font-weight-black);cursor:pointer;border:0;border-radius:10px;padding:13px 24px}.challenge-answer{justify-items:center;gap:8px;display:grid}.challenge-answer>span{color:var(--muted);font-size:var(--font-size-10px);font-weight:var(--font-weight-black);letter-spacing:.15em}.challenge-answer>strong{color:var(--imoca-red);font-size:var(--font-size-44px)}.challenge-replay{border:1px solid var(--line);background:var(--color-surface);color:var(--ink);font-size:var(--font-size-12px);font-weight:var(--font-weight-extrabold);cursor:pointer;border-radius:999px;padding:6px 14px}.challenge-replay:hover{border-color:var(--imoca-red);color:var(--imoca-red)}.challenge-marking{gap:10px;margin-top:7px;display:flex}.challenge-marking button{min-width:120px;font-size:var(--font-size-13px);font-weight:var(--font-weight-black);cursor:pointer;border:1px solid;border-radius:9px;padding:10px 16px}.challenge-result{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;display:flex}.challenge-result>span{color:var(--imoca-red);font-size:var(--font-size-12px);font-weight:var(--font-weight-black);letter-spacing:.2em}.challenge-result h2{color:var(--ink);font-size:var(--font-size-38px);margin:0}.challenge-final-score{align-items:baseline;gap:8px;display:flex}.challenge-final-score strong{color:var(--imoca-red);font-size:var(--font-size-76px)}.challenge-final-score span{color:var(--muted);font-size:var(--font-size-18px)}.challenge-final-teams{gap:18px;display:flex}.challenge-final-teams div{background:var(--color-surface);min-width:150px;box-shadow:var(--card-shadow);text-align:center;border-radius:14px;padding:16px}.challenge-final-teams span{color:var(--muted);font-size:var(--font-size-11px);font-weight:var(--font-weight-black);display:block}.challenge-final-teams strong{color:var(--imoca-red);font-size:var(--font-size-52px)}.challenge-result-actions{gap:10px;display:flex}.challenge-result-actions button{border:1px solid var(--line);background:var(--color-surface);color:var(--ink);font-size:var(--font-size-13px);font-weight:var(--font-weight-extrabold);cursor:pointer;border-radius:9px;padding:11px 18px}.challenge-result-actions button.primary{border-color:var(--imoca-red);background:var(--imoca-red);color:var(--color-text-inverse)}.ct-heading{align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.ct-syllable{font-size:var(--font-size-30px);font-weight:var(--font-weight-extrabold);color:var(--ink)}.ct-parts{color:var(--muted);font-size:var(--font-size-16px)}.ct-buttons{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.ct-buttons button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-width:0;padding:8px 10px;transition:background .12s,border-color .12s;display:inline-flex}.ct-buttons button:hover{background:var(--imoca-red-tint);border-color:var(--imoca-red)}.ct-buttons b{font-size:var(--font-size-24px);font-weight:var(--font-weight-extrabold);color:var(--imoca-red)}.ct-buttons span{font-size:var(--font-size-15px)}.chart-scroll{flex:1;padding:0 8px 8px;overflow:auto}.pinyin-chart-table{border-collapse:separate;border-spacing:0}.pinyin-chart-table th,.pinyin-chart-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:0}.pinyin-chart-table thead th{z-index:2;background:linear-gradient(135deg,var(--imoca-red),var(--imoca-red-dark));color:var(--color-text-inverse);font-size:var(--font-size-14px);font-weight:var(--font-weight-bold);text-align:center;min-width:44px;padding:7px 6px;position:sticky;top:0}.pinyin-chart-table thead th.corner{z-index:3;left:0}.pinyin-chart-table .row-head{z-index:1;background:var(--ink);color:var(--color-text-inverse);font-size:var(--font-size-15px);font-weight:var(--font-weight-extrabold);text-align:center;min-width:40px;padding:0 8px;position:sticky;left:0}.pinyin-chart-table td{text-align:center;background:var(--color-surface)}.pc-cell{width:100%;min-width:44px;height:34px;font-size:var(--font-size-15px);font-weight:var(--font-weight-semibold);color:var(--color-writing-callout-ink);cursor:pointer;background:0 0;border:0;transition:background .1s,color .1s}.pc-cell:hover{background:var(--imoca-red-tint);color:var(--imoca-red)}.pc-cell.selected{background:var(--imoca-red-tint);color:var(--imoca-red);box-shadow:inset 0 0 0 2px var(--imoca-red)}.pc-cell.special{color:var(--imoca-red);font-weight:var(--font-weight-extrabold)}.pc-cell.special:hover{background:var(--imoca-red);color:var(--color-text-inverse)}.challenge-dialog[data-size=full] .challenge-play{gap:24px;padding:8px clamp(12px,3vw,64px) 24px}.challenge-dialog .challenge-play-top{background:var(--imoca-red-tint);border-radius:16px;flex:none;padding:16px 24px}.challenge-dialog .challenge-play-top>div:first-child span{font-size:var(--type-challenge-label-size);letter-spacing:0}.challenge-dialog .challenge-play-top>div:first-child strong{font-size:var(--type-challenge-heading-size)}.challenge-dialog .challenge-score-single{min-width:90px;padding:8px 24px}.challenge-dialog .challenge-score-single span{font-size:var(--font-size-14px)}.challenge-dialog .challenge-score-single strong{font-size:var(--font-size-36px)}.challenge-dialog .challenge-stage{flex:none;gap:clamp(16px,2.5vh,32px);width:100%;max-width:1500px;min-height:0;margin:auto;padding:16px 0}.challenge-dialog .challenge-instruction{font-size:var(--type-challenge-heading-size);font-weight:var(--font-weight-semibold);color:var(--ink);text-align:center;line-height:var(--line-height-1_4)}.challenge-dialog .challenge-listen{border-radius:20px;grid-template-columns:auto auto;justify-content:center;gap:20px;width:clamp(180px,18vw,300px);height:clamp(90px,12vh,140px)}.challenge-dialog .challenge-listen span{font-size:var(--font-size-40px)}.challenge-dialog .challenge-listen strong{font-size:var(--font-size-24px)}.challenge-dialog .challenge-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px);width:100%}.challenge-dialog .challenge-choices button{min-height:clamp(110px,16vh,190px);font-size:var(--type-challenge-choice-size);line-height:var(--line-height-1_2);text-align:center;box-shadow:0 4px 0 var(--color-challenge-choice-shadow);border-width:3px;border-radius:20px;align-items:center;gap:24px;padding:20px 28px;display:flex}.challenge-dialog .challenge-choices button>span:last-child{overflow-wrap:anywhere;flex:1}.challenge-choice-number{background:var(--imoca-red-tint);width:clamp(44px,4vw,72px);height:clamp(44px,4vw,72px);color:var(--imoca-red);font-size:var(--type-challenge-number-size);border-radius:14px;flex:none;place-items:center;display:grid}.challenge-dialog .challenge-choices :is(.correct,.wrong) .challenge-choice-number{color:inherit;background:0 0;border:2px solid}.challenge-dialog .challenge-feedback{flex-wrap:wrap;justify-content:center}.challenge-dialog .challenge-feedback.is-pending{visibility:hidden}.challenge-dialog .challenge-feedback strong{font-size:var(--type-challenge-feedback-size)}.challenge-dialog :is(.challenge-feedback button,.challenge-next,.challenge-reveal,.challenge-marking button){font-size:var(--type-challenge-action-size);padding:14px 24px}.challenge-dialog .challenge-answer>strong{font-size:var(--type-challenge-answer-size)}.challenge-dialog .challenge-prompt{font-size:var(--type-challenge-prompt-size)}@media(max-width:600px){.challenge-dialog .challenge-choices button{font-size:var(--font-size-32px);gap:10px;min-height:100px;padding:14px}.challenge-dialog .challenge-play-top{padding:12px}.challenge-dialog .challenge-choice-number{width:36px;height:36px;font-size:var(--font-size-24px)}}.cr-dialog.challenge-dialog-setup{width:min(1100px,100%);height:auto}.challenge-dialog-setup .cr-challenge{min-height:0}.challenge-dialog-setup .challenge-setup{grid-template-columns:minmax(260px,.85fr) minmax(0,1.3fr);align-items:start;gap:24px;padding:0}.challenge-dialog-setup .challenge-config{border-radius:12px;min-width:0;padding:18px}.challenge-dialog-setup .knowledge-config{background:var(--color-picker-sidebar)}.challenge-dialog-setup .game-config{border:0;padding:18px 0}.challenge-dialog-setup .challenge-section-heading{margin-bottom:18px}.challenge-dialog-setup .challenge-section-heading small{font-size:var(--font-size-13px)}.challenge-dialog-setup .challenge-lessons{flex-wrap:nowrap;margin-bottom:16px}.challenge-dialog-setup .challenge-lessons>.cr-button{flex:1}.challenge-dialog-setup .challenge-packs{gap:8px}.challenge-dialog-setup .challenge-packs>.cr-button{padding:12px}.challenge-dialog-setup .challenge-games{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.challenge-dialog-setup .challenge-games>.cr-button{text-align:left;justify-content:flex-start;align-items:flex-start;min-height:106px;padding:16px}.challenge-dialog-setup :is(.challenge-games,.challenge-packs)>.cr-button{font-weight:var(--font-weight-semibold);line-height:var(--line-height-1_4);white-space:normal;border-radius:10px}.challenge-dialog-setup .cr-choice-description{font-size:var(--font-size-13px);line-height:var(--line-height-1_5);margin-top:5px}.challenge-dialog-setup .challenge-quick-settings{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;padding-top:20px}.challenge-dialog-setup .challenge-quick-settings>div>span{color:var(--muted);font-size:var(--font-size-13px);font-weight:var(--font-weight-semibold);margin-bottom:8px;display:block}.challenge-setup-footer{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.challenge-setup-footer>div{gap:3px;min-width:0;display:grid}.challenge-setup-footer strong{font-size:var(--font-size-14px)}.challenge-setup-footer span{font-size:var(--font-size-13px);color:var(--muted)}.challenge-setup-footer>.cr-button{min-height:44px;font-weight:var(--font-weight-semibold);flex:none;padding:10px 22px}@media(max-width:760px){.challenge-dialog-setup .challenge-setup{grid-template-columns:minmax(0,1fr);gap:6px}.challenge-dialog-setup .game-config{padding:16px 0 0}}@media(max-width:420px){.challenge-dialog-setup .challenge-games{grid-template-columns:1fr}.challenge-dialog-setup .challenge-games>.cr-button{min-height:0}.challenge-dialog-setup .challenge-quick-settings{grid-template-columns:1fr}.challenge-setup-footer{flex-wrap:wrap}.challenge-setup-footer>.cr-button{width:100%}}.video-frame{margin:var(--slide-title-offset) auto 0;aspect-ratio:16/9;border:1px solid var(--line);width:min(920px,100%);box-shadow:var(--card-shadow);background:var(--color-shadow-black);border-radius:18px;overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%;display:block}.reading-video-grid{grid-template-columns:minmax(220px,.7fr) 1.15fr 1.15fr;align-items:start;gap:24px;display:grid}.reading-video{aspect-ratio:9/16;border:1px solid var(--line);box-shadow:var(--card-shadow);background:var(--color-shadow-black);border-radius:18px;overflow:hidden}.reading-video iframe{border:0;width:100%;height:100%;display:block}.reading-col{background:var(--color-surface);border-top:5px solid var(--imoca-red);box-shadow:var(--card-shadow);border-radius:16px;overflow:hidden}.reading-col.is-vi{border-top-color:var(--ink)}.reading-col-title{font-weight:var(--font-weight-extrabold);font-size:var(--font-size-16px);letter-spacing:.04em;color:var(--imoca-red);border-bottom:1px solid var(--line);padding:12px 22px}.reading-col.is-vi .reading-col-title{color:var(--ink)}.reading-col p{font-size:var(--font-size-17px);line-height:var(--line-height-1_45);font-weight:var(--font-weight-semibold);margin:0;padding:12px 22px}.reading-col p+p{border-top:1px dashed var(--line)}.basic-stroke-lesson{margin-top:var(--slide-title-offset)}.basic-stroke-title{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.basic-stroke-title h2{max-width:none;font-size:var(--font-size-39px);line-height:var(--line-height-1_08);letter-spacing:0;margin:0 0 7px}.basic-stroke-title p{color:var(--muted);font-size:var(--font-size-17px);margin:0}.basic-stroke-stage{grid-template-columns:1fr 300px;align-items:stretch;gap:20px;display:grid}.stroke-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stroke-card{border:1px solid var(--color-writing-grid-border);background:var(--color-surface);min-height:147px;box-shadow:0 9px 22px var(--color-writing-shadow);border-radius:8px;padding:14px 13px 12px;position:relative}@supports (color:color-mix(in lab,red,red)){.stroke-card{box-shadow:0 9px 22px color-mix(in srgb,var(--color-writing-shadow) 7%,transparent)}}.stroke-card{color:var(--ink);text-align:left;cursor:pointer;transition:transform .14s,border-color .14s,box-shadow .14s}.stroke-card:hover,.stroke-card.active{border-color:var(--imoca-red);box-shadow:0 13px 28px var(--color-brand-primary);transform:translateY(-2px)}@supports (color:color-mix(in lab,red,red)){.stroke-card:hover,.stroke-card.active{box-shadow:0 13px 28px color-mix(in srgb,var(--color-brand-primary) 13%,transparent)}}.stroke-card.active{background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-writing-feedback-surface) 100%)}.stroke-no{background:var(--imoca-red);width:31px;height:31px;color:var(--color-text-inverse);font-size:var(--font-size-16px);font-weight:var(--font-weight-black);border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;left:12px}.stroke-card strong{color:var(--color-writing-blue);font-size:var(--font-size-20px);line-height:var(--line-height-1_1);letter-spacing:0;margin-left:40px;display:block}.stroke-card small{color:var(--color-writing-chip-ink);font-size:var(--font-size-15px);line-height:var(--line-height-1_2);margin:4px 0 4px 40px;display:block}.stroke-card svg{width:100%;height:54px;margin:3px 0 5px;display:block}.stroke-card path{fill:none;stroke:var(--color-writing-stroke-preview);stroke-width:13px;stroke-linecap:round;stroke-linejoin:round}.stroke-card em{border-top:1px dashed var(--color-writing-blue-border);color:var(--color-writing-blue);font-size:var(--font-size-14px);font-style:normal;font-weight:var(--font-weight-extrabold);justify-content:center;align-items:baseline;gap:8px;padding-top:7px;display:flex}.stroke-card em b{color:var(--color-writing-stroke-preview);font-family:var(--font-family-hanzi-serif);font-size:var(--font-size-28px);line-height:var(--line-height-1);font-weight:var(--font-weight-bold)}.stroke-writer-panel{border:1px solid var(--line);background:var(--color-surface);min-height:0;box-shadow:var(--card-shadow);border-radius:10px;flex-direction:column;align-items:center;padding:16px 18px 18px;display:flex}.writer-heading{align-self:stretch;align-items:center;gap:12px;margin-bottom:10px;display:flex}.writer-heading>span{background:var(--ink);width:38px;height:38px;color:var(--color-text-inverse);font-size:var(--font-size-18px);font-weight:var(--font-weight-black);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.writer-heading strong{color:var(--color-writing-blue);font-size:var(--font-size-23px);line-height:var(--line-height-1_05);display:block}.writer-heading small{color:var(--muted);font-size:var(--font-size-15px)}.hanzi-writer-box{background:linear-gradient(90deg,var(--color-brand-primary) 1px,transparent 1px),linear-gradient(var(--color-brand-primary) 1px,transparent 1px),var(--color-writing-surface);border-radius:12px;width:240px;height:240px}@supports (color:color-mix(in lab,red,red)){.hanzi-writer-box{background:linear-gradient(90deg,color-mix(in srgb,var(--color-brand-primary) 12%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--color-brand-primary) 12%,transparent) 1px,transparent 1px),var(--color-writing-surface)}}.hanzi-writer-box{box-shadow:inset 0 0 0 1px var(--color-writing-outline-numbers);background-size:120px 120px}.writer-example{border-top:1px dashed var(--color-writing-blue-border);justify-content:center;align-items:baseline;gap:12px;width:100%;margin:10px 0 8px;padding-top:10px;display:flex}.writer-example span{color:var(--color-writing-blue);font-size:var(--font-size-13px);font-weight:var(--font-weight-black)}.writer-example strong{font-family:var(--font-family-hanzi-serif);font-size:var(--font-size-42px);line-height:var(--line-height-1)}.stroke-writer-panel p{color:var(--muted);font-size:var(--font-size-14px);line-height:var(--line-height-1_42);text-align:center;margin:0}.stroke-order-lesson{margin-top:var(--slide-title-offset)}.stroke-order-title{margin-bottom:16px}.stroke-order-title h2{max-width:none;font-size:var(--font-size-39px);line-height:var(--line-height-1_08);letter-spacing:0;margin:0 0 7px}.stroke-order-title p{color:var(--muted);font-size:var(--font-size-17px);margin:0}.stroke-order-stage{grid-template-columns:1fr 340px;align-items:start;gap:22px;display:grid}.stroke-order-rules{gap:9px;margin:0;padding:0;display:grid}.stroke-order-rule{border:1px solid var(--color-writing-grid-border);background:var(--color-surface);width:100%;box-shadow:0 8px 20px var(--color-writing-shadow);border-radius:9px;align-items:center;gap:14px;padding:9px 14px;display:flex}@supports (color:color-mix(in lab,red,red)){.stroke-order-rule{box-shadow:0 8px 20px color-mix(in srgb,var(--color-writing-shadow) 6%,transparent)}}.stroke-order-rule{color:var(--ink);text-align:left;cursor:pointer;transition:transform .14s,border-color .14s,box-shadow .14s}.stroke-order-rule:hover,.stroke-order-rule.active{border-color:var(--imoca-red);box-shadow:0 12px 26px var(--color-brand-primary);transform:translate(3px)}@supports (color:color-mix(in lab,red,red)){.stroke-order-rule:hover,.stroke-order-rule.active{box-shadow:0 12px 26px color-mix(in srgb,var(--color-brand-primary) 13%,transparent)}}.stroke-order-rule.active{background:linear-gradient(90deg,var(--color-writing-feedback-surface) 0%,var(--color-surface) 100%)}.stroke-order-no{background:var(--imoca-red);width:33px;height:33px;color:var(--color-text-inverse);font-size:var(--font-size-17px);font-weight:var(--font-weight-black);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.stroke-order-rule strong{min-width:0;color:var(--color-writing-blue);font-size:var(--font-size-21px);line-height:var(--line-height-1_15);letter-spacing:0;flex:1}.stroke-order-rule em{font-family:var(--font-family-hanzi-serif);font-size:var(--font-size-29px);line-height:var(--line-height-1);flex-shrink:0;align-items:baseline;gap:7px;font-style:normal;display:flex}.stroke-order-rule em small{color:var(--muted);font-family:inherit;font-size:var(--font-size-14px);font-weight:var(--font-weight-bold)}.stroke-order-writer{border:1px solid var(--line);background:var(--color-surface);box-shadow:var(--card-shadow);border-radius:10px;flex-direction:column;align-items:center;padding:16px 18px 18px;display:flex}.stroke-order-input{gap:8px;width:100%;margin-bottom:12px;display:flex}.stroke-order-input input{border:1px solid var(--line);background:var(--color-writing-surface);min-width:0;height:40px;color:var(--ink);font-size:var(--font-size-19px);border-radius:9px;flex:1;padding:0 12px}.stroke-order-input input:focus{border-color:var(--imoca-red);outline:none}.stroke-order-box{background:linear-gradient(90deg,var(--color-brand-primary) 1px,transparent 1px),linear-gradient(var(--color-brand-primary) 1px,transparent 1px),var(--color-writing-surface);border-radius:12px;width:300px;height:300px}@supports (color:color-mix(in lab,red,red)){.stroke-order-box{background:linear-gradient(90deg,color-mix(in srgb,var(--color-brand-primary) 12%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--color-brand-primary) 12%,transparent) 1px,transparent 1px),var(--color-writing-surface)}}.stroke-order-box{box-shadow:inset 0 0 0 1px var(--color-writing-outline-numbers);background-size:150px 150px}.stroke-order-current{color:var(--muted);font-size:var(--font-size-14px);margin:12px 0 0}.stroke-order-current strong{color:var(--ink);font-family:var(--font-family-hanzi-serif);font-size:var(--font-size-26px);line-height:var(--line-height-1)}.stroke-order-error{color:var(--imoca-red);font-size:var(--font-size-14px);font-weight:var(--font-weight-bold);text-align:center;margin:12px 0 0}.radical-lesson{margin-top:var(--slide-title-offset)}.radical-lesson-title{justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:15px;display:flex}.radical-lesson-title h2{max-width:none;font-size:var(--font-size-36px);line-height:var(--line-height-1_08);letter-spacing:0;margin:0 0 7px}.radical-lesson-title p{color:var(--muted);font-size:var(--font-size-16px);margin:0}.radical-lesson-title>span{background:var(--ink);color:var(--color-text-inverse);font-size:var(--font-size-13px);font-weight:var(--font-weight-extrabold);border-radius:999px;flex-shrink:0;padding:8px 13px}.radical-state{border:1px dashed var(--line);background:var(--color-surface);height:430px;color:var(--muted);font-size:var(--font-size-18px);font-weight:var(--font-weight-bold);border-radius:14px;place-items:center;display:grid}.radical-state.error{color:var(--imoca-red);background:var(--imoca-red-tint)}.radical-grid-panel{scrollbar-width:thin;grid-template-columns:repeat(4,1fr);gap:12px;height:435px;padding:2px 8px 10px 2px;display:grid;overflow:auto}.radical-tile{border:1px solid var(--line);background:var(--color-surface);min-width:0;min-height:205px;box-shadow:0 8px 20px var(--color-writing-shadow);border-radius:8px;grid-template-rows:132px auto auto auto;gap:4px;padding:9px;display:grid}@supports (color:color-mix(in lab,red,red)){.radical-tile{box-shadow:0 8px 20px color-mix(in srgb,var(--color-writing-shadow) 6%,transparent)}}.radical-tile{color:var(--ink);cursor:pointer;text-align:center;transition:transform .12s,border-color .12s,box-shadow .12s}.radical-tile:hover:not(:disabled){border-color:var(--imoca-red);box-shadow:0 12px 26px var(--color-brand-primary);transform:translateY(-2px)}@supports (color:color-mix(in lab,red,red)){.radical-tile:hover:not(:disabled){box-shadow:0 12px 26px color-mix(in srgb,var(--color-brand-primary) 12%,transparent)}}.radical-tile:disabled{cursor:default;opacity:.6}.radical-thumb{background:var(--color-writing-grid-surface);border-radius:7px;place-items:center;display:grid;position:relative;overflow:hidden}.radical-thumb img:first-child{object-fit:contain;width:100%;height:100%;display:block}.radical-logo{width:22px;height:auto;position:absolute;top:4px;left:5px}.radical-thumb span{color:var(--color-writing-empty);font-size:var(--font-size-12px);font-weight:var(--font-weight-extrabold)}.radical-tile strong{font-family:var(--font-family-hanzi-serif);font-size:var(--font-size-30px);line-height:var(--line-height-1)}.radical-tile small{min-width:0;color:var(--color-writing-blue);font-size:var(--font-size-15px);line-height:var(--line-height-1_15);font-weight:var(--font-weight-extrabold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.radical-tile em{color:var(--muted);font-size:var(--font-size-12px);line-height:var(--line-height-1_15);font-style:normal;font-weight:var(--font-weight-bold)}.radical-image-no-download,.radical-image-no-download img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}.radical-viewer{background:var(--color-text-study);width:100%;height:100%;position:relative}.radical-viewer>img:first-child{object-fit:contain;width:100%;height:100%;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.radical-viewer-logo{z-index:2;pointer-events:none;width:180px;height:auto;position:absolute;top:20px;left:20px}.radical-viewer p{z-index:2;text-align:center;color:var(--color-text-inverse);font-size:var(--type-radical-caption-size);text-shadow:0 2px 10px var(--color-shadow-black);margin:0;padding:0 16px;font-style:italic;position:absolute;bottom:16px;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.radical-viewer p{text-shadow:0 2px 10px color-mix(in srgb,var(--color-shadow-black) 75%,transparent)}}.radical-viewer p{pointer-events:none}.number-writing-lesson{margin-top:var(--slide-title-offset)}.number-writing-title{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:16px;display:flex}.number-writing-title h2{max-width:none;font-size:var(--font-size-38px);line-height:var(--line-height-1_08);letter-spacing:0;margin:0 0 7px}.number-writing-title p{color:var(--muted);font-size:var(--font-size-16px);margin:0}.number-writing-all-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.number-writing-tile{border:1px solid var(--line);background:var(--color-surface);min-width:0;min-height:214px;box-shadow:0 9px 22px var(--color-writing-shadow);border-radius:10px;flex-direction:column;padding:10px;display:flex}@supports (color:color-mix(in lab,red,red)){.number-writing-tile{box-shadow:0 9px 22px color-mix(in srgb,var(--color-writing-shadow) 7%,transparent)}}.number-writing-tile header{align-items:baseline;gap:9px;margin-bottom:8px;display:flex}.number-writing-tile header>span{background:var(--imoca-red);width:30px;height:30px;color:var(--color-text-inverse);font-size:var(--font-size-13px);font-weight:var(--font-weight-black);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.number-writing-tile header strong{font-family:var(--font-family-hanzi-serif);font-size:var(--font-size-30px);line-height:var(--line-height-1)}.number-writing-tile header small{color:var(--color-writing-blue);font-size:var(--font-size-16px);line-height:var(--line-height-1);font-weight:var(--font-weight-black);margin-left:auto}.number-writing-mini-box{background:linear-gradient(90deg,var(--color-brand-primary) 1px,transparent 1px),linear-gradient(var(--color-brand-primary) 1px,transparent 1px),var(--color-writing-surface);border-radius:10px;align-self:center;width:150px;height:150px;margin-top:auto}@supports (color:color-mix(in lab,red,red)){.number-writing-mini-box{background:linear-gradient(90deg,color-mix(in srgb,var(--color-brand-primary) 12%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--color-brand-primary) 12%,transparent) 1px,transparent 1px),var(--color-writing-surface)}}.number-writing-mini-box{box-shadow:inset 0 0 0 1px var(--color-writing-outline-numbers);background-size:75px 75px}.review-popover-host{position:relative}.review-chart{background:var(--color-surface);border:1px solid var(--line);box-shadow:var(--card-shadow);border-radius:12px;margin-top:0;display:grid;overflow:hidden}.review-chart .rc-corner,.review-chart .rc-head,.review-chart .rc-init{background:linear-gradient(135deg,var(--imoca-red),var(--imoca-red-dark));color:var(--color-text-inverse);font-weight:var(--font-weight-extrabold);place-items:center;display:grid}.review-chart .rc-head{height:35px;font-size:var(--font-size-16px)}.review-chart .rc-init{height:34px;font-size:var(--font-size-17px)}.review-chart button{border:0;border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--color-surface);height:34px;font-size:var(--font-size-16px);font-weight:var(--font-weight-demibold);color:var(--color-game-ink);cursor:pointer;padding:0;transition:background .12s,color .12s}.review-chart button:hover:not(:disabled){background:var(--imoca-red-tint);color:var(--imoca-red);font-weight:var(--font-weight-extrabold)}.review-chart button:disabled{cursor:default}.review-chart button.special{color:var(--imoca-red);font-weight:var(--font-weight-extrabold)}.review-chart button.special:hover:not(:disabled){background:var(--imoca-red);color:var(--color-text-inverse)}.review-chart button.selected:not(:disabled){background:var(--imoca-red-tint);color:var(--imoca-red);box-shadow:inset 0 0 0 2px var(--imoca-red)}.review-heading .review-tone-bar{margin-bottom:calc(var(--slide-content-gap) - 4px)}.review-tone-bar{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.review-tone-bar>span{font-size:var(--font-size-12px);font-weight:var(--font-weight-extrabold);letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.review-tone-bar>div{gap:6px;display:flex}.review-tone-bar .cr-button{border:1px solid var(--line);background:var(--color-surface);min-width:50px;height:32px;min-height:32px;color:var(--ink);font-size:var(--font-size-14px);font-weight:var(--font-weight-extrabold);border-radius:999px;padding:0 12px}.review-tone-bar .cr-button:hover{border-color:var(--imoca-red);color:var(--imoca-red)}.review-tone-bar .cr-button[data-state=checked]{border-color:var(--imoca-red);background:var(--imoca-red);color:var(--color-text-inverse)}.review-focus{gap:14px;display:grid}.review-focus .cr-tabs-list{border:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.review-focus .cr-tabs-trigger{border:1px solid var(--line);background:var(--color-surface);min-height:42px;color:var(--ink);font-size:var(--font-size-14px);font-weight:var(--font-weight-extrabold);border-radius:10px;padding:7px 10px}.review-focus .cr-tabs-trigger:hover:not(:disabled):not([data-state=active]){border-color:var(--imoca-red);color:var(--imoca-red)}.review-focus .cr-tabs-trigger[data-state=active],.review-focus .cr-tabs-trigger[data-state=active]:hover{border-color:var(--imoca-red);background:var(--imoca-red);color:var(--color-text-inverse)}.review-chart.focus .rc-head{height:35px;font-size:var(--font-size-16px)}.review-chart.focus .rc-init{height:34px;font-size:var(--font-size-17px)}.review-chart.focus button{height:34px;font-size:var(--font-size-16px)}.dialogue{background:var(--color-surface);border-top:5px solid var(--imoca-red);box-shadow:var(--card-shadow);border-radius:16px;overflow:hidden}.cr-dialog{box-sizing:border-box;background:var(--color-surface);width:min(1180px,100%);height:min(780px,100%);min-height:0;max-height:100%;color:var(--color-control-text);box-shadow:0 10px 38px -10px var(--color-dialog-shadow-strong),0 10px 20px -15px var(--color-dialog-shadow-soft);font:var(--font-weight-regular) var(--font-size-16px)/var(--line-height-1_5) var(--font-family-ui,sans-serif);border:0;border-radius:6px;outline:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.cr-dialog[data-size=compact]{width:min(450px,100%);height:auto}.cr-dialog[data-size=full]{border-radius:0;width:100%;height:100%}.cr-dialog-header{box-sizing:border-box;flex:none;justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding:25px 66px 20px 25px;display:flex}.cr-dialog-title{font-size:var(--font-size-17px);font-weight:var(--font-weight-semibold);line-height:var(--line-height-1_5);margin:0}.cr-description{color:var(--color-control-description);font-size:var(--font-size-15px);line-height:var(--line-height-1_5);margin:10px 0 0}.cr-dialog-body{flex:1;min-height:0;padding:0 25px 25px;overflow:auto}.cr-dialog-footer{flex:none;justify-content:flex-end;gap:8px;padding:0 25px 25px;display:flex}.cr-button{border:1px solid var(--line,var(--color-border-study-neutral));background:var(--color-surface);min-height:44px;color:inherit;font:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:8px 14px;display:inline-flex}.cr-button:hover{background:var(--paper,var(--color-neutral-control))}.cr-button[data-primary]{background:var(--imoca-red,var(--color-brand-primary));color:var(--color-text-inverse,var(--color-surface));border-color:#0000}.cr-button:disabled{opacity:.45;cursor:not-allowed}.cr-dialog .cr-close{box-sizing:border-box;border:1px solid var(--line,var(--color-border-study-neutral));background:var(--color-surface);width:40px;min-width:40px;height:40px;min-height:40px;color:var(--muted,var(--color-neutral-muted));cursor:pointer;touch-action:manipulation;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:10px;right:10px}.cr-dialog .cr-close:hover:not(:disabled){background:var(--imoca-red-tint,var(--color-control-red-soft));border-color:var(--imoca-red,var(--color-brand-primary));color:var(--imoca-red,var(--color-brand-primary))}.cr-close svg{pointer-events:none;width:22px;height:22px}.cr-tool-button svg{pointer-events:none}.cr-preview-image{object-fit:contain;width:100%;height:100%;display:block}.cr-dialog :is(button,input,select,textarea,a,[tabindex]):focus-visible,.cr-tabs :focus-visible,.cr-choices :focus-visible,.cr-popover :focus-visible{outline:2px solid var(--imoca-red,var(--color-brand-primary));outline-offset:3px}.cr-dialog .cr-close:focus-visible{outline:2px solid var(--imoca-red,var(--color-brand-primary));outline-offset:0}.cr-tabs-list{border-bottom:1px solid var(--line,var(--color-border-study-neutral));flex-wrap:wrap;flex:none;align-items:center;gap:24px;margin:4px 0 12px;padding:0;display:flex}.cr-tabs-trigger{min-height:44px;color:var(--muted,var(--color-neutral-muted));font:inherit;font-size:var(--font-size-20px);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;padding:11px 4px 10px}.cr-tabs-trigger:hover:not(:disabled){color:var(--imoca-red-dark,var(--color-control-red-dark))}.cr-tabs-trigger:disabled{opacity:.45;cursor:not-allowed}.cr-tabs-trigger[data-state=active]{border-bottom-color:var(--imoca-red,var(--color-brand-primary));color:var(--imoca-red-dark,var(--color-control-red-dark));font-weight:var(--font-weight-extrabold)}.cr-tabs-panel{outline:none;min-height:0}.cr-dialog-body:has(>.cr-tabs){flex-direction:column;display:flex}.cr-dialog-body>.cr-tabs{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.cr-dialog-body>.cr-tabs>.cr-tabs-panel[data-state=active]{overscroll-behavior:contain;flex:1;min-width:0;min-height:0;overflow:auto}.cr-study-tabs{flex-direction:column;flex:1;min-height:0;display:flex}.cr-study-tabs>.cr-tabs-panel{flex:1;overflow:auto}.cr-study-tabs>.cr-tabs-panel>:first-child{height:100%}.cr-video-list ul{gap:12px;padding:0;list-style:none;display:grid}.cr-video-player,.cr-video-player iframe{border:0;width:100%;height:100%}.cr-editor-body{padding:0;display:flex;overflow:hidden}.cr-editor-body>:first-child{flex:1}.cr-chart{flex-direction:column;height:100%;display:flex}.cr-challenge{flex-direction:column;min-height:100%;display:flex}.cr-choices{flex-wrap:wrap;gap:8px;display:flex}.cr-choices>:is([data-state=on],[data-state=checked]){border-color:var(--imoca-red,var(--color-brand-primary));color:var(--imoca-red,var(--color-brand-primary));background:var(--imoca-red-tint,var(--color-control-red-soft))}.cr-choice-description{color:var(--muted,var(--color-neutral-muted));font-size:var(--font-size-14px);font-weight:var(--font-weight-regular);display:block}.cr-choices-column{flex-direction:column;align-items:stretch}.cr-choices-column>.cr-button{text-align:left;justify-content:flex-start}.cr-popover{z-index:10001;box-sizing:border-box;border:1px solid var(--line,var(--color-border-study-neutral));background:var(--color-surface);width:min(520px,100vw - 24px);color:var(--ink,var(--color-diagnostic-ink));box-shadow:0 8px 24px var(--color-diagnostic-shadow);font:var(--font-weight-regular) var(--font-size-16px)/var(--line-height-1_5) var(--font-family-ui,sans-serif);border-radius:8px;padding:16px}@media(max-width:700px){.cr-dialog-header{padding:20px 66px 16px 20px}.cr-dialog-body,.cr-dialog-footer{padding:0 20px 20px}}@media(max-width:600px){.cr-tabs-list{gap:12px}.cr-tabs-trigger{font-size:var(--font-size-16px)}}.cr-checkbox{vertical-align:middle;box-sizing:border-box;border:1px solid var(--muted,var(--color-neutral-muted));background:var(--color-surface);width:20px;min-width:20px;height:20px;min-height:20px;color:var(--color-text-inverse,var(--color-surface));cursor:pointer;border-radius:4px;flex:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.cr-checkbox[data-state=checked]{background:var(--imoca-red,var(--color-brand-primary));border-color:var(--imoca-red,var(--color-brand-primary))}.cr-checkbox:focus-visible{outline:2px solid var(--imoca-red,var(--color-brand-primary));outline-offset:3px}.cr-checkbox:disabled{opacity:.45;cursor:not-allowed}.cr-checkbox-indicator{display:flex}.cr-button[data-ghost]{background:0 0;border-color:#0000}.cr-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite cr-spin}@keyframes cr-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.cr-spinner{border-style:dotted;animation:none}}.cr-field{gap:7px;min-width:0;display:grid}.cr-field>label{font-size:var(--font-size-14px);font-weight:var(--font-weight-semibold)}.cr-field .cr-input{box-sizing:border-box;border:1px solid var(--line,var(--color-border-study-neutral));background:var(--color-surface);width:100%;min-width:0;min-height:44px;color:var(--ink,var(--color-diagnostic-ink));font:inherit;border-radius:8px;padding:10px 12px}.cr-field small{font-size:var(--font-size-13px);color:var(--muted,var(--color-neutral-muted))}.cr-field small[data-error=true]{color:var(--imoca-red-dark,var(--color-control-red-dark))}.cr-input:focus-visible{outline:2px solid var(--imoca-red,var(--color-brand-primary));outline-offset:2px}.cr-input:disabled{opacity:.5;cursor:not-allowed}.cr-tool-button{cursor:pointer;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;display:inline-flex}.cr-combobox-anchor{display:flex;position:relative}.cr-combobox-anchor .cr-input{padding-right:44px}.cr-combobox-trigger{width:44px;height:100%;color:inherit;cursor:pointer;background:0 0;border:0;position:absolute;top:0;right:0}.cr-combobox-content{z-index:10002;box-sizing:border-box;border:1px solid var(--line,var(--color-border-study-neutral));background:var(--color-surface);width:300px;max-height:min(320px,100dvh - 24px);color:var(--ink,var(--color-diagnostic-ink));box-shadow:0 8px 24px var(--color-control-popup-shadow);font:var(--font-weight-regular) var(--font-size-15px)/var(--line-height-1_5) var(--font-family-ui,sans-serif);border-radius:8px;padding:4px;overflow:auto}.cr-combobox-item{cursor:pointer;border-radius:6px;outline:none;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:8px 12px;display:flex}.cr-combobox-item[data-highlighted]{background:var(--imoca-red-tint,var(--color-control-red-soft))}.cr-combobox-item[data-state=checked]{color:var(--imoca-red-dark,var(--color-control-red-dark));font-weight:var(--font-weight-semibold)}.cr-combobox-item small{color:var(--muted,var(--color-neutral-muted));font-size:var(--font-size-12px);font-weight:var(--font-weight-regular);display:block}.cr-combobox-empty{color:var(--muted,var(--color-neutral-muted));margin:0;padding:16px}.tt-slide .tt-vocabulary-summary>.tt-panel-body{flex-direction:column;padding:12px 18px 16px;display:flex;overflow:hidden}.tt-vocabulary-content--slide{--type-vocab-body-size:var(--type-rich-body-size);--type-vocab-hanzi-size:var(--type-dialogue-size);--type-vocab-card-size:var(--font-size-20px);--type-vocab-card-pinyin-size:var(--font-size-22px);--type-vocab-card-hanzi-size:var(--font-size-44px);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.tt-vocabulary-content--slide .cr-tabs-panel{flex-direction:column;min-width:0;display:flex;overflow:hidden}.tt-vocabulary-summary-toolbar{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:16px;min-height:48px;display:flex}.tt-slide .tt-vocabulary-summary-title h2{color:var(--ink);font:var(--font-weight-bold) var(--font-size-18px)/var(--line-height-1_3) var(--font-family-ui);letter-spacing:0;margin:0}.tt-vocabulary-summary-title>span{color:var(--muted);font:var(--font-weight-medium) var(--font-size-12px)/var(--line-height-1_3) var(--font-family-ui)}.tt-vocabulary-summary-toolbar .cr-tabs-list{border-bottom:0;flex-wrap:nowrap;gap:16px;margin:0}.tt-vocabulary-summary-toolbar .cr-tabs-trigger{min-height:36px;font-size:var(--font-size-16px);padding:6px 4px}.tt-vocabulary-content--slide .tt-vocab-body{overscroll-behavior:contain;padding-top:10px}.tt-vocabulary-content--slide .tt-vocab-list{box-shadow:none;border-width:1px;border-radius:12px;overflow:visible}.tt-vocabulary-content--slide .tt-vocab-table-scroll{overflow:visible}.tt-vocabulary-content--slide .tt-vocab-table{min-width:0}.tt-vocabulary-content--slide .tt-vocab-table th{font-size:var(--font-size-14px);padding:7px 10px}.tt-vocabulary-content--slide .tt-vocab-table th:first-child{border-top-left-radius:11px}.tt-vocabulary-content--slide .tt-vocab-table th:last-child{border-top-right-radius:11px}.tt-vocabulary-content--slide .tt-vocab-table td{padding:4px 10px}.tt-vocabulary-content--slide .tt-vocab-type{max-width:100%;font-size:var(--font-size-14px);white-space:normal;border-radius:6px;padding:2px 5px}.tt-vocabulary-content--slide .tt-vocab-ordinal{width:26px;height:26px;font-size:var(--font-size-14px)}.tt-vocabulary-content--slide .tt-vocab-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tt-vocabulary-content--slide .tt-vocab-grid[data-kind=pinyin]{grid-template-columns:repeat(4,minmax(0,1fr))}.tt-vocabulary-content--slide .tt-vocab-grid[data-kind=hanzi]{grid-template-columns:repeat(5,minmax(0,1fr))}.tt-vocabulary-content--slide .tt-vocab-tile{border-width:1px;border-radius:10px;min-height:56px;padding:8px 12px 8px 32px}.tt-vocabulary-content--slide .tt-vocab-grid[data-kind=pinyin] .tt-vocab-tile{min-height:56px}.tt-vocabulary-content--slide .tt-vocab-tile-hanzi{min-height:96px}.tt-vocabulary-content--slide .tt-vocab-tile .tt-vocab-ordinal{width:20px;height:20px;font-size:var(--font-size-11px);top:8px;left:8px}.classroom-auth-shell{z-index:2147483647;box-sizing:border-box;background:radial-gradient(circle at 85% 15%,var(--color-auth-glow),transparent 35%),var(--color-board-surface);color:var(--color-writing-ink);font-family:var(--font-family-auth);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.classroom-auth-card{box-sizing:border-box;border:1px solid var(--color-board-line);background:var(--color-surface);width:min(100%,380px);box-shadow:0 16px 44px var(--color-auth-shadow);border-radius:18px;flex-direction:column;gap:14px;padding:28px 26px;display:flex}.auth-brand{align-items:center;gap:12px;margin-bottom:6px;display:flex}.auth-brand img{object-fit:contain;width:44px;height:44px}.auth-brand h1{color:var(--color-writing-ink);font-size:var(--font-size-18px);font-weight:var(--font-weight-extrabold);margin:0}.auth-brand p{color:var(--color-board-muted);font-size:var(--font-size-13px);margin:3px 0 0}.auth-error{border:1px solid var(--color-answer-wrong-border);background:var(--color-answer-wrong-surface);color:var(--color-answer-wrong-text);font-size:var(--font-size-13px);line-height:var(--line-height-1_45);border-radius:10px;margin:0;padding:10px 12px}.auth-hint{color:var(--color-auth-hint);text-align:center;font-size:var(--font-size-12px);margin:0}.status-card{text-align:center;align-items:center}.status-card>p:not(.auth-error){color:var(--color-board-muted);font-size:var(--font-size-14px);margin:0}.auth-spinner{border:3px solid var(--color-picker-spinner-track);border-top-color:var(--color-brand-primary);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.class-picker-body{gap:18px;display:grid}.class-picker-body>p{color:var(--muted,var(--color-neutral-muted));font-size:var(--font-size-14px);line-height:var(--line-height-1_55);margin:0}.today-classes{gap:9px;display:grid}.today-classes>strong{color:var(--muted,var(--color-neutral-muted));font-size:var(--font-size-12px);letter-spacing:.04em}.class-picker-state{min-height:120px;color:var(--muted,var(--color-neutral-muted));place-items:center;display:grid}.class-picker-error{color:var(--imoca-red-dark,var(--color-control-red-dark));justify-content:space-between;align-items:center;gap:12px;display:flex}.tt-picker-content{flex-direction:column;display:flex;overflow:hidden}.tt-url-loading-screen{z-index:2147483646;background:var(--color-board-surface);color:var(--color-writing-ink);font:var(--font-weight-bold) var(--font-size-18px) var(--font-family-ui-system);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.tt-url-loading-screen p{margin:0}.tt-url-loading-spinner{border:4px solid var(--color-picker-spinner-track);border-top-color:var(--color-brand-primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite tt-url-loading-spin}@keyframes tt-url-loading-spin{to{transform:rotate(360deg)}}.tt-lesson-picker{flex:1;grid-template-columns:280px minmax(0,1fr);gap:18px;width:100%;min-height:0;display:grid}.tt-lesson-picker-sidebar,.tt-lesson-picker-main{border:1px solid var(--color-picker-border);background:var(--color-surface);border-radius:12px;min-height:0}.tt-lesson-picker-sidebar{background:var(--color-picker-sidebar);flex-direction:column;gap:8px;padding:12px;display:flex;overflow:auto}.tt-lesson-picker-sidebar h3{font-size:var(--font-size-15px);color:var(--color-text-study-muted);font-weight:var(--font-weight-semibold);margin:4px 10px 8px}.tt-lesson-picker-sidebar button{text-align:left;border:1px solid var(--tt-line);background:var(--color-surface);min-height:48px;font-size:var(--font-size-16px);line-height:var(--line-height-1_3);border-radius:10px;padding:10px 14px}.tt-lesson-picker-sidebar button.selected{background:var(--imoca-red-tint);border-color:var(--tt-accent);color:var(--tt-accent);font-weight:var(--font-weight-bold)}.tt-lesson-picker-sidebar .tt-picker-signin{color:var(--tt-accent);font-size:var(--font-size-13px);background:0 0;border:0;margin-top:auto}.tt-lesson-picker-main{flex-direction:column;gap:12px;padding:14px;display:flex;overflow:hidden}.tt-lesson-picker-heading{flex:none;justify-content:space-between;align-items:center;gap:16px;min-height:42px;display:flex}.tt-lesson-picker-heading>div{align-items:center;gap:10px;min-width:0;display:flex}.tt-lesson-picker-heading h3{font-size:var(--font-size-18px);line-height:var(--line-height-1_3);font-weight:var(--font-weight-heavy);margin:0}.tt-lesson-picker-heading span{background:var(--imoca-red-tint);color:var(--tt-accent);font-size:var(--font-size-12px);font-weight:var(--font-weight-bold);border-radius:999px;flex:none;padding:5px 10px}.tt-lesson-picker-heading button{font-size:var(--font-size-12px);color:var(--tt-accent);flex:none}.tt-picker-introduction{font-weight:var(--font-weight-bold);align-self:flex-start;background:var(--imoca-red-tint)!important;border-color:var(--tt-accent)!important;color:var(--tt-accent)!important}.tt-lesson-picker-list{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;min-height:0;padding-right:6px;display:grid;overflow:auto}.tt-picker-session{border:1px solid var(--tt-line);background:var(--tt-paper);border-radius:14px;flex-direction:column;gap:8px;min-width:0;padding:12px;display:flex}.tt-picker-session-heading{justify-content:space-between;align-items:center;gap:10px;padding:2px 3px;display:flex}.tt-picker-session-heading strong{color:var(--tt-accent);font-size:var(--font-size-14px)}.tt-picker-session-heading span{color:var(--color-text-study-muted);font-size:var(--font-size-12px)}.tt-picker-session button,.tt-picker-plain-lesson{text-align:left;border:1px solid var(--color-border-study-neutral);background:var(--color-surface);width:100%;min-height:50px;font-size:var(--font-size-15px);line-height:var(--line-height-1_35);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.tt-picker-session button span,.tt-picker-plain-lesson span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tt-picker-session button small,.tt-picker-plain-lesson small{color:var(--color-text-study-muted);font-size:var(--font-size-12px);flex:none}.tt-picker-session button:hover,.tt-picker-plain-lesson:hover{border-color:var(--tt-accent);background:var(--imoca-red-tint)}.tt-picker-state{color:var(--color-text-study-muted);grid-column:1/-1;margin:8px}.tt-picker-preview{flex-direction:column;align-items:flex-start;gap:16px;min-height:0;display:flex;overflow:auto}.tt-picker-preview img{object-fit:contain;align-self:center;max-width:100%;max-height:100%}.tt-lesson-picker-footer{width:100%;min-height:54px;color:var(--color-text-study-muted);justify-content:flex-end;align-items:center;gap:14px;padding:8px 2px 0;display:flex}.tt-lesson-picker-footer button{background:0 0;border:0}@media(max-width:760px){.tt-lesson-picker{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.tt-lesson-picker-sidebar{flex-direction:row;align-items:center;min-height:80px;overflow:auto}.tt-lesson-picker-sidebar h3{display:none}.tt-lesson-picker-sidebar button{flex:none;min-height:44px}.tt-lesson-picker-list{grid-template-columns:1fr}}.cr-dialog.ca-dialog{width:min(820px,100vw - 32px);height:auto;max-height:min(720px,100dvh - 32px)}.ca-dialog .cr-dialog-header{min-height:60px;padding:16px 66px 12px 20px}.ca-dialog .cr-dialog-footer{border-top:1px solid var(--line,var(--color-border-study-neutral));padding:10px 20px}.ca-dialog-body{padding:8px 20px 12px;display:flex;overflow:hidden}.ca-body{flex-direction:column;flex:1;gap:8px;min-width:0;min-height:0;display:flex}.ca-body>:not(.ca-list){flex-shrink:0}.ca-body .cr-button:not(.cr-close){min-height:36px;font-size:var(--font-size-13px);padding:6px 10px}.ca-body .cr-field{gap:4px}.ca-body .cr-input{min-height:38px;font-size:var(--font-size-14px);padding:8px 10px}.ca-class{justify-content:space-between;align-items:center;gap:16px;display:flex}.ca-class-info{flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0;display:flex}.ca-class-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ca-eyebrow{font-size:var(--font-size-13px);font-weight:var(--font-weight-bold);color:var(--muted,var(--color-neutral-muted))}.ca-class-name{font-size:var(--font-size-16px);overflow-wrap:anywhere}.ca-add-student{gap:8px;display:grid}.ca-add-toggle{color:var(--imoca-red-dark,var(--color-control-red-dark));font-family:inherit;font-size:var(--font-size-14px);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:0;padding:6px 8px}.ca-add-form{grid-template-columns:minmax(0,1fr) minmax(150px,.72fr) auto;gap:8px;display:grid}.ca-roster-heading span{color:var(--muted,var(--color-neutral-muted));font-size:var(--font-size-13px)}.ca-roster-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.ca-roster-heading>div{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.ca-roster-heading strong{font-size:var(--font-size-14px)}.ca-roster-heading .cr-button{font-size:var(--font-size-13px)}.ca-list{overscroll-behavior:contain;border:1px solid var(--line,var(--color-border-study-neutral));border-radius:8px;flex:auto;min-height:0;overflow:auto}.ca-student{box-sizing:border-box;grid-template-columns:minmax(0,1fr) 340px;align-items:center;gap:12px;min-height:48px;padding:4px 12px;display:grid}.ca-student+.ca-student{border-top:1px solid var(--line,var(--color-border-study-neutral))}.ca-name{align-items:center;gap:8px;min-width:0;display:flex}.ca-name strong{font-size:var(--font-size-14px);overflow-wrap:anywhere}.ca-number{color:var(--muted,var(--color-neutral-muted));font-size:var(--font-size-12px);font-variant-numeric:tabular-nums;min-width:16px}.ca-statuses{background:var(--color-surface-study,var(--color-neutral-control));border-radius:6px;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:2px;display:grid}.ca-body .ca-statuses .cr-button{min-height:34px;font-size:var(--font-size-13px);white-space:nowrap;background:0 0;border-color:#0000;border-radius:4px;padding:4px}.ca-body .ca-statuses .cr-button[data-state=on]{border-color:var(--imoca-red,var(--color-brand-primary));background:var(--imoca-red-tint,var(--color-control-red-soft));color:var(--imoca-red-dark,var(--color-control-red-dark));font-weight:var(--font-weight-bold)}.ca-status-label{align-items:center;gap:4px;display:inline-flex}.ca-summary{color:var(--muted,var(--color-neutral-muted));font-size:var(--font-size-13px);flex-wrap:wrap;gap:8px 24px;display:flex}.ca-summary strong{color:var(--ink,var(--color-diagnostic-ink));margin-left:6px}.ca-progress{color:var(--muted,var(--color-neutral-muted));font-size:var(--font-size-14px);align-self:center;margin-right:auto}.ca-progress strong{color:var(--ink,var(--color-diagnostic-ink))}.ca-state{min-height:120px;color:var(--muted,var(--color-neutral-muted));place-items:center;display:grid}.ca-error,.ca-add-error{color:var(--imoca-red-dark,var(--color-control-red-dark));font-size:var(--font-size-14px)}.ca-error{justify-content:space-between;align-items:center;gap:12px;display:flex}.ca-add-success{color:var(--color-success-attendance)}button:disabled{cursor:not-allowed;opacity:.45}@media(max-width:700px){.ca-dialog-body{padding:8px 12px 12px}.ca-dialog .cr-dialog-header{padding-left:12px}.ca-dialog .cr-dialog-footer{gap:6px;padding:10px 12px}.ca-dialog .cr-dialog-footer .cr-button{font-size:var(--font-size-13px);min-height:38px;padding:6px 10px}.ca-class{flex-wrap:wrap;gap:4px}.ca-class-actions{justify-content:space-between;width:100%}.ca-student{grid-template-columns:1fr;gap:4px;padding:8px 10px}.ca-add-form{grid-template-columns:1fr}.ca-roster-heading{align-items:flex-start}.ca-progress{font-size:var(--font-size-12px)}.ca-list{max-height:calc(100dvh - 340px)}}.class-name-heading{margin:var(--slide-title-offset) 0 22px;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.class-name-heading>div:first-child>span{color:var(--imoca-red);font-size:var(--font-size-11px);font-weight:var(--font-weight-black);letter-spacing:.16em;margin-bottom:5px;display:block}.slidev-layout .class-name-heading h2{color:var(--ink);font-size:var(--font-size-35px);line-height:var(--line-height-1_08);margin:0}.class-name-summary{border:1px solid var(--line);background:var(--color-surface);border-radius:999px;align-items:center;gap:12px;padding:8px 9px 8px 16px;display:flex}@supports (color:color-mix(in lab,red,red)){.class-name-summary{background:color-mix(in srgb,var(--color-surface) 78%,transparent)}}.class-name-summary{box-shadow:0 8px 22px var(--color-popover-shadow)}@supports (color:color-mix(in lab,red,red)){.class-name-summary{box-shadow:0 8px 22px color-mix(in srgb,var(--color-popover-shadow) 8%,transparent)}}.class-name-summary strong{color:var(--ink);font-size:var(--font-size-14px)}.class-name-summary span{background:var(--imoca-red);color:var(--color-text-inverse);font-size:var(--font-size-11px);font-weight:var(--font-weight-black);border-radius:999px;padding:6px 11px}.class-name-grid{gap:13px;display:grid}.class-name-grid article{--card-accent:var(--imoca-red);border:1px solid var(--line);background:linear-gradient(135deg,var(--card-accent),var(--color-surface) 58%);border-radius:15px;min-width:0;min-height:108px;padding:15px 13px 12px 17px;display:block;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.class-name-grid article{background:linear-gradient(135deg,color-mix(in srgb,var(--card-accent) 7%,var(--color-surface)),var(--color-surface) 58%)}}.class-name-grid article{box-shadow:0 9px 24px var(--color-popover-shadow)}@supports (color:color-mix(in lab,red,red)){.class-name-grid article{box-shadow:0 9px 24px color-mix(in srgb,var(--color-popover-shadow) 9%,transparent)}}.class-name-grid article:before{content:"";background:var(--card-accent);width:5px;position:absolute;inset:0 auto 0 0}.class-name-grid article:nth-child(4n+2){--card-accent:var(--color-names-orange)}.class-name-grid article:nth-child(4n+3){--card-accent:var(--color-names-teal)}.class-name-grid article:nth-child(4n){--card-accent:var(--color-names-violet)}.card-number{z-index:2;color:var(--card-accent);position:absolute;top:8px;right:10px}@supports (color:color-mix(in lab,red,red)){.card-number{color:color-mix(in srgb,var(--card-accent) 55%,var(--color-text-inverse))}}.card-number{font-size:var(--font-size-10px);font-weight:var(--font-weight-black);letter-spacing:.08em}.card-hanzi{color:var(--card-accent);position:absolute;bottom:-13px;right:7px}@supports (color:color-mix(in lab,red,red)){.card-hanzi{color:color-mix(in srgb,var(--card-accent) 8%,transparent)}}.card-hanzi{font-family:var(--font-family-hanzi-serif-fallback);font-size:var(--font-size-54px);font-weight:var(--font-weight-black);line-height:var(--line-height-1);white-space:nowrap;pointer-events:none}.card-content{z-index:1;gap:8px;width:100%;min-width:0;display:grid;position:relative}.card-content strong{color:var(--card-accent);font-size:var(--font-size-23px);line-height:var(--line-height-1_12);white-space:normal;display:block}.card-content strong.long{font-size:var(--font-size-20px)}.card-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.card-content small{min-width:0;color:var(--muted);font-size:var(--font-size-12px);font-weight:var(--font-weight-heavy);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hanzi-pill{border:1px solid var(--card-accent);flex:none;min-width:34px;padding:6px 7px}@supports (color:color-mix(in lab,red,red)){.hanzi-pill{border:1px solid color-mix(in srgb,var(--card-accent) 20%,var(--color-border-inverse))}}.hanzi-pill{background:var(--color-surface);border-radius:9px}@supports (color:color-mix(in lab,red,red)){.hanzi-pill{background:color-mix(in srgb,var(--color-surface) 82%,transparent)}}.hanzi-pill{color:var(--ink);font-family:var(--font-family-hanzi-serif-fallback);font-size:var(--font-size-16px);font-weight:var(--font-weight-extrabold);text-align:center}.class-name-grid.compact{gap:9px}.class-name-grid.compact article{min-height:88px;padding:11px 10px 9px 14px}.class-name-grid.compact .card-content strong{font-size:var(--font-size-18px)}.class-name-grid.compact .card-content strong.long{font-size:var(--font-size-16px)}.class-name-grid.compact .hanzi-pill{min-width:29px;font-size:var(--font-size-14px);padding:5px}.class-name-grid article.missing{--card-accent:var(--color-names-empty);border-style:dashed}.class-name-grid article.missing .card-content strong{color:var(--muted);font-size:var(--font-size-13px)}.class-name-state{border:1px dashed var(--line);background:var(--color-surface);border-radius:18px;place-items:center;min-height:360px;display:grid}@supports (color:color-mix(in lab,red,red)){.class-name-state{background:color-mix(in srgb,var(--color-surface) 60%,transparent)}}.class-name-state{color:var(--muted);font-size:var(--font-size-20px);font-weight:var(--font-weight-bold)}.class-name-state.error{color:var(--imoca-red)}.chart-zoom-controls{font-size:var(--font-size-14px);flex-wrap:wrap;align-items:center;gap:10px;padding:0 8px 14px;display:flex}.chart-zoom-controls output{text-align:center;font-variant-numeric:tabular-nums;min-width:48px;font-weight:var(--font-weight-semibold)}.chart-zoom-controls .cr-button{min-height:34px}.chart-zoom-hint{color:var(--color-video-caption);font-size:var(--font-size-12px);margin-left:auto}.cr-chart .chart-scroll{overscroll-behavior:contain;min-height:0}.cr-dialog.pronunciation-video-library{border-radius:16px;width:min(960px,100%);height:auto;max-height:calc(100dvh - 32px)}.pronunciation-video-library .cr-dialog-header{padding:24px 66px 20px 24px}.pronunciation-video-library .cr-dialog-title{font-size:var(--font-size-24px);font-weight:var(--font-weight-bold)}.pronunciation-video-library .cr-description{color:var(--color-video-caption);font-size:var(--font-size-14px);margin:6px 0 0}.pronunciation-video-library .cr-dialog-body{padding:0 24px 24px}.pronunciation-video-library .cr-video-list ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;display:grid}.pronunciation-video-library .vp-item{border:1px solid var(--color-video-border);background:var(--color-surface);text-align:left;width:100%;height:100%;color:var(--color-video-text);cursor:pointer;border-radius:12px;flex-direction:column;align-items:stretch;gap:0;padding:0;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.pronunciation-video-library .vp-item:hover{border-color:var(--color-video-accent);background:var(--color-surface);box-shadow:0 4px 14px var(--color-video-shadow)}.pronunciation-video-library .vp-item:focus-visible{outline:2px solid var(--color-video-accent);outline-offset:3px}.pronunciation-video-library .vp-thumb{aspect-ratio:16/9;background:var(--color-video-player);border-radius:0;flex:none;width:100%;height:auto;display:block;position:relative;overflow:hidden}.pronunciation-video-library .vp-thumb img{object-fit:contain;width:100%;height:100%;display:block}.pronunciation-video-library .vp-play{background:var(--color-video-mask);width:40px;height:40px;color:var(--color-text-inverse);font-size:var(--font-size-16px);opacity:1;border-radius:50%;place-items:center;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.pronunciation-video-library .vp-item:hover .vp-play{background:var(--color-video-accent)}.pronunciation-video-library .vp-caption{flex-direction:column;gap:4px;padding:12px 14px 14px;display:flex}.pronunciation-video-library .vp-index{font-size:var(--font-size-10px);font-weight:var(--font-weight-bold);letter-spacing:.1em;color:var(--color-video-muted)}.pronunciation-video-library .vp-title{font-size:var(--font-size-16px);font-weight:var(--font-weight-semibold);line-height:var(--line-height-1_4)}.pronunciation-video-library .vp-item:disabled{opacity:.5;cursor:not-allowed}@media(max-width:700px){.pronunciation-video-library .cr-video-list ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}@media(max-width:420px){.pronunciation-video-library .cr-video-list ul{grid-template-columns:1fr}}.cd-stage{flex:1;min-height:0;position:relative}.cd-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.cd-status{z-index:1;color:var(--color-board-muted);font-size:var(--font-size-16px);place-items:center;display:grid;position:absolute;top:0;right:0;bottom:0;left:0}.cd-status.error{color:var(--color-answer-wrong-text)}.classroom-range-slider{padding-inline:22px}.classroom-range-root{-webkit-user-select:none;user-select:none;touch-action:none;align-items:center;height:48px;display:flex;position:relative}.classroom-range-track{background:var(--line,var(--color-border-study-neutral));border-radius:999px;width:100%;height:6px;position:relative}.classroom-range-selection{border-radius:inherit;background:var(--imoca-red,var(--color-brand-primary));height:100%;position:absolute}.classroom-range-tick{background:var(--muted,var(--color-neutral-muted));pointer-events:none;width:1px;height:6px;position:absolute;top:8px}.classroom-range-thumb{box-sizing:border-box;border:8px solid var(--color-surface,var(--color-surface));background:var(--imoca-red,var(--color-brand-primary));width:44px;height:44px;box-shadow:0 1px 5px var(--color-range-shadow);cursor:grab;border-radius:50%;padding:0;display:block;position:absolute;transform:translate(-50%)}.classroom-range-thumb:focus-visible{outline:3px solid var(--imoca-red,var(--color-brand-primary));outline-offset:2px;z-index:1}.classroom-range-root[data-disabled]{opacity:.45}.classroom-range-thumb:disabled{cursor:not-allowed}.cg-dialog{--cg-body:16px;--cg-caption:14px;--cg-name:clamp(24px, 2vw, 40px);--cg-heading:20px;--cg-ink:var(--color-text-primary,var(--color-text-primary));--cg-muted:var(--color-text-muted,var(--color-text-muted));--cg-line:var(--color-border-study,var(--color-border-study));--cg-paper:var(--color-surface,var(--color-surface));--cg-stage:var(--color-surface-study,var(--color-surface-study));--cg-accent:var(--color-brand-primary,var(--color-brand-primary));--cg-soft:var(--color-selection-soft,var(--color-selection-soft));color:var(--cg-ink);background:var(--cg-stage)}.cg-dialog *,.cg-dialog :before,.cg-dialog :after{box-sizing:border-box}.cg-dialog .cr-dialog-header{border-bottom:1px solid var(--cg-line);background:var(--cg-paper);gap:16px;min-height:64px;padding:10px 68px 10px 20px}.cg-dialog .cr-dialog-header>div:first-child{flex:none}.cg-dialog .cr-dialog-title{font-size:var(--font-size-16px);font-weight:var(--font-weight-bold);white-space:nowrap}.cg-dialog .cr-close{color:var(--cg-muted);padding:0;top:12px;right:12px}.cg-navigation{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.cg-nav-tab{min-height:44px;color:var(--cg-muted);font:inherit;font-size:var(--font-size-15px);font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:6px;padding:8px 10px;display:inline-flex}.cg-nav-tab:hover{background:var(--cg-stage)}.cg-nav-tab[data-state=active]{background:var(--cg-soft);color:var(--cg-accent)}.cg-nav-icon{flex:none;width:20px;height:20px}.cg-class-context{font-size:var(--font-size-13px);color:var(--cg-muted);flex:none;gap:2px;display:grid}.cg-class-context strong{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-weight:var(--font-weight-semibold);color:var(--cg-ink);overflow:hidden}.cg-dialog .cg-help-button{width:44px;color:var(--cg-muted);border:0;flex:none;padding:0}.cg-dialog .cg-dialog-body{padding:0;display:flex;overflow:hidden}.cg-workspace[data-state=active]{outline:none;width:100%;min-width:0;height:100%;min-height:0;display:flex}.cg-content{flex:1;min-width:0;min-height:0;display:flex}.cg-game{flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;display:flex}.cg-dialog .cr-button{min-height:44px;font-size:var(--font-size-15px);font-weight:var(--font-weight-semibold);border-radius:8px;padding:8px 14px}.cg-dialog .cr-close{min-height:40px;padding:0}.cg-dialog .cr-button[data-primary]{min-width:130px}.cg-dialog .cr-button[data-primary]:hover:not(:disabled){background:var(--color-brand-hover,var(--color-brand-hover))}.cg-dialog .cr-choices{gap:4px}.cg-dialog .cr-choices .cr-button{min-width:44px;font-size:var(--font-size-14px);padding:8px 10px}.cg-controls{border-top:1px solid var(--cg-line);background:var(--cg-paper);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:8px 20px;min-height:64px;padding:10px 20px;display:flex}.cg-settings{min-width:0;color:var(--cg-muted);font-size:var(--font-size-14px);flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.cg-setting{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cg-settings label{align-items:center;gap:8px;display:flex}.cg-actions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.cg-turn-status{color:var(--cg-muted);font-size:var(--font-size-14px)}.cg-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.cg-fit-box{place-items:center;width:100%;min-width:0;height:100%;min-height:0;display:grid}.cg-fit-box [data-fit-text]{overflow-wrap:anywhere;width:100%;min-width:0;line-height:var(--line-height-1_3);display:block}.cg-bomb-grid,.cg-track-list,.cg-teams-grid{gap:var(--cg-fit-gap);padding:var(--cg-fit-padding);flex:1;min-width:0;min-height:0;display:grid;overflow:clip}.cg-bomb-card{border:1px solid var(--cg-line);background:var(--cg-paper);text-align:center;border-radius:12px;min-width:0;min-height:0;position:relative}.cg-bomb-name{width:88%;height:60%;font-size:var(--cg-fit-font);font-weight:var(--font-weight-demibold);position:absolute;top:20%;right:6%;bottom:20%;left:6%}.cg-bomb-indicator{width:100%;font-size:var(--cg-fit-icon);line-height:var(--line-height-1);position:absolute;top:2%;left:0}.cg-bomb-card-status{width:96%;font-size:var(--cg-fit-caption);line-height:var(--line-height-1_2);color:var(--cg-muted);position:absolute;bottom:4%;left:2%}.cg-bomb-card.spent{background:var(--cg-paper)}@supports (color:color-mix(in lab,red,red)){.cg-bomb-card.spent{background:color-mix(in srgb,var(--cg-paper) 65%,var(--cg-line))}}.cg-bomb-card.spent{color:var(--cg-muted)}.cg-bomb-card.holder,.cg-bomb-card.victim{border-color:var(--cg-accent);background:var(--cg-soft);box-shadow:inset 0 0 0 2px var(--cg-accent)}.cg-bomb-card.victim .cg-bomb-name,.cg-bomb-card.victim .cg-bomb-card-status{color:var(--cg-accent)}.cg-bomb-card.holder .cg-bomb-indicator{animation:.28s infinite cg-bomb-shake}@keyframes cg-bomb-shake{0%,to{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}.cg-wheel-stage{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:24px;min-width:0;min-height:0;padding:20px;display:grid;overflow:clip;container-type:size}.cg-wheel-wrap{aspect-ratio:1;justify-self:center;width:min(100%,100cqh,900px);position:relative;overflow:clip}.cg-wheel-pointer{z-index:2;border-left:12px solid #0000;border-right:12px solid #0000;border-top:24px solid var(--cg-ink);position:absolute;top:0;left:50%;transform:translate(-50%)}.cg-wheel{width:100%;height:100%;display:block}.cg-wheel.spinning{transition:transform 5s cubic-bezier(.12,.68,.08,1)}.cg-wheel text{paint-order:stroke;stroke:var(--cg-ink)}@supports (color:color-mix(in lab,red,red)){.cg-wheel text{stroke:color-mix(in srgb,var(--cg-ink) 24%,transparent)}}.cg-wheel text{stroke-width:1px}.cg-side-panel{flex-direction:column;justify-content:center;gap:16px;min-width:0;height:100%;min-height:0;display:flex}.cg-result-card{text-align:center;overflow-wrap:anywhere;flex:1;place-items:center;min-width:0;min-height:0;display:grid}.cg-selected-result{grid-template-rows:auto minmax(0,1fr);gap:14px;width:100%;height:75%;min-height:0;display:grid}.cg-result-card small{font-size:var(--font-size-14px);font-weight:var(--font-weight-semibold);letter-spacing:.06em;color:var(--cg-muted)}.cg-result-card strong{font-size:var(--type-game-result-size);color:var(--cg-accent);line-height:var(--line-height-1_2)}.cg-result-card>span{color:var(--cg-muted);font-size:var(--font-size-18px)}.cg-history{height:20%;font-size:var(--font-size-14px);color:var(--cg-muted);text-align:center;flex:none;margin:0}.cg-versus-stage{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:center;gap:24px;min-height:0;padding:24px;display:grid;overflow:clip}.cg-fighter{background:var(--cg-paper);text-align:center;border-top:4px solid;border-radius:12px;grid-template-rows:auto minmax(0,1fr);justify-items:center;gap:16px;width:100%;min-width:0;height:80%;min-height:0;padding:20px;display:grid}.cg-fighter.blue{border-top-color:var(--color-speaker-2-accent,var(--color-speaker-2-accent))}.cg-fighter.red{border-top-color:var(--cg-accent)}.cg-fighter small{color:var(--cg-muted);font-size:var(--font-size-14px);letter-spacing:.06em}.cg-fighter strong{font-size:var(--type-game-fighter-size)}.cg-vs{background:var(--cg-ink);width:64px;height:64px;color:var(--cg-paper);font-size:var(--font-size-20px);border-radius:50%;place-items:center;display:grid}.cg-match-history{font-size:var(--font-size-14px);position:relative}.cg-match-history summary{cursor:pointer;padding:12px 0}.cg-match-history ol{z-index:3;border:1px solid var(--cg-line);background:var(--cg-paper);width:min(420px,100vw - 40px);max-height:280px;line-height:var(--line-height-1_8);border-radius:10px;margin:0;padding:16px 20px 16px 36px;position:absolute;bottom:100%;left:0;overflow:auto}.cg-match-history b{color:var(--cg-accent)}.cg-track-row{border-radius:8px;grid-template-columns:minmax(0,24%) minmax(0,1fr);align-items:center;gap:2%;min-width:0;min-height:0;padding:0 1%;display:grid}.cg-track-row>strong{font-size:var(--cg-fit-font);font-weight:var(--font-weight-demibold)}.cg-track-row.spent>strong{color:var(--cg-muted)}.cg-track-row.spent .cg-duck{opacity:.45}.cg-track-row.winner .cg-duck{opacity:1}.cg-track-row.winner{background:var(--cg-soft)}.cg-track-row.winner>strong{color:var(--cg-accent)}.cg-lane{height:var(--cg-fit-lane);background:var(--cg-paper);border-bottom:1px solid var(--cg-line);border-radius:8px;min-height:0;position:relative;overflow:clip}.cg-finish{background:conic-gradient(var(--cg-ink) 25%,var(--cg-paper) 0 50%,var(--cg-ink) 0 75%,var(--cg-paper) 0);background-size:8px 8px;width:8px;position:absolute;top:0;bottom:0;right:3.5%}.cg-duck{width:var(--cg-fit-duck);height:var(--cg-fit-duck);font-size:var(--type-game-duck-size);border-radius:50%;place-items:center;transition:left 80ms linear;display:grid;position:absolute;top:50%}.cg-duck-runner{width:100%;height:0;transform:translate3d(clamp(calc(var(--cg-fit-duck) / 2 + 2px),2%,calc(100% - var(--cg-fit-duck) / 2 - 2px)),0,0);position:absolute;top:50%;left:0}.cg-duck-runner>.cg-duck{transition:none;top:0;left:0;transform:translate(-50%,-50%)}.cg-race-game[data-racing] .cg-duck-runner{will-change:transform}.cg-teams-grid section{border:1px solid;border-radius:10px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:clip}.cg-teams-grid header{height:min(48px,16%);color:var(--cg-paper);flex:none;justify-content:space-between;align-items:center;gap:2%;padding:1% 4%;display:flex}.cg-teams-grid header strong{font-size:var(--cg-fit-team-heading)}.cg-teams-grid header span{font-size:var(--type-game-team-caption-size)}.cg-teams-grid ol{flex:1;min-height:0;margin:0;padding:2% 4%;list-style:none;display:grid}.cg-teams-grid li{min-width:0;min-height:0;font-size:var(--cg-fit-font);font-weight:var(--font-weight-demibold);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3%;display:grid}.cg-team-number{font-size:var(--font-size-0_7em);color:var(--cg-muted)}.cg-empty{min-height:0;color:var(--cg-muted);font-size:var(--font-size-18px);text-align:center;flex:1;place-items:center;padding:24px;display:grid}.cg-empty strong{font-size:var(--font-size-24px);color:var(--cg-ink)}.cg-empty p{margin:12px 0}.cg-empty.big{align-content:center;gap:16px}.cg-empty.big span{font-size:var(--font-size-40px)}.cg-load-error{color:var(--color-error-text,var(--color-error-text))}@media(max-width:1200px){.cg-dialog .cr-dialog-header{flex-wrap:wrap;gap:4px 16px}.cg-navigation{flex-basis:100%;order:5;overflow-x:auto}.cg-class-context{gap:10px;margin-left:auto;display:flex}.cg-nav-tab{flex:1}.cg-controls{gap:8px 12px}}@media(max-width:760px){.cg-dialog{--cg-name:22px}.cg-dialog .cr-dialog-header{padding:8px 56px 4px 12px}.cg-dialog .cr-dialog-title{font-size:var(--font-size-14px)}.cg-dialog .cr-close{top:8px;right:6px}.cg-class-context{font-size:var(--font-size-11px);gap:0;display:grid}.cg-class-context strong{max-width:100px}.cg-dialog .cg-help-button{width:32px;min-width:32px}.cg-navigation{margin-right:-44px;overflow:visible}.cg-nav-tab{min-width:0;font-size:var(--font-size-11px);white-space:normal;flex-direction:column;flex:1;gap:3px;padding:6px 2px}.cg-nav-icon{width:18px;height:18px}.cg-controls{padding:8px 12px}.cg-settings{flex-basis:100%;gap:8px 12px}.cg-setting{gap:6px}.cg-actions{margin-left:auto}.cg-turn-status{font-size:var(--font-size-12px)}.cg-wheel-stage{grid-template-rows:minmax(0,1.2fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:8px;padding:12px}.cg-wheel-wrap{width:min(100%,52cqh)}.cg-side-panel{gap:8px}.cg-result-card strong{font-size:var(--font-size-30px)}.cg-result-card>span{font-size:var(--font-size-16px)}.cg-history{font-size:var(--font-size-12px)}.cg-track-row{grid-template-columns:minmax(0,36%) minmax(0,1fr)}.cg-versus-stage{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:8px;padding:12px}.cg-fighter{gap:8px;padding:8px}.cg-fighter strong{font-size:var(--font-size-24px)}.cg-fighter small{font-size:var(--font-size-10px)}.cg-vs{width:32px;height:32px;font-size:var(--font-size-12px)}.cg-match-history ol{left:auto;right:0}}@media(prefers-reduced-motion:reduce){.cg-bomb-card.holder .cg-bomb-indicator{animation:none}}@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}.cr-shadcn-overlay{z-index:10001;-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--color-dialog-backdrop)}.cr-shadcn-dialog{z-index:10001;--tw-translate-x: -50% ;--tw-translate-y: -50% ;max-width:none;translate:var(--tw-translate-x) var(--tw-translate-y);gap:0;width:min(1180px,100vw - 32px);height:min(780px,100dvh - 32px);max-height:calc(100dvh - 32px);padding:0;position:fixed;top:50%;left:50%}.cr-shadcn-dialog[data-size=compact]{width:min(450px,100vw - 32px);height:auto}.cr-shadcn-dialog[data-size=full]{width:100vw;height:100dvh;max-height:100dvh}.cr-shadcn-dialog[data-closed],.cr-shadcn-overlay[data-closed]{pointer-events:none}[data-classroom-dialog-slot]{display:contents}.cr-dialog-footer:has(>[data-classroom-dialog-slot=footer]:empty){display:none}.cr-shadcn-dialog.ca-dialog{height:min(720px,100dvh - 32px)}.cr-shadcn-dialog.challenge-dialog-setup{height:min(780px,100dvh - 32px)}.cr-shadcn-dialog .cr-dialog-body:has(>[data-classroom-loading=fill]),.tt-lesson-picker-list:has(>[data-classroom-loading]){flex-direction:column;display:flex}.cr-floating-positioner{z-index:10002}.cr-input:focus-visible{--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)}:is(.slide-chrome .cr-tool-button,.page-pill .pp-nav,.zoom-pill button):focus{outline:none}:is(.slide-chrome .cr-tool-button,.page-pill .pp-nav,.zoom-pill button):focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.cr-floating-positioner>:is(.cr-popover,.cr-tooltip){margin:0;position:relative}.cr-popover[data-classroom-remote-root=pinyin-tone]{width:min(640px,100vw - 24px);padding:20px}.cr-popover[data-classroom-remote-root=pinyin-tone] .ct-syllable{font-size:calc(var(--font-size-30px) * 1.2)}.cr-popover[data-classroom-remote-root=pinyin-tone] .ct-buttons b{font-size:var(--font-size-30px)}:is(.review-chart,.syllable-grid) button:disabled{pointer-events:none;opacity:1}.cr-tooltip [data-slot=tooltip-arrow]{display:none}.cr-tooltip{pointer-events:none;box-sizing:border-box;border-radius:var(--radius-lg);padding-inline:14px;padding-block:calc(var(--spacing) * 2);background:var(--color-remote-ink);max-width:min(480px,100vw - 24px);color:var(--color-text-inverse);font:var(--font-weight-semibold) var(--font-size-18px)/var(--line-height-1_4) var(--font-family-ui);overflow-wrap:anywhere}.cr-tooltip-study{font-size:var(--type-pinyin-tooltip-size);font-family:var(--font-family-pinyin)}.cr-combobox-content{width:var(--anchor-width);min-width:var(--anchor-width);max-width:var(--available-width)}.cr-combobox-list{max-height:280px;padding:0}.cr-combobox-trigger svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);margin:auto}.cr-tabs:not(.tt-reading-columns,.review-focus){gap:0}.cr-tabs-list{background-color:#0000;border-radius:0;justify-content:flex-start;width:auto;height:auto;padding:0}.cr-tabs-trigger{border-radius:0;flex:none;height:auto}.cr-tabs-trigger:after{display:none}.cr-tabs-trigger[data-active]{background-color:#0000}.cr-tabs-panel{font-size:inherit}.cr-choices{border-radius:0;align-items:stretch;width:auto}.cr-choices>[data-slot=radio-group-item]{aspect-ratio:auto}.cr-choices>.cr-button{font:inherit;flex-shrink:1;width:auto;height:auto}.cr-choices>.cr-button:after,.cr-checkbox:after{display:none}.classroom-range-thumb[data-slot=slider-thumb]{box-shadow:0 1px 5px var(--color-range-shadow);transform:none}.classroom-range-thumb[data-disabled]{cursor:not-allowed}[data-slot=table]{font-size:inherit}[data-slot=table-row]:hover{background-color:#0000}.cg-navigation[data-slot=tabs-list]{background-color:#0000;height:auto;padding:0}.cg-nav-tab:after{display:none}.cg-workspace[data-slot=tabs-content],.tt-reading-tab-panel{font-size:inherit}.tt-describe-duration .cr-select-trigger{height:auto;min-height:calc(var(--spacing) * 12);width:100%;min-width:0;font-size:var(--font-size-18px);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);border:1px solid var(--tt-line);background:var(--color-surface);border-radius:8px}.cr-select-content{background:var(--color-surface);color:var(--color-writing-ink);border:1px solid var(--tt-line);font-size:var(--font-size-16px);font-family:var(--font-family-ui);line-height:var(--line-height-1_5);font-weight:400}.cr-select-content [data-slot=select-item]{min-height:calc(var(--spacing) * 11);padding-block:calc(var(--spacing) * 2.5);padding-right:calc(var(--spacing) * 8);padding-left:calc(var(--spacing) * 3)}.cr-select-content [data-slot=select-item][data-highlighted]{background:var(--imoca-red-tint)}@media(max-width:700px){.cr-shadcn-dialog{width:min(1180px,100vw - 12px);height:min(780px,100dvh - 12px);max-height:calc(100dvh - 12px)}.cr-shadcn-dialog[data-size=compact]{width:min(450px,100vw - 12px)}.cr-shadcn-dialog[data-size=full]{max-height:100dvh}}.pronunciation-slide.imoca-zoom-canvas:has(>.video-frame:only-child),.pronunciation-slide.imoca-zoom-canvas:has(>.radical-lesson){padding-top:calc(42px + var(--slide-title-offset))}.pronunciation-slide.imoca-zoom-canvas:has(>.video-frame:only-child){justify-content:center;align-items:center;padding-bottom:76px;display:flex}.pronunciation-slide.imoca-zoom-canvas>.video-frame:only-child{flex:none;width:auto;max-width:100%;height:100%;margin:0}.pronunciation-slide.imoca-zoom-canvas:has(>.radical-lesson){flex-direction:column;display:flex}.pronunciation-slide .radical-lesson{flex-direction:column;flex:1;min-height:0;margin:0;display:flex}.pronunciation-slide .radical-lesson-title{flex:none}.pronunciation-slide :is(.radical-grid-panel,.radical-state){flex:1;height:auto;min-height:0}.pronunciation-slide .radical-grid-panel{grid-auto-rows:max-content;align-content:start}.slidev-layout.tt-slide[data-kind=review]{--slide-background:var(--color-review-background);--line:var(--color-review-border);--chrome-divider:var(--color-review-border)}.tt-slide[data-kind=review] :is(.tt-reading-panel,.tt-grammar){border-top-color:var(--color-review-accent)}.tt-slide[data-kind=review] .tt-panel-heading{background:var(--color-review-background)}@supports (color:color-mix(in lab,red,red)){.tt-slide[data-kind=review] .tt-panel-heading{background:color-mix(in srgb,var(--color-review-background) 35%,var(--color-surface))}}.tt-slide[data-kind=review] .tt-panel-heading{border-radius:calc(var(--tt-panel-radius) - 1px) calc(var(--tt-panel-radius) - 1px) 0 0}.tt-slide[data-kind=review] .cr-tabs-trigger[data-state=active]{border-bottom-color:var(--color-review-accent);color:var(--color-review-accent)}.tt-slide[data-kind=review] .cr-tabs-trigger:hover:not(:disabled),.tt-slide[data-kind=review] .tt-grammar .tt-panel-heading h2:before,.classroom-header-frame[data-slide-kind=review] .slide-chrome-title{color:var(--color-review-accent)}.classroom-slide-ink{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.classroom-slide-ink [data-ink-stroke]{fill:none;stroke:var(--color-drawing-red);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.classroom-ink-iframe{fill:#0000;pointer-events:all}.classroom-slide[data-slide-ink-mode] .imoca-zoom-viewport{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair}.classroom-slide[data-slide-ink-mode] .imoca-zoom-canvas *{cursor:inherit}@layer base{*,:before,:after{box-sizing:border-box;border-style:solid;border-width:0}html,body,#root{width:100%;height:100%;margin:0}body{background:#000;font-family:Avenir Next,Nunito Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit;line-height:inherit;color:inherit;padding:0}button{cursor:pointer;background:0 0}button:disabled{cursor:default}h1,h2,h3,h4,h5,h6,p,ul,ol{margin:0}ol,ul{padding:0;list-style:none}strong,b{font-weight:600}img,svg,video,canvas{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}table{border-collapse:collapse}[hidden]{display:none!important}}.slidev-layout{width:100%;height:100%}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{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-content{syntax:"*";inherits:false;initial-value:""}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@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))}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight: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-content:"";--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-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}}}
