@layer reset,tokens,base,layout,components,utilities;@layer components{.basket-chip{display:inline-flex;align-items:center;gap:var(--space-1);min-block-size:44px;padding-inline:var(--space-2);border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--text-sm);font-weight:500;text-decoration:none;transition:background var(--duration-fast) var(--ease-out)}.basket-chip:hover,.basket-chip:focus-visible{background:var(--color-surface-hover);color:var(--color-text)}.basket-chip__icon{display:none;inline-size:1.3rem;block-size:1.3rem}.basket-chip__count{display:inline-grid;place-items:center;min-inline-size:1.5em;block-size:1.5em;padding-inline:.25em;border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-on-accent);font-size:.78em;font-weight:600;place-content:center}@media(max-width:991px){.basket-chip__icon{display:block}.basket-chip__label{display:none}}.basket-button{min-block-size:36px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface);font-size:var(--text-sm);font-weight:500;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.basket-button:hover,.basket-button:focus-visible{background:var(--color-surface-hover)}.basket-button--added{border-color:var(--color-jade);background:var(--color-jade-soft);color:var(--color-jade)}.basket-button--compact{inline-size:36px;min-block-size:36px;padding:0;font-size:1rem;line-height:1}.basket-manager__empty{color:var(--color-muted)}.basket-manager__list{list-style:none;margin:0 0 var(--space-3);padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);max-inline-size:44rem;overflow:hidden}.basket-item{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3)}.basket-item+.basket-item{border-block-start:1px solid var(--color-border)}.basket-item__word{display:flex;flex:1;flex-wrap:wrap;gap:var(--space-1) var(--space-3);align-items:baseline;color:inherit;text-decoration:none}.basket-item__speak,.basket-item__remove{display:grid;place-items:center;flex-shrink:0;align-self:center;inline-size:36px;block-size:36px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-muted);transition:background var(--duration-fast) var(--ease-out)}.basket-item__speak:hover,.basket-item__speak:focus-visible,.basket-item__remove:hover,.basket-item__remove:focus-visible{background:var(--color-surface-hover);color:var(--color-text)}.basket-item__speak svg,.basket-item__remove svg{inline-size:18px;block-size:18px}.basket-item__word:hover{color:inherit}.basket-item__hanzi{font-size:1.3rem}.basket-item__pinyin{color:var(--color-accent)}.basket-manager__clear{min-block-size:36px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-muted);font-size:var(--text-sm);transition:background var(--duration-fast) var(--ease-out)}.basket-manager__clear:hover,.basket-manager__clear:focus-visible{background:var(--color-surface-hover);color:var(--color-text)}}@layer reset,tokens,base,layout,components,utilities;@layer layout{.site-header{position:sticky;inset-block-start:0;z-index:var(--z-header);background:color-mix(in srgb,var(--color-bg) 88%,transparent);border-block-end:1px solid var(--color-border)}.site-header:before{content:"";position:absolute;inset:0;z-index:-1;backdrop-filter:blur(8px)}.site-header__inner{max-inline-size:var(--container);margin-inline:auto;padding:var(--space-2) var(--space-3);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.site-header__brand{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:var(--text-lg);color:var(--color-text);text-decoration:none}.site-header__seal{display:inline-grid;place-items:center;inline-size:2.1rem;block-size:2.1rem;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-display-hans);font-size:1.25rem;font-weight:500}.site-header__nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);margin-inline-start:auto}.site-header__actions{display:flex;align-items:center;gap:var(--space-1)}.site-header__burger{display:none;place-items:center;inline-size:40px;block-size:40px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted)}.site-header__burger:hover,.site-header__burger:focus-visible{background:var(--color-surface-hover);color:var(--color-text)}.site-header__burger svg{inline-size:1.3rem;block-size:1.3rem}.site-header__burger-close,:root[data-nav=open] .site-header__burger-open{display:none}:root[data-nav=open] .site-header__burger-close{display:block}.site-header__backdrop{display:none}.site-header__link{padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--text-sm);font-weight:500;text-decoration:none;transition:background var(--duration-fast) var(--ease-out)}.site-header__link:hover,.site-header__link:focus-visible{color:var(--color-text);background:var(--color-surface-hover)}.site-header__link--active{color:var(--color-accent);background:var(--color-accent-soft)}.site-header__link--mobile{display:none}.settings{position:relative}.settings__backdrop,.settings__close{display:none}.settings__trigger{display:grid;place-items:center;inline-size:40px;block-size:40px;border-radius:var(--radius-sm);color:var(--color-muted);cursor:pointer;list-style:none}.settings__trigger::-webkit-details-marker{display:none}.settings__trigger:hover,.settings[open] .settings__trigger{background:var(--color-surface-hover);color:var(--color-text)}.settings__trigger svg{inline-size:1.2rem;block-size:1.2rem}.settings__panel{position:absolute;inset-inline-end:0;inset-block-start:calc(100% + var(--space-1));z-index:var(--z-overlay);display:grid;gap:var(--space-2);min-inline-size:14rem;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.settings__group{display:grid;gap:var(--space-1);border:none;margin:0;padding:0}.settings__group legend{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-faint);padding:0;margin-block-end:var(--space-1)}.settings__option{display:flex;align-items:center;gap:var(--space-2);min-block-size:32px;font-size:var(--text-sm)}.settings__option input{accent-color:var(--color-accent)}.settings__hint{margin:0;max-inline-size:14rem;font-size:.75rem;line-height:1.5;color:var(--color-faint)}.settings__option--stack{display:grid;gap:var(--space-1);align-items:start}.settings__select{inline-size:100%;max-inline-size:14rem;min-block-size:36px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm)}.settings__preview{justify-self:start;min-block-size:36px;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:500;transition:background var(--duration-fast) var(--ease-out)}.settings__preview:hover,.settings__preview:focus-visible{background:var(--color-surface-hover)}.site-main{max-inline-size:var(--container);margin-inline:auto;padding:var(--space-5) var(--space-3) var(--space-6);min-block-size:60dvh}.site-footer{border-block-start:1px solid var(--color-border);background:var(--color-surface)}.site-footer__inner{max-inline-size:var(--container);margin-inline:auto;padding:var(--space-4) var(--space-3);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-muted)}.site-footer__note{margin:0}.site-footer__copyright{margin:0;color:var(--color-faint)}.site-footer__links{display:flex;flex-wrap:wrap;gap:var(--space-3)}.site-footer__links a{color:var(--color-muted)}.site-footer__links a:hover{color:var(--color-accent)}@media(max-width:991px){.site-header__inner{flex-wrap:nowrap}.site-header__actions{margin-inline-start:auto}.site-header__burger{display:grid}.site-header__nav{position:fixed;inset-block-start:var(--header-h, 57px);inset-block-end:0;inset-inline-end:0;z-index:var(--z-overlay);flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:var(--space-1);inline-size:min(19rem,85vw);margin:0;padding:var(--space-4) var(--space-3);background:var(--color-surface);border-inline-start:1px solid var(--color-border);box-shadow:var(--shadow-lg);overflow-y:auto;transform:translate(100%);visibility:hidden;transition:transform var(--duration-base) var(--ease-out),visibility var(--duration-base)}:root[data-nav=open] .site-header__nav{transform:none;visibility:visible}.site-header__link{padding:var(--space-2) var(--space-3);font-size:var(--text-base, 1rem)}.site-header__link--mobile{display:block}.site-header__backdrop{display:block;position:fixed;inset:var(--header-h, 57px) 0 0;z-index:calc(var(--z-overlay) - 1);background:#00000059;opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-out)}:root[data-nav=open] .site-header__backdrop{opacity:1;pointer-events:auto}:root[data-nav=open] body{overflow:hidden}.settings__panel{position:fixed;inset-block-start:var(--header-h, 57px);inset-block-end:0;inset-inline-end:0;z-index:var(--z-overlay);inline-size:min(19rem,85vw);align-content:start;border-radius:0;border:none;border-inline-start:1px solid var(--color-border);overflow-y:auto;padding-block:var(--space-4);animation:drawer-in var(--duration-base) var(--ease-out)}.settings__backdrop{display:block;position:fixed;inset:var(--header-h, 57px) 0 0;z-index:calc(var(--z-overlay) - 1);background:#00000059}.settings__close{display:grid;place-items:center;position:absolute;inset-block-start:var(--space-2);inset-inline-end:var(--space-2);inline-size:40px;block-size:40px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted)}.settings__close:hover,.settings__close:focus-visible{background:var(--color-surface-hover);color:var(--color-text)}.settings__close svg{inline-size:1.2rem;block-size:1.2rem}}@keyframes drawer-in{0%{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.site-header__nav,.site-header__backdrop{transition:none}.settings__panel{animation:none}}@media(max-width:480px){.site-main{padding-block-start:var(--space-4)}}}@layer reset,tokens,base,layout,components,utilities;@layer reset,tokens,base,layout,components,utilities;@layer tokens{:root{--color-bg: #faf8f4;--color-surface: #ffffff;--color-surface-hover: #f3efe7;--color-text: #1f2328;--color-muted: #5c6470;--color-faint: #8b93a0;--color-border: #e3ddd1;--color-border-strong: #c9c1b2;--color-accent: #b4332a;--color-accent-strong: #93251e;--color-accent-soft: #f7e8e6;--color-jade: #1f7a5c;--color-jade-soft: #e3f1ec;--color-on-accent: #ffffff;--font-latin: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-hans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-hant: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-display-hans: "Noto Serif SC", "Songti SC", "SimSun", serif;--font-display-hant: "Noto Serif TC", "Songti TC", "PMingLiU", serif;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--text-hero: clamp(2.25rem, 6vw, 3.5rem);--leading-body: 1.6;--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2.5rem;--space-6: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgb(31 35 40 / .06);--shadow-md: 0 2px 8px rgb(31 35 40 / .08), 0 1px 2px rgb(31 35 40 / .06);--shadow-lg: 0 8px 24px rgb(31 35 40 / .12);--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-base: .22s;--z-header: 100;--z-overlay: 1000;--container: 64rem;color-scheme:light}:root[data-theme=dark]{--color-bg: #16181b;--color-surface: #1f2226;--color-surface-hover: #2a2d33;--color-text: #e8e6e1;--color-muted: #a3aab4;--color-faint: #788089;--color-border: #34373d;--color-border-strong: #4a4e55;--color-accent: #e0685c;--color-accent-strong: #eb8a80;--color-accent-soft: #3d2422;--color-jade: #4cc39e;--color-jade-soft: #1d3329;--color-on-accent: #1a0c0a;--shadow-sm: 0 1px 2px rgb(0 0 0 / .4);--shadow-md: 0 2px 8px rgb(0 0 0 / .5), 0 1px 2px rgb(0 0 0 / .4);--shadow-lg: 0 8px 24px rgb(0 0 0 / .6);color-scheme:dark}}@layer reset{*,*:before,*:after{box-sizing:border-box}body{margin:0}img,svg{display:block;max-inline-size:100%}button,input,select{font:inherit}h1,h2,h3,p{margin-block:0;overflow-wrap:break-word}}@layer base{html{scroll-behavior:smooth}body{font-family:var(--font-latin);font-size:var(--text-base);line-height:var(--leading-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}:lang(zh-Hans){font-family:var(--font-hans)}:lang(zh-Hant){font-family:var(--font-hant)}h1{font-size:var(--text-3xl);line-height:1.2;letter-spacing:-.01em;margin-block-end:var(--space-3)}h2{font-size:var(--text-xl);line-height:1.3;margin-block:var(--space-4) var(--space-3)}p{margin-block-end:var(--space-3)}ul,ol{padding-inline-start:1.2em}a{color:var(--color-accent);text-decoration-thickness:1px;text-underline-offset:.15em}a:hover{color:var(--color-accent-strong)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}button{cursor:pointer}::selection{background:var(--color-accent-soft)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}}@layer components{.hanzi{display:inline-flex;align-items:baseline;gap:.5em}.hanzi__form--trad{font-size:.8em;color:var(--color-faint)}:root[data-script=trad] .hanzi__form--trad{order:-1;font-size:1em;color:inherit}:root[data-script=trad] .hanzi__form--simp{font-size:.8em;color:var(--color-faint)}.reading--yue{display:none}:root[data-lang=yue] .reading--cmn:has(+.reading--yue){display:none}:root[data-lang=yue] .reading--yue{display:inline}.zhuyin{color:var(--color-muted);font-size:.85em;letter-spacing:.06em}.title-zh{color:var(--color-accent);font-weight:500}.title-zh__form--trad{display:none}:root[data-script=trad] .title-zh__form--simp{display:none}:root[data-script=trad] .title-zh__form--trad{display:inline}.hanzi-display:lang(zh-Hans),.hanzi-display :lang(zh-Hans){font-family:var(--font-display-hans)}.hanzi-display:lang(zh-Hant),.hanzi-display :lang(zh-Hant){font-family:var(--font-display-hant)}:root[data-tones] .tone-1{color:#c43d3d}:root[data-tones] .tone-2{color:#b07418}:root[data-tones] .tone-3{color:#2e7d44}:root[data-tones] .tone-4{color:#2b5dab}:root[data-tones] .tone-5{color:var(--color-faint)}:root[data-theme=dark][data-tones] .tone-1{color:#ef8a8a}:root[data-theme=dark][data-tones] .tone-2{color:#f0b35e}:root[data-theme=dark][data-tones] .tone-3{color:#7ccd8a}:root[data-theme=dark][data-tones] .tone-4{color:#8db4f5}:root[data-tones] .ytone-1{color:#c43d3d}:root[data-tones] .ytone-2{color:#b07418}:root[data-tones] .ytone-3{color:#2e7d44}:root[data-tones] .ytone-4{color:#2b5dab}:root[data-tones] .ytone-5{color:#7b4fa6}:root[data-tones] .ytone-6{color:#1f7a8c}:root[data-theme=dark][data-tones] .ytone-1{color:#ef8a8a}:root[data-theme=dark][data-tones] .ytone-2{color:#f0b35e}:root[data-theme=dark][data-tones] .ytone-3{color:#7ccd8a}:root[data-theme=dark][data-tones] .ytone-4{color:#8db4f5}:root[data-theme=dark][data-tones] .ytone-5{color:#c9a2e8}:root[data-theme=dark][data-tones] .ytone-6{color:#6fc7d6}}@layer utilities{.prose{max-inline-size:70ch}.visually-hidden{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;inset-block-start:var(--space-2);inset-inline-start:var(--space-2);z-index:var(--z-overlay);padding:var(--space-2) var(--space-3);background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);transform:translateY(-200%)}.skip-link:focus-visible{transform:none}}
