@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-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}}}@layer theme{:root,:host{--font-sans:var(--font-noto-sans-jp), ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--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);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-noto-sans-jp), ui-sans-serif, system-ui, sans-serif;--default-mono-font-family:var(--font-mono);--radius-base:var(--radius)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-x-0{inset-inline:0}.bottom-0{bottom:0}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.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-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-16{margin-top:calc(var(--spacing) * 16)}.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-7{margin-bottom:calc(var(--spacing) * 7)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.\!hidden{display:none!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-grid{display:inline-grid}.table{display:table}.table\!{display:table!important}.aspect-square{aspect-ratio:1}.h-1{height:var(--spacing)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.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-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.h-36{height:calc(var(--spacing) * 36)}.h-40{height:calc(var(--spacing) * 40)}.h-64{height:calc(var(--spacing) * 64)}.h-\[9\.5rem\]{height:9.5rem}.h-\[78\%\]{height:78%}.h-full{height:100%}.h-px{height:1px}.min-h-\[70vh\]{min-height:70vh}.min-h-dvh{min-height:100dvh}.min-h-full{min-height:100%}.w-1\/3{width:33.3333%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-5{width:calc(var(--spacing) * 5)}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-\[78\%\]{width:78%}.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-5xl{max-width:var(--container-5xl)}.max-w-md{max-width:var(--container-md)}.max-w-prose{max-width:65ch}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.min-w-\[11rem\]{min-width:11rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize{resize:both}.auto-cols-\[minmax\(13\.5rem\,1fr\)\]{grid-auto-columns:minmax(13.5rem,1fr)}.grid-flow-col{grid-auto-flow:column}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:var(--spacing)}.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-border>:not(:last-child)){border-color:var(--border)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-\[22\%\]{border-radius:22%}.rounded-base{border-radius:var(--radius)}.rounded-full{border-radius:2147483647px}.rounded-sm{border-radius:var(--radius-sm)}.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-dashed{--tw-border-style:dashed;border-style:dashed}.border-accent,.border-accent\/30{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.border-accent\/30{border-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.border-border{border-color:var(--border)}.border-border-strong{border-color:var(--border-strong)}.border-primary{border-color:var(--primary)}.bg-accent{background-color:var(--accent)}.bg-accent-soft{background-color:var(--accent-soft)}.bg-bg{background-color:var(--bg)}.bg-black\/25{background-color:#00000040}@supports (color:color-mix(in lab, red, red)){.bg-black\/25{background-color:color-mix(in oklab, var(--color-black) 25%, transparent)}}.bg-border{background-color:var(--border)}.bg-fg-subtle{background-color:var(--fg-subtle)}.bg-primary{background-color:var(--primary)}.bg-primary-soft{background-color:var(--primary-soft)}.bg-surface{background-color:var(--surface)}.bg-surface-2{background-color:var(--surface-2)}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-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-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8em\]{font-size:.8em}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-accent{color:var(--accent)}.text-bg{color:var(--bg)}.text-fg{color:var(--fg)}.text-fg-muted{color:var(--fg-muted)}.text-fg-subtle{color:var(--fg-subtle)}.text-primary{color:var(--primary)}.text-primary-fg{color:var(--primary-fg)}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-45{opacity:.45}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.placeholder\:text-fg-subtle::placeholder{color:var(--fg-subtle)}@media (hover:hover){.hover\:border-border-strong:hover{border-color:var(--border-strong)}.hover\:bg-surface:hover{background-color:var(--surface)}.hover\:bg-surface-2:hover{background-color:var(--surface-2)}.hover\:text-accent:hover{color:var(--accent)}.hover\:text-fg:hover{color:var(--fg)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-primary:focus{border-color:var(--primary)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-primary\/20:focus{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.focus\:ring-primary\/20:focus{--tw-ring-color:color-mix(in oklab, var(--primary) 20%, transparent)}}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[1fr_1fr_2fr_auto\]{grid-template-columns:1fr 1fr 2fr auto}}@media (min-width:64rem){.lg\:invisible{visibility:hidden}.lg\:hidden{display:none}}}:root{--brand-google-blue:#4285f4;--brand-google-green:#34a853;--brand-google-yellow:#fbbc05;--brand-google-red:#ea4335;--brand-line:#06c755;--brand-line-fg:#fff;--bg:#f6f8f7;--surface:#fff;--surface-2:#eceff0;--fg:#141a19;--fg-muted:#5c6867;--fg-subtle:#8b9694;--border:#dde3e2;--border-strong:#c3cccb;--primary:#14655f;--primary-fg:#fff;--review-all:#2a5a85;--review-all-fg:#fff;--star:#d29a00;--primary-soft:#dfeceb;--accent:#b35a2c;--accent-soft:#f7e9e1;--mark-new:#b35a2c;--mark-learning:#96803f;--mark-almost:#3d8a72;--mark-learnt:#14655f;--fam-0:var(--mark-new);--fam-1:var(--mark-learning);--fam-2:var(--mark-learning);--fam-3:var(--mark-almost);--fam-4:var(--mark-almost);--fam-5:var(--mark-learnt);--count-new:#2563eb;--count-learning:#c2410c;--count-due:#15803d;--radius:.625rem}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1312;--surface:#161d1c;--surface-2:#1e2625;--fg:#e4eae8;--fg-muted:#97a3a1;--fg-subtle:#6a7674;--border:#263130;--border-strong:#3a4746;--primary:#57bab1;--primary-fg:#06201e;--review-all:#7fb0da;--review-all-fg:#0a1a28;--star:#f2c14e;--primary-soft:#10302e;--accent:#dd8757;--accent-soft:#2b1a11;--mark-new:#dd8757;--mark-learning:#c9a95f;--mark-almost:#6fc0a4;--mark-learnt:#3f9d94;--count-new:#7aa7ec;--count-learning:#fb923c;--count-due:#4ade80}}:root[data-theme=dark]{--bg:#0e1312;--surface:#161d1c;--surface-2:#1e2625;--fg:#e4eae8;--fg-muted:#97a3a1;--fg-subtle:#6a7674;--border:#263130;--border-strong:#3a4746;--primary:#57bab1;--primary-fg:#06201e;--review-all:#7fb0da;--review-all-fg:#0a1a28;--star:#f2c14e;--primary-soft:#10302e;--accent:#dd8757;--accent-soft:#2b1a11;--mark-new:#dd8757;--mark-learning:#c9a95f;--mark-almost:#6fc0a4;--mark-learnt:#3f9d94;--count-new:#7aa7ec;--count-learning:#fb923c;--count-due:#4ade80}:root[data-theme=sepia]{--bg:#f4ecd8;--surface:#faf3e2;--surface-2:#ebe0c6;--fg:#3b3226;--fg-muted:#756a56;--fg-subtle:#9b8f78;--border:#ded0b0;--border-strong:#c9b894}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-noto-sans-jp), ui-sans-serif, system-ui, sans-serif;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.jp-text{font-family:var(--font-noto-serif-jp), ui-serif, Georgia, serif;line-break:strict;overflow-wrap:normal;word-break:normal;font-feature-settings:"palt" 0}ruby>rt{color:var(--fg-muted);-webkit-user-select:none;user-select:none;font-size:.5em;line-height:1.1}.furigana-off ruby>rt{display:none}::selection{background:var(--accent-soft);color:var(--fg)}.app-brand-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.875rem;padding-bottom:.75rem;display:flex}.app-brand{align-items:center;gap:.625rem;min-width:0;text-decoration:none;display:flex}.app-brand-mark{flex:none;width:2rem;height:2rem}.app-brand-name{letter-spacing:-.01em;min-width:0;color:var(--fg);align-items:baseline;gap:.5rem;font-size:1.375rem;font-weight:600;line-height:1;display:flex}.app-sections{scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;gap:.25rem;margin:0 -1.25rem;padding:0 .75rem;display:flex;overflow-x:auto}.app-sections::-webkit-scrollbar{display:none}.app-sections a{white-space:nowrap;flex:none}.app-sections a[href=\/account]{order:1}.app-sections a{border-radius:var(--radius);color:var(--fg-subtle);padding:.4rem .75rem;font-size:.9375rem;font-weight:500;text-decoration:none;transition:color .15s,background-color .15s}.app-sections a:hover,.app-sections a.is-current{color:var(--fg);background:var(--surface-2)}.app-views{border-top:1px solid var(--border);flex-wrap:wrap;gap:.25rem;margin-top:.875rem;padding-top:.75rem;display:flex}.app-views a{border-radius:var(--radius);color:var(--fg-muted);padding:.3rem .6rem;font-size:.8125rem;text-decoration:none;transition:color .15s,background-color .15s}.app-views a:hover{color:var(--fg);background:var(--surface-2)}.app-views a.is-current{background:var(--primary);color:var(--primary-fg)}.category-rail-wrap{position:relative}.library-section{color:var(--fg);flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;margin:.25rem 0 .75rem;font-size:1.05rem;font-weight:700;display:flex}.library-section.is-shelf{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.25rem}.library-section-links{gap:1rem;margin-left:auto;font-size:.85rem;font-weight:500;display:flex}.library-section-links a{color:var(--primary);text-underline-offset:2px;text-decoration:underline}.library-section-count{color:var(--fg-muted);font-size:.8rem;font-weight:400}.category-rail-arrow{z-index:2;border:1px solid var(--border);background:var(--surface);width:2rem;height:2rem;color:var(--fg);box-shadow:0 2px 8px var(--fg);border-radius:999px;margin-top:-1rem;font-size:1.4rem;line-height:1;position:absolute;top:50%}@supports (color:color-mix(in lab, red, red)){.category-rail-arrow{box-shadow:0 2px 8px color-mix(in oklab, var(--fg) 18%, transparent)}}.category-rail-arrow.is-left{left:-.5rem}.category-rail-arrow.is-right{right:-.5rem}.category-rail{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;background:linear-gradient(to right, var(--bg) 55%, transparent) 0 0 / 2rem 100% no-repeat local, linear-gradient(to left, var(--bg) 55%, transparent) 100% 0 / 2rem 100% no-repeat local, radial-gradient(farthest-side at 0 50%, var(--fg), transparent) 0 0 / .85rem 100% no-repeat, radial-gradient(farthest-side at 100% 50%, var(--fg), transparent) 100% 0 / 1rem 100% no-repeat;grid-auto-columns:minmax(8.5rem,1fr);grid-auto-flow:column;gap:.75rem;margin-inline:-1.25rem;padding:.25rem 1.25rem .5rem;display:grid;overflow-x:auto}@supports (color:color-mix(in lab, red, red)){.category-rail{background:linear-gradient(to right, var(--bg) 55%, transparent) 0 0 / 2rem 100% no-repeat local, linear-gradient(to left, var(--bg) 55%, transparent) 100% 0 / 2rem 100% no-repeat local, radial-gradient(farthest-side at 0 50%, color-mix(in oklab, var(--fg) 22%, transparent), transparent) 0 0 / .85rem 100% no-repeat, radial-gradient(farthest-side at 100% 50%, color-mix(in oklab, var(--fg) 22%, transparent), transparent) 100% 0 / 1rem 100% no-repeat}}.category-rail::-webkit-scrollbar{height:6px}.category-rail::-webkit-scrollbar-track{background:0 0}.category-rail::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.category-card{scroll-snap-align:start;text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;flex-direction:column;transition:border-color .15s,transform .15s;display:flex;overflow:hidden}.category-card:hover{border-color:var(--border-strong)}.category-card.is-active{border-color:var(--cat-accent,var(--primary));box-shadow:inset 0 0 0 1px var(--cat-accent,var(--primary))}.category-collage{background:var(--border);grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:1px;height:3.15rem;display:grid}.category-cell{background:var(--surface-2);font-size:1.5rem;overflow:hidden}.category-body{border-top:3px solid var(--cat-accent,var(--border));flex-direction:column;gap:.1rem;padding:.4rem .55rem .5rem;display:flex}.category-label{white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:.375rem;font-size:.8125rem;font-weight:600;display:flex;overflow:hidden}.category-glyph{color:var(--fg-subtle);font-size:.6875rem;font-weight:500}.category-blurb{color:var(--fg-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.category-empty{width:100%;height:100%;color:var(--fg-subtle);place-items:center;font-size:.875rem;display:grid}.category-collage:has(.category-empty){grid-template-rows:1fr;grid-template-columns:1fr}.category-collage:has(.category-empty) .category-cell:not(:first-child){display:none}.category-collage:has(.category-empty) .category-empty{color:var(--cat-accent,var(--fg-muted));background:var(--cat-accent,var(--fg-muted));font-size:1.5rem}@supports (color:color-mix(in lab, red, red)){.category-collage:has(.category-empty) .category-empty{background:color-mix(in oklab, var(--cat-accent,var(--fg-muted)) 10%, var(--surface-2))}}.shelf-count{color:var(--fg-subtle);font-size:.75rem}.collection{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.collection-summary{cursor:pointer;text-align:left;background:var(--surface);align-items:center;gap:.6rem;width:100%;padding:.5rem .875rem;font-size:.875rem;display:flex}.collection-summary:hover{background:var(--surface-2)}.collection-caret{color:var(--fg-subtle);flex:none;transition:transform .15s}.collection-summary[aria-expanded=true] .collection-caret{transform:rotate(90deg)}.collection-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.collection-body{border-top:1px solid var(--border);background:var(--bg);padding:.625rem .75rem .75rem}.shelf-grid{grid-template-columns:repeat(auto-fill,minmax(5rem,1fr));gap:.5rem;display:grid}@media (min-width:480px){.shelf-grid{grid-template-columns:repeat(auto-fill,minmax(6rem,1fr));gap:.625rem}}@media (min-width:640px){.shelf-grid{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.75rem}}.shelf-card-stop{width:100%;color:var(--fg-subtle);border-radius:calc(var(--radius) - 2px);margin-top:.25rem;padding:.2rem 0;font-size:.6875rem;line-height:1.2;transition:color .15s,background .15s;display:block}.shelf-card-stop:hover{color:var(--fg);background:var(--surface-2)}.shelf-card-stopped{text-align:center;min-height:6.5rem;color:var(--fg-muted);border:1px dashed var(--border-strong);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;gap:.375rem;padding:.5rem .25rem;font-size:.6875rem;line-height:1.3;display:flex}.shelf-card-stopped button{color:var(--fg);border:1px solid var(--border-strong);border-radius:999px;padding:.2rem .6rem;font-weight:500}.shelf-card-stopped button:hover{background:var(--surface-2)}.shelf-card{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;transition:border-color .15s;display:block;overflow:hidden}.shelf-card:hover,.shelf-card:focus-visible{border-color:var(--border-strong)}.shelf-card-art{aspect-ratio:1;background:var(--surface-2);position:relative;overflow:hidden}.shelf-card-busy{background:var(--primary);inset-inline:0;padding:.3rem .25rem;position:absolute;bottom:0}@supports (color:color-mix(in lab, red, red)){.shelf-card-busy{background:color-mix(in oklab, var(--primary) 88%, transparent)}}.shelf-card-busy{color:var(--primary-fg);text-align:center;letter-spacing:.02em;font-size:.75rem;font-weight:500}.shelf-done{background:var(--primary);width:1.25rem;height:1.25rem;color:var(--primary-fg);border-radius:999px;place-items:center;font-size:.75rem;font-weight:700;display:grid;position:absolute;bottom:.3rem;right:.25rem}.shelf-lock{background:var(--bg);border-radius:999px;place-items:center;width:1.25rem;height:1.25rem;display:grid;position:absolute;bottom:.3rem;right:.25rem}@supports (color:color-mix(in lab, red, red)){.shelf-lock{background:color-mix(in oklab, var(--bg) 85%, transparent)}}.shelf-lock{font-size:.65rem}.shelf-card-locked .shelf-card-art>:first-child{opacity:.6}.shelf-card-free{background:var(--primary-soft);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.shelf-card-free{border-color:color-mix(in oklab, var(--primary) 35%, var(--border))}}.shelf-card-free:hover,.shelf-card-free:focus-visible{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.shelf-card-free:hover,.shelf-card-free:focus-visible{border-color:color-mix(in oklab, var(--primary) 60%, var(--border))}}.shelf-level{background:var(--bg);border-radius:.2rem;padding:.05rem .3rem;position:absolute}@supports (color:color-mix(in lab, red, red)){.shelf-level{background:color-mix(in oklab, var(--bg) 82%, transparent)}}.shelf-level{color:var(--fg-muted);letter-spacing:.04em;font-size:.625rem;font-weight:600}.shelf-card-title-ja{color:var(--fg-muted);font-size:.75rem;line-height:1.3}.shelf-level{top:.25rem;left:.25rem}.shelf-card-body{padding:.35rem .4rem .45rem}.shelf-card-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;line-height:1.3;display:-webkit-box;overflow:hidden}.shelf-card-counts{color:var(--fg-subtle);font-variant-numeric:tabular-nums;flex-direction:column;gap:.05rem;margin-top:.15rem;padding-bottom:1.6rem;font-size:.6875rem;line-height:1.35;display:flex}.shelf-card-meta{color:var(--fg-subtle);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.25rem;margin-top:.15rem;font-size:.6875rem;display:flex;overflow:hidden}.interest-row{background:var(--surface);align-items:center;gap:.75rem;padding:.6rem .875rem;display:flex}.interest-row+.interest-row{border-top:1px solid var(--border)}.toggle{background:var(--border-strong);cursor:pointer;border-radius:999px;flex:none;width:2.5rem;height:1.5rem;transition:background .16s;position:relative}.toggle.is-on{background:var(--primary)}.toggle-thumb{background:#fff;border-radius:50%;width:1.12rem;height:1.12rem;transition:transform .16s;position:absolute;top:.19rem;left:.19rem}.toggle.is-on .toggle-thumb{transform:translate(1rem)}.reader-root{background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.reader-viewport{--reader-pad-top:max(2.5rem, env(safe-area-inset-top));padding:var(--reader-pad-top) 1.5rem 1rem;clip-path:inset(var(--reader-pad-top) 0 0 0);-webkit-tap-highlight-color:transparent;cursor:pointer;flex:1;position:relative;overflow:hidden}.reader-columns{column-fill:auto;column-width:100vw;column-gap:var(--reader-column-gap,48px);will-change:transform;overflow-wrap:anywhere;height:100%;font-size:var(--reader-font-size,19px);line-height:var(--reader-line-height,1.9);transition:transform .22s cubic-bezier(.22,.61,.36,1)}@media (prefers-reduced-motion:reduce){.reader-columns{transition:none}}.reader-block{text-indent:1em;margin:0 0 1.1em}.reader-tools{font-family:var(--font-sans,system-ui), sans-serif;align-items:center;gap:.25rem;margin-block:-.6em .6em;display:flex}.reader-tool{width:2.5rem;height:2.5rem;color:var(--fg-subtle)}.reader-tool-text{width:auto;height:2.5rem;color:var(--fg-muted);border:1px solid var(--border);border-radius:999px;padding-inline:.6rem;font-size:.75rem}.reader-tool-text[aria-pressed=true]{background:var(--surface-2);color:var(--fg)}.reader-translation{border-inline-start:2px solid var(--border);color:var(--fg-muted);font-family:var(--font-sans,system-ui), sans-serif;margin-block:-.35em 1.1em;padding-inline-start:.7em;font-size:.85em;line-height:1.6}.reader-heading{text-indent:0;margin:1.4em 0 .8em;font-size:1.25em;font-weight:500}.reader-word{break-inside:avoid;border-radius:2px}.reader-word-selected{background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.reader-word[class*=reader-fam-]{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px;margin:0 -.04em;padding:.06em .14em}.reader-word[class*=reader-mark-]{text-decoration-line:underline;-webkit-text-decoration-color:var(--fg);-webkit-text-decoration-color:var(--fg);-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}@supports (color:color-mix(in lab, red, red)){.reader-word[class*=reader-mark-]{-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--fg) 45%, transparent)}}.reader-word[class*=reader-mark-]{text-underline-offset:.22em;text-decoration-skip-ink:none}.reader-word.reader-mark-new{text-decoration-style:double;text-decoration-thickness:1px}.reader-word.reader-mark-learning{text-decoration-style:solid;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--fg);-webkit-text-decoration-color:var(--fg);-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}@supports (color:color-mix(in lab, red, red)){.reader-word.reader-mark-learning{-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 34%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 34%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 34%, transparent);text-decoration-color:color-mix(in srgb, var(--fg) 34%, transparent)}}.reader-word.reader-mark-almost{text-decoration-style:dashed;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--fg);-webkit-text-decoration-color:var(--fg);-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}@supports (color:color-mix(in lab, red, red)){.reader-word.reader-mark-almost{-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 24%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 24%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 24%, transparent);text-decoration-color:color-mix(in srgb, var(--fg) 24%, transparent)}}.highlight-off .reader-word[class*=reader-mark-]{text-decoration-line:none}.reader-progress{background:var(--surface-2);flex:none;height:2px}.reader-progress-bar{background:var(--primary);height:100%;transition:width .22s}.reader-status{padding:.5rem 1.25rem max(.5rem, env(safe-area-inset-bottom));color:var(--fg-subtle);flex:none;justify-content:space-between;align-items:center;gap:1rem;font-size:.75rem;display:flex;position:relative}.reader-status-start{flex:none;align-items:center;gap:.5rem;display:flex}.reader-settings-button{border:1px solid var(--border-strong);background:var(--surface);color:var(--fg-muted);cursor:pointer;border-radius:999px;margin-right:.5rem;padding:.15rem .5rem;font-size:.75rem;font-weight:600}.reader-settings-button[aria-expanded=true]{color:var(--primary);border-color:var(--primary)}.reader-listen{border:1px solid var(--border);color:var(--fg-muted);border-radius:999px;padding:.2rem .6rem;font-size:.75rem}.reader-listen[aria-pressed=true]{background:var(--surface-2);color:var(--fg)}.reader-columns [data-block].is-speaking{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.reader-columns [data-block].is-speaking{background:color-mix(in oklab, var(--primary) 10%, transparent)}}.reader-columns [data-block].is-speaking{border-radius:.25rem}.reader-status-title{text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.reader-controls{left:50%;bottom:calc(2rem + env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--border);cursor:default;border-radius:1rem;width:min(24rem,100vw - 2rem);padding:.5rem 1rem 1rem;position:absolute;transform:translate(-50%);box-shadow:0 12px 32px -8px #00000040}.reader-controls-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;display:flex}.reader-controls-row:last-of-type{border-bottom:none}.reader-controls-label{color:var(--fg-muted);font-size:.875rem}.reader-controls-stack{flex-direction:column;align-items:stretch;gap:.4rem}.reader-controls-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.reader-controls-note{color:var(--fg-subtle);font-size:.75rem;line-height:1.5}.reader-voice-select{border:1px solid var(--border);background:var(--surface-2);width:100%;height:2.25rem;color:var(--fg);border-radius:.5rem;padding:0 .5rem;font-size:.8125rem}.reader-voice-try{border:1px solid var(--border-strong);background:var(--surface);color:var(--fg-muted);border-radius:999px;padding:.2rem .6rem;font-size:.75rem}.reader-controls-group{align-items:center;gap:.25rem;display:flex}.reader-controls-group button{border:1px solid var(--border);background:var(--surface-2);min-width:2.5rem;height:2.5rem;color:var(--fg);border-radius:.5rem;padding:0 .5rem;font-size:.8125rem}.reader-controls-group button:disabled{opacity:.4}.reader-controls-group button.is-active{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.reader-controls-wide{border:1px solid var(--border);background:var(--surface-2);width:100%;min-height:2.5rem;color:var(--fg);border-radius:.5rem;padding:.4rem .75rem;font-size:.8125rem}.reader-controls-value{text-align:center;min-width:2.25rem;color:var(--fg-muted);font-variant-numeric:tabular-nums;font-size:.8125rem}.reader-controls-exit{gap:.5rem;display:flex}.reader-controls-done{background:var(--primary);color:var(--primary-fg);text-align:center;border-radius:.625rem;flex:1;margin-top:.75rem;padding:.6rem;font-size:.875rem;font-weight:500;text-decoration:none}.reader-switch{background:var(--border-strong);border-radius:999px;width:2.75rem;height:1.6rem;transition:background .16s;position:relative}.reader-switch.is-on{background:var(--primary)}.reader-switch-thumb{background:#fff;border-radius:50%;width:1.2rem;height:1.2rem;transition:transform .16s;position:absolute;top:.2rem;left:.2rem}.reader-switch.is-on .reader-switch-thumb{transform:translate(1.15rem)}.reader-popup{left:50%;bottom:calc(1.5rem + env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--border);cursor:default;border-radius:1rem;flex-direction:column;width:min(26rem,100vw - 1.5rem);max-height:55%;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 12px 32px -8px #0000004d}.reader-popup-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:.875rem 1rem .75rem;display:flex}.reader-popup-head>button{width:2.75rem;height:2.75rem;color:var(--fg-muted);border-radius:var(--radius-base);flex-shrink:0;justify-content:center;align-items:center;margin:-.5rem -.5rem 0 0;font-size:1.375rem;line-height:1;display:flex}.reader-popup-head>button:hover{background:var(--surface-2);color:var(--fg)}.reviewer-speak{margin:.25rem auto 0;display:flex}.reader-popup-wordline{align-items:center;gap:.5rem;display:flex}.speak-button{width:2.5rem;height:2.5rem;color:var(--fg-muted);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.speak-button:hover,.speak-button:active{background:var(--surface-2);color:var(--fg)}.reader-popup-word{font-size:1.5rem;line-height:1.2}.reader-popup-meta{color:var(--fg-muted);flex-wrap:wrap;gap:.625rem;margin-top:.25rem;font-size:.8125rem;display:flex}.reader-popup-body{-webkit-overflow-scrolling:touch;padding:.5rem 1rem 1rem;overflow-y:auto}.my-meaning-add{border:1px dashed var(--border-strong);color:var(--fg-muted);background:0 0;border-radius:999px;margin:.25rem 0 .5rem;padding:.3rem .7rem;font-size:.8125rem}.my-meaning{background:var(--primary-soft);border-left:3px solid var(--primary);border-radius:.6rem;margin:.25rem 0 .75rem;padding:.6rem .75rem}.my-meaning-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.my-meaning-label{color:var(--primary);font-size:.75rem;font-weight:600}.my-meaning-head button,.my-meaning-actions button{border:1px solid var(--border-strong);background:var(--surface);color:var(--fg);border-radius:.5rem;padding:.2rem .6rem;font-size:.8125rem}.my-meaning-actions button.is-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.my-meaning-actions button:disabled{opacity:.5}.my-meaning-text{white-space:pre-wrap;margin:.25rem 0 0;font-size:1.125rem;font-weight:500}.my-meaning-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--fg);resize:vertical;border-radius:.5rem;margin-top:.35rem;padding:.4rem .5rem;font-size:1rem;display:block}.my-meaning-note{color:var(--fg-muted);margin:.3rem 0 0;font-size:.75rem}.my-meaning-actions{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.reader-popup-entry+.reader-popup-entry{border-top:1px solid var(--border);margin-top:.875rem;padding-top:.875rem}.reader-popup-entry.is-curated .reader-popup-forms{font-size:1.25rem;font-weight:500}.reader-popup-note{color:var(--fg-muted);margin:.375rem 0 0;font-size:.8125rem;line-height:1.55}.reader-popup-entry[data-more]:before{content:attr(data-more);color:var(--fg-subtle);margin-bottom:.25rem;font-size:.75rem;display:block}.reader-popup-forms{align-items:baseline;gap:.5rem;margin-top:.5rem;font-size:1.0625rem;display:flex}.reader-popup-kana{color:var(--fg-muted);font-size:.8125rem}.reader-popup-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--primary);background:var(--primary-soft);border-radius:.25rem;padding:.1rem .375rem;font-size:.75rem}.reader-popup-senses{margin:.375rem 0 0;padding-left:1.125rem;font-size:.875rem;line-height:1.55}.reader-popup-senses li{margin-bottom:.25rem;list-style:decimal}.reader-popup-senses li::marker{color:var(--fg-subtle);font-size:.75rem}.reader-popup-pos{color:var(--fg-subtle);font-size:.75rem;font-style:italic;display:block}.reader-popup-misc{color:var(--fg-subtle);margin-left:.375rem;font-size:.75rem}.reader-popup-muted{color:var(--fg-muted);padding:.5rem 0;font-size:.875rem}.reader-popup-error{color:var(--accent);padding:.5rem 0;font-size:.8125rem;line-height:1.5}.reader-close{top:max(.75rem, env(safe-area-inset-top));z-index:10;border:1px solid var(--border);width:2.75rem;height:2.75rem;color:var(--fg-muted);background:var(--surface);border-radius:50%;place-items:center;font-size:1.25rem;display:grid;position:absolute;right:.75rem}@supports (color:color-mix(in lab, red, red)){.reader-close{background:color-mix(in srgb, var(--surface) 92%, transparent)}}.reader-close{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:color .15s,border-color .15s}.reader-close:hover,.reader-close:focus-visible{color:var(--fg);border-color:var(--border-strong)}.reader-turn{z-index:5;width:1.375rem;height:3.5rem;color:var(--fg-subtle);background:var(--surface);border-radius:.5rem;place-items:center;margin-top:-2.5rem;font-size:1.75rem;line-height:1;display:grid;position:absolute;top:50%}@supports (color:color-mix(in lab, red, red)){.reader-turn{background:color-mix(in srgb, var(--surface) 70%, transparent)}}.reader-turn{-webkit-tap-highlight-color:transparent;transition:color .15s,background .15s}.reader-turn-prev{left:.0625rem}.reader-turn-next{right:.0625rem}.reader-turn:hover,.reader-turn:focus-visible{color:var(--fg);background:var(--surface)}.reader-head{break-inside:avoid;text-align:center;margin:.5em 0 1.6em}.reader-mark{letter-spacing:.6em;color:var(--fg-subtle);font-size:.55em;display:block}.reader-head-title{text-indent:0;margin:.6em 0 0;font-size:1.3em;font-weight:600;line-height:1.4}.reader-head-credit{color:inherit;text-decoration:none}.reader-head-sub{color:var(--fg-muted);text-indent:0;margin:.3em 0 0;font-size:.8em}.reader-end{break-inside:avoid;text-align:center;margin:2em 0 1em}.reader-end-rate{color:var(--fg-muted);flex-direction:column;align-items:center;gap:.25em;margin-top:1em;font-size:.85em;display:flex}.star-rating{gap:.1rem;display:inline-flex}.star-rating button{color:var(--border-strong);cursor:pointer;padding:.1rem .15rem;font-size:1.6rem;line-height:1;transition:color .1s,transform .1s}.star-rating button.is-on{color:var(--star)}.star-rating.is-unrated button.is-on{opacity:.55}.star-rating button:hover,.star-rating button:focus-visible{transform:scale(1.15)}.reader-rate-button{border:1px solid var(--border);color:var(--fg-muted);border-radius:999px;padding:.2rem .6rem;font-size:.75rem}.reader-rate-button[aria-expanded=true]{color:var(--primary);border-color:var(--primary)}.reader-rate-pop{z-index:20;border:1px solid var(--border);border-radius:var(--radius-base,.5rem);background:var(--surface);color:var(--fg-muted);flex-direction:column;align-items:center;gap:.25rem;padding:.6rem 1rem;font-size:.8rem;display:flex;position:absolute;bottom:3rem;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000001f}.reader-end-word{letter-spacing:.08em;color:var(--fg-muted);border-radius:999px;margin-top:.4em;padding:.25em .75em;font-size:.8em;transition:color .15s,background .15s}.reader-end-word:hover,.reader-end-word:focus-visible{color:var(--fg);background:var(--surface-2)}.fam-dot{border:2px solid var(--border-strong);background:0 0;border-radius:50%;width:1.25rem;height:1.25rem;transition:transform .12s,border-color .12s,background .12s}.fam-dot:hover:not(:disabled){transform:scale(1.15)}.fam-dot:disabled{opacity:.4}.fam-dot-0{border-color:var(--fam-0)}.fam-dot-1{border-color:var(--fam-1)}.fam-dot-2{border-color:var(--fam-2)}.fam-dot-3{border-color:var(--fam-3)}.fam-dot-4{border-color:var(--fam-4)}.fam-dot-5{border-color:var(--fam-5)}.fam-dot-0.is-active{background:var(--fam-0)}.fam-dot-1.is-active{background:var(--fam-1)}.fam-dot-2.is-active{background:var(--fam-2)}.fam-dot-3.is-active{background:var(--fam-3)}.fam-dot-4.is-active{background:var(--fam-4)}.fam-dot-5.is-active{background:var(--fam-5)}.fam-dot.is-active{transform:scale(1.15)}.mark-picker{grid-template-columns:repeat(4,1fr);gap:.375rem;width:100%;display:grid}.mark-step{border:1px solid var(--border);border-radius:var(--radius-base);background:var(--surface);flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .25rem .4375rem;transition:border-color .12s,background .12s;display:flex}.mark-step:hover:not(:disabled){border-color:var(--border-strong)}.mark-step:disabled{opacity:.5}.mark-step-specimen{font-family:var(--font-noto-serif-jp), ui-serif, Georgia, serif;text-underline-offset:.2em;text-decoration-skip-ink:none;font-size:1.0625rem;line-height:1.1;text-decoration-line:underline;text-decoration-thickness:1px}.mark-step-label{color:var(--fg-muted);white-space:nowrap;font-size:.75rem}.mark-step-new .mark-step-specimen{text-decoration-style:double;-webkit-text-decoration-color:var(--fg);-webkit-text-decoration-color:var(--fg);-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}@supports (color:color-mix(in lab, red, red)){.mark-step-new .mark-step-specimen{-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--fg) 45%, transparent)}}.mark-step-learning .mark-step-specimen{text-decoration-style:solid;-webkit-text-decoration-color:var(--fg);-webkit-text-decoration-color:var(--fg);-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}@supports (color:color-mix(in lab, red, red)){.mark-step-learning .mark-step-specimen{-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 34%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 34%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 34%, transparent);text-decoration-color:color-mix(in srgb, var(--fg) 34%, transparent)}}.mark-step-almost .mark-step-specimen{text-decoration-style:dashed;-webkit-text-decoration-color:var(--fg);-webkit-text-decoration-color:var(--fg);-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}@supports (color:color-mix(in lab, red, red)){.mark-step-almost .mark-step-specimen{-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 24%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 24%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 24%, transparent);text-decoration-color:color-mix(in srgb, var(--fg) 24%, transparent)}}.mark-step-learnt .mark-step-specimen{text-decoration-line:none}.mark-step.is-active{border-color:#0000}.mark-step-new.is-active{background:var(--mark-new)}@supports (color:color-mix(in lab, red, red)){.mark-step-new.is-active{background:color-mix(in srgb, var(--mark-new) 16%, var(--surface))}}.mark-step-learning.is-active{background:var(--mark-learning)}@supports (color:color-mix(in lab, red, red)){.mark-step-learning.is-active{background:color-mix(in srgb, var(--mark-learning) 16%, var(--surface))}}.mark-step-almost.is-active{background:var(--mark-almost)}@supports (color:color-mix(in lab, red, red)){.mark-step-almost.is-active{background:color-mix(in srgb, var(--mark-almost) 16%, var(--surface))}}.mark-step-learnt.is-active{background:var(--mark-learnt)}@supports (color:color-mix(in lab, red, red)){.mark-step-learnt.is-active{background:color-mix(in srgb, var(--mark-learnt) 16%, var(--surface))}}.mark-step.is-active .mark-step-label{color:var(--fg);font-weight:600}.reader-popup-save{border-bottom:1px solid var(--border);background:var(--surface-2);align-items:center;padding:.625rem 1rem;display:flex}.reader-popup-deck{border-bottom:1px solid var(--border);background:var(--surface-2);padding:.5rem 1rem}.reader-deck{position:relative}.reader-deck-row{gap:.25rem;display:flex}.reader-deck-main,.reader-deck-more,.reader-deck-empty{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--fg);cursor:pointer;padding:.375rem .75rem;font-size:.8125rem;transition:background-color .15s}.reader-deck-main{text-align:left;flex:1}.reader-deck-main:hover:not(:disabled),.reader-deck-more:hover:not(:disabled),.reader-deck-empty:hover{background:var(--surface-2)}.reader-deck-main:disabled{opacity:1;color:var(--fg-muted);cursor:default}.reader-deck-more{flex:none;padding-inline:.6rem}.reader-deck-empty{color:var(--fg-muted);text-decoration:none;display:inline-block}.reader-deck-list{z-index:20;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);max-height:14rem;padding:.25rem;position:absolute;bottom:calc(100% + .25rem);left:0;right:0;overflow-y:auto;box-shadow:0 -8px 24px -8px #00000040}.reader-deck-list ul{margin:0;padding:0;list-style:none}.reader-deck-list li button{border-radius:calc(var(--radius) - 2px);width:100%;color:var(--fg);cursor:pointer;text-align:left;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.8125rem;display:flex}.reader-deck-list li button:hover:not(:disabled){background:var(--surface-2)}.reader-deck-check{text-align:center;width:1rem;color:var(--fg-subtle);flex:none}.reader-deck-list li button[aria-pressed=true] .reader-deck-check{color:var(--fam-4)}.reader-deck-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.reader-deck-count{color:var(--fg-subtle);flex:none;font-size:.75rem}.reader-deck-hint{color:var(--fg-subtle);padding:.4rem .5rem;font-size:.75rem}.reader-deck-newlink{border-top:1px solid var(--border);width:100%;color:var(--fg-muted);cursor:pointer;text-align:left;border-radius:0;margin-top:.25rem;padding:.4rem .5rem;font-size:.8125rem}.reader-deck-newlink:hover{color:var(--fg)}.reader-deck-new{border-top:1px solid var(--border);gap:.25rem;margin-top:.25rem;padding-top:.25rem;display:flex}.reader-deck-new input{background:var(--surface-2);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);min-width:0;color:var(--fg);outline:none;flex:1;padding:.35rem .5rem;font-size:.8125rem}.reader-deck-new input:focus{border-color:var(--primary)}.reader-deck-new button{border-radius:calc(var(--radius) - 2px);background:var(--primary);color:var(--primary-fg);cursor:pointer;flex:none;padding:.35rem .6rem;font-size:.8125rem}.reader-deck-new button:disabled{opacity:.5}.dict-search .reader-deck-list{top:calc(100% + .25rem);bottom:auto;box-shadow:0 8px 24px -8px #00000040}.reader-deck-error{color:var(--accent);margin-top:.375rem;font-size:.75rem}.review-grade{background:var(--surface);color:var(--fg);padding:.875rem .5rem;font-size:.8125rem;font-weight:500;transition:background .12s}.review-grade:hover:not(:disabled){background:var(--surface-2)}.review-grade:disabled{opacity:.5}.review-grade-hint{color:var(--fg-subtle);margin-top:.15rem;font-size:.6875rem;font-weight:400;display:block}.grade-again{box-shadow:inset 0 3px 0 var(--fam-0)}.grade-hard{box-shadow:inset 0 3px 0 var(--fam-1)}.grade-good{box-shadow:inset 0 3px 0 var(--fam-3)}.grade-easy{box-shadow:inset 0 3px 0 var(--fam-4)}.group-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-subtle);margin:1.25rem 0 .5rem;font-size:.75rem;font-weight:600}.collection+.group-heading,div:first-child>.group-heading{margin-top:.25rem}.vocab-score{position:static}.vocab-score-chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .55rem;transition:border-color .15s,background-color .15s;display:flex}.vocab-score-chip:hover,.vocab-score-chip[aria-expanded=true]{border-color:var(--border-strong);background:var(--surface-2)}.vocab-score-value{color:var(--fg);font-variant-numeric:tabular-nums;font-size:.9375rem;font-weight:600;line-height:1}.vocab-score-label{color:var(--fg-muted);white-space:nowrap;font-size:.75rem;line-height:1}.vocab-score-bar{background:var(--surface-2);border-radius:999px;gap:1px;width:2.5rem;height:4px;display:flex;overflow:hidden}.vocab-score-seg{min-width:2px}.mark-bg-new{background:var(--mark-new)}.mark-bg-learning{background:var(--mark-learning)}.mark-bg-almost{background:var(--mark-almost)}.mark-bg-learnt{background:var(--mark-learnt)}.fam-bg-0{background:var(--fam-0)}.fam-bg-1{background:var(--fam-1)}.fam-bg-2{background:var(--fam-2)}.fam-bg-3{background:var(--fam-3)}.fam-bg-4{background:var(--fam-4)}.fam-bg-5{background:var(--fam-5)}.vocab-score-panel{z-index:30;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(17rem,100vw - 2.5rem);margin-top:.5rem;padding:.75rem .875rem .625rem;position:absolute;top:100%;right:0;box-shadow:0 12px 32px -8px #00000040}.vocab-score-panel-head{color:var(--fg-subtle);margin-bottom:.5rem;font-size:.75rem}.vocab-score-levels{flex-direction:column;gap:.3rem;display:flex}.vocab-score-levels li{align-items:center;gap:.5rem;font-size:.75rem;display:flex}.vocab-score-dot{border-radius:50%;flex:none;width:.5rem;height:.5rem}.vocab-score-level-name{width:5.25rem;color:var(--fg-muted);flex:none}.vocab-score-track{background:var(--surface-2);border-radius:999px;flex:1;min-width:0;height:5px;overflow:hidden}.vocab-score-fill{border-radius:999px;height:100%;display:block}.vocab-score-count{text-align:right;min-width:2.25rem;color:var(--fg);font-variant-numeric:tabular-nums;flex:none}.vocab-score-link{border-top:1px solid var(--border);color:var(--fg-muted);margin-top:.625rem;padding-top:.5rem;font-size:.75rem;text-decoration:none;display:block}.vocab-score-link:hover{color:var(--fg)}@media (max-width:20rem){.vocab-score-label{display:none}}.shelf-list-add{z-index:5;position:absolute;top:.25rem;right:.25rem}.shelf-list-button{border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;place-items:center;width:1.75rem;height:1.75rem;display:grid}@supports (color:color-mix(in lab, red, red)){.shelf-list-button{background:color-mix(in srgb, var(--surface) 88%, transparent)}}.shelf-list-button{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--fg-muted);cursor:pointer;font-size:.875rem;line-height:1;transition:color .15s,border-color .15s,background .15s}.shelf-list-button:not(.is-filed){font-size:.875rem;font-weight:500}.shelf-list-button:hover,.shelf-list-button:focus-visible{color:var(--fg);border-color:var(--primary)}.shelf-list-button.is-filed{color:var(--fam-4);border-color:var(--fam-4)}.shelf-list-scrim{z-index:30;cursor:default;position:fixed;inset:0}.shelf-list-menu{z-index:40;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);width:max(11rem,60vw);max-width:15rem;max-height:14rem;padding:.25rem;position:absolute;top:calc(100% + .25rem);right:0;overflow-y:auto;box-shadow:0 12px 28px -12px #00000059}.shelf-list-menu ul{margin:0;padding:0;list-style:none}.shelf-list-menu li button{border-radius:calc(var(--radius) - 2px);width:100%;color:var(--fg);cursor:pointer;text-align:left;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.8125rem;display:flex}.shelf-list-menu li button:hover:not(:disabled){background:var(--surface-2)}.shelf-list-check{text-align:center;width:1rem;color:var(--fg-subtle);flex:none}.shelf-list-menu li button[aria-pressed=true] .shelf-list-check{color:var(--fam-4)}.shelf-list-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.shelf-list-count{color:var(--fg-subtle);flex:none;font-size:.75rem}.shelf-list-hint{color:var(--fg-subtle);padding:.4rem .5rem;font-size:.75rem}.shelf-list-newlink{border-top:1px solid var(--border);width:100%;color:var(--fg-muted);cursor:pointer;text-align:left;margin-top:.25rem;padding:.4rem .5rem;font-size:.8125rem}.shelf-list-newlink:hover{color:var(--fg)}.shelf-list-new{border-top:1px solid var(--border);gap:.25rem;margin-top:.25rem;padding-top:.25rem;display:flex}.shelf-list-new input{background:var(--surface-2);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);min-width:0;color:var(--fg);outline:none;flex:1;padding:.35rem .5rem;font-size:.8125rem}.shelf-list-new input:focus{border-color:var(--primary)}.shelf-list-new button{border-radius:calc(var(--radius) - 2px);background:var(--primary);color:var(--primary-fg);cursor:pointer;flex:none;padding:.35rem .6rem;font-size:.8125rem}.shelf-list-new button:disabled{opacity:.5}.shelf-list-error{color:var(--accent);padding:.375rem .5rem 0;font-size:.75rem}.reader-finish{left:50%;bottom:max(1rem, env(safe-area-inset-bottom));z-index:30;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);width:min(28rem,100vw - 2rem);padding:1rem 1.125rem .875rem;position:fixed;transform:translate(-50%);box-shadow:0 -10px 30px -12px #00000059}.reader-finish-head{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-subtle);font-size:.75rem}.reader-finish-title{color:var(--fg);margin-top:.125rem;font-size:1rem;line-height:1.4}.reader-finish-ask{color:var(--fg-muted);margin-top:.625rem;font-size:.8125rem}.reader-finish-lists{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);margin:.375rem 0 0;padding:0;list-style:none}.reader-finish-lists li{align-items:center;gap:.5rem;padding:.4rem .5rem .4rem .625rem;display:flex}.reader-finish-lists li+li{border-top:1px solid var(--border)}.reader-finish-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8125rem;overflow:hidden}.reader-finish-lists button{border:1px solid var(--border-strong);border-radius:calc(var(--radius) - 2px);background:var(--surface);color:var(--fg-muted);cursor:pointer;flex:none;padding:.25rem .6rem;font-size:.75rem;transition:color .15s,border-color .15s}.reader-finish-lists button:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.reader-finish-lists button:disabled{opacity:.5}.reader-finish-error{color:var(--accent);margin-top:.5rem;font-size:.75rem}.reader-finish-actions{align-items:stretch;gap:.5rem;margin-top:.875rem;display:flex}.reader-finish-done,.reader-finish-next{border-radius:calc(var(--radius) - 2px);flex-direction:column;flex:1 1 0;justify-content:center;gap:.125rem;min-height:3rem;padding:.625rem .75rem;font-size:.875rem;text-decoration:none;transition:opacity .15s,background .15s;display:flex}.reader-finish-done{text-align:center;border:1px solid var(--border-strong);color:var(--fg);align-items:center;font-weight:500}.reader-finish-done:hover{background:var(--surface-2)}.reader-finish-done:only-child{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.reader-finish-next{background:var(--primary);color:var(--primary-fg);min-width:0}.reader-finish-next>span:not(.reader-finish-next-label){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reader-finish-next:hover{opacity:.9}.reader-finish-next-label{opacity:.85;font-size:.75rem;font-weight:500}.reader-finish-next-ja{opacity:.85;font-size:.75rem}.reader-finish-dismiss{width:2rem;height:2rem;color:var(--fg-muted);border-radius:999px;font-size:1.25rem;line-height:1;position:absolute;top:.375rem;right:.5rem}.reader-finish-dismiss:hover{background:var(--surface-2)}.review-discard{color:var(--fg-subtle);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:.875rem;font-size:.75rem;display:flex}.review-discard button{border-radius:calc(var(--radius) - 2px);color:var(--fg-subtle);cursor:pointer;border:1px solid #0000;padding:.25rem .625rem;transition:color .15s,border-color .15s}.review-discard button:hover:not(:disabled){color:var(--fg);border-color:var(--border-strong)}.review-discard button.is-destructive{color:var(--accent);border-color:var(--border)}.review-discard button.is-destructive:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.review-discard button:disabled{opacity:.5}.progression{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-top:.5rem;padding:.75rem .875rem .875rem}.progression-head{justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.75rem;display:flex}.progression-place{color:var(--fg-muted);font-variant-numeric:tabular-nums}.progression-rule{color:var(--fg-subtle);border-bottom:1px dotted var(--border-strong);cursor:pointer}.progression-rule:hover{color:var(--fg)}.progression-track{gap:2px;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.progression-step{background:var(--surface-2);border-radius:1px;flex:1 1 0;min-width:2px;height:.5rem}.progression-step.is-current{outline:2px solid var(--primary);outline-offset:1px;border-radius:2px;height:.75rem;margin-top:-.125rem}.progression-step.is-locked{opacity:.3}.progression-key{color:var(--fg-subtle);align-items:center;gap:.375rem;margin-top:.375rem;font-size:.6875rem;display:flex}.progression-key-scale{gap:1px;display:flex}.progression-key-scale i{border-radius:1px;width:.75rem;height:.375rem}.progression-dot,.deck-shade,.chip-shade{vertical-align:baseline;border-radius:50%;flex:none;width:.5rem;height:.5rem;display:inline-block}.progression-dot{margin:0 .25rem 0 .125rem}.chip-shade{width:.4375rem;height:.4375rem;margin-right:.3125rem}.progression-tune{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--surface-2);color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.625rem;padding:.5rem .625rem;font-size:.75rem;display:flex}.progression-tune label{align-items:center;gap:.375rem;display:flex}.progression-tune select{border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);background:var(--surface);color:var(--fg);padding:.2rem .375rem;font-size:.75rem}.progression-tune button{border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);color:var(--fg-subtle);cursor:pointer;margin-left:auto;padding:.2rem .5rem}.progression-tune button:hover{color:var(--fg);border-color:var(--border-strong)}.progression-current{margin-top:.75rem}.progression-current-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.progression-current-name{font-size:.875rem;font-weight:500}.progression-current-count{color:var(--fg-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.progression-bar{background:var(--surface-2);border-radius:999px;height:.375rem;margin-top:.375rem;overflow:hidden}.progression-bar-fill{background:var(--primary);border-radius:999px;height:100%;transition:width .2s}.progression-actions{flex-wrap:wrap;gap:.5rem;margin-top:.625rem;font-size:.75rem;display:flex}.progression-actions a,.progression-actions button{border:1px solid var(--border-strong);border-radius:calc(var(--radius) - 2px);color:var(--fg);cursor:pointer;padding:.3rem .625rem;text-decoration:none;transition:background .15s}.progression-actions a:hover,.progression-actions button:hover:not(:disabled){background:var(--surface-2)}.progression-actions a:first-child{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.progression-actions a:first-child:hover{background:var(--primary);opacity:.9}.progression-actions button:disabled{opacity:.5}.progression-next,.progression-done,.progression-message{color:var(--fg-subtle);margin-top:.625rem;font-size:.75rem}.progression-done button{border-bottom:1px dotted var(--border-strong);color:var(--fg-muted);cursor:pointer}.progression-done button:hover:not(:disabled){color:var(--fg)}.progression-error{color:var(--accent);margin-top:.625rem;font-size:.75rem}.deck-state{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);color:var(--fg-subtle);border-radius:999px;flex:none;padding:.05rem .375rem;font-size:.6875rem}.deck-state.is-cleared{color:var(--fam-4);border-color:var(--fam-4)}@supports (color:color-mix(in lab, red, red)){.deck-state.is-cleared{border-color:color-mix(in srgb, var(--fam-4) 45%, transparent)}}.deck-state.is-current{color:var(--primary);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.deck-state.is-current{border-color:color-mix(in srgb, var(--primary) 45%, transparent)}}.vocab-guide{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-base);margin-bottom:1.25rem;padding:.75rem 1rem}.vocab-guide>summary{cursor:pointer;font-size:.875rem;font-weight:600}.vocab-guide ol{counter-reset:guide;flex-direction:column;gap:.875rem;margin-top:.75rem;display:flex}.vocab-guide li{counter-increment:guide;padding-left:2rem;position:relative}.vocab-guide li:before{content:counter(guide);width:1.375rem;height:1.375rem;color:var(--primary);background:var(--primary-soft);border-radius:9999px;place-items:center;font-size:.75rem;font-weight:600;display:grid;position:absolute;top:0;left:0}.vocab-guide h3{font-size:.875rem;font-weight:600}.vocab-guide p{color:var(--fg-muted);margin-top:.125rem;font-size:.875rem}.vocab-guide a{color:var(--primary);margin-top:.25rem;font-size:.875rem;display:inline-block}.deck-list{flex-direction:column;gap:.125rem;display:flex}.deck-row{border-radius:var(--radius);justify-content:space-between;align-items:center;gap:1rem;padding:.4375rem .75rem;transition:background .12s;display:flex}a.deck-row:hover{background:var(--surface-2)}.deck-row.is-strong{background:var(--surface);border:1px solid var(--border)}a.deck-row.is-strong:hover{border-color:var(--border-strong)}.deck-row-name{flex-direction:column;flex:1;gap:.05rem;min-width:0;font-size:.9375rem;font-weight:500;line-height:1.35;display:flex}.deck-row-name small{color:var(--fg-subtle);font-size:.75rem;font-weight:400}.deck-row-counts{font-variant-numeric:tabular-nums;flex:none;gap:.625rem;font-size:.8125rem;display:flex}.deck-row-counts span{text-align:right;min-width:1.75rem}.deck-row-counts span[data-label]:after{content:attr(data-label);color:var(--fg-subtle);font-size:.625rem;line-height:1.2;display:block}.count-new{color:var(--count-new)}.count-learning{color:var(--count-learning)}.count-due{color:var(--count-due)}.deck-row-counts .is-zero{color:var(--fg-subtle);opacity:.5}.deck-group{border-radius:var(--radius)}.deck-group>summary{cursor:pointer;list-style:none}.deck-group>summary::-webkit-details-marker{display:none}.deck-group>summary .deck-row-name>span:first-of-type:before{content:"▸";width:1em;color:var(--fg-subtle);margin-left:-1em;transition:transform .12s;display:inline-block}.deck-group[open]>summary .deck-row-name>span:first-of-type:before{transform:rotate(90deg)}.deck-group-body{border-left:1px solid var(--border);margin:.0625rem 0 .375rem .75rem;padding-left:.625rem}.deck-row-review{color:var(--primary);white-space:nowrap;border:1px solid #0000;border-radius:9999px;flex:none;margin-left:auto;padding:.1875rem .5rem;font-size:.75rem;font-weight:500}.deck-row-review:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.deck-row-review:hover{border-color:color-mix(in srgb, var(--primary) 35%, transparent)}}.deck-row-review:hover{background:var(--primary-soft)}.study-back{color:var(--fg-muted);margin-bottom:1.5rem;font-size:.8125rem;display:inline-block}.study-back:hover{color:var(--fg)}.study-head h2{letter-spacing:-.01em;font-size:1.5rem;font-weight:600}.study-head p{color:var(--fg-muted);margin-top:.25rem;font-size:.875rem}.study-counts{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:repeat(3,1fr);margin:2rem 0;display:grid;overflow:hidden}.study-counts>div{flex-direction:column;align-items:center;gap:.25rem;padding:1.25rem .5rem;display:flex}.study-counts>div+div{border-left:1px solid var(--border)}.study-counts>div>span:first-child{font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:600;line-height:1}.study-counts>div>span:last-child{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-subtle);font-size:.75rem}.study-start{border-radius:var(--radius);background:var(--primary);width:100%;color:var(--primary-fg);flex-direction:column;align-items:center;gap:.25rem;padding:1.125rem;font-size:1rem;font-weight:600;transition:opacity .12s;display:flex}.study-start:hover{opacity:.92}.study-start>span{opacity:.8;font-size:.75rem;font-weight:400}.study-empty{text-align:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:2rem 1rem}.study-empty>p{color:var(--fg-muted);margin-top:.75rem;font-size:.875rem}.study-budget{color:var(--fg-subtle)!important;font-size:.75rem!important}.study-empty a{color:var(--primary);margin-top:1.25rem;font-size:.8125rem;display:inline-block}.study-images{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.25rem}.study-images-label{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-subtle);font-size:.75rem;font-weight:600}.study-modes{gap:.375rem;margin-top:.625rem;display:flex}.study-modes button,.reviewer-menu-modes button{border:1px solid var(--border);border-radius:var(--radius);color:var(--fg-muted);padding:.4rem .75rem;font-size:.8125rem;transition:all .12s}.study-modes button:hover,.reviewer-menu-modes button:hover{border-color:var(--border-strong);color:var(--fg)}.study-modes button.is-on,.reviewer-menu-modes button.is-on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.study-images-hint{color:var(--fg-subtle);margin-top:.625rem;font-size:.75rem}.reviewer{z-index:40;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.reviewer-bar{padding:.75rem 1rem;padding-top:max(.75rem, env(safe-area-inset-top));justify-content:space-between;align-items:center;gap:1rem;display:flex}.reviewer-close,.reviewer-tools button{border-radius:var(--radius);width:2.75rem;height:2.75rem;color:var(--fg-subtle);place-items:center;font-size:1.25rem;transition:all .12s;display:grid}.reviewer-close:hover,.reviewer-tools button:hover{background:var(--surface-2);color:var(--fg)}.reviewer-tools{gap:.25rem;display:flex}.reviewer-counts{font-variant-numeric:tabular-nums;gap:1rem;font-size:.9375rem;font-weight:500;display:flex}.reviewer-progress{background:var(--surface-2);height:2px}.reviewer-progress>div{background:var(--primary);height:100%;transition:width .2s}.reviewer-menu{z-index:2;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:.125rem;width:15rem;padding:.5rem;display:flex;position:absolute;top:3.25rem;right:1rem;box-shadow:0 12px 32px #00000024}.reviewer-menu>button{border-radius:calc(var(--radius) - 2px);text-align:left;color:var(--fg);padding:.5rem .625rem;font-size:.8125rem}.reviewer-menu>button:hover{background:var(--surface-2)}.reviewer-menu>button.is-destructive{color:var(--accent)}.reviewer-menu-modes{border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:.25rem;margin:.25rem 0;padding:.375rem .625rem .5rem;display:flex}.reviewer-menu-modes button{flex:1;padding:.3rem .25rem;font-size:.75rem}.reviewer-card{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.5rem;padding:1.5rem 1.25rem;display:flex;overflow-y:auto}.reviewer-question{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.reviewer-lemma{font-size:clamp(2.5rem,12vw,3.75rem);line-height:1.15}.reviewer-image{max-width:min(24rem,100%)}.reviewer-image img{object-fit:contain;border-radius:var(--radius);background:var(--surface-2);width:100%;max-height:42vh;display:block}.reviewer-image figcaption{color:var(--fg-subtle);margin-top:.375rem;font-size:.6875rem}.reviewer-image figcaption a:hover{text-decoration:underline}.reviewer-hint{border:1px solid var(--border);border-radius:var(--radius);color:var(--fg-muted);align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.8125rem;transition:all .12s;display:inline-flex}.reviewer-hint:hover{border-color:var(--border-strong);color:var(--fg)}.reviewer-hint>span{color:var(--fg-subtle);font-size:.6875rem}.reviewer-answer{border-top:1px solid var(--border);width:min(30rem,100%);padding-top:1.5rem}.reviewer-reading{color:var(--fg-muted);font-size:1.25rem}.reviewer-gloss{margin-top:.75rem;font-size:1.0625rem;line-height:1.5}.reviewer-context{color:var(--fg-muted);margin-top:1.25rem;font-size:.875rem;line-height:1.8}.reviewer-level{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-subtle);margin-top:1.25rem;font-size:.75rem}.reviewer-actions{padding:1rem;padding-bottom:max(1rem, env(safe-area-inset-bottom))}.reviewer-reveal{border-radius:var(--radius);background:var(--primary);width:100%;color:var(--primary-fg);justify-content:center;align-items:center;gap:.625rem;padding:1rem;font-size:.9375rem;font-weight:600;display:flex}.reviewer-reveal>span{opacity:.75;font-size:.75rem;font-weight:400}.reviewer-grades{grid-template-columns:repeat(4,1fr);gap:.375rem;display:grid}.reviewer-grade{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;align-items:center;gap:.15rem;padding:.75rem .25rem;transition:background .12s;display:flex}.reviewer-grade:hover:not(:disabled){background:var(--surface-2)}.reviewer-grade:disabled{opacity:.5}.reviewer-grade-interval{font-variant-numeric:tabular-nums;color:var(--fg-subtle);font-size:.75rem}.reviewer-grade-label{font-size:.8125rem;font-weight:500}.reviewer-grade-key{color:var(--fg-subtle);font-size:.625rem}.reviewer-done{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem 1.25rem;display:flex}.reviewer-done-actions{gap:.5rem;margin-top:2rem;display:flex}.reviewer-done-actions button{border:1px solid var(--border);border-radius:var(--radius);color:var(--fg-muted);padding:.625rem 1.125rem;font-size:.875rem}.reviewer-done-actions button.is-primary{border-color:var(--primary);background:var(--primary);color:var(--primary-fg)}.image-picker-backdrop{z-index:60;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (min-width:640px){.image-picker-backdrop{align-items:center}}.image-picker{width:min(42rem,100%);max-height:88vh;padding:1rem;padding-bottom:max(1rem, env(safe-area-inset-bottom));border-radius:var(--radius) var(--radius) 0 0;background:var(--surface);flex-direction:column;display:flex}@media (min-width:640px){.image-picker{border-radius:var(--radius)}}.image-picker-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.image-picker-head button{width:2.75rem;height:2.75rem;color:var(--fg-subtle);border-radius:50%;flex:none;place-items:center;margin:-.5rem -.5rem 0 0;font-size:1.375rem;display:grid}.image-picker-gloss{color:var(--fg-subtle);margin-top:.15rem;font-size:.75rem;display:block}.image-picker-search{gap:.375rem;margin:.875rem 0;display:flex}.image-picker-search input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);min-width:0;color:var(--fg);flex:1;padding:.5rem .75rem;font-size:.875rem}.image-picker-search input:focus{border-color:var(--primary);outline:none}.image-picker-search button{border:1px solid var(--border);border-radius:var(--radius);color:var(--fg-muted);flex:none;padding:.5rem .75rem;font-size:.8125rem}.image-picker-search button:disabled{opacity:.5}.image-picker-grid{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.5rem;padding-bottom:.5rem;display:grid;overflow-y:auto}.image-picker-muted{text-align:center;color:var(--fg-subtle);grid-column:1/-1;padding:2rem 0;font-size:.8125rem}.image-picker-error{color:var(--accent);margin-bottom:.5rem;font-size:.75rem}.image-picker-option{aspect-ratio:4/3;border-radius:var(--radius);background:var(--surface-2);border:2px solid #0000;position:relative;overflow:hidden}.image-picker-option img{object-fit:cover;width:100%;height:100%}.image-picker-option:hover{border-color:var(--border-strong)}.image-picker-option.is-current{border-color:var(--primary)}.image-picker-used{color:#fff;background:#0009;padding:.2rem .3rem;font-size:.625rem;position:absolute;inset:auto 0 0}.image-picker-foot{border-top:1px solid var(--border);color:var(--fg-subtle);justify-content:space-between;align-items:center;gap:1rem;padding-top:.75rem;font-size:.75rem;display:flex}.image-picker-foot button{color:var(--accent)}.image-picker-foot a:hover{text-decoration:underline}.card-image{border:1px solid var(--border);border-radius:calc(var(--radius) - 3px);background:var(--surface-2);flex:none;width:3.25rem;height:2.5rem;transition:border-color .12s;position:relative;overflow:hidden}.card-image:hover{border-color:var(--primary)}.card-image img{object-fit:cover;width:100%;height:100%}.card-image-empty{color:var(--fg-subtle);border-style:dashed;border-color:var(--border-strong);background:0 0;justify-content:center;align-items:center;font-size:.9375rem;display:flex}.card-image-empty:hover{border-style:solid}.card-image-empty>span{font-size:1rem;line-height:1}.reviewer-hint.is-add{border-style:dashed;border-color:var(--border-strong)}.reviewer-keys{text-align:center;color:var(--fg-subtle);padding:0 1rem .75rem;font-size:.6875rem}.study-images-answer{color:var(--fg-muted);cursor:pointer;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.75rem;display:flex}.study-images-answer input{accent-color:var(--primary)}.reviewer-actions,.reviewer-keys{width:100%;max-width:44rem;margin-inline:auto}.reviewer-queued{background:var(--surface-2);color:var(--fg-muted);text-align:center;padding:.5rem 1rem;font-size:.75rem}.reviewer-menu-note{color:var(--fg-subtle);padding:.5rem .75rem;font-size:.75rem}.vocab-score-pending{background:var(--surface-2);border-radius:999px;width:5.5rem;height:1.75rem;display:inline-block}.wk-import-help{color:var(--fg-muted);margin-top:.875rem;font-size:.8125rem}.wk-import-help>summary{cursor:pointer;color:var(--primary)}.wk-import-help ul{margin:.625rem 0 .5rem;padding-left:1.1rem;list-style:outside}.wk-import-help li{margin-bottom:.375rem}.wk-import-help code{background:var(--surface-2);border-radius:3px;padding:0 .25rem}.wk-import-drop{border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--fg-muted);cursor:pointer;justify-content:center;align-items:center;margin-top:1rem;padding:1.5rem;font-size:.875rem;transition:all .12s;display:flex}.wk-import-drop:hover{border-color:var(--primary);color:var(--fg)}.wk-import-drop input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.wk-import-drop:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.wk-import-summary{border:1px solid var(--border);border-radius:var(--radius);background:var(--border);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:1rem;display:grid;overflow:hidden}.wk-import-summary>div{background:var(--surface);text-align:center;padding:.75rem}.wk-import-summary dt{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-subtle);font-size:.6875rem}.wk-import-summary dd{font-variant-numeric:tabular-nums;margin-top:.15rem;font-size:1.25rem;font-weight:600}.wk-import-levels{color:var(--fg-muted);flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem;font-size:.75rem;display:flex}.wk-import-levels li{align-items:center;gap:.375rem;display:flex}.wk-import-levels strong{font-variant-numeric:tabular-nums;color:var(--fg)}.wk-import-swatch{border-radius:2px;width:.625rem;height:.625rem}.wk-import-note{max-width:46ch;color:var(--fg-subtle);margin-top:1rem;font-size:.75rem}.wk-import-actions{flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;display:flex}.wk-import-actions button{border:1px solid var(--border);border-radius:var(--radius);color:var(--fg-muted);padding:.5rem 1rem;font-size:.875rem;transition:all .12s}.wk-import-actions button:hover{border-color:var(--border-strong);color:var(--fg)}.wk-import-actions button.is-primary{border-color:var(--primary);background:var(--primary);color:var(--primary-fg);font-weight:500}.wk-import-actions button.is-primary:hover{opacity:.92}.wk-import-progress{background:var(--surface-2);border-radius:999px;height:4px;margin-top:.625rem;overflow:hidden}.wk-import-progress>div{background:var(--primary);height:100%;transition:width .2s}.app-help{flex-direction:column;flex:none;align-items:flex-end;gap:.25rem;display:flex}.a2p-link{color:var(--fg-subtle);text-underline-offset:2px;cursor:pointer;white-space:nowrap;font-size:.75rem;text-decoration:underline}.a2p-link:hover{color:var(--primary)}.a2p-body{overscroll-behavior:contain;flex:1;min-height:0;margin-top:.75rem;overflow-y:auto}.a2p-intro{color:var(--fg-muted);font-size:.875rem;line-height:1.5}.a2p-section{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1rem}.a2p-section h3{font-size:.9375rem;font-weight:600}.a2p-section ol{flex-direction:column;gap:.875rem;margin-top:.75rem;display:flex}.a2p-step{gap:.625rem;font-size:.875rem;line-height:1.5;display:flex}.a2p-num{width:1.375rem;height:1.375rem;color:var(--primary-fg);background:var(--primary);border-radius:9999px;flex:none;place-items:center;margin-top:.0625rem;font-size:.75rem;font-weight:600;display:grid}.a2p-bar,.a2p-menu{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);max-width:17rem;margin:.5rem 0 0 2rem}.a2p-bar{align-items:center;gap:.5rem;padding:.5rem;display:flex}.a2p-url{background:var(--surface);border:1px solid var(--border);border-radius:9999px;flex:1;height:1.75rem}.a2p-key{width:2rem;height:2rem;color:var(--fg);border-radius:9999px;place-items:center;display:grid}.a2p-menu{padding:.25rem}.a2p-row{color:var(--fg-muted);border-radius:calc(var(--radius) - 2px);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .625rem;font-size:.8125rem;display:flex}.a2p-key.is-hit,.a2p-row.is-hit{color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 2px var(--primary)}.a2p-row.is-hit{font-weight:600}.a2p-done{border-top:1px solid var(--border);color:var(--fg-muted);align-items:center;gap:.75rem;margin-top:1.25rem;padding-top:1rem;font-size:.875rem;display:flex}.a2p-done img{border-radius:.75rem;flex:none}.howto-open{color:var(--fg-muted);background:var(--surface);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:9999px;padding:.3125rem .75rem;font-size:.8125rem;transition:color .12s,border-color .12s}.howto-open:hover{color:var(--fg);border-color:var(--border-strong)}.howto-slot{display:inline-flex;position:relative}.howto-flag{pointer-events:none;position:absolute;top:-.1875rem;right:-.1875rem}.howto-dot{background:var(--primary);width:.5rem;height:.5rem;box-shadow:0 0 0 2px var(--bg);border-radius:9999px;display:block}.howto-slot:has(.howto-flag) .howto-open{color:var(--primary);background:var(--primary-soft);border-color:var(--primary)}.howto-banner-wrap{margin-bottom:1.25rem;position:relative}.howto-banner-wrap .howto-banner{margin-bottom:0;padding-right:2.5rem}.howto-banner-dismiss{width:2.5rem;height:2.5rem;color:var(--fg-muted);border-radius:9999px;place-items:center;font-size:1.25rem;line-height:1;transition:color .12s,background .12s;display:grid;position:absolute;top:.25rem;right:.25rem}.howto-banner-dismiss:hover{color:var(--fg);background:var(--surface)}.howto-banner{text-align:left;background:var(--primary-soft);border-radius:var(--radius-base);cursor:pointer;border:1px solid #0000;align-items:center;gap:.75rem;width:100%;margin-bottom:1.25rem;padding:.8125rem 3rem .8125rem .9375rem;transition:border-color .12s;display:flex}.howto-banner:hover{border-color:var(--primary)}.howto-banner .howto-dot{box-shadow:none;flex:none}.howto-banner-text{flex-direction:column;gap:.125rem;min-width:0;display:flex}.howto-banner-text strong{color:var(--fg);font-size:.875rem;font-weight:600}.howto-banner-text span{color:var(--fg-muted);font-size:.8125rem}.howto-banner-go{color:var(--primary-fg);background:var(--primary);white-space:nowrap;border-radius:9999px;flex:none;margin-left:auto;padding:.3125rem .75rem;font-size:.8125rem;font-weight:500}.progress-card{border:1px solid var(--border);border-radius:var(--radius-base);background:var(--surface);gap:.5rem 1.5rem;margin:0 0 1rem;padding:.625rem .875rem;display:grid}@media (min-width:40rem){.progress-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}}.progress-card-total{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0;display:flex}.progress-card-number{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--fg);font-size:1.5rem;font-weight:700;line-height:1}.progress-card-label{color:var(--fg-muted);font-size:.9375rem;font-weight:600}.progress-card-of{color:var(--fg-subtle);font-variant-numeric:tabular-nums;font-size:.8125rem}.progress-card-bar{background:var(--surface-2);border-radius:999px;gap:2px;height:.375rem;margin-top:.5rem;display:flex;overflow:hidden}.progress-card-seg{min-width:.25rem}.progress-card-legend{color:var(--fg-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:.125rem .625rem;margin:.375rem 0 0;font-size:.6875rem;display:flex}.progress-card-legend>span{align-items:center;gap:.3125rem;display:inline-flex}.progress-card-dot{border-radius:50%;width:.5rem;height:.5rem}.progress-card-all{color:var(--primary);margin-left:auto;font-weight:500;text-decoration:none}.progress-card-all:hover{text-decoration:underline}.progress-card-week{flex-wrap:nowrap;align-items:center;gap:.375rem;min-width:0;display:flex}.progress-card-week-title{flex:none}.progress-card-week .progress-card-badge{gap:.1875rem;min-width:0;padding:.125rem .375rem;font-size:.6875rem;overflow:hidden}.progress-card-week .progress-card-badge-number{font-size:.8125rem}.progress-card-week .progress-card-badge>span:last-child{text-overflow:ellipsis;overflow:hidden}.progress-card-week-title{letter-spacing:.04em;text-transform:uppercase;color:var(--fg-muted);margin:0;font-size:.6875rem;font-weight:600}.progress-card-badge{border-radius:calc(var(--radius-base) - 2px);white-space:nowrap;color:var(--fg);align-items:baseline;gap:.25rem;margin:0;padding:.1875rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.progress-card-badge-number{font-variant-numeric:tabular-nums;font-size:.9375rem;font-weight:700}.progress-card-badge.is-known{background:var(--mark-learnt)}@supports (color:color-mix(in lab, red, red)){.progress-card-badge.is-known{background:color-mix(in srgb, var(--mark-learnt) 14%, transparent)}}.progress-card-badge.is-known .progress-card-badge-number{color:var(--mark-learnt)}.progress-card-badge.is-learning{background:var(--mark-learning)}@supports (color:color-mix(in lab, red, red)){.progress-card-badge.is-learning{background:color-mix(in srgb, var(--mark-learning) 18%, transparent)}}.progress-card-badge.is-learning .progress-card-badge-number{color:var(--mark-learning)}.upgrade-banner{border-color:var(--border)}.upgrade-banner-mark{flex:none;font-size:1.25rem;line-height:1}@media (max-width:30rem){.howto-banner{grid-template-columns:auto minmax(0,1fr);align-items:start;row-gap:.625rem;display:grid}.howto-banner .howto-dot{margin-top:.375rem}.howto-banner-text,.howto-banner-go{grid-column:2}.howto-banner-go{justify-self:start;margin-left:0}}.howto-backdrop{z-index:60;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (min-width:640px){.howto-backdrop{align-items:center}}.howto{width:100%;height:100dvh;padding:1.125rem 1.25rem;padding-top:max(1.125rem, env(safe-area-inset-top));padding-bottom:max(1.125rem, env(safe-area-inset-bottom));background:var(--surface);flex-direction:column;display:flex}@media (min-width:640px){.howto{border-radius:var(--radius);width:min(34rem,100%);height:min(36rem,92dvh)}}.howto-head{flex:none;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.howto-head button{width:2.75rem;height:2.75rem;color:var(--fg-subtle);cursor:pointer;border-radius:50%;flex:none;place-items:center;margin:-.5rem -.5rem 0 0;font-size:1.375rem;display:grid}.howto-head button:hover{color:var(--fg);background:var(--surface-2)}.howto-step{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-subtle);font-size:.75rem;font-weight:500}.howto-title{letter-spacing:-.01em;margin-top:.125rem;font-size:1.125rem;font-weight:600}.howto-body{overscroll-behavior:contain;flex-direction:column;flex:1;justify-content:safe center;gap:1rem;min-height:0;margin-top:.75rem;display:flex;overflow-y:auto}.howto-caption{text-align:center;color:var(--fg-muted);flex:none;font-size:.875rem;line-height:1.5}.howto-caption a{color:var(--primary);text-underline-offset:2px;text-decoration:underline}.howto-caption kbd{color:var(--fg);background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:.05rem .3rem;font-family:inherit;font-size:.75rem}.htw-fig{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:none;align-items:center;gap:.875rem;padding:1.125rem 1rem;display:flex}.htw-sentence{text-align:center;font-size:1.125rem;line-height:1.9}.htw-tapped{outline:2px solid var(--primary);outline-offset:2px}.htw-tap-hint{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);text-align:center;font-size:.6875rem;font-weight:600}.htw-tap-hint:before{content:"↓";letter-spacing:0;margin-bottom:.125rem;font-size:.875rem;display:block}.htw-popup{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);width:min(17rem,100%);padding:.625rem .75rem;box-shadow:0 6px 20px -8px #0000004d}.htw-popup-head{align-items:baseline;gap:.5rem;display:flex}.htw-popup-lemma{color:var(--fg);font-size:1.125rem;font-weight:600}.htw-popup-reading{color:var(--fg-muted);font-size:.8125rem}.htw-popup-gloss{color:var(--fg-muted);margin-top:.0625rem;font-size:.75rem}.htw-picker{border-top:1px solid var(--border);margin-top:.5rem;padding-top:.5rem}.htw-states{flex-direction:column;gap:.375rem;width:100%;list-style:none;display:flex}.htw-states li{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);align-items:baseline;gap:.625rem;padding:.375rem .625rem;display:flex}.htw-state-specimen{flex:none;width:3rem;font-size:1.0625rem}.htw-state-label{width:4.5rem;color:var(--fg);flex:none;font-size:.8125rem;font-weight:500}.htw-state-note{min-width:0;color:var(--fg-subtle);flex:1;font-size:.75rem}.htw-chip{background:var(--surface);border:1px solid var(--border);border-radius:9999px;align-items:baseline;gap:.375rem;padding:.3rem .7rem;display:inline-flex}.htw-chip-value{font-variant-numeric:tabular-nums;color:var(--fg);font-size:.9375rem;font-weight:600}.htw-chip-label{color:var(--fg-muted);font-size:.75rem}.htw-decks{flex-direction:column;gap:.125rem;width:100%;display:flex}.htw-deck{border-radius:calc(var(--radius) - 2px);align-items:center;gap:.5rem;padding:.4375rem .625rem;font-size:.8125rem;display:flex}.htw-deck.is-strong{background:var(--surface);border:1px solid var(--border)}.htw-deck.is-child{border-left:1px solid var(--border);border-radius:0;margin-left:1.25rem}.htw-deck-caret{color:var(--fg-subtle);flex:none}.htw-deck-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.htw-deck-review{color:var(--primary);background:var(--primary-soft);border-radius:9999px;flex:none;padding:.125rem .4375rem;font-size:.75rem;font-weight:500}.htw-count{font-variant-numeric:tabular-nums;text-align:right;flex:none;min-width:1.5rem;font-size:.8125rem}.htw-count.is-new{color:var(--count-new)}.htw-count.is-due{color:var(--count-due)}.htw-legend{color:var(--fg-subtle);flex-wrap:wrap;justify-content:center;gap:.25rem .875rem;font-size:.75rem;display:flex}.htw-legend>span{align-items:center;gap:.3125rem;display:inline-flex}.htw-legend .htw-count{min-width:0}.htw-card{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);width:100%;padding:.875rem .75rem}.htw-card-lemma{color:var(--fg);font-size:1.75rem;font-weight:600}.htw-card-reading{color:var(--fg-muted);margin-top:.25rem;font-size:.875rem}.htw-card-gloss{color:var(--fg-muted);margin-top:.125rem;font-size:.8125rem}.htw-grades{grid-template-columns:repeat(4,1fr);gap:.25rem;width:100%;display:grid}.htw-grade{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) - 3px);flex-direction:column;align-items:center;gap:.0625rem;padding:.4375rem .25rem;display:flex}.htw-grade-interval{color:var(--fg-subtle);font-variant-numeric:tabular-nums;font-size:.6875rem}.htw-grade-label{color:var(--fg);font-size:.75rem;font-weight:500}.htw-shelves{grid-template-columns:repeat(4,1fr);gap:.375rem;width:100%;display:grid}.htw-shelf{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);flex-direction:column;align-items:center;gap:.125rem;padding:.5rem .25rem .4375rem;display:flex;position:relative;overflow:hidden}.htw-shelf-spine{width:100%;height:3px;position:absolute;top:0;left:0}.htw-shelf-glyph{color:var(--fg);font-size:.9375rem;font-weight:600}.htw-shelf-label{color:var(--fg);text-align:center;font-size:clamp(.5625rem,2.6vw,.6875rem);font-weight:500}.htw-flow{justify-content:center;align-items:center;gap:.375rem;width:100%;display:flex}.htw-flow-node{text-align:center;border-radius:calc(var(--radius) - 3px);flex-direction:column;flex:1;align-items:center;gap:.0625rem;min-width:0;padding:.4375rem .25rem;display:flex}.htw-flow-node.is-target{background:var(--surface);border:1px solid var(--border)}.htw-flow-node a{color:var(--primary);font-size:.8125rem;font-weight:500}.htw-flow-node a:hover{text-decoration:underline}.htw-flow-node small{color:var(--fg-subtle);font-size:.6875rem;line-height:1.35}.htw-flow-arrow{color:var(--fg-subtle);flex:none;font-size:.75rem}.howto-foot{border-top:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:1rem;margin-top:.875rem;padding-top:.875rem;display:flex}.howto-dots{gap:.375rem;display:flex}.howto-dots button{background:var(--border-strong);cursor:pointer;border-radius:50%;width:.4375rem;height:.4375rem;transition:background .12s}.howto-dots button.is-current{background:var(--primary)}.howto-nav{align-items:center;gap:.5rem;display:flex}.howto-nav button,.howto-nav a{min-height:2.75rem;color:var(--fg-muted);border-radius:var(--radius);cursor:pointer;align-items:center;padding:0 1.25rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.howto-nav button:hover,.howto-nav a:hover{color:var(--fg);background:var(--surface-2)}.howto-nav button.is-primary,.howto-nav a.is-primary{color:var(--primary-fg);background:var(--primary)}.howto-nav button.is-primary:hover,.howto-nav a.is-primary:hover{color:var(--primary-fg);background:var(--primary);opacity:.9}.htw-shelfcards{grid-template-columns:repeat(3,1fr);gap:.625rem;width:100%;display:grid}.htw-shelfcard{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);flex-direction:column;display:flex;overflow:hidden}.htw-shelfcard-art{aspect-ratio:1;place-items:center;display:grid;position:relative}.htw-shelfcard-mark{color:#ffffffe6;font-size:1.375rem;font-weight:500}.htw-shelfcard-band{background:var(--bg);border-radius:.2rem;padding:.05rem .3rem;position:absolute;top:.25rem;left:.25rem}@supports (color:color-mix(in lab, red, red)){.htw-shelfcard-band{background:color-mix(in oklab, var(--bg) 82%, transparent)}}.htw-shelfcard-band{color:var(--fg-muted);letter-spacing:.04em;font-size:.625rem;font-weight:600}.htw-shelfcard-title{white-space:nowrap;text-overflow:ellipsis;margin:.35rem .4rem 0;font-size:.75rem;line-height:1.3;overflow:hidden}.htw-shelfcard-meta{color:var(--fg-subtle);margin:.1rem .4rem .45rem;font-size:.6875rem}.wk-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.125rem 1.25rem 1.25rem}.wk-summary-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.wk-summary-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-subtle);font-size:.75rem;font-weight:500}.wk-summary-level{letter-spacing:-.02em;margin-top:.125rem;font-size:1.5rem;font-weight:600}.wk-summary-title{margin-top:.125rem;font-size:1.0625rem;font-weight:600}.wk-summary-fraction{font-variant-numeric:tabular-nums;flex:none;align-items:baseline;gap:.3125rem;display:flex}.wk-summary-fraction span{color:var(--fam-4);font-size:1.5rem;font-weight:600}.wk-summary-fraction small{color:var(--fg-subtle);font-size:.8125rem}.wk-bar{background:var(--surface-2);border-radius:9999px;height:.5rem;margin-top:.875rem;overflow:hidden}.wk-bar>div{background:var(--fam-4);border-radius:9999px;height:100%;transition:width .2s}.wk-summary-note{color:var(--fg-muted);margin-top:.625rem;font-size:.8125rem}.wk-summary-dim{color:var(--fg-subtle)}.wk-actions{margin-top:1rem}.wk-review{text-align:center;color:var(--primary-fg);background:var(--primary);border-radius:var(--radius);padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:opacity .12s;display:block}.wk-review:hover{opacity:.9}.wk-review.is-quiet{color:var(--fg-subtle);background:var(--surface-2);pointer-events:none}.wk-split{color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:.25rem .75rem;margin-top:.5rem;font-size:.75rem;display:flex}.wk-split>span{align-items:center;gap:.3125rem;display:inline-flex}.wk-split-note{color:var(--fg-subtle)}.wk-pip{border-radius:50%;width:.375rem;height:.375rem}.wk-pip.is-due{background:var(--count-due)}.wk-pip.is-new{background:var(--count-new)}.wk-summary.is-done{text-align:center}.wk-summary.is-done .wk-split{justify-content:center}.wk-track-section{margin-top:1.5rem}.wk-track-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.625rem;display:flex}.wk-track-head h2{letter-spacing:.04em;text-transform:uppercase;color:var(--fg-subtle);font-size:.8125rem;font-weight:600}.wk-track-head button{color:var(--fg-muted);cursor:pointer;font-size:.75rem}.wk-track-head button:hover{color:var(--fg)}.wk-track{grid-template-columns:repeat(auto-fill,minmax(2.75rem,1fr));gap:.3125rem;list-style:none;display:grid}.wk-tile{aspect-ratio:1;font-variant-numeric:tabular-nums;border:1px solid var(--border);border-radius:calc(var(--radius) - 3px);background:var(--surface);color:var(--fg-muted);justify-content:center;align-items:center;font-size:.875rem;font-weight:600;display:flex;position:relative;overflow:hidden}.wk-tile-num{z-index:1;position:relative}.wk-tile-fill{background:var(--fam-4);width:100%;position:absolute;bottom:0;left:0}@supports (color:color-mix(in lab, red, red)){.wk-tile-fill{background:color-mix(in srgb, var(--fam-4) 22%, transparent)}}.wk-tile.is-cleared{color:var(--fg);border-color:var(--fam-4)}@supports (color:color-mix(in lab, red, red)){.wk-tile.is-cleared{border-color:color-mix(in srgb, var(--fam-4) 45%, transparent)}}.wk-tile.is-cleared .wk-tile-fill{background:var(--fam-4)}@supports (color:color-mix(in lab, red, red)){.wk-tile.is-cleared .wk-tile-fill{background:color-mix(in srgb, var(--fam-4) 30%, transparent)}}.wk-tile.is-current{color:var(--fg);border-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}@supports (color:color-mix(in lab, red, red)){.wk-tile.is-current{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 30%, transparent)}}.wk-tile.is-locked{color:var(--fg-subtle);background:var(--surface-2);opacity:.6;border-style:dashed}.wk-tile-dot{z-index:1;background:var(--count-due);border-radius:50%;width:.3125rem;height:.3125rem;position:absolute;top:.25rem;right:.25rem}.wk-key{color:var(--fg-subtle);flex-wrap:wrap;gap:.25rem .875rem;margin-top:.75rem;font-size:.75rem;display:flex}.wk-key span{align-items:center;gap:.3125rem;display:inline-flex}.wk-swatch{border:1px solid var(--border);border-radius:3px;width:.625rem;height:.625rem}.wk-swatch.is-cleared{background:var(--fam-4)}@supports (color:color-mix(in lab, red, red)){.wk-swatch.is-cleared{background:color-mix(in srgb, var(--fam-4) 30%, transparent)}}.wk-swatch.is-cleared{border-color:var(--fam-4)}@supports (color:color-mix(in lab, red, red)){.wk-swatch.is-cleared{border-color:color-mix(in srgb, var(--fam-4) 45%, transparent)}}.wk-swatch.is-current{border-color:var(--primary)}.wk-swatch.is-open{background:var(--surface)}.wk-swatch.is-locked{background:var(--surface-2);border-style:dashed}.login-shell{background:var(--bg);grid-template-rows:auto 1fr;min-height:100dvh;display:grid}@media (min-width:1024px){.login-shell{grid-template-rows:none;grid-template-columns:1.05fr 1fr}}.login-brand{background:var(--primary);color:var(--primary-fg);align-items:flex-end;padding:2rem 1.5rem;display:flex;position:relative;overflow:hidden}@media (max-width:1023px){.login-brand{display:none}}@media (min-width:1024px){.login-brand{padding:3.5rem 3rem}}.login-brand-wash{width:115%;color:var(--primary-fg);opacity:.09;pointer-events:none;position:absolute;bottom:-18%;right:-22%}.login-brand-inner{flex-direction:column;gap:1.25rem;max-width:26rem;display:flex;position:relative}.login-brand-jp{letter-spacing:.06em;font-size:clamp(2.25rem,4vw,3.25rem);font-weight:500;line-height:1.15}.login-brand-line{opacity:.82;font-size:.9375rem;line-height:1.65}.login-promises{border-top:1px solid var(--primary-fg);flex-direction:column;gap:.55rem;margin-top:.25rem;padding-top:1.25rem;display:flex}@supports (color:color-mix(in lab, red, red)){.login-promises{border-top:1px solid color-mix(in oklab, var(--primary-fg) 22%, transparent)}}.login-promises{font-size:.875rem}.login-promises li{opacity:.9;align-items:center;gap:.75rem;display:flex}.login-promise-icon{opacity:.8;flex:none;width:1.25rem;height:1.25rem}.login-provider{border:1px solid var(--border-strong);border-radius:var(--radius-base);background:var(--surface);width:100%;color:var(--fg);cursor:pointer;justify-content:center;align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:1rem;font-weight:500;transition:background-color .15s;display:flex}.login-provider:hover{background:var(--surface-2)}.login-provider:disabled{opacity:.5;cursor:default}.login-provider-line{border-color:var(--brand-line);background:var(--brand-line);color:var(--brand-line-fg)}.login-provider-line:hover{background:var(--brand-line);opacity:.9}.login-provider svg{flex-shrink:0;width:1.15rem;height:1.15rem}.login-langswitch{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-shrink:0;gap:.125rem;padding:.125rem;display:flex}.login-langswitch button{border-radius:calc(var(--radius) - .15rem);color:var(--fg-subtle);white-space:nowrap;cursor:pointer;padding:.2rem .5rem;font-size:.75rem;transition:background .15s,color .15s}.login-langswitch button:hover{color:var(--fg)}.login-langswitch button.is-on{background:var(--surface);color:var(--fg);font-weight:500;box-shadow:0 1px 2px #0000000f}.login-form-side{justify-content:center;align-items:center;padding:3rem 1.5rem;display:flex}@media (min-width:1024px){.login-form-side{padding:3rem}}.login-form-side{align-items:flex-start}@media (min-width:1024px){.login-form-side{align-items:center}}.login-welcome-jp{letter-spacing:.06em;color:var(--primary);margin-bottom:1rem;font-size:2.5rem;font-weight:500;line-height:1.1}.login-welcome-title{letter-spacing:-.01em;font-size:1.5rem;font-weight:600;line-height:1.3}.login-welcome-body{color:var(--fg-muted);margin-top:.75rem;font-size:.9375rem;line-height:1.7}.login-welcome-promises{color:var(--fg-muted);flex-direction:column;gap:.6rem;margin-top:1.5rem;font-size:.875rem;display:flex}@media (min-width:1024px){.login-welcome-promises{display:none}}.login-welcome-promises li{align-items:center;gap:.75rem;display:flex}.login-welcome-promises .login-promise-icon{color:var(--primary);opacity:1}.login-demo{border:1px solid var(--border);border-radius:var(--radius-base);background:var(--surface);margin-top:1.5rem;padding:3.4rem 1.1rem .9rem;position:relative}.login-demo-line{font-size:1.125rem;line-height:1.8}.login-demo-word{background:var(--primary-soft);text-decoration-line:underline;text-decoration-style:double;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--fg);-webkit-text-decoration-color:var(--fg);-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg);border-radius:.2em;padding:0 .1em}@supports (color:color-mix(in lab, red, red)){.login-demo-word{-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--fg) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--fg) 45%, transparent)}}.login-demo-word{text-underline-offset:.22em}.login-demo-pop{background:var(--primary);color:var(--primary-fg);border-radius:999px;align-items:baseline;gap:.6rem;padding:.3rem .7rem;font-size:.875rem;animation:.5s ease-out .6s both login-demo-in;display:flex;position:absolute;top:.75rem;left:1.1rem}.login-demo-head{font-weight:600}.login-demo-head small{opacity:.85;font-size:.75rem;font-weight:400}.login-demo figcaption{color:var(--fg-subtle);margin-top:.4rem;font-size:.75rem}@keyframes login-demo-in{0%{opacity:0;transform:translateY(.35rem)}}@media (prefers-reduced-motion:reduce){.login-demo-pop{animation:none}}.offline-shell{width:100%;max-width:34rem;margin:0 auto;padding:2rem 1.25rem 4rem}.offline-head{margin-bottom:1.25rem}.offline-title{letter-spacing:-.01em;font-size:1.25rem;font-weight:600}.offline-sub{color:var(--fg-muted);margin-top:.25rem;font-size:.875rem}.offline-back{color:var(--fg-muted);cursor:pointer;margin-bottom:1.25rem;font-size:.8125rem;transition:color .15s;display:inline-block}.offline-back:hover{color:var(--fg)}.offline-note{color:var(--fg-muted);margin-top:1rem;font-size:.875rem}.offline-have{margin-top:1.5rem}.offline-have-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.offline-have-count{font-size:.9375rem;font-weight:500}.offline-have-note{color:var(--fg-subtle);margin-top:.125rem;font-size:.75rem}.offline-go{border-radius:var(--radius-base);background:var(--primary);color:var(--primary-fg);cursor:pointer;flex-direction:column;flex:none;align-items:center;gap:.125rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:flex}.offline-go span{opacity:.85;font-size:.75rem;font-weight:400}.offline-scopes,.offline-docs{flex-direction:column;gap:.375rem;margin-top:.875rem;display:flex}.offline-scopes button,.offline-doc{border:1px solid var(--border);border-radius:var(--radius-base);background:var(--surface);text-align:left;cursor:pointer;justify-content:space-between;align-items:baseline;gap:.75rem;width:100%;padding:.625rem .75rem;transition:border-color .15s;display:flex}.offline-scopes button:hover,.offline-doc:hover{border-color:var(--border-strong)}.offline-scope-count{color:var(--fg-subtle);flex:none;font-size:.75rem}.offline-doc{flex-direction:column;align-items:flex-start;gap:.125rem}.offline-doc-title{font-size:.875rem;font-weight:500}.offline-doc-meta{max-width:100%;color:var(--fg-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;display:block;overflow:hidden}.offline-check{cursor:pointer;align-items:center;gap:.5rem;margin-top:.875rem;font-size:.875rem;display:flex}.offline-candidates{border:1px solid var(--border);border-radius:var(--radius-base);max-height:15rem;margin-top:.75rem;overflow-y:auto}.offline-candidates li+li{border-top:1px solid var(--border)}.offline-candidates label{cursor:pointer;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem;display:flex}.offline-candidates label.is-held{color:var(--fg-muted)}.offline-held{color:var(--primary);margin-left:auto}.offline-download{border-radius:var(--radius-base);background:var(--primary);width:100%;color:var(--primary-fg);cursor:pointer;margin-top:1rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500}.offline-download:disabled{opacity:.5;cursor:default}.offline-report{border-radius:var(--radius-base);background:var(--primary-soft);color:var(--fg-muted);margin-top:.75rem;padding:.625rem .75rem;font-size:.75rem}.offline-report ul{margin-top:.25rem;padding-left:1rem;list-style:outside}.offline-error{color:var(--accent);margin-top:.75rem;font-size:.8125rem}.offline-take{border:1px solid var(--border);border-radius:var(--radius-base);background:var(--surface);color:var(--fg-muted);cursor:pointer;flex:none;align-items:center;gap:.3125rem;padding:.25rem .5rem;font-size:.75rem;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.offline-take:hover{border-color:var(--border-strong);color:var(--fg)}.offline-take.is-held{border-color:var(--primary);color:var(--primary)}.offline-take:disabled{opacity:.6;cursor:default}.offline-take.is-error{border-color:var(--accent);color:var(--accent)}.offline-take.is-compact{background:var(--surface);border-radius:999px;justify-content:center;gap:0;width:1.5rem;height:1.5rem;padding:0;position:absolute;bottom:.25rem;right:.25rem}@supports (color:color-mix(in lab, red, red)){.offline-take.is-compact{background:color-mix(in srgb, var(--surface) 85%, transparent)}}.offline-take.is-compact{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);font-size:.75rem}.deck-row-wrap{align-items:stretch;gap:.5rem;display:flex}.deck-row-wrap>.deck-row{flex:1;min-width:0}.deck-row-wrap>.offline-take{align-self:center}.offline-section{margin:1.75rem 0 .625rem;font-size:.8125rem;font-weight:600}.offline-scopes li,.offline-docs li{align-items:stretch;gap:.375rem;display:flex}.offline-scopes li>button:first-child,.offline-docs li>button:first-child{flex:1;min-width:0}.offline-scope-name{flex-direction:column;gap:.125rem;min-width:0;font-size:.875rem;font-weight:500;display:flex}.offline-scope-name small{color:var(--fg-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:400;overflow:hidden}.offline-drop{border:1px solid var(--border);border-radius:var(--radius-base);background:var(--surface);width:2.75rem;color:var(--fg-subtle);cursor:pointer;flex:none;place-items:center;font-size:.75rem;transition:color .15s,border-color .15s;display:grid}.offline-drop:hover{border-color:var(--accent);color:var(--accent)}@media (hover:none) and (pointer:coarse){.reviewer-keys,.reviewer-grade-key,.reviewer-reveal>span,.htw-legend{display:none}}.reader-controls-title{border-bottom:1px solid var(--border);margin-bottom:.25rem;padding-bottom:.625rem;font-weight:600}.reader-controls-title-ja{color:var(--fg-muted);font-size:.8125rem;font-weight:400}.level-compare-link{border:1px solid var(--border);border-radius:var(--radius-base);background:var(--surface);color:var(--primary);margin:0 0 1.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:block}.level-compare-link:hover,.level-compare-link:focus-visible{border-color:var(--primary)}.level-compare-link-main{margin:.5rem 0 1rem;padding:.5rem .9rem;font-size:.85rem}.level-compare-how{margin-top:.75rem;font-size:.875rem}.level-compare-how a{color:var(--primary);text-underline-offset:2px;text-decoration:underline}.level-how h2{margin:1.75rem 0 .5rem;font-size:1.0625rem;font-weight:600}.level-how h2:first-child{margin-top:0}.level-how p,.level-how li{color:var(--fg-muted);font-size:.9375rem;line-height:1.7}.level-how p+p{margin-top:.625rem}.level-how strong{color:var(--fg)}.level-how ol{margin:.5rem 0;padding-left:1.25rem;list-style:decimal}.level-how-table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:.8125rem}.level-how-table th,.level-how-table td{text-align:right;border-bottom:1px solid var(--border);padding:.4rem .5rem}.level-how-table th:first-child,.level-how-table td:first-child{text-align:left}.level-how-table td:first-child{white-space:nowrap}.level-how-table th{color:var(--fg);font-weight:600}.level-how-sources{margin-top:.5rem;padding-left:1.25rem;list-style:outside}.level-how-sources a{color:var(--primary);text-underline-offset:2px;overflow-wrap:anywhere;text-decoration:underline}.level-scale-toggle{border:1px solid var(--border);border-radius:var(--radius-base);margin:0 0 1rem;display:inline-flex;overflow:hidden}.level-scale-toggle a{color:var(--fg-muted);background:var(--surface);padding:.4rem 1.1rem;font-size:.875rem;font-weight:600;text-decoration:none}.level-scale-toggle a+a{border-left:1px solid var(--border)}.level-scale-toggle a[aria-current=page]{background:var(--primary);color:var(--primary-fg)}.level-scale-toggle a:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.level-compare-legend{color:var(--fg-muted);flex-wrap:wrap;gap:.25rem 1rem;margin:0 0 1rem;font-size:.75rem;display:flex}.level-compare-legend>span{align-items:center;gap:.35rem;display:inline-flex}.level-compare-dot{border-radius:50%;width:.5rem;height:.5rem}.level-compare{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.level-compare-row{border:1px solid var(--border);border-radius:var(--radius-base);background:var(--surface);padding:.875rem 1rem}.level-compare-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.level-compare-name{font-size:1.05rem;font-weight:700}.level-compare-pct{font-variant-numeric:tabular-nums;color:var(--fg);font-size:1.25rem;font-weight:700}.level-compare-bar{background:var(--surface-2);border-radius:999px;height:.5rem;margin-top:.5rem;display:flex;overflow:hidden}.level-compare-numbers{color:var(--fg-muted);font-variant-numeric:tabular-nums;margin:.4rem 0 0;font-size:.8125rem}.level-compare-hint{color:var(--fg-subtle);margin:.15rem 0 0;font-size:.75rem}.level-compare-source{color:var(--fg-subtle);margin:1.25rem 0 0;font-size:.75rem;line-height:1.6}.level-compare-group{color:var(--fg);margin:1.5rem 0 .6rem;font-size:.95rem;font-weight:700}.level-compare+.level-compare-group{margin-top:1.75rem}.vocab-layout{flex-direction:column;gap:1.25rem;display:flex}.vocab-aside{flex-wrap:wrap;order:-1;align-items:stretch;gap:.75rem;display:flex}.vocab-aside>*{flex:10rem;margin:0}.vocab-aside>.vocab-guide[open]{flex-basis:100%}.vocab-aside .level-compare-link{align-items:center;font-size:.875rem;display:flex}.vocab-main{min-width:0}@media (min-width:48rem){.vocab-layout{grid-template-columns:minmax(0,1fr) 15rem;align-items:start;gap:2rem;display:grid}.vocab-aside{flex-direction:column;order:0;position:sticky;top:1rem}.vocab-aside>*{flex:none}}.offline-search{border:1px solid var(--border);border-radius:var(--radius-base);background:var(--surface);width:100%;color:var(--fg);margin-bottom:1rem;padding:.55rem .8rem;font-size:.9rem}.offline-search:focus{outline:2px solid var(--primary);outline-offset:1px}.offline-shell.is-embedded{max-width:40rem;min-height:0;margin:0;padding:0}.scroll-nav{position:relative}.scroll-nav-arrow{z-index:2;width:1.75rem;color:var(--fg-muted);cursor:pointer;border:0;place-items:center;font-size:1.25rem;line-height:1;display:grid;position:absolute;top:0;bottom:0}.scroll-nav-arrow.is-left{background:linear-gradient(to right, var(--bg) 55%, transparent);left:-1.25rem}.scroll-nav-arrow.is-right{background:linear-gradient(to left, var(--bg) 55%, transparent);right:-1.25rem}.scroll-nav-arrow:hover{color:var(--fg)}.vocab-aside>.level-compare-link,.vocab-aside>.vocab-guide{padding:.4rem .65rem;font-size:.75rem;font-weight:500;line-height:1.35}.vocab-aside>.vocab-guide>summary{font-size:.75rem;font-weight:500}.vocab-aside>.vocab-guide[open]{padding:.75rem 1rem;font-size:.875rem}.vocab-aside>.vocab-guide[open]>summary{font-size:.875rem;font-weight:600}@media (max-width:47.99rem){.vocab-aside>*{flex:0 auto}}.deck-everything{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}.htw-decks-head{color:var(--fg-muted);margin:.4rem 0 .15rem;font-size:.6875rem;font-weight:600}.htw-decks-head:first-child{margin-top:0}.htw-deck.is-everything{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}.htw-deck-name small{color:var(--fg-muted);font-size:.6875rem;font-weight:400;display:block}.htw-deck-add{border:1px solid var(--border);color:var(--fg-muted);border-radius:9999px;flex:none;padding:.125rem .5rem;font-size:.75rem}.htw-progress{width:100%}.htw-progress .progress-card{text-align:left;margin:0}.htw-levels{gap:.35rem;width:100%;margin-top:.75rem;display:grid}.htw-level{grid-template-columns:7rem 1fr 2.5rem;align-items:center;gap:.5rem;font-size:.75rem;display:grid}.htw-level-name{font-weight:600}.htw-level-bar{background:var(--surface-2);border-radius:999px;height:.4rem;overflow:hidden}.htw-level-bar>span{background:var(--mark-learnt);height:100%;display:block}.htw-level-pct{text-align:right;font-variant-numeric:tabular-nums}.htw-journey{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:.25rem .35rem;margin-top:.9rem;display:flex}.htw-journey-step{align-items:flex-start;gap:.35rem;display:flex}.htw-journey-arrow{color:var(--fg-subtle);margin-top:.15rem}.htw-journey-mark{flex-direction:column;align-items:center;gap:.15rem;font-size:1rem;display:flex}.htw-journey-mark small{color:var(--fg-muted);font-size:.6875rem}.htw-paths{flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem .5rem;margin-bottom:.9rem;font-size:.875rem;display:flex}.htw-path{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.3rem .8rem;font-weight:600}.htw-path-or,.htw-path-arrow{color:var(--fg-subtle)}.htw-path-goal{background:var(--mark-learnt);border-radius:999px;padding:.3rem .8rem}@supports (color:color-mix(in lab, red, red)){.htw-path-goal{background:color-mix(in srgb, var(--mark-learnt) 14%, transparent)}}.htw-path-goal{color:var(--fg)}.htw-path-goal strong{color:var(--mark-learnt)}.htw-fig+.htw-card,.htw-decks+.htw-card{margin-top:.9rem}.htw-paths{margin-bottom:.3rem}.htw-path-result{flex-direction:column;align-items:center;gap:.2rem;margin-bottom:.9rem;font-size:.875rem;display:flex}.review-btn{background:var(--primary);color:var(--primary-fg);white-space:nowrap;border-radius:999px;align-items:center;padding:.35rem .85rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:filter .15s;display:inline-flex}.review-btn:hover,.review-btn:focus-visible{filter:brightness(1.1)}.review-btn.is-all{background:var(--review-all);color:var(--review-all-fg)}.reader-phrase{padding:.625rem 1rem .75rem}.reader-phrase-answer{border-radius:var(--radius-base);background:var(--accent-soft);margin-bottom:.5rem;padding:.625rem .75rem}.reader-phrase-label{color:var(--fg-subtle);font-size:.75rem}.reader-phrase-words{font-size:1rem;font-weight:600}.reader-phrase-meaning{margin-top:.125rem;font-size:1.25rem;font-weight:500}.reader-phrase-grow{flex-wrap:wrap;gap:.375rem;display:flex}.reader-phrase-btn{border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:999px;padding:.25rem .625rem;font-size:.8125rem}.reader-phrase-btn.is-quiet{color:var(--fg-muted);border-color:#0000}@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}@keyframes pulse{50%{opacity:.5}}
