/*! 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-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--blur-xs:4px;--blur-sm:8px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-ui);--default-mono-font-family:var(--font-mono)}}@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}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-2{inset:calc(var(--spacing) * 2)}.inset-y-0{inset-block:0}.-top-3{top:calc(var(--spacing) * -3)}.top-0{top:0}.top-2{top:calc(var(--spacing) * 2)}.top-\[var\(--hh\)\]{top:var(--hh)}.-right-3{right:calc(var(--spacing) * -3)}.-right-4{right:calc(var(--spacing) * -4)}.right-5{right:calc(var(--spacing) * 5)}.right-\[var\(--hh\)\]{right:var(--hh)}.-bottom-12{bottom:calc(var(--spacing) * -12)}.-bottom-14{bottom:calc(var(--spacing) * -14)}.bottom-\[var\(--hh\)\]{bottom:var(--hh)}.left-0{left:0}.left-1\/2{left:50%}.left-\[var\(--hh\)\]{left:var(--hh)}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.\!mt-0{margin-top:0!important}.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-4\!{margin-top:calc(var(--spacing) * 4)!important}.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)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.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-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-64{height:calc(var(--spacing) * 64)}.h-\[2px\]{height:2px}.h-full{height:100%}.h-svh{height:100svh}.max-h-60{max-height:calc(var(--spacing) * 60)}.min-h-\[20px\]{min-height:20px}.min-h-\[220px\]{min-height:220px}.min-h-\[260px\]{min-height:260px}.min-h-\[280px\]{min-height:280px}.min-h-\[310px\]{min-height:310px}.min-h-dvh{min-height:100dvh}.min-h-screen{min-height:100vh}.w-1{width:var(--spacing)}.w-4{width:calc(var(--spacing) * 4)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-42{width:calc(var(--spacing) * 42)}.w-\[100px\]{width:100px}.w-\[var\(--h\)\]{width:var(--h)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[440px\]{max-width:440px}.max-w-\[520px\]{max-width:520px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-top{transform-origin:top}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1)}.-translate-x-1\/2,.translate-x-1\/2{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-1\/2{--tw-translate-x:calc(1 / 2 * 100%)}.-rotate-45{rotate:-45deg}.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,)}.transform-gpu{transform:translateZ(0) 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-pointer{cursor:pointer}.scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.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}.gap-0{gap:0}.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-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-14{gap:calc(var(--spacing) * 14)}.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)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-10{column-gap:calc(var(--spacing) * 10)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}: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-\[var\(--line\)\]>:not(:last-child)){border-color:var(--line)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-\[22px\]{border-radius:22px}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-\[color-mix\(in_srgb\,var\(--sakura\)_22\%\,var\(--line\)\)\]{border-color:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--sakura\)_22\%\,var\(--line\)\)\]{border-color:color-mix(in srgb,var(--sakura) 22%,var(--line))}}.border-\[color-mix\(in_srgb\,var\(--sakura\)_25\%\,var\(--line\)\)\]{border-color:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--sakura\)_25\%\,var\(--line\)\)\]{border-color:color-mix(in srgb,var(--sakura) 25%,var(--line))}}.border-\[color-mix\(in_srgb\,var\(--sakura\)_35\%\,var\(--line\)\)\]{border-color:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--sakura\)_35\%\,var\(--line\)\)\]{border-color:color-mix(in srgb,var(--sakura) 35%,var(--line))}}.border-\[color-mix\(in_srgb\,var\(--teal\)_25\%\,var\(--line\)\)\]{border-color:var(--teal)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--teal\)_25\%\,var\(--line\)\)\]{border-color:color-mix(in srgb,var(--teal) 25%,var(--line))}}.border-\[var\(--gold\)\]{border-color:var(--gold)}.border-\[var\(--line\)\]{border-color:var(--line)}.border-\[var\(--line-strong\)\]{border-color:var(--line-strong)}.border-border{border-color:var(--line)}.border-primary{border-color:var(--sakura)}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.border-l-\[var\(--sakura\)\]{border-left-color:var(--sakura)}.bg-\[\#262626\]\/50{background-color:oklab(26.8618% 4.47035e-8 0/.5)}.bg-\[color-mix\(in_srgb\,var\(--bg\)_78\%\,transparent\)\]{background-color:var(--bg)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--bg\)_78\%\,transparent\)\]{background-color:color-mix(in srgb,var(--bg) 78%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--gold\)_10\%\,var\(--surface\)\)\]{background-color:var(--gold)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--gold\)_10\%\,var\(--surface\)\)\]{background-color:color-mix(in srgb,var(--gold) 10%,var(--surface))}}.bg-\[color-mix\(in_srgb\,var\(--gold\)_12\%\,var\(--surface2\)\)\]{background-color:var(--gold)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--gold\)_12\%\,var\(--surface2\)\)\]{background-color:color-mix(in srgb,var(--gold) 12%,var(--surface2))}}.bg-\[color-mix\(in_srgb\,var\(--gold\)_13\%\,var\(--surface2\)\)\]{background-color:var(--gold)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--gold\)_13\%\,var\(--surface2\)\)\]{background-color:color-mix(in srgb,var(--gold) 13%,var(--surface2))}}.bg-\[color-mix\(in_srgb\,var\(--sakura\)_8\%\,var\(--surface\)\)\]{background-color:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--sakura\)_8\%\,var\(--surface\)\)\]{background-color:color-mix(in srgb,var(--sakura) 8%,var(--surface))}}.bg-\[color-mix\(in_srgb\,var\(--sakura\)_10\%\,var\(--surface\)\)\]{background-color:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--sakura\)_10\%\,var\(--surface\)\)\]{background-color:color-mix(in srgb,var(--sakura) 10%,var(--surface))}}.bg-\[color-mix\(in_srgb\,var\(--sakura\)_12\%\,var\(--surface2\)\)\]{background-color:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--sakura\)_12\%\,var\(--surface2\)\)\]{background-color:color-mix(in srgb,var(--sakura) 12%,var(--surface2))}}.bg-\[color-mix\(in_srgb\,var\(--sakura\)_13\%\,var\(--surface2\)\)\]{background-color:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--sakura\)_13\%\,var\(--surface2\)\)\]{background-color:color-mix(in srgb,var(--sakura) 13%,var(--surface2))}}.bg-\[color-mix\(in_srgb\,var\(--teal\)_8\%\,var\(--surface\)\)\]{background-color:var(--teal)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--teal\)_8\%\,var\(--surface\)\)\]{background-color:color-mix(in srgb,var(--teal) 8%,var(--surface))}}.bg-\[color-mix\(in_srgb\,var\(--teal\)_10\%\,var\(--surface\)\)\]{background-color:var(--teal)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--teal\)_10\%\,var\(--surface\)\)\]{background-color:color-mix(in srgb,var(--teal) 10%,var(--surface))}}.bg-\[color-mix\(in_srgb\,var\(--teal\)_12\%\,var\(--surface2\)\)\]{background-color:var(--teal)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--teal\)_12\%\,var\(--surface2\)\)\]{background-color:color-mix(in srgb,var(--teal) 12%,var(--surface2))}}.bg-\[color-mix\(in_srgb\,var\(--teal\)_13\%\,var\(--surface2\)\)\]{background-color:var(--teal)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--teal\)_13\%\,var\(--surface2\)\)\]{background-color:color-mix(in srgb,var(--teal) 13%,var(--surface2))}}.bg-\[var\(--ai-tint\)\]{background-color:var(--ai-tint)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--kincha-tint\)\]{background-color:var(--kincha-tint)}.bg-\[var\(--line\)\]{background-color:var(--line)}.bg-\[var\(--matcha-tint\)\]{background-color:var(--matcha-tint)}.bg-\[var\(--sakura\)\]{background-color:var(--sakura)}.bg-\[var\(--sakura-tint\)\]{background-color:var(--sakura-tint)}.bg-\[var\(--shu-tint\)\]{background-color:var(--shu-tint)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-\[var\(--surface-2\)\]{background-color:var(--surface-2)}.bg-\[var\(--surface-3\)\]{background-color:var(--surface-3)}.bg-\[var\(--surface2\)\]{background-color:var(--surface2)}.bg-background{background-color:var(--bg)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--line)}.bg-primary{background-color:var(--sakura)}.bg-white{background-color:var(--color-white)}.bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--gold\)_8\%\,var\(--surface\)\)\,color-mix\(in_srgb\,var\(--sakura\)_5\%\,var\(--surface2\)\)\)\]{background-image:linear-gradient(135deg,var(--gold),var(--sakura))}@supports (color:color-mix(in lab,red,red)){.bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--gold\)_8\%\,var\(--surface\)\)\,color-mix\(in_srgb\,var\(--sakura\)_5\%\,var\(--surface2\)\)\)\]{background-image:linear-gradient(135deg,color-mix(in srgb,var(--gold) 8%,var(--surface)),color-mix(in srgb,var(--sakura) 5%,var(--surface2)))}}.bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--sakura\)_8\%\,var\(--surface\)\)\,color-mix\(in_srgb\,var\(--gold\)_5\%\,var\(--surface2\)\)\)\]{background-image:linear-gradient(135deg,var(--sakura),var(--gold))}@supports (color:color-mix(in lab,red,red)){.bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--sakura\)_8\%\,var\(--surface\)\)\,color-mix\(in_srgb\,var\(--gold\)_5\%\,var\(--surface2\)\)\)\]{background-image:linear-gradient(135deg,color-mix(in srgb,var(--sakura) 8%,var(--surface)),color-mix(in srgb,var(--gold) 5%,var(--surface2)))}}.bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--teal\)_6\%\,var\(--surface\)\)\,var\(--surface\)\)\]{background-image:linear-gradient(135deg,var(--teal),var(--surface))}@supports (color:color-mix(in lab,red,red)){.bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--teal\)_6\%\,var\(--surface\)\)\,var\(--surface\)\)\]{background-image:linear-gradient(135deg,color-mix(in srgb,var(--teal) 6%,var(--surface)),var(--surface))}}.bg-\[linear-gradient\(145deg\,color-mix\(in_srgb\,var\(--gold\)_7\%\,var\(--surface\)\)\,var\(--surface\)\)\]{background-image:linear-gradient(145deg,var(--gold),var(--surface))}@supports (color:color-mix(in lab,red,red)){.bg-\[linear-gradient\(145deg\,color-mix\(in_srgb\,var\(--gold\)_7\%\,var\(--surface\)\)\,var\(--surface\)\)\]{background-image:linear-gradient(145deg,color-mix(in srgb,var(--gold) 7%,var(--surface)),var(--surface))}}.bg-\[linear-gradient\(145deg\,color-mix\(in_srgb\,var\(--sakura\)_5\%\,var\(--surface\)\)\,var\(--surface\)\)\]{background-image:linear-gradient(145deg,var(--sakura),var(--surface))}@supports (color:color-mix(in lab,red,red)){.bg-\[linear-gradient\(145deg\,color-mix\(in_srgb\,var\(--sakura\)_5\%\,var\(--surface\)\)\,var\(--surface\)\)\]{background-image:linear-gradient(145deg,color-mix(in srgb,var(--sakura) 5%,var(--surface)),var(--surface))}}.bg-\[linear-gradient\(145deg\,color-mix\(in_srgb\,var\(--sakura\)_7\%\,var\(--surface\)\)\,var\(--surface\)\)\]{background-image:linear-gradient(145deg,var(--sakura),var(--surface))}@supports (color:color-mix(in lab,red,red)){.bg-\[linear-gradient\(145deg\,color-mix\(in_srgb\,var\(--sakura\)_7\%\,var\(--surface\)\)\,var\(--surface\)\)\]{background-image:linear-gradient(145deg,color-mix(in srgb,var(--sakura) 7%,var(--surface)),var(--surface))}}.bg-\[radial-gradient\(circle_at_8\%_20\%\,color-mix\(in_srgb\,var\(--sakura\)_13\%\,transparent\)\,transparent_32\%\)\,linear-gradient\(135deg\,var\(--surface2\)\,var\(--surface3\)\)\]{background-image:radial-gradient(circle at 8% 20%,var(--sakura),transparent 32%),linear-gradient(135deg,var(--surface2),var(--surface3))}@supports (color:color-mix(in lab,red,red)){.bg-\[radial-gradient\(circle_at_8\%_20\%\,color-mix\(in_srgb\,var\(--sakura\)_13\%\,transparent\)\,transparent_32\%\)\,linear-gradient\(135deg\,var\(--surface2\)\,var\(--surface3\)\)\]{background-image:radial-gradient(circle at 8% 20%,color-mix(in srgb,var(--sakura) 13%,transparent),transparent 32%),linear-gradient(135deg,var(--surface2),var(--surface3))}}.bg-\[radial-gradient\(circle_at_90\%_10\%\,color-mix\(in_srgb\,var\(--sakura\)_12\%\,transparent\)\,transparent_35\%\)\,linear-gradient\(135deg\,var\(--surface2\)\,var\(--surface3\)\)\]{background-image:radial-gradient(circle at 90% 10%,var(--sakura),transparent 35%),linear-gradient(135deg,var(--surface2),var(--surface3))}@supports (color:color-mix(in lab,red,red)){.bg-\[radial-gradient\(circle_at_90\%_10\%\,color-mix\(in_srgb\,var\(--sakura\)_12\%\,transparent\)\,transparent_35\%\)\,linear-gradient\(135deg\,var\(--surface2\)\,var\(--surface3\)\)\]{background-image:radial-gradient(circle at 90% 10%,color-mix(in srgb,var(--sakura) 12%,transparent),transparent 35%),linear-gradient(135deg,var(--surface2),var(--surface3))}}.object-cover{object-fit:cover}.object-center{object-position:center}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-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-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-28{padding-block:calc(var(--spacing) * 28)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[19px\]{font-size:19px}.text-\[28px\]{font-size:28px}.text-\[56px\]{font-size:56px}.text-\[64px\]{font-size:64px}.text-\[180px\]{font-size:180px}.text-\[190px\]{font-size:190px}.text-\[clamp\(22px\,3vw\,28px\)\]{font-size:clamp(22px,3vw,28px)}.text-\[clamp\(24px\,7vw\,40px\)\]{font-size:clamp(24px,7vw,40px)}.text-\[clamp\(26px\,3\.8vw\,38px\)\]{font-size:clamp(26px,3.8vw,38px)}.text-\[clamp\(30px\,4\.6vw\,46px\)\]{font-size:clamp(30px,4.6vw,46px)}.text-\[clamp\(38px\,6\.4vw\,66px\)\]{font-size:clamp(38px,6.4vw,66px)}.text-\[length\:var\(--text-body\)\]{font-size:var(--text-body)}.text-\[length\:var\(--text-caption\)\]{font-size:var(--text-caption)}.text-\[length\:var\(--text-display\)\]{font-size:var(--text-display)}.text-\[length\:var\(--text-h2\)\]{font-size:var(--text-h2)}.text-\[length\:var\(--text-h3\)\]{font-size:var(--text-h3)}.text-\[length\:var\(--text-small\)\]{font-size:var(--text-small)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.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-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-\[var\(--font-jp\)\]{--tw-font-weight:var(--font-jp);font-weight:var(--font-jp)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.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\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-1\.2px\]{--tw-tracking:-1.2px;letter-spacing:-1.2px}.tracking-\[-1\.3px\]{--tw-tracking:-1.3px;letter-spacing:-1.3px}.tracking-\[1\.8px\]{--tw-tracking:1.8px;letter-spacing:1.8px}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--ai\)\]{color:var(--ai)}.text-\[var\(--ai-ink\)\]{color:var(--ai-ink)}.text-\[var\(--fg\)\]{color:var(--fg)}.text-\[var\(--fg2\)\]{color:var(--fg2)}.text-\[var\(--gold\)\]{color:var(--gold)}.text-\[var\(--gold-pale\)\]{color:var(--gold-pale)}.text-\[var\(--ink\)\]{color:var(--ink)}.text-\[var\(--ink-2\)\]{color:var(--ink-2)}.text-\[var\(--ink-3\)\]{color:var(--ink-3)}.text-\[var\(--kincha\)\]{color:var(--kincha)}.text-\[var\(--kincha-ink\)\]{color:var(--kincha-ink)}.text-\[var\(--matcha\)\]{color:var(--matcha)}.text-\[var\(--matcha-ink\)\]{color:var(--matcha-ink)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-\[var\(--on-accent\)\]{color:var(--on-accent)}.text-\[var\(--sakura\)\]{color:var(--sakura)}.text-\[var\(--shu\)\]{color:var(--shu)}.text-\[var\(--shu-ink\)\]{color:var(--shu-ink)}.text-\[var\(--teal\)\]{color:var(--teal)}.text-foreground,.text-foreground\/50{color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/50{color:color-mix(in oklab,var(--ink) 50%,transparent)}}.text-foreground\/60{color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/60{color:color-mix(in oklab,var(--ink) 60%,transparent)}}.text-primary{color:var(--sakura)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.decoration-2{text-decoration-thickness:2px}.opacity-20{opacity:.2}.opacity-85{opacity:.85}.opacity-\[0\.035\]{opacity:.035}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-\[0_8px_20px_var\(--sakura-glow\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_20px_var\(--sakura-glow\)\]{--tw-shadow:0 8px 20px var(--tw-shadow-color,var(--sakura-glow))}.shadow-\[0_16px_40px_var\(--sakura-glow\)\]{--tw-shadow:0 16px 40px var(--tw-shadow-color,var(--sakura-glow))}.shadow-\[0_16px_40px_var\(--sakura-glow\)\],.shadow-lg{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow-sm{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)}.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)}.\[box-shadow\:inset_0_0_54px_0px_var\(--tw-shadow-color\)\]{box-shadow:inset 0 0 54px 0 var(--tw-shadow-color)}.shadow-\[\#EBB800\]{--tw-shadow-color:#ebb800}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#EBB800\]{--tw-shadow-color:color-mix(in oklab,#ebb800 var(--tw-shadow-alpha),transparent)}}.shadow-primary\/50{--tw-shadow-color:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/50{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--sakura) 50%,transparent) var(--tw-shadow-alpha),transparent)}}.ring-\[var\(--sakura\)\]{--tw-ring-color:var(--sakura)}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-\[var\(--surface\)\]{--tw-ring-offset-color:var(--surface)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.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,)}.sepia{--tw-sepia:sepia(100%)}.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,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm))}.backdrop-blur-sm,.backdrop-blur-xl{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl))}.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,)}.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))}.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-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.\[clip-path\:polygon\(var\(--poly-roundness\)_0\,calc\(100\%_-_var\(--poly-roundness\)\)_0\,100\%_0\,100\%_calc\(100\%_-_var\(--poly-roundness\)\)\,calc\(100\%_-_var\(--poly-roundness\)\)_100\%\,0_100\%\,0_calc\(100\%_-_var\(--poly-roundness\)\)\,0_var\(--poly-roundness\)\)\]{clip-path:polygon(var(--poly-roundness) 0,calc(100% - var(--poly-roundness)) 0,100% 0,100% calc(100% - var(--poly-roundness)),calc(100% - var(--poly-roundness)) 100%,0 100%,0 calc(100% - var(--poly-roundness)),0 var(--poly-roundness))}.\[clip-path\:polygon\(var\(--poly-roundness\)_0\,calc\(100\%_-_var\(--poly-roundness\)\)_0\,100\%_var\(--poly-roundness\)\,100\%_calc\(100\%_-_var\(--poly-roundness\)\)\,calc\(100\%_-_var\(--poly-roundness\)\)_100\%\,var\(--poly-roundness\)_100\%\,0_calc\(100\%_-_var\(--poly-roundness\)\)\,0_var\(--poly-roundness\)\)\]{clip-path:polygon(var(--poly-roundness) 0,calc(100% - var(--poly-roundness)) 0,100% var(--poly-roundness),100% calc(100% - var(--poly-roundness)),calc(100% - var(--poly-roundness)) 100%,var(--poly-roundness) 100%,0 calc(100% - var(--poly-roundness)),0 var(--poly-roundness))}@media (hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:var(--spacing);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:bg-\[color-mix\(in_srgb\,var\(--gold\)_20\%\,var\(--surface2\)\)\]:is(:where(.group):hover *){background-color:var(--gold)}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-\[color-mix\(in_srgb\,var\(--gold\)_20\%\,var\(--surface2\)\)\]:is(:where(.group):hover *){background-color:color-mix(in srgb,var(--gold) 20%,var(--surface2))}}.group-hover\:bg-\[color-mix\(in_srgb\,var\(--sakura\)_20\%\,var\(--surface2\)\)\]:is(:where(.group):hover *){background-color:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-\[color-mix\(in_srgb\,var\(--sakura\)_20\%\,var\(--surface2\)\)\]:is(:where(.group):hover *){background-color:color-mix(in srgb,var(--sakura) 20%,var(--surface2))}}.group-hover\:bg-\[color-mix\(in_srgb\,var\(--teal\)_20\%\,var\(--surface2\)\)\]:is(:where(.group):hover *){background-color:var(--teal)}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-\[color-mix\(in_srgb\,var\(--teal\)_20\%\,var\(--surface2\)\)\]:is(:where(.group):hover *){background-color:color-mix(in srgb,var(--teal) 20%,var(--surface2))}}.group-hover\:text-\[var\(--sakura\)\]:is(:where(.group):hover *){color:var(--sakura)}}.group-\[\[data-state\=open\]\]\:block:is(:where(.group)[data-state=open] *){display:block}.group-\[\[data-state\=open\]\]\:hidden:is(:where(.group)[data-state=open] *){display:none}.first\:pt-0:first-child{padding-top:0}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-\[var\(--line2\)\]:hover{border-color:var(--line2)}.hover\:border-\[var\(--sakura\)\]:hover{border-color:var(--sakura)}.hover\:bg-\[var\(--surface-2\)\]:hover{background-color:var(--surface-2)}.hover\:bg-\[var\(--surface2\)\]:hover{background-color:var(--surface2)}.hover\:text-\[var\(--sakura\)\]:hover{color:var(--sakura)}.hover\:text-foreground\/100:hover{color:var(--ink)}.hover\:text-primary\/80:hover{color:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.hover\:text-primary\/80:hover{color:color-mix(in oklab,var(--sakura) 80%,transparent)}}.hover\:shadow-\[0_12px_30px_rgba\(0\,0\,0\,0\.12\)\]:hover{--tw-shadow:0 12px 30px var(--tw-shadow-color,#0000001f)}.hover\:shadow-\[0_12px_30px_rgba\(0\,0\,0\,0\.12\)\]:hover,.hover\:shadow-\[0_12px_30px_rgba\(0\,0\,0\,0\.14\)\]:hover{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_12px_30px_rgba\(0\,0\,0\,0\.14\)\]:hover{--tw-shadow:0 12px 30px var(--tw-shadow-color,#00000024)}.hover\:shadow-\[0_14px_35px_rgba\(0\,0\,0\,0\.12\)\]:hover{--tw-shadow:0 14px 35px var(--tw-shadow-color,#0000001f)}.hover\:shadow-\[0_14px_35px_rgba\(0\,0\,0\,0\.12\)\]:hover,.hover\:shadow-\[var\(--shadow-md\)\]:hover{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[var\(--shadow-md\)\]:hover{--tw-shadow:var(--shadow-md)}.hover\:shadow-\[\#EBB800\]\/80:hover{--tw-shadow-color:#ebb800cc}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-\[\#EBB800\]\/80:hover{--tw-shadow-color:color-mix(in oklab,oklab(80.591% .00447613 .164646/.8) var(--tw-shadow-alpha),transparent)}}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);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,)}}.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)}.active\:translate-y-0:active{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}@media not all and (min-width:64rem){.max-lg\:hidden{display:none}}@media not all and (min-width:40rem){.max-sm\:hidden{display:none}}@media (min-width:40rem){.sm\:col-span-3{grid-column:span 3/span 3}.sm\:hidden{display:none}.sm\:inline-flex{display:inline-flex}.sm\:h-36{height:calc(var(--spacing) * 36)}.sm\:w-36{width:calc(var(--spacing) * 36)}.sm\:w-\[calc\(50\%-0\.5rem\)\]{width:calc(50% - .5rem)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-7{padding-block:calc(var(--spacing) * 7)}.sm\:py-20{padding-block:calc(var(--spacing) * 20)}.sm\:py-24{padding-block:calc(var(--spacing) * 24)}.sm\:pt-20{padding-top:calc(var(--spacing) * 20)}.sm\:pb-24{padding-bottom:calc(var(--spacing) * 24)}.sm\:text-left{text-align:left}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-\[15px\]{font-size:15px}.sm\:leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}}@media (min-width:48rem){.md\:col-span-4{grid-column:span 4/span 4}.md\:mt-6{margin-top:calc(var(--spacing) * 6)}.md\:inline-flex{display:inline-flex}.md\:w-\[120px\]{width:120px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[1\.4fr_1fr_1fr_1fr_1fr\]{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr}.md\:flex-row{flex-direction:row}.md\:gap-4{gap:calc(var(--spacing) * 4)}.md\:py-40{padding-block:calc(var(--spacing) * 40)}.md\:pt-14{padding-top:calc(var(--spacing) * 14)}.md\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.md\:text-\[clamp\(22px\,2\.7vw\,40px\)\]{font-size:clamp(22px,2.7vw,40px)}}@media (min-width:64rem){.lg\:sticky{position:sticky}.lg\:top-24{top:calc(var(--spacing) * 24)}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:mx-0{margin-inline:0}.lg\:hidden{display:none}.lg\:w-\[calc\(33\.333\%-0\.833rem\)\]{width:calc(33.333% - .833rem)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[0\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.lg\:grid-cols-\[0\.9fr_1\.1fr\]{grid-template-columns:.9fr 1.1fr}.lg\:grid-cols-\[1\.05fr_0\.95fr\]{grid-template-columns:1.05fr .95fr}.lg\:grid-cols-\[1fr_1\.2fr\]{grid-template-columns:1fr 1.2fr}.lg\:grid-cols-\[150px_minmax\(0\,1fr\)\]{grid-template-columns:150px minmax(0,1fr)}.lg\:grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-start{align-items:flex-start}.lg\:justify-start{justify-content:flex-start}.lg\:gap-5{gap:calc(var(--spacing) * 5)}.lg\:pt-24{padding-top:calc(var(--spacing) * 24)}.lg\:pb-28{padding-bottom:calc(var(--spacing) * 28)}.lg\:text-left{text-align:left}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>\[data-border\]\]\:bg-primary>[data-border]{background-color:var(--sakura)}.\[\&\>svg\]\:h-\[18px\]>svg{height:18px}.\[\&\>svg\]\:w-\[18px\]>svg{width:18px}}:root{--bg:#fbf7f6;--bg-tint:#f6eceb;--surface:#fff;--surface-2:#fdf9f8;--surface-3:#f3e7e5;--ink:#2b2027;--ink-2:#6a5a64;--ink-3:#7a6874;--line:#efe1dd;--line-strong:#dcc6c1;--sakura:#c93b62;--on-accent:#fff;--sakura-press:#b4335a;--sakura-soft:#f4a9bd;--sakura-tint:#fce9ee;--sakura-ring:#d2456c38;--matcha:#2e7a52;--matcha-tint:#e3f2e8;--shu:#c23b2b;--shu-tint:#fbe8e5;--kincha:#9a6a1f;--kincha-tint:#f9efdc;--ai:#3a6683;--ai-tint:#e7eff5;--sakura-ink:#b8305a;--kincha-ink:#8a5d1a;--matcha-ink:#286646;--shu-ink:#ad3425;--ai-ink:#33596f;--shadow-sm:0 1px 2px #2b20270d,0 1px 3px #2b20270a;--shadow-md:0 6px 18px #2b202717,0 2px 5px #2b20270a;--shadow-lg:0 18px 44px #2b20272e;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-full:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--gutter:16px;--content-max:1040px;--sidebar-w:240px;--bottom-nav-h:62px;--font-ui:var(--font-inter),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-jp:var(--font-zen),"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Noto Sans JP","Noto Sans CJK JP",sans-serif;--text-display:clamp(26px,5.2vw,32px);--text-h1:22px;--text-h2:18px;--text-h3:15.5px;--text-body:15px;--text-small:13px;--text-caption:12px;--ease:cubic-bezier(.32,.72,0,1);--ease-out:cubic-bezier(.16,1,.3,1);--dur-fast:.12s;--dur:.2s;--dur-slow:.36s;--bg2:var(--bg-tint);--surface2:var(--surface-2);--surface3:var(--surface-3);--line2:var(--line-strong);--muted:var(--ink-2);--faint:var(--ink-3);--fg:var(--ink);--fg2:var(--ink-2);--sakura-deep:var(--sakura-press);--sakura-pale:var(--sakura);--sakura-glow:var(--sakura-tint);--gold:var(--kincha);--gold-pale:var(--kincha);--gold-glow:var(--kincha-tint);--teal:var(--matcha);--teal-pale:var(--matcha);--correct:var(--matcha);--wrong:var(--shu);--destructive:var(--shu);--background:var(--bg);--foreground:var(--ink);--primary:var(--sakura);--border:var(--line)}:root.dark{--bg:#17121b;--bg-tint:#1e1824;--surface:#221b29;--surface-2:#2a2131;--surface-3:#35293d;--ink:#f5eff3;--ink-2:#c4b3be;--ink-3:#9c8b97;--line:#382d41;--line-strong:#4d3f57;--sakura:#f28aa4;--on-accent:#1d141b;--sakura-press:#e87390;--sakura-soft:#7a4457;--sakura-tint:#35222b;--sakura-ring:#f28aa447;--matcha:#74cb9f;--matcha-tint:#1f2f27;--shu:#f18a78;--shu-tint:#33211e;--kincha:#e3b86a;--kincha-tint:#2f261a;--ai:#8ab9d4;--ai-tint:#1d2830;--sakura-ink:var(--sakura);--kincha-ink:var(--kincha);--matcha-ink:var(--matcha);--shu-ink:var(--shu);--ai-ink:var(--ai);--shadow-sm:0 1px 2px #00000059;--shadow-md:0 6px 18px #00000073;--shadow-lg:0 18px 44px #0000008c}:root[data-theme=matcha]{--sakura:#2a7f6f;--sakura-press:#216858;--sakura-soft:#9fd3c6;--sakura-tint:#e2f2ee;--sakura-ring:#2a7f6f38;--bg:#f5f9f6;--bg-tint:#e9f1ec;--surface-2:#f8fbf9;--surface-3:#e8f0eb;--line:#dfe9e3;--line-strong:#c6d7cc}:root.dark[data-theme=matcha]{--sakura:#7fd1c0;--sakura-press:#66bfab;--sakura-soft:#3d6b60;--sakura-tint:#1d3330;--sakura-ring:#7fd1c047;--bg:#121a17;--bg-tint:#182220;--surface:#1b2622;--surface-2:#212e29;--surface-3:#2b3a34;--line:#2f403a;--line-strong:#41564e}:root[data-theme=sunset]{--sakura:#d9552f;--sakura-press:#b84424;--sakura-soft:#f4b59d;--sakura-tint:#fdeae2;--sakura-ring:#d9552f38;--bg:#fdf6f0;--bg-tint:#f8ebe1;--surface-2:#fef9f5;--surface-3:#f6e8dd;--line:#f0e0d4;--line-strong:#dfc6b5}:root.dark[data-theme=sunset]{--sakura:#f6a07f;--sakura-press:#ee8c66;--sakura-soft:#7a4a37;--sakura-tint:#38251c;--sakura-ring:#f6a07f47;--bg:#1a1411;--bg-tint:#221a16;--surface:#261d18;--surface-2:#2e241e;--surface-3:#3a2e27;--line:#3f322b;--line-strong:#55443b}:root[data-theme=indigo]{--sakura:#3f5fae;--sakura-press:#334d91;--sakura-soft:#aebce6;--sakura-tint:#e7ecf8;--sakura-ring:#3f5fae38;--bg:#f5f7fb;--bg-tint:#eaeef6;--surface-2:#f8f9fc;--surface-3:#e9edf4;--line:#e0e5ee;--line-strong:#c7cfdd}:root.dark[data-theme=indigo]{--sakura:#9fb4f2;--sakura-press:#88a0ea;--sakura-soft:#3e4d7a;--sakura-tint:#1f2740;--sakura-ring:#9fb4f247;--bg:#12151f;--bg-tint:#181c29;--surface:#1c2130;--surface-2:#232938;--surface-3:#2d3446;--line:#313a4d;--line-strong:#445064}:root[data-theme=ume]{--sakura:#8b4a9c;--sakura-press:#733b82;--sakura-soft:#d3b3da;--sakura-tint:#f3e8f5;--sakura-ring:#8b4a9c38;--bg:#faf6fb;--bg-tint:#f2eaf4;--surface-2:#fcf9fd;--surface-3:#f1e8f2;--line:#ebdfec;--line-strong:#d6c4d8}:root.dark[data-theme=ume]{--sakura:#d4a4df;--sakura-press:#c78fd4;--sakura-soft:#6a4a72;--sakura-tint:#33243a;--sakura-ring:#d4a4df47;--bg:#17121a;--bg-tint:#1f1823;--surface:#241c29;--surface-2:#2c2332;--surface-3:#372c3e;--line:#3a2d41;--line-strong:#4f3f57}:root.dark[data-theme=midnight]{--sakura:#9bb4ff;--sakura-press:#83a0f7;--sakura-soft:#3a4a7a;--sakura-tint:#1c2540;--sakura-ring:#9bb4ff47;--bg:#0f1420;--bg-tint:#141a29;--surface:#171d2c;--surface-2:#1d2434;--surface-3:#262e42;--line:#2a3347;--line-strong:#3b4660;--ink:#eef1fa;--ink-2:#b7bfd6;--ink-3:#8089a3}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body,html{background:var(--bg)}body{min-height:100svh;color:var(--ink);font-family:var(--font-ui);font-size:var(--text-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none;margin:0;line-height:1.55;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit;background:0 0;border:0}[role=button],a,button,select{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}h1,h2,h3,h4{line-height:1.22;font-family:var(--font-jp);letter-spacing:-.01em;margin:0;font-weight:700}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}strong{font-weight:600}small{font-size:var(--text-caption)}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}img,svg{display:block}svg{flex-shrink:0}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--sakura);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:var(--sakura-tint);color:var(--ink)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}::-webkit-scrollbar-track{background:0 0}.jp{font-family:var(--font-jp)}.muted{color:var(--ink-2)}.caption,.eyebrow{font-size:var(--text-caption);color:var(--ink-3)}.eyebrow{letter-spacing:.06em;text-transform:uppercase;font-weight:600}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes scale-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes petal-fall{0%{opacity:0;transform:translateY(-6vh)rotate(0)}12%{opacity:.45}85%{opacity:.3}to{opacity:0;transform:translate(48px,104vh)rotate(300deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes stroke-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.animate-in{animation:rise-in var(--dur-slow) var(--ease-out) both}.animate-fade{animation:fade-in var(--dur) var(--ease-out) both}.petal{pointer-events:none;z-index:-1;object-fit:contain;opacity:0;will-change:transform,opacity;height:auto;animation:petal-fall linear infinite;position:fixed;top:0}.app-root{z-index:1;isolation:isolate;min-height:100svh;position:relative}.skip-link{left:var(--s-4);z-index:1000;border-radius:var(--r-md);background:var(--ink);color:var(--bg);transition:top var(--dur-fast);padding:10px 14px;font-weight:600;position:absolute;top:-60px}.skip-link:focus{top:var(--s-3)}.sidebar{display:none}.mobile-header{z-index:60;height:56px;padding:0 max(var(--gutter),env(safe-area-inset-left)) 0 max(var(--gutter),env(safe-area-inset-right));background:var(--bg);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.mobile-header{background:color-mix(in srgb,var(--bg) 86%,transparent)}}.mobile-header{-webkit-backdrop-filter:saturate(160%)blur(14px);border-bottom:1px solid var(--line)}.brand{align-items:center;gap:var(--s-2);font-family:var(--font-jp);min-height:44px;font-size:17px;font-weight:700;display:inline-flex}.logo-mark{object-fit:cover;border-radius:9px;width:30px;height:30px}.logo-dot{color:var(--sakura)}.mobile-header-right{align-items:center;gap:var(--s-2);display:flex}.streak-chip{border-radius:var(--r-full);background:var(--kincha-tint);min-height:34px;color:var(--kincha-ink);font-size:var(--text-small);white-space:nowrap;align-items:center;gap:5px;padding:0 11px;font-weight:600;display:inline-flex}.streak-chip svg{width:15px;height:15px}.streak-chip.is-zero{background:var(--surface-3);color:var(--ink-2)}.avatar{background:var(--sakura);width:36px;height:36px;color:var(--on-accent);font-size:var(--text-small);letter-spacing:.02em;border-radius:11px;flex-shrink:0;place-items:center;font-weight:700;display:grid}.avatar-lg{border-radius:14px;width:48px;height:48px;font-size:16px}.avatar-xl{border-radius:22px;width:72px;height:72px;font-size:24px}.main{flex-direction:column;min-height:calc(100svh - 56px);display:flex}.bottom-nav{z-index:60;background:var(--surface);position:fixed;bottom:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.bottom-nav{background:color-mix(in srgb,var(--surface) 92%,transparent)}}.bottom-nav{-webkit-backdrop-filter:saturate(160%)blur(14px);border-top:1px solid var(--line);padding:4px max(4px,env(safe-area-inset-left)) max(4px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-right))}.bottom-nav-inner{grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;display:grid}.bottom-nav-item{border-radius:var(--r-md);min-height:54px;color:var(--ink-3);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 2px;font-size:11px;font-weight:500;line-height:1;display:flex}.bottom-nav-item svg{width:22px;height:22px;transition:transform var(--dur) var(--ease)}.bottom-nav-item.active{color:var(--sakura);font-weight:600}.bottom-nav-item.active svg{transform:translateY(-1px)}.bottom-nav-item:active svg{transform:scale(.9)}.bottom-nav-icon{position:relative}.nav-dot{background:var(--sakura);border:2px solid var(--surface);border-radius:50%;width:7px;height:7px;position:absolute;top:-2px;right:-5px}.profile-menu{position:relative}.profile-menu-bottomnav{display:flex}.profile-menu-bottomnav .bottom-nav-item{width:100%}.profile-popover{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);min-width:190px;box-shadow:var(--shadow-lg);z-index:70;animation:popover-in var(--dur-fast) var(--ease);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px)}.profile-menu-sidebar .profile-popover{left:0;right:0}.profile-menu-bottomnav .profile-popover{width:210px;right:0}.profile-popover-item{align-items:center;gap:var(--s-3);min-height:40px;padding:0 var(--s-3);border-radius:var(--r-md);color:var(--ink-2);font-size:var(--text-small);text-align:left;transition:background var(--dur-fast);font-weight:500;display:flex}.profile-popover-item svg{flex-shrink:0;width:16px;height:16px}.profile-popover-item:hover{background:var(--surface-3);color:var(--ink)}@keyframes popover-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page{width:100%;max-width:var(--content-max);padding:var(--s-4) var(--gutter) calc(var(--bottom-nav-h) + var(--s-8) + env(safe-area-inset-bottom));flex:1;margin:0 auto}.page-narrow{max-width:720px}.page-header{margin-bottom:var(--s-5)}.page-header-row{justify-content:space-between;align-items:flex-end;gap:var(--s-3);flex-wrap:wrap;display:flex}.page-header-text{flex:240px;min-width:0}.page-header h1{font-size:var(--text-display);letter-spacing:-.02em;line-height:1.15}.page-header .eyebrow{margin-bottom:4px}.page-desc{margin-top:var(--s-2);color:var(--ink-2);max-width:56ch;font-size:var(--text-small);line-height:1.55}.page-actions{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.page-header-compact{margin-bottom:var(--s-4)}.page-header-compact h1{font-size:var(--text-h1)}.back-link{border-radius:var(--r-sm);min-height:36px;color:var(--ink-2);font-size:var(--text-small);transition:color var(--dur-fast),background var(--dur-fast);align-items:center;gap:2px;margin:-6px 0 2px -6px;padding:0 8px 0 4px;font-weight:500;display:inline-flex}.back-link:hover{color:var(--sakura);background:var(--sakura-tint)}.section{margin-top:var(--s-6)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.section-head h2{font-size:var(--text-h2)}.section-head .caption{white-space:nowrap}.stack{gap:var(--s-3);flex-direction:column;display:flex}.stack-sm{gap:var(--s-2)}.stack-lg{gap:var(--s-4)}.inline{gap:var(--s-2);flex-wrap:wrap}.inline,.spread{align-items:center;display:flex}.spread{justify-content:space-between;gap:var(--s-3)}.btn{min-height:44px;padding:0 var(--s-4);border-radius:var(--r-md);font-size:var(--text-small);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;font-weight:600;line-height:1.2;display:inline-flex;position:relative}.btn svg{width:17px;height:17px}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;transform:none}.btn-primary{background:var(--sakura);color:var(--on-accent);border-color:var(--sakura);box-shadow:0 1px 2px #b4335a33}.btn-primary:hover:not(:disabled){background:var(--sakura-press);border-color:var(--sakura-press)}.btn-outline,.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-outline:hover:not(:disabled),.btn-secondary:hover:not(:disabled){background:var(--surface-3);border-color:var(--ink-3)}.btn-ghost{color:var(--sakura);padding:0 var(--s-3);background:0 0;min-height:38px}.btn-ghost:hover:not(:disabled),.btn-soft{background:var(--sakura-tint)}.btn-soft{color:var(--sakura)}.btn-soft:hover:not(:disabled){background:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.btn-soft:hover:not(:disabled){background:color-mix(in srgb,var(--sakura) 18%,var(--surface))}}.btn-danger{color:var(--shu);border-color:var(--shu);background:0 0}@supports (color:color-mix(in lab,red,red)){.btn-danger{border-color:color-mix(in srgb,var(--shu) 40%,transparent)}}.btn-danger:hover:not(:disabled){background:var(--shu-tint);border-color:var(--shu)}.btn-danger-solid{background:var(--shu);color:var(--on-accent);border-color:var(--shu)}.btn-sm{min-height:36px;padding:0 var(--s-3);font-size:var(--text-caption);border-radius:var(--r-sm);gap:5px}.btn-sm svg{width:14px;height:14px}.btn-lg{min-height:52px;padding:0 var(--s-6);font-size:var(--text-body);border-radius:14px}.btn-lg svg{width:19px;height:19px}.btn-block{width:100%}.btn-pill{border-radius:var(--r-full)}.btn-icon{border-radius:var(--r-md);width:40px;height:40px;color:var(--ink-2);transition:background var(--dur-fast),color var(--dur-fast),transform var(--dur-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.btn-icon:hover{background:var(--surface-3);color:var(--ink)}.btn-icon:active{transform:scale(.94)}.btn-icon svg{width:18px;height:18px}.btn-icon-outline{border:1px solid var(--line-strong);background:var(--surface)}.btn-icon-sm{border-radius:var(--r-sm);width:34px;height:34px}.btn-icon-sm svg{width:16px;height:16px}.btn[data-loading=true]{pointer-events:none;color:#0000!important}.btn[data-loading=true]:after{content:"";border:2px solid #ffffffe6;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:spin .7s linear infinite;position:absolute}.btn-ghost[data-loading=true]:after,.btn-secondary[data-loading=true]:after{border-color:var(--ink-2);border-top-color:#0000}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4);box-shadow:var(--shadow-sm)}.card-lg{padding:var(--s-5);border-radius:var(--r-xl)}.card-tint{background:var(--sakura-tint);border-color:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.card-tint{border-color:color-mix(in srgb,var(--sakura) 18%,transparent)}}.card-flat,.card-tint{box-shadow:none}.card-interactive{transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur-fast)}.card-interactive:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-2px)}.card-interactive:active{transform:translateY(0)}.card .card{box-shadow:none;border-color:#0000}.callout,.card .card{background:var(--surface-2)}.callout{gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);border:1px solid var(--line);align-items:flex-start;display:flex}.callout>svg{flex-shrink:0;width:20px;height:20px;margin-top:1px}.callout-body{flex:1;min-width:0}.callout-body strong{font-size:var(--text-small);display:block}.callout-body p{font-size:var(--text-caption);color:var(--ink-2);margin-top:2px;line-height:1.5}.callout-warn{background:var(--kincha-tint);border-color:var(--kincha)}@supports (color:color-mix(in lab,red,red)){.callout-warn{border-color:color-mix(in srgb,var(--kincha) 30%,transparent)}}.callout-warn>svg{color:var(--kincha)}.callout-info{background:var(--ai-tint);border-color:var(--ai)}@supports (color:color-mix(in lab,red,red)){.callout-info{border-color:color-mix(in srgb,var(--ai) 30%,transparent)}}.callout-info>svg{color:var(--ai)}.callout-sakura{background:var(--sakura-tint);border-color:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.callout-sakura{border-color:color-mix(in srgb,var(--sakura) 25%,transparent)}}.callout-sakura>svg{color:var(--sakura)}.callout-danger{background:var(--shu-tint);border-color:var(--shu)}@supports (color:color-mix(in lab,red,red)){.callout-danger{border-color:color-mix(in srgb,var(--shu) 30%,transparent)}}.callout-danger>svg{color:var(--shu)}.chip{border-radius:var(--r-full);background:var(--surface-3);min-height:24px;color:var(--ink);font-size:var(--text-caption);white-space:nowrap;align-items:center;gap:4px;padding:0 9px;font-weight:600;line-height:1;display:inline-flex}.chip svg{width:13px;height:13px}.chip-sakura{background:var(--sakura-tint);color:var(--sakura-ink)}.chip-gold{background:var(--kincha-tint);color:var(--kincha-ink)}.chip-green{background:var(--matcha-tint);color:var(--matcha-ink)}.chip-red{background:var(--shu-tint);color:var(--shu-ink)}.chip-blue{background:var(--ai-tint);color:var(--ai-ink)}.chip-outline{border:1px solid var(--line-strong);background:0 0}.chip-lg{min-height:30px;font-size:var(--text-small);padding:0 12px}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-size:var(--text-small);color:var(--ink);font-weight:600}.field-hint{color:var(--ink-3)}.field-error,.field-hint{font-size:var(--text-caption)}.field-error{color:var(--shu)}.input,.select{width:100%;min-height:46px;padding:0 var(--s-3);border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);transition:border-color var(--dur-fast),box-shadow var(--dur-fast);font-size:16px}.input::placeholder{color:var(--ink-3)}.input:focus,.select:focus{border-color:var(--sakura);box-shadow:0 0 0 3px var(--sakura-ring);outline:none}.input[aria-invalid=true]{border-color:var(--shu)}.select-wrap{position:relative}.select{appearance:none;cursor:pointer;padding-right:38px}.select-wrap:after{content:"";border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);pointer-events:none;width:8px;height:8px;margin-top:-6px;position:absolute;top:50%;right:14px;transform:rotate(45deg)}.select-sm{min-height:38px;font-size:var(--text-small);border-radius:var(--r-sm);padding-right:32px}.select-wrap-sm:after{width:7px;height:7px;right:12px}.select-wrap-inline{width:auto;display:inline-block}.select-wrap-inline .select{width:auto}.switch{border-radius:var(--r-full);background:var(--line-strong);width:46px;height:28px;transition:background var(--dur) var(--ease);flex-shrink:0;position:relative}.switch:after{content:"";width:22px;height:22px;transition:transform var(--dur) var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch[aria-checked=true]{background:var(--sakura)}.switch[aria-checked=true]:after{transform:translate(18px)}.switch:disabled{opacity:.5}.search-wrap{position:relative}.search-wrap>svg{width:16px;height:16px;color:var(--ink-3);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.search-wrap .input{padding-left:38px;padding-right:40px}.search-clear{position:absolute;top:50%;right:4px;transform:translateY(-50%)}.bar{border-radius:var(--r-full);background:var(--surface-3);height:8px;overflow:hidden}.bar-sm{height:6px}.bar-fill{border-radius:inherit;background:var(--sakura);height:100%;transition:width .6s var(--ease-out)}.bar-green .bar-fill{background:var(--matcha)}.bar-gold .bar-fill{background:var(--kincha)}.bar-blue .bar-fill{background:var(--ai)}.meter{flex-direction:column;gap:6px;display:flex}.meter-row{justify-content:space-between;align-items:baseline;gap:var(--s-3);font-size:var(--text-small);display:flex}.meter-row strong{font-weight:600}.meter-row span{color:var(--ink-3);font-size:var(--text-caption)}.dial{flex-shrink:0;place-items:center;display:grid;position:relative}.dial svg{transform:rotate(-90deg)}.dial-track{fill:none;stroke:var(--surface-3)}.dial-fill{fill:none;stroke:var(--sakura);stroke-linecap:round;transition:stroke-dashoffset .9s var(--ease-out)}.dial-matcha .dial-fill{stroke:var(--matcha)}.dial-kincha .dial-fill{stroke:var(--kincha)}.dial-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;line-height:1.1;display:flex;position:absolute;inset:0}.dial-center strong{font-family:var(--font-jp);letter-spacing:-.02em;font-size:22px;font-weight:700}.dial-center span{color:var(--ink-3);margin-top:2px;font-size:11px;font-weight:500}.dial-center .dial-big{font-size:28px}.row-list{gap:var(--s-2);flex-direction:column;display:flex}.row{align-items:center;gap:var(--s-3);width:100%;min-height:64px;padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);text-align:left;color:inherit;box-shadow:var(--shadow-sm);transition:border-color var(--dur-fast),background var(--dur-fast),transform var(--dur) var(--ease),box-shadow var(--dur);display:flex}a.row:hover,button.row:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}a.row:active,button.row:active{transform:none}.row-lead{background:var(--sakura-tint);width:46px;height:46px;color:var(--sakura-ink);font-family:var(--font-jp);border-radius:13px;flex-shrink:0;place-items:center;font-size:22px;font-weight:500;display:grid}.row-lead svg{width:20px;height:20px}.row-lead-green{background:var(--matcha-tint);color:var(--matcha-ink)}.row-lead-gold{background:var(--kincha-tint);color:var(--kincha-ink)}.row-lead-blue{background:var(--ai-tint);color:var(--ai-ink)}.row-lead-muted{background:var(--surface-3);color:var(--ink-2)}.row-body{flex:1;min-width:0}.row-body strong{font-size:var(--text-body);font-weight:600;line-height:1.3;display:block}.row-body small{color:var(--ink-2);font-size:var(--text-caption);margin-top:2px;line-height:1.45;display:block}.row-body .bar{margin-top:8px}.row-trail{align-items:center;gap:var(--s-2);color:var(--ink-3);flex-shrink:0;display:flex}.row-trail svg{width:18px;height:18px}.row-trail .chip{color:inherit}.row-done .row-lead{background:var(--matcha-tint);color:var(--matcha-ink)}.row-done .row-trail{color:var(--matcha)}.tile-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.tile-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tile{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);min-height:64px;color:var(--ink);transition:border-color var(--dur-fast),background var(--dur-fast),transform var(--dur-fast),box-shadow var(--dur-fast);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 4px;display:flex;position:relative}.tile:hover{border-color:var(--sakura-soft)}.tile:active{transform:scale(.96)}.tile-char{font-family:var(--font-jp);font-size:26px;line-height:1.1}.tile-sub{color:var(--ink-3);font-size:11px;font-weight:500}.tile.learned{background:var(--matcha-tint);border-color:var(--matcha)}@supports (color:color-mix(in lab,red,red)){.tile.learned{border-color:color-mix(in srgb,var(--matcha) 35%,transparent)}}.tile.learned .tile-sub{color:var(--matcha)}.tile.selected{border-color:var(--sakura);background:var(--sakura-tint);box-shadow:0 0 0 2px var(--sakura-ring)}.tile.selected .tile-char{color:var(--sakura)}.tile-check{background:var(--matcha);width:14px;height:14px;color:var(--on-accent);border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;right:4px}.tile-check svg{width:9px;height:9px}.tile-count{color:var(--ink-3);font-size:10px;font-weight:600;position:absolute;top:4px;right:6px}.tile-dim{opacity:.45}.seg{border-radius:var(--r-md);background:var(--surface-3);scrollbar-width:none;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.seg::-webkit-scrollbar{display:none}.seg-block{width:100%;display:flex}.seg-block .seg-item{flex:1}.seg-item{min-height:36px;color:var(--ink-2);font-size:var(--text-small);white-space:nowrap;transition:background var(--dur-fast),color var(--dur-fast),box-shadow var(--dur-fast);border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:inline-flex}.seg-item svg{width:15px;height:15px}.seg-item:hover{color:var(--ink)}.seg-item.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);font-weight:600}.seg-item .seg-jp{font-family:var(--font-jp);color:var(--ink-3);font-size:var(--text-caption)}.seg-item.active .seg-jp{color:var(--sakura)}.pill-row{gap:var(--s-2);flex-wrap:wrap;display:flex}.pill{border-radius:var(--r-full);border:1px solid var(--line-strong);background:var(--surface);min-height:38px;color:var(--ink-2);font-size:var(--text-small);transition:border-color var(--dur-fast),background var(--dur-fast),color var(--dur-fast);align-items:center;gap:6px;padding:0 14px;font-weight:500;display:inline-flex}.pill:hover{border-color:var(--sakura-soft);color:var(--ink)}.pill.active{background:var(--sakura-tint);border-color:var(--sakura);color:var(--sakura-ink);font-weight:600}.pill svg{width:14px;height:14px}.pagination{margin-top:var(--s-6);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.page-btn{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);min-width:40px;height:40px;color:var(--ink-2);font-size:var(--text-small);transition:border-color var(--dur-fast),color var(--dur-fast),background var(--dur-fast);place-items:center;padding:0 10px;font-weight:500;display:grid}.page-btn:hover:not(:disabled){border-color:var(--sakura);color:var(--sakura)}.page-btn.active{background:var(--sakura);border-color:var(--sakura);color:var(--on-accent);font-weight:600}.page-btn:disabled{opacity:.4}.page-info{color:var(--ink-3);font-size:var(--text-caption);padding:0 6px}.sheet-backdrop{z-index:400;padding-top:env(safe-area-inset-top);-webkit-backdrop-filter:blur(4px);animation:fade-in var(--dur) var(--ease-out);background:#1e121880;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-height:calc(100dvh - 40px);box-shadow:var(--shadow-lg);animation:sheet-up var(--dur-slow) var(--ease-out);padding-bottom:env(safe-area-inset-bottom);border-radius:22px 22px 0 0;outline:none;flex-direction:column;display:flex;position:relative}.sheet-handle{background:var(--line-strong);border-radius:2px;width:40px;height:4px;margin:10px auto 0}.sheet-head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4) var(--s-2) var(--s-5);display:flex}.sheet-head-text{flex:1;min-width:0;padding-top:6px}.sheet-title{font-size:var(--text-h2)}.sheet-subtitle{font-size:var(--text-caption);color:var(--ink-2);margin-top:2px}.sheet-body{padding:0 var(--s-5) var(--s-5);-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.sheet-foot{gap:var(--s-2);padding:var(--s-3) var(--s-5);border-top:1px solid var(--line);background:var(--surface-2);display:flex}.sheet-foot .btn{flex:1}.empty{text-align:center;align-items:center;gap:var(--s-2);padding:var(--s-10) var(--s-4);flex-direction:column;display:flex}.empty-compact{padding:var(--s-6) var(--s-4)}.empty-glyph{font-size:40px;line-height:1;font-family:var(--font-jp);color:var(--sakura)}.empty-title{font-size:var(--text-h2)}.empty-body{color:var(--ink-2);font-size:var(--text-small);max-width:36ch}.empty .btn{margin-top:var(--s-2)}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 50%,var(--surface-3) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.skeleton-text{width:60%;height:14px}.skeleton-title{width:40%;height:24px}.skeleton-card{border-radius:var(--r-lg);height:120px}.home-greeting h1{font-size:var(--text-display);letter-spacing:-.02em}.home-greeting p{color:var(--ink-2);font-size:var(--text-small);margin-top:2px}.today-card{gap:var(--s-4);margin-top:var(--s-4);padding:var(--s-5);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);grid-template-columns:auto 1fr;align-items:center;display:grid;position:relative;overflow:hidden}.today-card:before{content:"";background:var(--sakura);opacity:.85;width:4px;position:absolute;inset:0 auto 0 0}.today-copy .eyebrow{margin-bottom:4px}.today-copy h2{font-size:var(--text-h2)}.today-copy p{color:var(--ink-2);font-size:var(--text-small);margin-top:4px}.today-stats{gap:var(--s-2);grid-column:1/-1;grid-template-columns:repeat(3,1fr);display:grid}.stat{border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.stat strong{font-family:var(--font-jp);font-size:20px;font-weight:700;line-height:1.1}.stat span{color:var(--ink-3);font-size:11px;font-weight:500}.stat-streak strong{color:var(--kincha)}.today-cta{gap:var(--s-2);flex-direction:column;grid-column:1/-1;display:flex}.today-cta .btn{width:100%}.cta-sub{opacity:.85;margin-top:2px;font-size:11px;font-weight:500;display:block}.btn-stacked{flex-direction:column;gap:0;min-height:56px;line-height:1.2}.daily-word{align-items:center;gap:var(--s-4);padding:var(--s-4);border-radius:var(--r-lg);background:var(--kincha-tint);border:1px solid var(--kincha);display:flex}@supports (color:color-mix(in lab,red,red)){.daily-word{border:1px solid color-mix(in srgb,var(--kincha) 22%,transparent)}}.daily-word-glyph{font-family:var(--font-jp);color:var(--ink);flex-shrink:0;font-size:36px;line-height:1}.daily-word-body{flex:1;min-width:0}.daily-word-body .eyebrow{color:var(--kincha-ink)}.daily-word-reading{font-size:var(--text-small);color:var(--ink-2)}.daily-word-meaning{margin-top:1px;font-weight:600}.daily-word .btn-icon{color:var(--kincha)}.quick-grid{gap:var(--s-2);grid-template-columns:repeat(2,1fr);display:grid}.quick-tile{min-height:96px;padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur),border-color var(--dur-fast);flex-direction:column;gap:10px;display:flex}.quick-tile:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-2px)}.quick-tile:active{transform:none}.quick-tile-icon{background:var(--sakura-tint);width:36px;height:36px;color:var(--sakura);border-radius:10px;place-items:center;display:grid}.quick-tile-icon svg{width:18px;height:18px}.quick-tile-icon.gold{background:var(--kincha-tint);color:var(--kincha)}.quick-tile-icon.green{background:var(--matcha-tint);color:var(--matcha)}.quick-tile-icon.blue{background:var(--ai-tint);color:var(--ai)}.quick-tile strong{font-size:var(--text-small);display:block}.quick-tile small{color:var(--ink-3);margin-top:1px;font-size:11.5px;display:block}.check-card{text-align:center}.check-card-glyph{width:100%;padding:var(--s-4) 0 var(--s-3);font-family:var(--font-jp);color:var(--ink);border-radius:var(--r-md);transition:background var(--dur-fast);font-size:64px;line-height:1;display:block}.check-card-glyph:hover{background:var(--surface-2)}.check-reveal{animation:rise-in var(--dur) var(--ease-out) both}.check-reveal .reading{color:var(--sakura);font-weight:600;font-size:var(--text-body)}.check-reveal .meaning{color:var(--ink-2);font-size:var(--text-small);margin-top:2px}.quote-card{gap:var(--s-3);padding:var(--s-4);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);align-items:flex-start;display:flex}.quote-mascot{background:var(--surface-2);border:2px solid var(--mascot-tone,var(--sakura-soft));border-radius:50%;flex-shrink:0;width:64px;height:64px;padding:3px}.quote-mascot img{object-fit:contain;border-radius:50%;width:100%;height:100%;animation:float 3.4s ease-in-out infinite}.quote-body{flex:1;min-width:0}.quote-top{justify-content:space-between;align-items:center;gap:var(--s-2);margin-bottom:4px;display:flex}.quote-tag{color:var(--mascot-tone,var(--sakura));font-size:11.5px;font-weight:600;font-family:var(--font-jp)}.quote-actions{gap:2px;display:flex}.quote-jp{font-family:var(--font-jp);font-size:var(--text-body);font-weight:700;line-height:1.4}.quote-romaji{font-size:var(--text-caption);color:var(--ink-3);margin-top:2px;font-style:italic}.quote-en{font-size:var(--text-small);color:var(--ink-2);margin-top:4px}.quote-meaning{font-size:var(--text-caption);color:var(--ink-3);margin-top:2px}.quote-card.compact .quote-mascot{width:52px;height:52px}.quote-card.compact .quote-jp{font-size:var(--text-small)}.track-row .row-lead{border-radius:15px;width:52px;height:52px;font-size:26px}.lesson-grid{grid-template-columns:1fr}.lesson-grid,.number-grid{gap:var(--s-2);display:grid}.number-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.number-card{flex-direction:column;align-items:stretch;gap:10px;min-height:148px;padding:14px;display:flex;position:relative}.number-card-learned{border-color:var(--matcha)}@supports (color:color-mix(in lab,red,red)){.number-card-learned{border-color:color-mix(in srgb,var(--matcha) 35%,transparent)}}.number-card-learned{background:var(--matcha-tint)}.number-card-listen{width:30px;height:30px;color:var(--ink-2);background:var(--surface-2);border-radius:50%;align-self:flex-end;place-items:center;display:grid}.number-card-main{text-align:left;flex-direction:column;align-items:flex-start;gap:3px;display:flex}.number-card-main strong{font-size:var(--text-small)}.number-card-main small{color:var(--ink-3);font-size:var(--text-caption)}.number-card-japanese{font-size:24px;line-height:1.2}.number-card-learn{color:var(--ink-2);font-size:var(--text-caption);align-self:flex-start;align-items:center;gap:5px;display:inline-flex}.number-card-learn.active{color:var(--matcha);font-weight:600}.number-animation{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:24px 8px 12px;display:flex}.number-animation-settings{grid-template-columns:1fr 1fr;gap:10px;padding:4px 0 12px;display:grid}.number-animation-settings label{color:var(--ink-2);font-size:var(--text-caption);flex-direction:column;gap:5px;display:flex}.number-animation-settings .input{width:100%}.number-animation-count{color:var(--ink-3);font-size:var(--text-caption);font-variant-numeric:tabular-nums}.number-animation-english{font-size:var(--text-h2);font-weight:700}.number-animation-japanese{font-size:clamp(48px,12vw,84px);line-height:1.15}.number-animation-romaji{color:var(--ink-2);font-size:var(--text-small)}.kana-layout{gap:var(--s-5);grid-template-columns:1fr;align-items:start;display:grid}.kana-main{min-width:0}.kana-toolbar{gap:var(--s-3);flex-direction:column;display:flex}.kana-group,.kana-toolbar{margin-bottom:var(--s-4)}.kana-group-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.kana-group-head h3{font-size:var(--text-small);color:var(--ink-2);font-weight:600;font-family:var(--font-ui)}.kana-group-head .caption{font-variant-numeric:tabular-nums}.kana-detail{display:none}.char-hero{text-align:center;padding:var(--s-2) 0 var(--s-3);flex-direction:column;align-items:center;display:flex}.char-hero-glyph{font-family:var(--font-jp);color:var(--ink);font-size:104px;line-height:1}.char-hero-reading{color:var(--sakura);margin-top:var(--s-2);font-size:22px;font-weight:600;font-family:var(--font-jp)}.char-hero-meta{gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap;justify-content:center;display:flex}.char-hero-alt{font-family:var(--font-jp)}.detail-actions{gap:var(--s-2);margin-top:var(--s-3);flex-direction:column;display:flex}.detail-actions-row{gap:var(--s-2);grid-template-columns:1fr 1fr;display:grid}.detail-stroke{margin-top:var(--s-3);padding:var(--s-3);border-radius:var(--r-md);background:var(--surface-2)}.detail-stroke-link{text-align:center;font-size:var(--text-caption);color:var(--sakura);margin-top:var(--s-2);min-height:32px;font-weight:600;line-height:32px;display:block}.detail-blank{padding:var(--s-8) var(--s-3);text-align:center;color:var(--ink-3);font-size:var(--text-small)}.detail-blank-glyph{font-family:var(--font-jp);opacity:.25;margin-bottom:var(--s-2);font-size:56px}.review-grid{gap:var(--s-2);margin-top:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.review-item{gap:var(--s-2);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);padding:6px 6px 6px 12px}.review-item,.review-item-main{align-items:center;display:flex}.review-item-main{text-align:left;flex:1;gap:10px;min-width:0;min-height:36px}.review-item-main .jp{font-size:22px}.review-item-main span{font-size:var(--text-small);font-weight:600}.review-item-main small{color:var(--shu);font-weight:500;display:block}.kanji-row .row-lead{background:var(--surface-2);color:var(--ink);border:1px solid var(--line);font-size:26px}.kanji-row.row-done .row-lead{background:var(--matcha-tint);color:var(--matcha);border-color:#0000}.kanji-row .row-body strong{font-size:var(--text-body)}.kanji-row .row-body small{text-transform:capitalize}.kanji-row .reading{color:var(--sakura);font-weight:600;font-size:var(--text-caption);text-transform:none}.kanji-detail-glyph{color:var(--ink);padding:var(--s-2) 0;font-size:120px;line-height:1}.kanji-detail-glyph,.kanji-detail-reading{font-family:var(--font-jp);text-align:center}.kanji-detail-reading{color:var(--sakura);font-size:22px;font-weight:600}.kanji-detail-meaning{text-align:center;font-size:var(--text-h2);margin-top:2px}.kanji-detail-chips{justify-content:center;gap:var(--s-2);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.example{margin-top:var(--s-4);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--surface-2);border-left:3px solid var(--sakura-soft)}.example .eyebrow{margin-bottom:4px}.example-jp{font-family:var(--font-jp);font-size:var(--text-body);line-height:1.6}.example-en{font-size:var(--text-small);color:var(--ink-2);margin-top:4px}.level-strip{gap:var(--s-2);scrollbar-width:none;margin-bottom:var(--s-4);padding-bottom:2px;display:flex;overflow-x:auto}.level-strip::-webkit-scrollbar{display:none}.level-strip .pill{flex-shrink:0}.mode-group{margin-top:var(--s-5)}.mode-group h2{font-size:var(--text-small);color:var(--ink-2);font-weight:600;font-family:var(--font-ui);margin-bottom:var(--s-2);text-transform:uppercase;letter-spacing:.05em;font-size:var(--text-caption)}.quiz{max-width:640px;margin:0 auto}.quiz-bar{align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.quiz-bar .bar{flex:1}.quiz-bar .chip{font-variant-numeric:tabular-nums;flex-shrink:0}.quiz-controls{align-items:center;gap:var(--s-2);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.quiz-controls .spacer{flex:1}.quiz-stage{padding:var(--s-5) var(--s-4) var(--s-4);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);animation:fade-in var(--dur) var(--ease-out)}.quiz-prompt{text-align:center;font-size:var(--text-small);color:var(--ink-2);font-weight:500}.quiz-glyph{text-align:center;font-family:var(--font-jp);color:var(--ink);margin:var(--s-3) 0 var(--s-2);transition:color var(--dur);-webkit-user-select:none;user-select:none;font-size:clamp(72px,24vw,112px);line-height:1.1;display:block}.quiz-glyph.small{font-size:clamp(40px,12vw,64px)}.quiz-glyph.correct{color:var(--matcha)}.quiz-glyph.wrong{color:var(--shu)}.quiz-sub{text-align:center;color:var(--ink-2);font-size:var(--text-small)}.quiz-listen{margin:var(--s-2) 0 var(--s-4);justify-content:center;display:flex}.quiz-options{gap:var(--s-2);grid-template-columns:1fr;display:grid}.quiz-options-2{grid-template-columns:1fr 1fr}.option{border:2px solid var(--line);background:var(--surface);min-height:60px;color:var(--ink);font-size:var(--text-body);text-align:center;white-space:normal;transition:border-color var(--dur-fast),background var(--dur-fast),transform var(--dur-fast),opacity var(--dur),color var(--dur-fast);border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 14px;font-weight:500;line-height:1.35;display:flex}.option-left{text-align:left;justify-content:flex-start}.option:hover:not(:disabled){border-color:var(--sakura-soft);background:var(--surface-2)}.option:active:not(:disabled){transform:scale(.98)}.option:disabled{cursor:default}.option.correct{border-color:var(--matcha);background:var(--matcha-tint);color:var(--matcha);animation:pop .35s var(--ease)}.option.wrong{border-color:var(--shu);background:var(--shu-tint);color:var(--shu);animation:shake .35s var(--ease)}.option.dimmed{opacity:.45}.option-main{font-weight:600}.option-sub{font-size:var(--text-caption);opacity:.8;margin-top:2px;font-weight:400;display:block}.option-text{flex:1;min-width:0}.option-mark{flex-shrink:0}.option-jp{font-family:var(--font-jp);font-size:20px}.option-with-audio{gap:var(--s-2);align-items:stretch;display:flex}.option-with-audio .option{flex:1}.option-with-audio .btn-icon{border:1px solid var(--line-strong);border-radius:14px;align-self:stretch;height:auto}.quiz-feedback{align-items:center;gap:var(--s-3);margin-top:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);animation:rise-in var(--dur) var(--ease-out);display:flex}.quiz-feedback.good{background:var(--matcha-tint);color:var(--matcha)}.quiz-feedback.bad{background:var(--shu-tint);color:var(--shu)}.quiz-feedback-icon{background:currentColor;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}@supports (color:color-mix(in lab,red,red)){.quiz-feedback-icon{background:color-mix(in srgb,currentColor 14%,transparent)}}.quiz-feedback-icon{flex-shrink:0}.quiz-feedback-icon svg{width:18px;height:18px}.quiz-feedback-body{flex:1;min-width:0}.quiz-feedback-body>strong{font-size:var(--text-small);display:block}.quiz-feedback-body span{font-size:var(--text-caption);opacity:.9;margin-top:1px;display:block}.quiz-feedback-body .jp{font-weight:600}.quiz-feedback .btn{flex-shrink:0}.quiz-feedback.good .btn-primary{background:var(--matcha);border-color:var(--matcha)}.quiz-feedback.bad .btn-primary{background:var(--shu);border-color:var(--shu)}.quiz-done{text-align:center;padding:var(--s-4) 0;animation:rise-in var(--dur-slow) var(--ease-out)}.quiz-done .dial{margin:0 auto var(--s-4)}.quiz-done h2{font-size:var(--text-h1)}.quiz-done p{color:var(--ink-2);font-size:var(--text-small);margin-top:4px}.quiz-done-chips{justify-content:center;gap:var(--s-2);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.quiz-done-actions{gap:var(--s-2);margin-top:var(--s-5);flex-direction:column;display:flex}.quiz-done-actions .btn{width:100%}.quiz-done-section{text-align:left;margin-top:var(--s-5)}.quiz-done-section h3{font-size:var(--text-small);margin-bottom:var(--s-2);font-weight:600;font-family:var(--font-ui);color:var(--ink-2)}.mini-tiles{flex-wrap:wrap;gap:6px;display:flex}.mini-tile{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:48px;height:50px;padding:0 8px;display:flex}.mini-tile .jp{font-size:18px;line-height:1.1}.mini-tile small{color:var(--ink-3);font-size:10px}.mini-tile.missed{border-color:var(--shu)}@supports (color:color-mix(in lab,red,red)){.mini-tile.missed{border-color:color-mix(in srgb,var(--shu) 40%,transparent)}}.mini-tile.missed{background:var(--shu-tint)}.mini-tile.missed small{color:var(--shu)}.quiz-loading{gap:var(--s-3);padding:var(--s-4) 0;flex-direction:column;display:flex}.row-select-grid{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.row-select{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);text-align:left;min-height:52px;transition:border-color var(--dur-fast),background var(--dur-fast);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px 8px 12px;display:flex}.row-select strong{font-size:var(--text-small);display:block}.row-select small{color:var(--ink-3);font-size:11px;font-family:var(--font-jp);display:block}.row-select.selected{border-color:var(--sakura);background:var(--sakura-tint)}.row-select.selected strong{color:var(--sakura)}.row-select svg{width:16px;height:16px;color:var(--ink-3);flex-shrink:0}.row-select.selected svg{color:var(--sakura)}.flashcard-scene{perspective:1200px}.flashcard{width:100%;min-height:280px;transform-style:preserve-3d;transition:transform .5s var(--ease);cursor:pointer;border-radius:var(--r-xl);outline:none;position:relative}.flashcard.flipped{transform:rotateY(180deg)}.flashcard:focus-visible{box-shadow:0 0 0 3px var(--sakura-ring)}.flashcard-face{justify-content:center;align-items:center;gap:var(--s-2);padding:var(--s-5);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);backface-visibility:hidden;text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.flashcard-back{background:var(--sakura-tint);border-color:var(--sakura);transform:rotateY(180deg)}@supports (color:color-mix(in lab,red,red)){.flashcard-back{border-color:color-mix(in srgb,var(--sakura) 22%,transparent)}}.flashcard-glyph{font-family:var(--font-jp);color:var(--ink);font-size:clamp(56px,18vw,84px);line-height:1.1}.flashcard-answer{font-family:var(--font-jp);font-size:28px;font-weight:700}.flashcard-reading{color:var(--sakura);font-weight:600;font-size:var(--text-body)}.flashcard-hint{color:var(--ink-3);font-size:var(--text-caption)}.flashcard-example{color:var(--ink-2);font-size:var(--text-small);max-width:34ch;line-height:1.5;font-family:var(--font-jp)}.flashcard-audio{position:absolute;top:10px;right:10px}.flashcard-rating{gap:var(--s-2);margin-top:var(--s-4);grid-template-columns:repeat(4,1fr);display:grid}.flashcard-rating .btn{flex-direction:column;gap:1px;min-height:56px;padding:0 4px}.flashcard-rating .btn small{opacity:.75;font-size:10.5px;font-weight:500}.rate-again{color:var(--shu);border-color:var(--shu)}@supports (color:color-mix(in lab,red,red)){.rate-again{border-color:color-mix(in srgb,var(--shu) 40%,transparent)}}.rate-hard{color:var(--kincha);border-color:var(--kincha)}@supports (color:color-mix(in lab,red,red)){.rate-hard{border-color:color-mix(in srgb,var(--kincha) 40%,transparent)}}.rate-good{color:var(--matcha);border-color:var(--matcha)}@supports (color:color-mix(in lab,red,red)){.rate-good{border-color:color-mix(in srgb,var(--matcha) 45%,transparent)}}.rate-good{background:var(--matcha-tint)}.rate-easy{color:var(--ai);border-color:var(--ai)}@supports (color:color-mix(in lab,red,red)){.rate-easy{border-color:color-mix(in srgb,var(--ai) 40%,transparent)}}.match-status{gap:var(--s-2);margin-bottom:var(--s-4);grid-template-columns:repeat(3,1fr);display:grid}.match-status .stat{text-align:center;align-items:center}.match-status .stat strong{font-variant-numeric:tabular-nums;font-size:18px}.match-grid{gap:var(--s-2);grid-template-columns:repeat(3,1fr);display:grid}.match-card{border:2px solid var(--line);background:var(--surface);min-height:74px;color:var(--ink);font-family:var(--font-jp);transition:border-color var(--dur-fast),background var(--dur-fast),transform var(--dur-fast),opacity var(--dur-slow);border-radius:14px;place-items:center;padding:6px;font-size:28px;font-weight:500;display:grid}.match-card.romaji{font-family:var(--font-ui);font-size:18px;font-weight:600}.match-card:hover:not(:disabled){border-color:var(--sakura-soft)}.match-card.selected{border-color:var(--sakura);background:var(--sakura-tint);transform:scale(1.04)}.match-card.mismatched{border-color:var(--shu);background:var(--shu-tint);color:var(--shu);animation:shake .35s var(--ease)}.match-card.matched{background:var(--matcha-tint);color:var(--matcha);opacity:.4;border-color:#0000}.stroke-layout{gap:var(--s-4);grid-template-columns:1fr;align-items:start;display:grid}.stroke-detail,.stroke-panel{min-width:0}.stroke-practice{gap:var(--s-3);flex-direction:column;display:flex}.stroke-practice-head{justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.stroke-practice-title{text-align:center;min-width:0}.stroke-practice-char{font-family:var(--font-jp);font-size:40px;line-height:1.1}.stroke-practice-reading{font-size:var(--text-body);color:var(--sakura);margin-top:2px;font-weight:600}.stroke-practice-alt{font-size:var(--text-caption);color:var(--ink-3);font-family:var(--font-jp);margin-top:2px}.stroke-tips{border-top:1px solid var(--line);padding-top:var(--s-3)}.stroke-tips ul{font-size:var(--text-caption);color:var(--ink-2);padding-left:16px;line-height:1.7;list-style:outside}.stroke-keys{margin-top:var(--s-2);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:4px;font-size:11px;display:flex}.stroke-keys kbd{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);border-radius:4px;padding:1px 5px;font-family:inherit;font-size:10px}.stroke-group{margin-bottom:var(--s-4)}.stroke-animation{flex-direction:column;align-items:center;display:flex}.stroke-animation--full{gap:var(--s-3)}.stroke-animation--compact{gap:var(--s-2)}.stroke-canvas{aspect-ratio:1;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);width:100%;position:relative;overflow:hidden}.stroke-animation--full .stroke-canvas{max-width:240px}.stroke-animation--compact .stroke-canvas{max-width:120px}.stroke-canvas svg{width:100%;height:100%;display:block}.stroke-guide{stroke:var(--line-strong);stroke-width:.6px;stroke-dasharray:4 4;opacity:.6}.stroke-path{fill:none;stroke-width:4.2px;stroke-linecap:round;stroke-linejoin:round}.stroke-path--pending{stroke:var(--ink-2);opacity:.14}.stroke-path--done{stroke:var(--ink);opacity:.9}.stroke-path--drawing{stroke:var(--sakura);opacity:1;stroke-dasharray:1;stroke-dashoffset:1px;animation-name:stroke-draw;animation-timing-function:linear;animation-fill-mode:forwards}.stroke-marker circle{fill:var(--sakura);opacity:.95}.stroke-marker text{fill:#fff;font-size:8px;font-weight:700;font-family:var(--font-ui)}.stroke-marker--done circle{fill:var(--ink-2);opacity:.8}.stroke-chips{flex-wrap:wrap;gap:6px}.stroke-chip,.stroke-chips{justify-content:center;display:flex}.stroke-chip{border:1.5px solid var(--line);background:var(--surface-2);width:28px;height:28px;color:var(--ink-3);transition:background var(--dur),color var(--dur),border-color var(--dur);border-radius:50%;align-items:center;font-size:11px;font-weight:700}.stroke-chip:hover{border-color:var(--sakura);color:var(--ink)}.stroke-chip--done{background:var(--ink);border-color:var(--ink);color:var(--bg)}.stroke-chip--drawing{background:var(--sakura);border-color:var(--sakura);color:var(--on-accent)}.stroke-controls{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.stroke-ctl{padding:0 12px}.stroke-ctl--main{min-width:104px}.stroke-meta{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.stroke-toggle{border-radius:var(--r-full);border:1px solid var(--line);min-height:30px;color:var(--ink-2);transition:color var(--dur-fast),border-color var(--dur-fast);align-items:center;gap:4px;padding:0 10px;font-size:11.5px;font-weight:500;display:inline-flex}.stroke-toggle:hover:not(:disabled){color:var(--ink);border-color:var(--sakura-soft)}.stroke-toggle.active{color:var(--sakura);border-color:var(--sakura);background:var(--sakura-tint)}.stroke-toggle:disabled{opacity:.4}.stroke-status{font-size:var(--text-caption);color:var(--ink-3);text-align:center;margin:0}.stroke-compact-btn{min-height:32px}.stroke-empty{text-align:center;padding:var(--s-4) var(--s-3);color:var(--ink-3)}.stroke-empty-char{font-family:var(--font-jp);opacity:.35;margin-bottom:6px;font-size:64px;line-height:1}.stroke-empty-note{font-size:var(--text-caption);line-height:1.5}.overview{gap:var(--s-4);grid-template-columns:auto 1fr;align-items:center;display:grid}.overview-copy h2{font-size:var(--text-h2)}.overview-copy p{color:var(--ink-2);font-size:var(--text-small);margin-top:4px}.metric-grid{gap:var(--s-2);grid-template-columns:repeat(2,1fr);display:grid}.metric{padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:4px;display:flex}.metric svg{width:18px;height:18px;color:var(--sakura)}.metric strong{font-family:var(--font-jp);font-size:24px;font-weight:700;line-height:1.1}.metric span{font-size:var(--text-caption);color:var(--ink-3)}.metric-gold svg{color:var(--kincha)}.metric-green svg{color:var(--matcha)}.metric-blue svg{color:var(--ai)}.week{height:150px;margin-top:var(--s-3);grid-template-columns:repeat(7,1fr);align-items:end;gap:6px;display:grid}.week-col{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.week-bar{background:var(--surface-3);width:100%;max-width:32px;min-height:4px;transition:height .6s var(--ease-out);border-radius:6px 6px 3px 3px}.week-bar.has{background:var(--sakura-soft)}.week-bar.today{background:var(--sakura)}.week-label{color:var(--ink-3);font-size:11px;font-weight:500}.week-col.is-today .week-label{color:var(--sakura);font-weight:600}.week-legend{margin-top:var(--s-3);font-size:var(--text-caption);color:var(--ink-3)}.profile-card,.week-legend{gap:var(--s-4);display:flex}.profile-card{align-items:center}.profile-card-body{flex:1;min-width:0}.profile-card-body h2{font-size:var(--text-h1)}.profile-card-body p{font-size:var(--text-small);color:var(--ink-2);margin-top:2px}.profile-chips{gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.settings-group{margin-top:var(--s-5)}.settings-group>h2{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-family:var(--font-ui);margin-bottom:var(--s-2);padding-left:2px;font-weight:600}.settings-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.setting-row{justify-content:space-between;align-items:center;gap:var(--s-3);min-height:60px;padding:var(--s-3) var(--s-4);display:flex}.setting-row+.setting-row{border-top:1px solid var(--line)}.setting-row-text{flex:1;min-width:0}.setting-row-text strong{font-size:var(--text-small);font-weight:600;display:block}.setting-row-text small{color:var(--ink-2);font-size:var(--text-caption);margin-top:1px;line-height:1.45;display:block}.setting-row .select-wrap{flex-shrink:0;width:140px}.setting-row-stack{flex-direction:column;align-items:stretch}.setting-row-stack .input,.setting-row-stack .select-wrap{width:100%}.setting-actions{gap:var(--s-2);padding:var(--s-3) var(--s-4);flex-wrap:wrap;display:flex}.tabs-scroll{scrollbar-width:none;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter);overflow-x:auto}.tabs-scroll::-webkit-scrollbar{display:none}.about-panel{margin-top:var(--s-4)}.about-panel article{box-shadow:none!important}.about-panel h2,.about-panel h3,.about-panel h4{font-family:var(--font-jp)}@media (min-width:769px){:root{--gutter:32px}.bottom-nav,.mobile-header{display:none}.sidebar{z-index:50;width:var(--sidebar-w);padding:var(--s-6) var(--s-4) var(--s-4);background:var(--surface);border-right:1px solid var(--line);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.sidebar .brand{margin:0 var(--s-2) var(--s-5);font-size:18px}.sidebar .logo-mark{width:34px;height:34px}.nav-list{flex-direction:column;gap:2px;display:flex}.nav-item{align-items:center;gap:var(--s-3);min-height:44px;padding:0 var(--s-3);border-radius:var(--r-md);color:var(--ink-2);font-size:var(--text-small);transition:background var(--dur-fast),color var(--dur-fast);font-weight:500;display:flex}.nav-item svg{width:19px;height:19px}.nav-item:hover{background:var(--surface-3);color:var(--ink)}.nav-item.active{background:var(--sakura-tint);color:var(--sakura);font-weight:600}.nav-item .nav-dot{border:0;margin-left:auto;position:static}.sidebar-foot{gap:var(--s-2);flex-direction:column;margin-top:auto;display:flex}.side-stat{align-items:center;gap:var(--s-3);padding:10px var(--s-3);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);display:flex}.side-stat svg{width:18px;height:18px;color:var(--kincha)}.side-stat-xp svg{color:var(--sakura)}.side-stat strong{font-size:var(--text-small);display:block}.side-stat span{color:var(--ink-3);font-size:11.5px;display:block}.theme-toggle{align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-3);border-radius:var(--r-md);color:var(--ink-2);font-size:var(--text-small);transition:background var(--dur-fast);font-weight:500;display:flex}.theme-toggle:hover{background:var(--surface-3)}.theme-toggle svg{width:16px;height:16px}.theme-toggle .switch{width:38px;height:22px;margin-left:auto}.theme-toggle .switch:after{width:16px;height:16px}.theme-toggle .switch[aria-checked=true]:after{transform:translate(16px)}.sidebar-profile{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);border:1px solid var(--line);transition:border-color var(--dur-fast),background var(--dur-fast);display:flex}.sidebar-profile:hover{border-color:var(--line-strong);background:var(--surface-2)}.sidebar-profile-info{flex:1;min-width:0}.sidebar-profile-info strong{font-size:var(--text-small);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.sidebar-profile-info span{color:var(--ink-3);font-size:11.5px;display:block}.sidebar-profile>svg{color:var(--ink-3);width:15px}.main{margin-left:var(--sidebar-w);min-height:100svh}.page{padding:var(--s-8) var(--gutter) var(--s-12)}.page-header{margin-bottom:var(--s-6)}.section{margin-top:var(--s-8)}.today-card{padding:var(--s-6);grid-template-columns:auto 1fr auto}.today-stats{grid-column:auto;grid-template-columns:1fr;gap:6px;min-width:150px}.today-cta{flex-direction:row;grid-column:1/-1}.today-cta .btn{width:auto;min-width:220px}.today-cta .btn-stacked{min-height:52px}.home-grid{gap:var(--s-6);margin-top:var(--s-6);grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);align-items:start;display:grid}.home-grid>.section{margin-top:0}.home-side{gap:var(--s-6);flex-direction:column;display:flex}.home-side .section{margin-top:0}.lesson-grid,.quick-grid{grid-template-columns:repeat(2,1fr)}.number-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kana-layout{grid-template-columns:minmax(0,1fr) 300px}.kana-detail{top:var(--s-6);display:block;position:sticky}.kana-toolbar{flex-direction:row;justify-content:space-between;align-items:center}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.tile{min-height:72px}.tile-char{font-size:28px}.quiz-options-2-desktop{grid-template-columns:1fr 1fr}.quiz-done-actions{flex-direction:row;justify-content:center}.quiz-done-actions .btn{width:auto;min-width:180px}.quiz-stage{padding:var(--s-8) var(--s-6) var(--s-6)}.match-grid{grid-template-columns:repeat(4,1fr)}.match-card{min-height:84px}.stroke-layout{grid-template-columns:minmax(0,1fr) 320px}.stroke-detail{top:var(--s-6);position:sticky}.overview{grid-template-columns:auto 1fr}.metric-grid{grid-template-columns:repeat(4,1fr)}.progress-grid{gap:var(--s-6);margin-top:var(--s-8);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;display:grid}.progress-grid>.section{margin-top:0}.progress-side{gap:var(--s-6);flex-direction:column;display:flex}.progress-side .section{margin-top:0}.week{height:180px}.setting-row .select-wrap{width:180px}.tabs-scroll{margin:0;padding:0}.sheet-backdrop{padding:var(--s-6);align-items:center}.sheet{border-radius:var(--r-xl);max-width:520px;max-height:min(84dvh,760px);animation:scale-in var(--dur) var(--ease-out);padding-bottom:0}.sheet-lg{max-width:640px}.sheet-handle{display:none}.sheet-head{padding-top:var(--s-4)}}@media (min-width:1200px){:root{--gutter:48px}}@media (max-width:360px){.streak-chip.is-level{display:none}.today-stats{grid-template-columns:repeat(3,1fr);gap:6px}.stat{padding:8px}.stat strong{font-size:17px}.quick-grid{grid-template-columns:1fr 1fr}.tile-char{font-size:22px}.tile{min-height:58px}.match-card{min-height:66px;font-size:24px}.quiz-options-2{grid-template-columns:1fr}.flashcard-rating{grid-template-columns:repeat(2,1fr)}.bottom-nav-item{font-size:10px}}@media (pointer:coarse){.btn-sm{min-height:40px}.btn-icon-sm{width:40px;height:40px}.seg-item{min-height:40px}.option{min-height:64px}}@keyframes route-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.route-enter{animation:route-in .22s var(--ease-out)}@keyframes glyph-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.glyph-swap{animation:glyph-in .16s var(--ease-out)}.quiz-glyph{animation:glyph-in .18s var(--ease-out)}.quiz-glyph.correct{animation:pop .35s var(--ease)}.quiz-glyph.wrong{animation:shake .35s var(--ease)}.flashcard-face .flashcard-glyph{animation:glyph-in .16s var(--ease-out)}@keyframes sheet-down{to{opacity:0;transform:translateY(16px)}}@keyframes fade-out{to{opacity:0}}.sheet-backdrop.is-closing{animation:fade-out .18s var(--ease) forwards;pointer-events:none}.sheet-backdrop.is-closing .sheet{animation:sheet-down .18s var(--ease) forwards}@media (min-width:769px){@keyframes scale-out{to{opacity:0;transform:scale(.98)}}.sheet-backdrop.is-closing .sheet{animation:scale-out .16s var(--ease) forwards}}@keyframes streak-bump{0%{box-shadow:0 0 0 0 var(--sakura-ring);transform:scale(1)}40%{transform:scale(1.06);box-shadow:0 0 0 8px #0000}to{transform:scale(1);box-shadow:0 0 #0000}}.side-stat.is-bump,.streak-chip.is-bump{animation:streak-bump .7s var(--ease-out)}.match-card:active:not(:disabled),.option:active:not(:disabled),.pill:active,.quick-tile:active,.row:active,.tile:active{transition-duration:60ms}.bottom-nav-item:active{background:var(--surface-3)}.nav-item:active{background:var(--sakura-tint)}@media (hover:none){.card-interactive:hover,.quick-tile:hover,a.row:hover,button.row:hover{box-shadow:var(--shadow-sm);border-color:var(--line);transform:none}.match-card:hover:not(:disabled),.option:hover:not(:disabled),.tile:hover{border-color:var(--line);background:var(--surface)}.option.correct:hover{border-color:var(--matcha);background:var(--matcha-tint)}.option.wrong:hover{border-color:var(--shu);background:var(--shu-tint)}.tile.learned:hover,.tile.selected:hover{border-color:inherit}.tile.learned:hover{background:var(--matcha-tint);border-color:var(--matcha)}@supports (color:color-mix(in lab,red,red)){.tile.learned:hover{border-color:color-mix(in srgb,var(--matcha) 35%,transparent)}}.match-card.selected:hover,.tile.selected:hover{background:var(--sakura-tint);border-color:var(--sakura)}.btn-outline:hover:not(:disabled),.btn-secondary:hover:not(:disabled){background:var(--surface);border-color:var(--line-strong)}.btn-ghost:hover:not(:disabled),.btn-icon:hover{background:0 0}.pill:hover{border-color:var(--line-strong);color:var(--ink-2)}.pill.active:hover{border-color:var(--sakura);color:var(--sakura)}}.row-list>.row{content-visibility:auto;contain-intrinsic-size:auto 72px}.chip,.dial-center strong,.meter-row strong,.metric strong,.stat strong,.streak-chip{font-variant-numeric:tabular-nums}@media (max-width:768px){.quiz-feedback{left:var(--gutter);right:var(--gutter);z-index:55;bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom) + 10px);box-shadow:var(--shadow-lg);animation:sheet-up var(--dur) var(--ease-out);margin-top:0;position:fixed}.quiz:has(.quiz-feedback) .quiz-stage{margin-bottom:104px}.option{scroll-margin-top:80px;scroll-margin-bottom:120px}}.toast-stack{z-index:500;left:var(--gutter);right:var(--gutter);top:calc(56px + env(safe-area-inset-top) + 10px);pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed}.toast{pointer-events:auto;text-align:left;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-md);animation:toast-in var(--dur-slow) var(--ease-out);align-items:center;gap:12px;width:100%;padding:10px 14px;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.toast-glyph{border-radius:11px;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:18px;font-weight:700;display:grid}.toast-sakura .toast-glyph{background:var(--sakura-tint);color:var(--sakura)}.toast-gold .toast-glyph{background:var(--kincha-tint);color:var(--kincha)}.toast-green .toast-glyph{background:var(--matcha-tint);color:var(--matcha)}.toast-body{min-width:0}.toast-body strong{font-size:var(--text-small);display:block}.toast-body span{font-size:var(--text-caption);color:var(--ink-2);display:block}.side-level{display:none}.streak-chip.is-level{background:var(--sakura-tint);color:var(--sakura)}.level-card{align-items:center;gap:var(--s-4);display:flex}.level-badge{background:var(--sakura-tint);width:56px;height:56px;color:var(--sakura);font-family:var(--font-jp);border-radius:16px;flex-shrink:0;place-items:center;font-size:24px;font-weight:700;display:grid}.level-body{flex:1;min-width:0}.level-body strong{font-size:var(--text-body);display:block}.level-body .bar{margin:6px 0 4px}.quest-list{gap:var(--s-2);flex-direction:column;display:flex}.quest{align-items:center;gap:var(--s-3);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);padding:10px 12px;display:flex}.quest-check{border:2px solid var(--line-strong);color:#0000;width:30px;height:30px;transition:background var(--dur),border-color var(--dur),color var(--dur);border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;display:grid}.quest.done .quest-check{background:var(--matcha);border-color:var(--matcha);color:#fff}.quest-body{flex:1;min-width:0}.quest-body strong{font-size:var(--text-small);display:block}.quest-body .bar{margin-top:6px}.quest.done .quest-body strong{color:var(--ink-2);text-decoration:line-through;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.quest-xp{flex-shrink:0}.badge-grid{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.badge{text-align:center;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);flex-direction:column;align-items:center;gap:4px;min-height:110px;padding:12px 6px 10px;display:flex}.badge-glyph{width:44px;height:44px;font-family:var(--font-jp);background:var(--surface-3);color:var(--ink-2);border-radius:14px;place-items:center;font-size:22px;font-weight:700;display:grid}.badge strong{font-size:var(--text-caption);line-height:1.2}.badge small{color:var(--ink-3);font-size:10.5px}.badge.locked{opacity:.55}.badge.locked .badge-glyph{background:var(--surface-3);color:var(--ink-3)}.badge-common .badge-glyph{background:var(--matcha-tint);color:var(--matcha)}.badge-rare .badge-glyph{background:var(--ai-tint);color:var(--ai)}.badge-epic .badge-glyph{background:var(--sakura-tint);color:var(--sakura)}.badge-legendary .badge-glyph{background:var(--kincha-tint);color:var(--kincha);box-shadow:0 0 0 2px var(--kincha)}@supports (color:color-mix(in lab,red,red)){.badge-legendary .badge-glyph{box-shadow:0 0 0 2px color-mix(in srgb,var(--kincha) 35%,transparent)}}.heatmap{scrollbar-width:none;gap:3px;padding-bottom:4px;display:flex;overflow-x:auto}.heatmap::-webkit-scrollbar{display:none}.heat-col{flex-direction:column;gap:3px;display:flex}.heat-cell{background:var(--surface-3);border-radius:3px;width:13px;height:13px}.heat-1{background:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.heat-1{background:color-mix(in srgb,var(--sakura) 25%,var(--surface-3))}}.heat-2{background:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.heat-2{background:color-mix(in srgb,var(--sakura) 50%,var(--surface-3))}}.heat-3{background:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.heat-3{background:color-mix(in srgb,var(--sakura) 75%,var(--surface-3))}}.heat-4{background:var(--sakura)}.heat-cell.today{outline:2px solid var(--ink);outline-offset:-2px}.heat-cell.future{opacity:.35}.heat-legend{color:var(--ink-3);align-items:center;gap:4px;margin-top:8px;font-size:11px;display:flex}.heat-legend .heat-cell{width:10px;height:10px}.bests{gap:var(--s-2);grid-template-columns:repeat(2,1fr);display:grid}.best{border-radius:var(--r-md);background:var(--surface-2);padding:10px 12px}.best strong{font-family:var(--font-jp);font-size:20px;display:block}.best span{color:var(--ink-3);font-size:11.5px}.readiness{flex-direction:column;gap:10px;margin-top:12px;display:flex}.readiness .meter-row span{font-variant-numeric:tabular-nums}.chip-fav{cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);min-height:28px}.chip-fav.active{background:var(--kincha-tint);color:var(--kincha);border-color:#0000}.chip-fav.active svg{fill:currentColor}.blitz-timer{font-family:var(--font-jp);font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1}.blitz-timer.low{color:var(--shu)}.combo-chip{transition:transform var(--dur-fast)}.combo-chip.hot{transform:scale(1.06)}.type-answer{gap:var(--s-2);margin-top:var(--s-2);display:flex}.type-answer .input{text-align:center;letter-spacing:.04em;font-size:20px}.type-answer.correct .input{border-color:var(--matcha);background:var(--matcha-tint)}.type-answer.wrong .input{border-color:var(--shu);background:var(--shu-tint)}.time-row{gap:var(--s-4);display:flex}.time-row div{flex:1}.time-row strong{font-family:var(--font-jp);font-size:22px;display:block}.time-row span{font-size:var(--text-caption);color:var(--ink-3)}@media (min-width:769px){.toast-stack{left:auto;right:var(--s-6);top:var(--s-6);width:340px}.side-level{align-items:center;gap:var(--s-3);padding:10px var(--s-3);border-radius:var(--r-md);background:var(--sakura-tint);transition:background var(--dur-fast);display:flex}.side-level:hover{background:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.side-level:hover{background:color-mix(in srgb,var(--sakura) 16%,var(--surface))}}.side-level-badge{background:var(--surface);width:36px;height:36px;color:var(--sakura);border-radius:11px;flex-shrink:0;place-items:center;font-size:16px;font-weight:700;display:grid}.side-level-body{flex:1;min-width:0}.side-level-body strong{font-size:var(--text-small);display:block}.side-level-body .bar{height:5px;margin:5px 0 3px}.bests{grid-template-columns:repeat(4,1fr)}.heat-cell{width:14px;height:14px}}.write-prompt{justify-content:space-between;align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.write-romaji{font-family:var(--font-jp);color:var(--ink);font-size:40px;font-weight:700;line-height:1.1}.write-meta{align-items:center;gap:6px;display:flex}.write-board{aspect-ratio:1;border-radius:var(--r-lg);border:1.5px solid var(--line-strong);background:linear-gradient(var(--line) 1px,transparent 1px) 0 50% /100% 1px no-repeat,linear-gradient(90deg,var(--line) 1px,transparent 1px) 50% 0 /1px 100% no-repeat,var(--surface-2);width:100%;max-width:320px;transition:border-color var(--dur),box-shadow var(--dur);margin:0 auto;position:relative;overflow:hidden}.write-board.good{border-color:var(--matcha);box-shadow:0 0 0 3px var(--matcha-tint)}.write-board.ok{border-color:var(--kincha);box-shadow:0 0 0 3px var(--kincha-tint)}.write-board.weak{border-color:var(--shu);box-shadow:0 0 0 3px var(--shu-tint)}.write-board canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.write-guide{opacity:0;transition:opacity var(--dur);pointer-events:none}.write-guide.visible{opacity:.18}.write-ink{cursor:crosshair}.write-hint{font-size:var(--text-caption);color:var(--ink-3);pointer-events:none;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.write-controls{gap:var(--s-2);margin-top:var(--s-4);grid-template-columns:1fr 1.3fr 1fr;display:grid}.write-toggles{justify-content:center;gap:var(--s-2)}.write-result,.write-toggles{margin-top:var(--s-3);display:flex}.write-result{align-items:center;gap:var(--s-4);min-height:72px}.write-stamp{width:66px;height:66px;font-weight:700;font-family:var(--font-jp);animation:stamp-in .3s var(--ease-out);border:3px solid;border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex;transform:rotate(-6deg)}@keyframes stamp-in{0%{opacity:0;transform:rotate(-6deg)scale(1.25)}to{opacity:.92;transform:rotate(-6deg)scale(1)}}.write-stamp{opacity:.92}.stamp-matcha{color:var(--matcha)}.stamp-kincha{color:var(--kincha)}.stamp-shu{color:var(--shu)}.write-stamp-pct{font-size:19px;line-height:1}.write-stamp-lbl{letter-spacing:.08em;margin-top:3px;font-size:8.5px}.write-verdict{font-size:var(--text-small);color:var(--ink-2);text-align:left;line-height:1.5}.write-verdict strong{color:var(--ink)}.write-tally{justify-content:space-between;gap:var(--s-3);margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--line);font-size:var(--text-caption);color:var(--ink-3);font-variant-numeric:tabular-nums;display:flex}.offline-bar{margin:var(--s-3) var(--gutter) 0;border-radius:var(--r-md);background:var(--kincha-tint);color:var(--kincha);font-size:var(--text-caption);text-align:center;animation:rise-in var(--dur) var(--ease-out);justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-weight:600;display:flex}.offline-bar svg{flex-shrink:0;width:15px;height:15px}.install-card{gap:var(--s-3);margin-top:var(--s-4);padding:var(--s-4);border-radius:var(--r-lg);background:var(--sakura-tint);border:1px solid var(--sakura);align-items:flex-start;padding-right:44px;display:flex;position:relative}@supports (color:color-mix(in lab,red,red)){.install-card{border:1px solid color-mix(in srgb,var(--sakura) 22%,transparent)}}.install-card{animation:rise-in var(--dur-slow) var(--ease-out)}.install-card-icon{background:var(--surface);width:40px;height:40px;color:var(--sakura);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.install-card-icon svg{width:20px;height:20px}.install-card-body{flex:1;min-width:0}.install-card-body strong{font-size:var(--text-small);display:block}.install-card-body small{color:var(--ink-2);font-size:var(--text-caption);margin-top:2px;display:block}.install-card-close{position:absolute;top:8px;right:8px}.install-steps{padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--surface-2);margin-bottom:var(--s-2)}.install-steps.is-current{background:var(--sakura-tint)}.install-steps h3{font-size:var(--text-small);font-family:var(--font-ui);flex-wrap:wrap;align-items:center;display:flex}.install-steps ol{font-size:var(--text-small);color:var(--ink-2);margin-top:6px;padding-left:20px;line-height:1.6;list-style:decimal}.install-steps ol li+li{margin-top:4px}.gram-row .row-lead{letter-spacing:.02em;font-size:13px;font-weight:700}.gram-sentence{font-family:var(--font-jp);font-weight:500;font-size:var(--text-body);line-height:1.6}mark.gram-removed{background:var(--shu-tint);color:var(--shu);border-radius:4px;padding:0 2px;text-decoration:line-through;text-decoration-thickness:1.5px}mark.gram-added{background:var(--matcha-tint);color:var(--matcha);border-radius:4px;padding:0 2px;font-weight:700}.gram-block{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);display:flex}.gram-block-wrong{border-left:3px solid var(--shu)}.gram-block-right{border-left:3px solid var(--matcha)}.gram-block-quiz{margin:var(--s-3) 0 var(--s-4);background:var(--surface);justify-content:space-between}.gram-text{min-width:0;font-family:var(--font-jp);font-size:var(--text-h2);flex:1;line-height:1.6}.gram-text-lg{font-size:22px}.gram-alts{flex-direction:column;gap:6px;display:flex}.gram-alt{justify-content:space-between;align-items:center;gap:var(--s-2);border-radius:var(--r-sm);background:var(--surface-2);padding:8px 4px 8px 12px;display:flex}.gram-alt-text{font-family:var(--font-jp);font-size:var(--text-body);line-height:1.5}.gram-reveal{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line);text-align:left;animation:rise-in var(--dur) var(--ease-out)}.gram-reveal .gram-text{font-size:var(--text-body)}@media (max-width:400px){.gram-text-lg{font-size:19px}}.gp-row .row-lead.gp-num{font-family:var(--font-ui);font-size:13px;font-weight:700}.gp-pattern-text{font-family:var(--font-jp);font-size:var(--text-h2);line-height:1.4}.gp-pattern{line-height:1.3;font-size:clamp(28px,8vw,44px)!important}.gp-hero{text-align:center;padding:var(--s-2) 0 var(--s-3)}.gp-hero-pattern{font-family:var(--font-jp);margin-top:10px;font-size:clamp(30px,9vw,44px);line-height:1.3}.gp-hero-romaji{color:var(--sakura);margin-top:4px;font-weight:600}.gp-meaning{padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--surface-2);border-left:3px solid var(--ai)}.gp-meaning-main{font-size:var(--text-h2);margin-top:2px;font-weight:600}.gp-meaning-alts{color:var(--ink-2);font-size:var(--text-small);margin-top:6px;padding-left:16px;line-height:1.6;list-style:outside}.avatar-tone-sakura{background:var(--sakura)}.avatar-tone-matcha{background:var(--matcha)}.avatar-tone-kincha{background:var(--kincha)}.avatar-tone-ai{background:var(--ai)}.avatar-tone-ume{background:#8b4a9c}.avatar-tone-ink{background:var(--ink);color:var(--bg)}.avatar-glyph{font-family:var(--font-jp);font-size:17px}.avatar-lg.avatar-glyph{font-size:22px}.avatar-xl.avatar-glyph{font-size:34px}.avatar-link{border-radius:11px;display:inline-flex}.theme-grid{gap:var(--s-2);grid-template-columns:repeat(3,1fr);width:100%;display:grid}.theme-swatch{border-radius:var(--r-md);border:2px solid var(--line);background:var(--surface);text-align:center;transition:border-color var(--dur-fast),transform var(--dur-fast);flex-direction:column;align-items:center;gap:4px;padding:10px 6px 8px;display:flex}.theme-swatch strong{font-size:var(--text-caption)}.theme-swatch small{color:var(--ink-3);align-items:center;gap:3px;font-size:10.5px;display:inline-flex}.theme-swatch small svg{width:10px;height:10px}.theme-swatch.active{border-color:var(--sakura)}.theme-swatch.locked{opacity:.55;cursor:not-allowed}.theme-swatch:not(.locked):hover{transform:translateY(-1px)}.theme-preview{border:1px solid #00000014;border-radius:9px;place-items:center;width:56px;height:40px;display:grid;position:relative;overflow:hidden}.theme-preview-accent{border-radius:4px;height:7px;position:absolute;bottom:6px;left:6px;right:6px}.theme-preview-jp{font-family:var(--font-jp);margin-bottom:8px;font-size:15px;font-weight:700}.avatar-picker{gap:var(--s-4);align-items:flex-start;width:100%;display:flex}.avatar-options{gap:var(--s-3);flex-direction:column;flex:1;min-width:0;display:flex}.glyph-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;display:grid}.glyph-option{border:2px solid var(--line);background:var(--surface);height:44px;font-size:18px;font-weight:600;font-family:var(--font-ui);transition:border-color var(--dur-fast);border-radius:10px;place-items:center;display:grid;position:relative}.glyph-option .jp{font-size:20px}.glyph-option.active{border-color:var(--sakura);background:var(--sakura-tint);color:var(--sakura)}.glyph-option.locked{opacity:.45;cursor:not-allowed}.glyph-lock{width:10px;height:10px;color:var(--ink-3);position:absolute;bottom:3px;right:3px}.tone-row{flex-wrap:wrap;gap:8px;display:flex}.tone-option{color:#fff;width:34px;height:34px;box-shadow:0 0 0 1px var(--line-strong);transition:transform var(--dur-fast),box-shadow var(--dur-fast);border:3px solid #0000;border-radius:50%;place-items:center;display:grid}.tone-option svg{width:13px;height:13px}.tone-option.active{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--sakura);transform:scale(1.06)}.tone-option.locked{opacity:.4;cursor:not-allowed}@media (max-width:400px){.theme-grid{grid-template-columns:repeat(2,1fr)}.avatar-picker{flex-direction:column;align-items:center}}.bell{position:relative}.bell-badge{border-radius:var(--r-full);background:var(--sakura);color:#fff;text-align:center;border:2px solid var(--bg);min-width:17px;height:17px;animation:pop .35s var(--ease);padding:0 4px;font-size:10.5px;font-weight:700;line-height:17px;position:absolute;top:4px;right:4px}.sidebar-top{margin:0 var(--s-2) var(--s-5);justify-content:space-between;align-items:center;display:flex}.sidebar-top .brand{margin:0!important}.notice-list{flex-direction:column;gap:6px;display:flex}.notice{text-align:left;border-radius:var(--r-md);background:var(--surface-2);width:100%;transition:background var(--dur-fast),border-color var(--dur-fast);border:1px solid #0000;align-items:flex-start;gap:12px;padding:12px 14px;display:flex;position:relative}.notice:hover{border-color:var(--line-strong)}.notice.unread{background:var(--sakura-tint)}.notice-icon{border-radius:11px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.notice-icon svg{width:18px;height:18px}.notice-sakura{background:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.notice-sakura{background:color-mix(in srgb,var(--sakura) 14%,var(--surface))}}.notice-sakura{color:var(--sakura)}.notice-gold{background:var(--kincha-tint);color:var(--kincha)}.notice-green{background:var(--matcha-tint);color:var(--matcha)}.notice-blue{background:var(--ai-tint);color:var(--ai)}.notice-body{flex:1;min-width:0}.notice-body strong{font-size:var(--text-small);display:block}.notice-body span{font-size:var(--text-caption);color:var(--ink-2);margin-top:1px;line-height:1.45;display:block}.notice-time{color:var(--ink-3);margin-top:4px;font-size:11px;display:block}.notice-dot{background:var(--sakura);border-radius:50%;width:8px;height:8px;position:absolute;top:14px;right:12px}body.no-animations *,body.no-animations :after,body.no-animations :before,html.no-animations *,html.no-animations :after,html.no-animations :before{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.petal,.quote-mascot img{animation:none!important}.petal{display:none}.glyph-swap,.quiz-glyph,.route-enter,.toast{animation:none!important}}@media print{.bottom-nav,.mobile-header,.petal,.sidebar{display:none!important}.main{margin:0}}.mk-hero{isolation:isolate;background:radial-gradient(60% 55% at 18% 8%,var(--sakura),transparent 70%),radial-gradient(45% 40% at 88% 22%,var(--kincha),transparent 70%),radial-gradient(40% 40% at 70% 95%,var(--ai),transparent 70%),var(--bg);position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.mk-hero{background:radial-gradient(60% 55% at 18% 8%,color-mix(in srgb,var(--sakura) 20%,transparent),transparent 70%),radial-gradient(45% 40% at 88% 22%,color-mix(in srgb,var(--kincha) 14%,transparent),transparent 70%),radial-gradient(40% 40% at 70% 95%,color-mix(in srgb,var(--ai) 12%,transparent),transparent 70%),var(--bg)}}.mk-grid{pointer-events:none;z-index:-1;background-image:linear-gradient(to right,var(--ink) 1px,transparent 1px),linear-gradient(to bottom,var(--ink) 1px,transparent 1px);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.mk-grid{background-image:linear-gradient(to right,color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--ink) 5%,transparent) 1px,transparent 1px)}}.mk-grid{background-size:44px 44px;-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000 30%,#0000 100%);mask-image:radial-gradient(70% 60% at 50% 40%,#000 30%,#0000 100%)}.mk-glyph{pointer-events:none;z-index:-1;-webkit-user-select:none;user-select:none;font-family:var(--font-jp);color:var(--sakura);opacity:.06;font-weight:700;line-height:1;position:absolute}.mk-gradient-text{background:linear-gradient(100deg,var(--sakura) 0,var(--sakura-press) 45%,var(--kincha) 110%);color:#0000;-webkit-background-clip:text;background-clip:text}.mk-pill{border-radius:var(--r-full);background:var(--surface);align-items:center;gap:8px;padding:6px 12px 6px 6px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.mk-pill{background:color-mix(in srgb,var(--surface) 80%,transparent)}}.mk-pill{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:var(--text-caption);color:var(--ink-2);box-shadow:var(--shadow-sm);font-weight:600}.mk-pill-dot{background:var(--sakura-tint);width:22px;height:22px;color:var(--sakura);border-radius:50%;place-items:center;display:grid}.mk-pill-dot svg{width:12px;height:12px}.mk-mock{background:var(--surface);border-radius:22px;padding:14px;position:relative}@supports (color:color-mix(in lab,red,red)){.mk-mock{background:color-mix(in srgb,var(--surface) 82%,transparent)}}.mk-mock{border:1px solid var(--line-strong)}@supports (color:color-mix(in lab,red,red)){.mk-mock{border:1px solid color-mix(in srgb,var(--line-strong) 80%,transparent)}}.mk-mock{box-shadow:var(--shadow-lg),0 0 0 1px var(--surface) inset}@supports (color:color-mix(in lab,red,red)){.mk-mock{box-shadow:var(--shadow-lg),0 0 0 1px color-mix(in srgb,var(--surface) 60%,transparent) inset}}.mk-mock{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:mk-float 7s ease-in-out infinite}.mk-mock-bar{align-items:center;gap:6px;padding:0 4px 12px;display:flex}.mk-mock-bar i{background:var(--line-strong);border-radius:50%;width:9px;height:9px;display:block}.mk-mock-bar i:first-child{background:var(--sakura-soft)}.mk-mock-bar span{color:var(--ink-3);letter-spacing:.04em;margin-left:auto;font-size:11px;font-weight:600}.mk-tile{border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;padding:12px}.mk-float-chip,.mk-tile{background:var(--surface)}.mk-float-chip{z-index:2;width:52px;height:52px;font-family:var(--font-jp);border:1px solid var(--line);box-shadow:var(--shadow-md);color:var(--ink);border-radius:16px;place-items:center;font-size:24px;font-weight:700;display:grid;position:absolute}.mk-float-chip.a{color:var(--sakura);animation:mk-float 5.5s ease-in-out infinite;top:-18px;left:-22px}.mk-float-chip.b{color:var(--ai);animation:mk-float 6.5s ease-in-out .8s infinite;top:36%;right:-16px}.mk-float-chip.c{color:var(--kincha);animation:mk-float 6s ease-in-out 1.6s infinite;bottom:-20px;left:-18px}@media (max-width:639px){.mk-float-chip{display:none}}@keyframes mk-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.mk-heat{grid-template-columns:repeat(14,1fr);gap:3px;display:grid}.mk-heat i{aspect-ratio:1;background:var(--surface-3);border-radius:3px;display:block}.mk-heat i.l1{background:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.mk-heat i.l1{background:color-mix(in srgb,var(--sakura) 28%,var(--surface))}}.mk-heat i.l2{background:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.mk-heat i.l2{background:color-mix(in srgb,var(--sakura) 52%,var(--surface))}}.mk-heat i.l3{background:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.mk-heat i.l3{background:color-mix(in srgb,var(--sakura) 78%,var(--surface))}}.mk-heat i.l4{background:var(--sakura)}.mk-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.mk-marquee-track{gap:10px;width:max-content;animation:mk-marquee 38s linear infinite;display:flex}.mk-marquee:hover .mk-marquee-track{animation-play-state:paused}@keyframes mk-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.mk-bento{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur);border-radius:20px;padding:22px;position:relative;overflow:hidden}.mk-bento:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-3px)}.mk-bento-icon{border-radius:12px;place-items:center;width:40px;height:40px;margin-bottom:14px;display:inline-grid}.mk-bento-icon svg{width:18px;height:18px}.mk-bento h3{font-size:var(--text-h2);margin-bottom:6px}.mk-bento p{font-size:var(--text-small);color:var(--ink-2);line-height:1.55}.mk-bento-visual{margin-top:18px}.mk-step-num{background:linear-gradient(135deg,var(--sakura),var(--sakura-press));width:44px;height:44px;color:var(--on-accent);font-family:var(--font-jp);box-shadow:0 8px 20px var(--sakura);border-radius:14px;place-items:center;font-size:18px;font-weight:700;display:grid}@supports (color:color-mix(in lab,red,red)){.mk-step-num{box-shadow:0 8px 20px color-mix(in srgb,var(--sakura) 35%,transparent)}}.mk-step-line{border-top:1px dashed var(--line-strong);height:1px;position:absolute;top:22px;left:44px;right:-24px}.mk-cta{background:radial-gradient(70% 90% at 15% 0,var(--sakura),transparent 60%),radial-gradient(50% 80% at 100% 100%,var(--kincha),transparent 60%),linear-gradient(135deg,var(--sakura-tint),var(--surface));border-radius:28px;padding:56px 24px;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.mk-cta{background:radial-gradient(70% 90% at 15% 0,color-mix(in srgb,var(--sakura) 30%,transparent),transparent 60%),radial-gradient(50% 80% at 100% 100%,color-mix(in srgb,var(--kincha) 24%,transparent),transparent 60%),linear-gradient(135deg,var(--sakura-tint),var(--surface))}}.mk-cta{border:1px solid var(--line)}.mk-cta .mk-glyph{opacity:.07;font-size:300px;bottom:-70px;right:-30px}.mk-js .mk-reveal{opacity:0;transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);transform:translateY(18px)}.mk-js .mk-reveal.is-in{opacity:1;transform:none}.mk-reveal[data-delay="1"]{transition-delay:80ms}.mk-reveal[data-delay="2"]{transition-delay:.16s}.mk-reveal[data-delay="3"]{transition-delay:.24s}.mk-reveal[data-delay="4"]{transition-delay:.32s}.mk-reveal[data-delay="5"]{transition-delay:.4s}.mk-header{z-index:50;transition:box-shadow var(--dur),background var(--dur);position:sticky;top:0}.mk-header.is-scrolled{box-shadow:var(--shadow-sm)}.mk-nav-link{font-size:var(--text-small);color:var(--ink-2);border-radius:var(--r-md);transition:background var(--dur-fast),color var(--dur-fast);padding:8px 12px;font-weight:500}.mk-nav-link:hover{background:var(--surface-3);color:var(--ink)}@media (prefers-reduced-motion:reduce){.mk-float-chip,.mk-marquee-track,.mk-mock{animation:none}.mk-reveal{opacity:1;transition:none;transform:none}}.mk-scroll{scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;margin:0 -4px;padding:4px 4px 12px;display:flex;overflow-x:auto}.mk-scroll::-webkit-scrollbar{display:none}.mk-scroll>*{scroll-snap-align:start;flex:0 0 min(78vw,300px)}@media (min-width:1024px){.mk-scroll{grid-template-columns:repeat(var(--mk-cols,6),minmax(0,1fr));margin:0;padding:0;display:grid;overflow:visible}.mk-scroll>*{flex:initial}}.mk-path{gap:22px;margin:44px 0 0;padding:0;list-style:none;display:grid;position:relative}@media (min-width:1024px){.mk-path{margin-top:60px}}.mk-path:before{content:"";background:linear-gradient(to bottom,var(--sakura),var(--kincha),var(--ai),var(--matcha));opacity:.45;border-radius:2px;width:2px;position:absolute;top:20px;bottom:20px;left:25px}.mk-path-item{grid-template-columns:52px 1fr;align-items:start;gap:16px;display:grid;position:relative}.mk-path-node{z-index:1;width:52px;height:52px;font-family:var(--font-jp);box-shadow:0 0 0 4px var(--bg),var(--shadow-sm);border-radius:16px;place-items:center;font-size:24px;font-weight:700;display:grid;position:relative}.mk-path-num{background:var(--ink);min-width:20px;height:20px;color:var(--bg);border-radius:999px;padding:0 5px;font-size:10px;font-weight:700;line-height:20px;position:absolute;top:-7px;right:-7px}.mk-path-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur);border-radius:18px;padding:16px 18px}.mk-path-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-2px)}@media (min-width:1024px){.mk-path{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.mk-path:before{background:linear-gradient(to right,var(--sakura),var(--kincha),var(--ai),var(--matcha));width:auto;height:2px;inset:25px 8.33333% auto}.mk-path-item{grid-template-columns:1fr;justify-items:center;gap:18px}.mk-path-card{width:100%}}.mk-app{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:22px;overflow:hidden}.mk-app-bar{border-bottom:1px solid var(--line);background:var(--surface-2);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;padding:10px 14px;font-size:11px;font-weight:700;display:flex}.mk-app-bar i{background:var(--line-strong);border-radius:50%;width:8px;height:8px;display:block}.mk-app-bar i:first-child{background:var(--sakura-soft)}.mk-app-body{padding:16px}.mk-kanji-hero{font-family:var(--font-jp);color:var(--ink);font-size:clamp(88px,18vw,120px);font-weight:700;line-height:1}.mk-reading{border-radius:var(--r-full);background:var(--surface-3);align-items:baseline;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.mk-reading b{font-family:var(--font-jp);color:var(--ink);font-weight:700}.mk-reading span{color:var(--ink-3);font-size:11px}.mk-compound{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;align-items:center;gap:12px;padding:10px 12px;display:flex}.mk-compound .jp{font-size:22px;font-weight:700}.mk-flow{flex-wrap:wrap;display:flex}.mk-flow,.mk-flow-step{align-items:center;gap:6px}.mk-flow-step{border-radius:var(--r-full);color:var(--ink-2);background:var(--surface-3);transition:background var(--dur-fast),color var(--dur-fast);padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.mk-flow-step.active{background:var(--sakura);color:var(--on-accent)}.mk-flow-arrow{color:var(--ink-3);font-size:12px}.mk-fade-in{animation:fade-in var(--dur) var(--ease-out) both}.mk-jlpt{gap:10px;display:grid}.mk-jlpt-row{border:1px solid var(--line);background:var(--surface);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur);border-radius:18px;grid-template-columns:56px 1fr;align-items:center;gap:14px;padding:14px 16px;display:grid}.mk-jlpt-row:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-2px)}.mk-jlpt-row.is-start{border-color:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.mk-jlpt-row.is-start{border-color:color-mix(in srgb,var(--sakura) 45%,var(--line))}}.mk-jlpt-row.is-start{background:linear-gradient(135deg,var(--sakura-tint),var(--surface) 70%)}.mk-jlpt-badge{height:56px;font-family:var(--font-jp);background:var(--surface-3);color:var(--ink);border-radius:16px;place-items:center;font-size:18px;font-weight:700;display:grid}.mk-jlpt-row.is-start .mk-jlpt-badge{background:var(--sakura);color:var(--on-accent)}.mk-jlpt-meta{color:var(--ink-3);flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.mk-jlpt-meta b{color:var(--ink);font-weight:600}.mk-practice{border:1px solid var(--line);background:var(--surface);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur);border-radius:16px;align-items:flex-start;gap:12px;padding:14px;display:flex}.mk-practice:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-3px)}.mk-practice-icon{background:var(--sakura-tint);height:40px;color:var(--sakura);transition:transform var(--dur) var(--ease);border-radius:12px;flex:0 0 40px;place-items:center;display:grid}.mk-practice:hover .mk-practice-icon{transform:scale(1.08)rotate(-4deg)}.mk-practice-icon svg{width:18px;height:18px}.mk-practice strong{color:var(--ink);font-size:14px;display:block}.mk-practice small{color:var(--ink-3);margin-top:2px;font-size:12px;line-height:1.45;display:block}.mk-stat{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;padding:12px 14px}.mk-stat b{font-family:var(--font-jp);color:var(--ink);font-size:22px;line-height:1;display:block}.mk-stat span{color:var(--ink-3);margin-top:4px;font-size:11px;font-weight:600;display:block}.mk-bar{background:var(--surface-3);height:8px;overflow:hidden}.mk-bar,.mk-bar i{border-radius:999px}.mk-bar i{background:var(--sakura);width:0;height:100%;transition:width .9s var(--ease-out);display:block}.mk-js .is-in .mk-bar i{width:var(--w)}.mk-bar.matcha i{background:var(--matcha)}.mk-bar.kincha i{background:var(--kincha)}.mk-bar.ai i{background:var(--ai)}html:not(.mk-js) .mk-bar i{width:var(--w)}.mk-phone{background:var(--ink);width:250px;box-shadow:var(--shadow-lg),0 0 0 1px var(--ink);border-radius:40px;margin:0 auto;padding:12px}@supports (color:color-mix(in lab,red,red)){.mk-phone{box-shadow:var(--shadow-lg),0 0 0 1px color-mix(in srgb,var(--ink) 60%,transparent)}}.mk-phone-screen{background:var(--bg);border-radius:30px;min-height:380px;padding:24px 12px 14px;position:relative;overflow:hidden}.mk-phone-notch{background:var(--ink);border-radius:999px;width:72px;height:18px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.mk-persona{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:20px}.mk-persona .eyebrow{margin-bottom:8px}.mk-persona q{font-family:var(--font-jp);color:var(--ink);quotes:none;font-size:17px;font-weight:700;display:block}.mk-persona p{color:var(--ink-2);margin-top:8px;font-size:13px;line-height:1.55}.mk-why{background:var(--surface);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:10px;padding:18px;display:flex}.mk-why-icon{background:var(--sakura-tint);width:38px;height:38px;color:var(--sakura);border-radius:12px;place-items:center;display:grid}.mk-why-icon svg{width:18px;height:18px}.mk-why strong{color:var(--ink);font-size:15px}.mk-why p{color:var(--ink-2);font-size:13px;line-height:1.5}.mk-show{--mk-cols:4}.mk-show .mk-app{height:100%;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.mk-show .mk-app:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.mk-mini-row{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.mk-mini-row .jp{font-size:18px;font-weight:700}.mk-option{border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;width:100%;transition:background var(--dur-fast),border-color var(--dur-fast),transform var(--dur-fast);border-radius:12px;justify-content:space-between;align-items:center;padding:9px 12px;font-size:13px;font-weight:600;display:flex}.mk-option:hover{border-color:var(--line-strong);background:var(--surface-2)}.mk-option.correct{background:var(--matcha-tint);border-color:var(--matcha);color:var(--matcha-ink)}.mk-option.wrong{background:var(--shu-tint);border-color:var(--shu);color:var(--shu-ink)}.mk-option.dim{opacity:.5}.mk-faq{border:1px solid var(--line);background:var(--surface);border-radius:18px;overflow:hidden}.mk-faq-item+.mk-faq-item{border-top:1px solid var(--line)}.mk-faq-q{text-align:left;width:100%;color:var(--ink);transition:background var(--dur-fast);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;font-size:15px;font-weight:600;display:flex}.mk-faq-q:hover{background:var(--surface-2)}.mk-faq-q svg{width:18px;height:18px;color:var(--ink-3);transition:transform var(--dur) var(--ease);flex-shrink:0}.mk-faq-item[data-open=true] .mk-faq-q svg{color:var(--sakura);transform:rotate(180deg)}.mk-faq-a{transition:grid-template-rows var(--dur-slow) var(--ease);grid-template-rows:0fr;display:grid}.mk-faq-item[data-open=true] .mk-faq-a{grid-template-rows:1fr}.mk-faq-a>div{overflow:hidden}.mk-faq-a p{color:var(--ink-2);padding:0 18px 16px;font-size:14px;line-height:1.6}@media (prefers-reduced-motion:reduce){.mk-bar i,.mk-faq-a,.mk-faq-q svg,.mk-jlpt-row,.mk-path-card,.mk-practice,.mk-practice-icon,.mk-show .mk-app{transition:none}.mk-fade-in{animation:none}}.mk-method{text-align:left;width:100%;transition:background var(--dur-fast),border-color var(--dur-fast);border:1px solid #0000;border-radius:16px;gap:12px;padding:12px 14px;display:flex}.mk-method:hover{background:var(--surface-2)}.mk-method.active{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm)}.mk-method-num{background:var(--surface-3);height:30px;color:var(--ink-2);font-family:var(--font-jp);transition:background var(--dur-fast),color var(--dur-fast);border-radius:10px;flex:0 0 30px;place-items:center;font-size:13px;font-weight:700;display:grid}.mk-method.active .mk-method-num{background:var(--sakura);color:var(--on-accent)}.mk-method strong{color:var(--ink);align-items:center;gap:8px;font-size:15px;display:flex}.mk-method>span>span{color:var(--ink-2);margin-top:2px;font-size:13px;line-height:1.5;display:block}.mk-path-card.is-start{border-color:var(--sakura)}@supports (color:color-mix(in lab,red,red)){.mk-path-card.is-start{border-color:color-mix(in srgb,var(--sakura) 45%,var(--line))}}.mk-path-card.is-start{background:linear-gradient(135deg,var(--sakura-tint),var(--surface) 70%)}.mk-jlpt{margin:0;padding:0;list-style:none}.mk-faq-q:focus-visible,.mk-flow-step:focus-visible,.mk-method:focus-visible,.mk-nav-link:focus-visible,.mk-option:focus-visible,.mk-practice:focus-visible{outline:2px solid var(--sakura);outline-offset:2px}.mk-faq-q:focus-visible{outline-offset:-2px}@media (prefers-reduced-motion:reduce){.mk-method,.mk-method-num{transition:none}}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}