

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-hand:"LXGW WenKai","LXGW WenKai Lite","Kaiti SC","STKaiti",serif;--font-ui:"Host Grotesk",-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue","Microsoft YaHei",sans-serif}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.-top-2\.5{top:calc(var(--spacing) * -2.5)}.-top-3{top:calc(var(--spacing) * -3)}.top-0{top:0}.top-1\/2{top:50%}.top-9{top:calc(var(--spacing) * 9)}.right-0{right:0}.right-3{right:calc(var(--spacing) * 3)}.bottom-0{bottom:0}.bottom-24{bottom:calc(var(--spacing) * 24)}.left-1\/2{left:50%}.left-3\.5{left:calc(var(--spacing) * 3.5)}.left-6{left:calc(var(--spacing) * 6)}.left-8{left:calc(var(--spacing) * 8)}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[70\]{z-index:70}.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:var(--spacing)}.mx-auto{margin-inline:auto}.my-5{margin-block:calc(var(--spacing) * 5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-1{margin-right:var(--spacing)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-\[72px\]{width:72px;height:72px}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-14{height:calc(var(--spacing) * 14)}.h-20{height:calc(var(--spacing) * 20)}.h-40{height:calc(var(--spacing) * 40)}.h-full{height:100%}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-dvh{min-height:100dvh}.min-h-full{min-height:100%}.w-12{width:calc(var(--spacing) * 12)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-36{width:calc(var(--spacing) * 36)}.w-48{width:calc(var(--spacing) * 48)}.w-\[3px\]{width:3px}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[86vw\]{max-width:86vw}.max-w-\[460px\]{max-width:460px}.max-w-\[620px\]{max-width:620px}.max-w-\[680px\]{max-width:680px}.max-w-\[900px\]{max-width:900px}.max-w-\[1180px\]{max-width:1180px}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-\[120px\]{min-width:120px}.min-w-\[260px\]{min-width:260px}.flex-1{flex:1}.flex-\[1\.4\]{flex:1.4}.flex-\[1\.6\]{flex:1.6}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1)}.-translate-x-1\/2,.-translate-y-1\/2{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1)}.-rotate-2{rotate:-2deg}.-rotate-3{rotate:-3deg}.rotate-2{rotate:2deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.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-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-\[3px\]{gap:3px}.gap-px{gap:1px}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-line>:not(:last-child)){border-color:var(--line)}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-card{border-radius:20px}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-full{border-top-left-radius:3.40282e+38px;border-bottom-left-radius:3.40282e+38px}.rounded-r-full{border-top-right-radius:3.40282e+38px;border-bottom-right-radius:3.40282e+38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#91ad98\]{border-color:#91ad98}.border-\[\#d9b769\]{border-color:#d9b769}.border-\[\#d99a9a\]{border-color:#d99a9a}.border-coral-action{border-color:var(--coral-action)}.border-coral-soft{border-color:var(--coral-soft)}.border-coral\/50{border-color:var(--coral)}@supports (color:color-mix(in lab,red,red)){.border-coral\/50{border-color:color-mix(in oklab,var(--coral) 50%,transparent)}}.border-error-ink{border-color:var(--error-ink)}.border-line{border-color:var(--line)}.border-mint-deep{border-color:var(--mint-deep)}.border-sky-deep\/40{border-color:var(--sky-deep)}@supports (color:color-mix(in lab,red,red)){.border-sky-deep\/40{border-color:color-mix(in oklab,var(--sky-deep) 40%,transparent)}}.border-transparent{border-color:#0000}.bg-\[\#fff0f0\]{background-color:#fff0f0}.bg-\[\#fff6dd\]{background-color:#fff6dd}.bg-coral{background-color:var(--coral)}.bg-coral-action{background-color:var(--coral-action)}.bg-coral-soft,.bg-coral-soft\/40{background-color:var(--coral-soft)}@supports (color:color-mix(in lab,red,red)){.bg-coral-soft\/40{background-color:color-mix(in oklab,var(--coral-soft) 40%,transparent)}}.bg-coral-soft\/60{background-color:var(--coral-soft)}@supports (color:color-mix(in lab,red,red)){.bg-coral-soft\/60{background-color:color-mix(in oklab,var(--coral-soft) 60%,transparent)}}.bg-error-ink{background-color:var(--error-ink)}.bg-ink,.bg-ink\/30{background-color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.bg-ink\/30{background-color:color-mix(in oklab,var(--ink) 30%,transparent)}}.bg-line{background-color:var(--line)}.bg-mint{background-color:var(--mint)}.bg-mint-deep{background-color:var(--mint-deep)}.bg-mint\/80{background-color:var(--mint)}@supports (color:color-mix(in lab,red,red)){.bg-mint\/80{background-color:color-mix(in oklab,var(--mint) 80%,transparent)}}.bg-paper,.bg-paper\/60{background-color:var(--paper)}@supports (color:color-mix(in lab,red,red)){.bg-paper\/60{background-color:color-mix(in oklab,var(--paper) 60%,transparent)}}.bg-paper\/95{background-color:var(--paper)}@supports (color:color-mix(in lab,red,red)){.bg-paper\/95{background-color:color-mix(in oklab,var(--paper) 95%,transparent)}}.bg-paper\/97{background-color:var(--paper)}@supports (color:color-mix(in lab,red,red)){.bg-paper\/97{background-color:color-mix(in oklab,var(--paper) 97%,transparent)}}.bg-sky{background-color:var(--sky)}.bg-surface,.bg-surface\/60{background-color:var(--surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface\/60{background-color:color-mix(in oklab,var(--surface) 60%,transparent)}}.bg-white\/60{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.bg-white\/60{background-color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.bg-yellow,.bg-yellow\/70{background-color:var(--yellow)}@supports (color:color-mix(in lab,red,red)){.bg-yellow\/70{background-color:color-mix(in oklab,var(--yellow) 70%,transparent)}}.bg-yellow\/80{background-color:var(--yellow)}@supports (color:color-mix(in lab,red,red)){.bg-yellow\/80{background-color:color-mix(in oklab,var(--yellow) 80%,transparent)}}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-28{padding-bottom:calc(var(--spacing) * 28)}.pb-32{padding-bottom:calc(var(--spacing) * 32)}.pb-56{padding-bottom:calc(var(--spacing) * 56)}.pl-11{padding-left:calc(var(--spacing) * 11)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-hand{font-family:LXGW WenKai,LXGW WenKai Lite,Kaiti SC,STKaiti,serif}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[19px\]{font-size:19px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[26px\]{font-size:26px}.text-\[30px\]{font-size:30px}.text-\[42px\]{font-size:42px}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-\[44px\]{--tw-leading:44px;line-height:44px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#715719\]{color:#715719}.text-coral{color:var(--coral)}.text-coral-action{color:var(--coral-action)}.text-error-ink{color:var(--error-ink)}.text-ink{color:var(--ink)}.text-ink-muted{color:var(--ink-muted)}.text-ink\/80{color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.text-ink\/80{color:color-mix(in oklab,var(--ink) 80%,transparent)}}.text-ink\/85{color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.text-ink\/85{color:color-mix(in oklab,var(--ink) 85%,transparent)}}.text-mint-deep{color:var(--mint-deep)}.text-paper{color:var(--paper)}.text-sky-deep{color:var(--sky-deep)}.text-success-ink{color:var(--success-ink)}.text-white{color:var(--color-white)}.text-yellow-deep{color:var(--yellow-deep)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-coral-action{accent-color:var(--coral-action)}.accent-mint-deep{accent-color:var(--mint-deep)}.shadow-float{--tw-shadow:var(--elev-2)}.shadow-float,.shadow-paper{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-paper{--tw-shadow:var(--elev-1)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-coral-action{--tw-ring-color:var(--coral-action)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.sepia{--tw-sepia:sepia(100%)}.filter,.sepia{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.marker\:hidden ::marker{display:none}.marker\:hidden::marker{display:none}.marker\:hidden ::-webkit-details-marker,.marker\:hidden::-webkit-details-marker{display:none}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:bg-paper:hover{background-color:var(--paper)}}.active\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:scale-\[0\.98\]:active{scale:.98}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:opacity-70:disabled{opacity:.7}@media (min-width:40rem){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.md\:bottom-8{bottom:calc(var(--spacing) * 8)}.md\:mt-6{margin-top:calc(var(--spacing) * 6)}.md\:grid{display:grid}.md\:max-w-md{max-width:var(--container-md)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:items-center{align-items:center}.md\:gap-3{gap:calc(var(--spacing) * 3)}:where(.md\:space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block:0}.md\:px-7{padding-inline:calc(var(--spacing) * 7)}.md\:py-6{padding-block:calc(var(--spacing) * 6)}.md\:pt-28{padding-top:calc(var(--spacing) * 28)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}@media (min-width:64rem){.lg\:hidden{display:none}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[250px_minmax\(0\,1fr\)\]{grid-template-columns:250px minmax(0,1fr)}}}.app-subpage,.guide-note .small.muted{font-size:16px}.app-subpage{font-weight:500}.practice-history li,.practice-summary dd span,.practice-summary dt{font-weight:600}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:99px;padding:12px 20px;position:fixed;top:8px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:none}.app-header{background:var(--paper);z-index:40}.header-inner{gap:36px;max-width:1248px;height:88px;margin:auto;padding:0 24px}.app-brand,.header-inner{align-items:center;display:flex}.app-brand{color:var(--ink);gap:10px;text-decoration:none}.brand-name{letter-spacing:2px;font-size:27px;font-weight:600}.brand-en{letter-spacing:1px;font-size:14px;font-weight:600;display:block}.brand-mark{background:var(--peach);width:40px;height:40px;color:var(--accent-deep);border-radius:13px;place-items:center;display:grid}.brand-mark svg{width:25px;height:25px}.app-desktop-nav{gap:28px;font-size:16px;font-weight:500;display:flex}.app-desktop-nav a{white-space:nowrap;padding:12px 0;position:relative}.app-desktop-nav a[aria-current]{color:var(--accent-deep)}.app-desktop-nav a[aria-current]:after{content:"";background:var(--accent);border-radius:3px;height:3px;position:absolute;bottom:2px;left:0;right:0}.header-actions{align-items:center;gap:20px;margin-left:auto;display:flex}.avatar{background:var(--peach);width:42px;height:42px;color:var(--accent-deep);border-radius:14px;place-items:center;font-size:18px;display:grid}.menu-toggle{display:none}.mobile-menu{background:var(--soft);border-radius:0 0 24px 24px;padding:8px 24px 20px}.mobile-menu a{border-radius:12px;padding:12px;display:block}.mobile-menu:not([hidden]){animation:menu-in .24s var(--ease) both}.bottom-nav{display:none}.page{max-width:1248px;margin:auto;padding:88px 24px 0;font-size:16px;font-weight:500}.page p{line-height:1.8}.page h2{font-size:26px;font-weight:500;line-height:1.5}.icon{flex-shrink:0;width:21px;height:21px}.btn{background:var(--accent);color:#fff;min-height:48px;transition:transform .22s var(--spring),background .18s,box-shadow .18s;white-space:nowrap;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;gap:10px;padding:12px 24px;font-size:16px;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex;box-shadow:0 3px #74243c24}.btn.inverse,.btn.secondary{color:var(--ink);border:1px solid var(--line);background:#fff;box-shadow:0 3px #74243c0d}.btn:active{box-shadow:none;transform:translateY(2px)scale(.98)}.btn:disabled,.btn:disabled:hover{background:var(--line);color:var(--ink);box-shadow:none;transform:none}.text-link{text-underline-offset:5px;color:var(--accent-deep);align-items:center;gap:8px;font-size:16px;font-weight:500;text-decoration:underline;display:inline-flex}.small{font-size:15px;font-weight:600}.muted{color:var(--ink-muted)}.num{font-variant-numeric:tabular-nums}.eyebrow{color:var(--ink);margin-bottom:14px;font-size:15px;font-weight:500}.hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:64px;padding:54px 0 52px;display:grid}.hero h1{letter-spacing:-1.5px;margin:0 0 18px;font-size:48px;font-weight:500;line-height:1.35}.hero h1 span{color:var(--accent-deep)}.hero-desc{font-size:16px;font-weight:500;line-height:1.9}.hero-actions{gap:14px;margin-top:26px;display:flex}.hero-stats{background:var(--soft);border-radius:28px;padding:32px;transform:rotate(1deg)}.hero-stats>*{transform:rotate(-1deg)}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;display:grid}.stats dt{margin-bottom:8px;font-size:15px;font-weight:600}.stats dd{align-items:baseline;gap:6px;margin:0;display:flex}.stats strong{font-size:44px;font-weight:500;line-height:1.15}.stats dd>span{font-size:15px;font-weight:600}.stats-caption{align-items:center;gap:10px;margin-top:24px;font-size:16px;display:flex}.stats-caption svg{color:var(--accent-deep)}.workspace{grid-template-columns:minmax(0,792px) minmax(0,360px);align-items:start;gap:48px;display:grid}.training-column{width:100%;min-width:0}.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.daily-card{background:var(--peach);border-radius:28px;padding:28px 32px;position:relative}.daily-top{justify-content:space-between;align-items:center;gap:12px;font-size:15px;font-weight:600;display:flex}.daily-state{white-space:nowrap;background:#fff;border-radius:99px;padding:4px 12px}.daily-heading{justify-content:space-between;align-items:center;gap:20px;margin-top:20px;display:flex}.daily-copy{min-width:0}.daily-heading h3{font-size:27px;font-weight:500;line-height:1.5}.daily-heading p{min-height:29px;margin-top:5px;font-size:16px}.tone-illustration{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:520px;margin:26px auto;display:grid}.tone-illustration>div{transform-origin:50% 90%;background:#fffaf6;border-radius:18px;flex-direction:column;align-items:center;padding:15px 8px 13px;display:flex}.tone-illustration>div:nth-child(2n){background:#fff5ea}.tone-illustration strong{font-size:44px;font-weight:500;line-height:1.5}.pinyin{font-size:15px;font-weight:600}.pitch{width:32px;height:14px;margin-bottom:7px;display:block;position:relative}.pitch-four:before,.pitch-one:before,.pitch-two:before{content:"";background:var(--accent-deep);border-radius:2px;width:32px;height:2px;position:absolute;top:6px;left:0}.pitch-two:before{transform:rotate(-20deg)}.pitch-four:before{transform:rotate(28deg)}.pitch-three:before{content:"";border-left:2px solid var(--accent-deep);border-bottom:2px solid var(--accent-deep);width:18px;height:13px;position:absolute;top:-1px;left:6px;transform:rotate(-40deg)}.daily-excerpt{white-space:pre-line;font-size:23px;line-height:1.8;font-family:var(--font-hand);background:#fffaf6;border-radius:18px;margin:26px 0;padding:22px}.daily-bottom{justify-content:space-between;align-items:center;gap:16px;display:flex}.daily-bottom>span{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.voice-buddy{isolation:isolate;width:76px;min-height:95px;color:var(--ink);background:0 0;border:0;border-radius:18px;flex-direction:column;flex:0 0 76px;justify-content:flex-end;align-items:center;gap:5px;padding:12px 0 0;display:flex;position:relative}.buddy-head{transform-origin:50% 100%;width:62px;height:58px;transition:transform .34s var(--spring);background:#d8546c;border-radius:45% 47% 43% 45%;display:block;position:relative;transform:rotate(-7deg);box-shadow:0 4px #74243c14}.buddy-leaf{z-index:-1;background:#63805e;border-radius:4px 16px 2px 15px;width:17px;height:26px;position:absolute;top:2px;left:38px;transform:rotate(25deg)}.buddy-eye{background:#fff;border-radius:50%;width:4px;height:6px;position:absolute;top:22px}.buddy-eye.left{left:20px}.buddy-eye.right{right:19px}.buddy-cheek{background:#ffbdba;border-radius:50%;width:9px;height:5px;position:absolute;top:30px}.buddy-cheek.left{left:10px}.buddy-cheek.right{right:9px}.buddy-mouth{border:2px solid #fff;border-top:0;border-radius:0 0 8px 8px;width:8px;height:5px;position:absolute;top:30px;left:28px}.buddy-hint{font-size:15px;font-weight:600;line-height:1.6}.voice-buddy:active .buddy-head{transform:rotate(4deg)scale(.92)}.practice-list{margin-top:16px}.practice-row{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);transition:background .22s,transform .3s var(--spring);background:0 0;border-radius:16px;align-items:center;gap:18px;padding:20px 8px;display:flex}.practice-row:active{transform:scale(.985)}.step-number{background:var(--soft);border-radius:14px;flex-shrink:0;place-items:center;width:40px;height:42px;font-size:15px;font-weight:600;display:grid}.step-number.active-step{background:var(--peach)}.step-number.completed-step{background:var(--accent);color:#fff}.step-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.step-copy strong{overflow-wrap:anywhere;font-size:17px;font-weight:500}.step-copy>span,.step-duration{font-size:15px;font-weight:500}.step-duration{white-space:nowrap}.plan-progress{border:1px solid var(--line);background:#fff;border-radius:18px;margin-top:22px;padding:16px 20px}.plan-progress>div:first-child{justify-content:space-between;gap:12px;font-size:15px;font-weight:600;display:flex}.plan-track{background:var(--soft);border-radius:99px;height:8px;margin-top:12px;overflow:hidden}.plan-progress-fill{background:var(--accent);border-radius:inherit;transform-origin:0;width:100%;height:100%;transition:transform .6s var(--spring);display:block}.week-panel{background:var(--soft);border-radius:24px;padding:26px}.week-panel h2{font-size:19px;font-weight:500}.week-panel .section-head{gap:12px;margin-bottom:20px}.week-progress{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.week-progress>strong{font-size:32px;font-weight:500}.tag,.week-progress>strong span{font-size:15px;font-weight:600}.tag{background:#fff;border-radius:99px;padding:4px 10px}.week-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0 0 22px;padding:0;list-style:none;display:grid}.week-days li{flex-direction:column;align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.day{background:#fff;border-radius:12px;place-items:center;width:31px;height:32px;font-size:16px;font-weight:600;display:grid;transform:rotate(-3deg)}.day.done{background:var(--accent);color:#fff}.day.pending{border:1px dashed #9d6b76;transform:none}.day.today{outline:2px solid var(--accent-deep);outline-offset:3px}.week-panel>p{font-size:15px;font-weight:600}.voice-note{padding:36px 8px 24px}.voice-note>.icon{color:var(--accent);width:28px;height:28px}.voice-note h3{margin:14px 0;font-size:25px;font-weight:500;line-height:1.5}.voice-note p{margin-bottom:18px;font-size:15px;line-height:1.9}.guide-note{padding:24px 8px}.guide-note p{margin:12px 0;font-size:20px}.guide-note .small{font-weight:500}.library{padding-top:64px;scroll-margin-top:110px}.library .eyebrow{margin-bottom:6px}.filters{gap:10px;margin-bottom:24px;padding:7px 3px 11px;display:flex;overflow-x:auto}.filter{transition:background .2s,transform .28s var(--spring);background:0 0;border:1px solid #0000;border-radius:16px;flex-shrink:0;padding:10px 18px;font-size:16px;font-weight:500}.filter.selected{background:var(--peach)}.filter:active{transform:scale(.96)}.material-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 28px;display:grid}.material-item{text-align:left;min-width:0;color:var(--ink);background:0 0;border:0;border-radius:18px;padding:0;display:block}.document-art{background:var(--soft);min-height:190px;transition:transform .4s var(--spring),box-shadow .4s;border-radius:20px;flex-direction:column;justify-content:space-between;gap:16px;margin-bottom:16px;padding:24px;display:flex;overflow:hidden}.document-art>i,.document-art>span{font-size:15px;font-style:normal;font-weight:600;line-height:1.7}.document-art>strong{font-size:21px;line-height:1.8;font-family:var(--font-hand);white-space:pre-line;overflow-wrap:anywhere;font-weight:500}.essay-art,.poem-art{background:var(--mint)}.personal-art,.tongue_twister-art{background:var(--yellow)}.idiom-art{background:var(--peach)}.material-desc,.material-meta{font-size:15px;font-weight:500;line-height:1.8;display:block}.material-title{justify-content:space-between;gap:8px;margin:5px 0;font-size:19px;font-weight:500;line-height:1.5;display:flex}.library-note{margin-top:24px;font-size:16px}.journal{padding-top:64px}.journal-empty{background:var(--soft);border-radius:24px;align-items:center;gap:24px;padding:28px 32px;display:flex}.journal-empty>div{flex:1;min-width:0}.journal-empty h3{margin-bottom:8px;font-size:21px;font-weight:500}.journal-empty p{font-size:16px}.journal-icon{width:56px;height:64px;color:var(--accent);background:#fff;border-radius:18px;flex-shrink:0;place-items:center;display:grid;transform:rotate(-6deg)}.journal-icon .icon{width:30px;height:30px}.page-footer{justify-content:space-between;align-items:flex-end;gap:24px;padding:64px 0 40px;display:flex}.page-footer .brand-name{font-size:38px}.footer-links,.page-footer p{font-size:15px;line-height:1.8}.footer-links{gap:24px;display:flex}.practice-summary{background:var(--soft);border-radius:24px;margin-top:24px;padding:24px}.practice-summary h2{font-size:21px;font-weight:500}.practice-summary dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.practice-summary dt{font-size:15px}.practice-summary dd{margin-top:8px;font-size:27px;font-weight:500}.practice-history{border-top:1px solid var(--line);gap:12px;margin-top:16px;padding-top:16px;display:grid}.practice-history li{justify-content:space-between;align-items:baseline;gap:12px;font-size:15px;display:flex}.practice-history span{overflow-wrap:anywhere;min-width:0}.practice-dialog{background:var(--paper);width:min(600px,100% - 32px);max-height:calc(100dvh - 40px);color:var(--ink);overscroll-behavior:contain;border:0;border-radius:28px;margin:auto;padding:0;box-shadow:0 24px 96px #56243033}.practice-dialog::backdrop{background:#3b252a61}.practice-dialog[open]{animation:dialog-in .3s var(--ease) both}.dialog-header{justify-content:space-between;align-items:center;gap:12px;padding:20px 28px;display:flex}.icon-button{background:var(--soft);width:44px;height:44px;color:var(--ink);border:0;border-radius:99px;flex-shrink:0;place-items:center;display:grid}.dialog-content{padding:6px 32px 24px;font-weight:500}.dialog-content h2{font-size:29px;font-weight:500;line-height:1.5}.dialog-content>p{color:var(--ink-muted);margin-top:8px;font-size:16px;line-height:1.8}.reader-demo{white-space:pre-wrap;font-family:var(--font-hand);border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:20px;margin:22px 0;padding:24px;font-size:24px;line-height:1.9}.practice-timer{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;font-size:16px;font-weight:600;display:flex}.practice-timer strong{font-variant-numeric:tabular-nums;font-size:28px;font-weight:500}.dialog-actions{flex-direction:column;gap:12px;padding:0 32px 28px;display:flex}.dialog-actions .small{font-size:16px;font-weight:500;line-height:1.8}.practice-error{background:var(--soft);color:var(--accent-deep);border-radius:14px;padding:12px 16px;font-size:16px;font-weight:600}.completion-panel{text-align:center;background:var(--peach);isolation:isolate;border-radius:22px;padding:24px 16px 20px;position:relative;overflow:hidden}.completion-mark{background:var(--accent);color:#fff;border-radius:20px;place-items:center;width:52px;height:52px;margin:0 auto 12px;display:grid;transform:rotate(-8deg)}.completion-mark .icon{width:30px;height:30px}.completion-panel h3{font-size:22px;font-weight:500;line-height:1.5}.completion-panel p{margin-top:6px;font-size:16px;font-weight:500}.completion-dots{gap:10px}.completion-dots span{width:24px;height:10px}.completion-dots .filled{background:var(--accent)}.petal-stage{pointer-events:none;z-index:-1;position:absolute;inset:0;overflow:hidden}.petal{background:var(--accent);border-radius:8px 1px;width:9px;height:15px;position:absolute;top:55%;left:50%}.petal:nth-child(3n){background:#9bb68d}.petal:nth-child(3n+1){background:#d88759}.empty-practice{background:var(--soft);border-radius:24px;padding:28px;line-height:1.8}.completion-dots{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:14px;display:flex}.completion-dots span{background:#fff;border-radius:99px;flex:0 0 14px;width:14px;height:8px}@media (hover:hover) and (pointer:fine){.btn:hover{background:var(--accent-hover)}.btn.inverse:hover,.btn.secondary:hover{background:var(--soft)}.voice-buddy:hover .buddy-head{transform:rotate(4deg)translateY(-3px)}.material-item:hover .document-art{transform:translateY(-4px)rotate(-.5deg);box-shadow:0 8px 20px #74243c0e}.material-item:hover .material-title{color:var(--accent-deep)}.filter:hover,.practice-row:hover{background:var(--soft)}.filter.selected:hover{background:var(--peach)}}.hero-copy{animation:soft-enter .5s var(--ease) both}.daily-card{animation:soft-enter .55s .12s var(--ease) both}@keyframes soft-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(22px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes nav-pop{0%{transform:scale(.85)}60%{transform:scale(1.12)}to{transform:scale(1)}}@media (min-width:768px){.app-header{position:fixed;inset:0 0 auto}.mobile-menu{display:none}}@media (max-width:1279px){.hero{gap:36px}.hero-stats{padding:26px}.stats strong{font-size:38px}.workspace{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:32px}.daily-card{padding:26px}.week-panel{padding:22px}.week-panel h2{font-size:18px}.document-art{padding:20px}.app-desktop-nav{gap:20px}.header-inner{gap:28px}}@media (max-width:1023px){.hero{gap:28px}.hero-stats{padding:22px}.stats{gap:12px}.stats strong{font-size:32px}.stats dd>span,.stats dt{font-size:14px;font-weight:700}.workspace{grid-template-columns:minmax(0,1fr)}.progress-column{grid-template-columns:1fr 1fr;gap:24px;display:grid}.voice-note{padding:12px 20px}.guide-note{display:none}.material-grid{gap:24px 20px}.document-art{min-height:180px;padding:18px}.header-actions .btn{display:none}.app-desktop-nav{gap:18px;font-size:15px;font-weight:600}.hero h1{font-size:40px}}@media (max-width:767px){.app-header{padding-top:env(safe-area-inset-top);position:relative}.header-inner{gap:16px;height:68px}.brand-name{font-size:24px}.brand-en{font-size:14px}.brand-mark{width:36px;height:36px}.app-desktop-nav,.header-actions{display:none}.menu-toggle{background:0 0;border:0;border-radius:12px;place-items:center;width:44px;height:44px;margin-left:auto;display:grid}.menu-toggle svg{width:24px;height:24px}.bottom-nav{z-index:40;padding:9px 12px max(12px,env(safe-area-inset-bottom));background:var(--paper);border-radius:24px 24px 0 0;justify-content:space-around;gap:8px;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -6px 24px #74243c0b}.bottom-nav a{isolation:isolate;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:80px;min-height:54px;font-size:15px;font-weight:600;display:flex;position:relative}.bottom-nav a>svg{width:23px;height:23px}.bottom-nav a:after{content:"";z-index:-1;background:var(--peach);opacity:0;width:62px;height:32px;transition:transform .32s var(--spring),opacity .2s;border-radius:99px;position:absolute;top:2px;left:50%;transform:translate(-50%)scale(.7)}.bottom-nav a[aria-current]{color:var(--accent-deep)}.bottom-nav a[aria-current]:after{opacity:1;transform:translate(-50%)scale(1)}.bottom-nav a[aria-current]>svg{animation:nav-pop .36s var(--spring)}.page{padding-top:0;padding-bottom:90px}.page h2{font-size:23px}.hero{flex-direction:column;align-items:stretch;gap:0;padding:12px 0 22px;display:flex}.hero .eyebrow,.hero h1{margin-bottom:10px}.hero h1{font-size:36px;line-height:1.25}.hero-desc span{display:none}.hero-actions{gap:12px;margin-top:18px}.hero-actions .btn{padding:11px 18px}.hero-stats{border:1px solid var(--line);background:#fff;border-radius:22px;margin-top:18px;padding:12px 16px}.hero-stats,.hero-stats>*{transform:none}.stats strong{font-size:30px}.stats dd>span,.stats dt{font-size:14px;font-weight:600}.stats dd{gap:4px}.stats-caption{display:none}.workspace{flex-direction:column;gap:32px;display:flex}.section-head{gap:12px;margin-bottom:16px}.today>.section-head{gap:8px}.today>.section-head h2{font-size:21px}.daily-card{border-radius:24px;padding:20px}.daily-top{gap:8px}.daily-state{padding:3px 10px}.daily-heading{gap:8px;margin-top:12px}.daily-copy{flex:1}.daily-heading h3{font-size:22px;line-height:1.5}.daily-heading p{line-height:1.7}.voice-buddy{flex-basis:58px;width:58px;min-height:84px;padding-top:10px}.buddy-head{width:52px;height:50px}.buddy-leaf{width:16px;height:22px;top:0;left:29px}.buddy-eye{top:19px}.buddy-eye.left{left:16px}.buddy-eye.right{right:15px}.buddy-cheek{top:28px}.buddy-cheek.left{left:7px}.buddy-cheek.right{right:6px}.buddy-mouth{width:7px;top:28px;left:23px}.tone-illustration{gap:8px;margin:16px 0}.tone-illustration>div{border-radius:16px;padding:12px 3px 10px}.tone-illustration strong{font-size:34px}.pinyin{font-size:14px;font-weight:600}.pitch{margin-bottom:1px;transform:scale(.8)}.daily-bottom{flex-direction:column;align-items:stretch;gap:14px}.daily-excerpt{margin:16px 0;font-size:21px}.practice-row{gap:10px;padding:18px 4px}.step-copy strong{font-size:16px}.step-number{border-radius:12px;width:34px;height:36px}.plan-progress{padding:16px}.progress-column{width:100%;display:block}.week-panel{padding:24px 20px}.week-panel h2{font-size:19px}.week-panel .section-head{margin-bottom:14px}.week-days{gap:8px;margin-bottom:18px}.guide-note,.voice-note{display:none}.library{padding-top:44px;scroll-margin-top:24px}.library .section-head{align-items:flex-end;gap:6px}.library .section-head .text-link{white-space:nowrap;font-size:15px;font-weight:600}.filters{gap:6px;margin-bottom:20px}.filter{border-radius:14px;padding:9px 14px}.material-grid{grid-template-columns:minmax(0,1fr);gap:28px}.material-item{grid-template-columns:152px minmax(0,1fr);gap:0 16px;display:grid}.document-art{border-radius:18px;grid-row:1/4;min-height:176px;margin:0;padding:16px 12px}.document-art>strong{letter-spacing:0;font-size:18px;line-height:1.8}.document-art>i{display:none}.material-meta{align-self:end;padding-top:14px}.material-title{align-self:center;font-size:18px;line-height:1.6}.material-desc{align-self:start}.journal{padding-top:44px}.journal .section-head{flex-direction:column;align-items:flex-start;gap:4px}.journal-empty{flex-wrap:wrap;gap:16px;padding:24px 20px}.journal-icon{border-radius:14px}.journal-empty>div{flex-basis:calc(100% - 80px)}.journal-empty>.btn{width:100%}.journal-empty h3{font-size:20px}.page-footer{flex-direction:column;align-items:flex-start;gap:20px;padding:40px 0 22px}.footer-links{flex-wrap:wrap;gap:16px}.practice-dialog{border-radius:26px;max-height:calc(100dvh - 28px)}.dialog-header{padding:14px 20px}.dialog-content{padding:6px 24px 20px}.dialog-content h2{font-size:25px}.reader-demo{margin:20px 0;padding:20px 14px;font-size:24px}.dialog-actions{padding:0 24px 24px}.completion-panel{padding:22px 12px 18px}.completion-panel h3{font-size:21px}.practice-history li{flex-wrap:wrap}}@media (max-width:359px){.header-inner,.page{padding-left:24px;padding-right:24px}.today>.section-head{flex-direction:column;align-items:flex-start;gap:2px}.hero h1{font-size:32px}.hero-actions .btn{padding:11px 12px}.hero-stats{padding:16px 12px}.stats{gap:8px}.stats strong{font-size:26px}.stats dd{gap:3px}.daily-card{padding:18px 16px}.daily-top{flex-wrap:wrap}.daily-heading h3{font-size:21px}.voice-buddy{flex-basis:50px;width:50px}.buddy-head{width:48px}.daily-state{display:none}.tone-illustration{gap:6px}.tone-illustration strong{font-size:30px}.tone-illustration>div{padding:10px 1px}.material-item{grid-template-columns:128px minmax(0,1fr);column-gap:12px}.document-art{padding:14px 10px}.document-art>strong{font-size:17px}.week-panel{padding:22px 16px}.week-panel h2{font-size:18px}.step-duration{display:none}.plan-progress{padding:16px 12px}.plan-progress>div:first-child{flex-wrap:wrap;gap:8px}.week-days{gap:4px}.practice-summary{padding:20px 16px}.practice-summary dt{font-size:14px;font-weight:600}.practice-timer{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.daily-card,.hero-copy{opacity:1;animation:none;transform:none}.petal-stage{display:none}.btn,.buddy-head,.document-art,.material-item,.practice-row{transform:none!important}.plan-progress-fill{transition:none}}@font-face{font-family:Host Grotesk;src:url(/fonts/host-grotesk-400.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Host Grotesk;src:url(/fonts/host-grotesk-500.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Host Grotesk;src:url(/fonts/host-grotesk-600.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Host Grotesk;src:url(/fonts/host-grotesk-700.ttf)format("truetype");font-weight:700;font-display:swap}:root{color-scheme:light;--paper:#fffbf6;--surface:#fff;--ink:#3b252a;--ink-muted:#60434a;--coral:#b23850;--coral-action:#b23850;--coral-soft:#fff0e9;--mint:#edf3e9;--mint-deep:#365330;--sky:#fff0e9;--sky-deep:#74243c;--yellow:#fff0cd;--yellow-deep:#60434a;--line:#ead8d3;--ground:var(--paper);--accent:var(--coral-action);--accent-deep:#74243c;--accent-hover:#92283f;--soft:#fff0e9;--peach:#ffe4dc;--secondary:var(--ink-muted);--ease:cubic-bezier(.2,.75,.25,1);--spring:cubic-bezier(.22,1.45,.4,1);--success-ink:#38624c;--error-ink:#a43442;--elev-1:0 1px 2px #343c3b0a,0 6px 16px #343c3b12;--elev-2:0 2px 6px #343c3b14,0 18px 40px #343c3b24}html{overscroll-behavior-y:none}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.font-hand{font-family:var(--font-hand)}.tnum{font-variant-numeric:tabular-nums;font-family:var(--font-ui)}.reader-text{font-family:var(--font-hand);letter-spacing:0;line-height:1.9}.text-centered-lines p{text-align:center}.grain{z-index:60;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");display:none;position:fixed;inset:0}.tape{opacity:.75;background:linear-gradient(100deg,#f6e8a9d9,#ddede3e6 55%,#e5eef7d9);border-left:1px dashed #ffffffb3;border-right:1px dashed #ffffffb3;width:84px;height:26px;position:absolute;box-shadow:0 1px 3px #343c3b1f}.tape-coral{background:linear-gradient(100deg,#fbeceee6,#f6e8a9cc 60%,#fbeceed9)}@keyframes rec-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}.rec-dot{animation:rec-pulse 1.2s ease-in-out infinite}.fade-in{animation:fadeIn .18s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.pop-in{animation:popIn .2s ease-out}@keyframes popIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.fade-in,.pop-in,.rec-dot{animation:none!important}*{transition-duration:.01ms!important}}.safe-bottom{padding-bottom:max(env(safe-area-inset-bottom),12px)}.safe-top{padding-top:max(env(safe-area-inset-top),8px)}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent-deep);outline-offset:4px}::selection{background:var(--peach);color:var(--ink)}input,textarea{caret-color:var(--accent-deep)}a,button,input,select{touch-action:manipulation}[role=button],button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}