.lt-main{background:var(--paper)}.lt-hero{background:linear-gradient(160deg,#1e2f6e,#2f4a9c 60%,#3f60c4);color:#fff;padding:clamp(40px,6vw,72px) var(--gutter) clamp(34px,5vw,54px)}.lt-hero-in{max-width:var(--wrap);margin:0 auto}.lt-eyebrow{font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#ffd9b0;margin:0 0 12px}.lt-hero h1{font-family:var(--font-rounded);font-weight:800;font-size:clamp(1.8rem,4.6vw,2.9rem);line-height:1.1;margin:0 0 14px;letter-spacing:-.01em}.lt-hero p.lead{font-size:clamp(1rem,1.4vw,1.14rem);line-height:1.55;color:rgba(255,255,255,.9);max-width:60ch;margin:0 0 22px}.lt-bands{display:flex;flex-wrap:wrap;gap:10px}.lt-band-chip{display:inline-flex;align-items:baseline;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);font-size:.9rem}.lt-band-chip b{font-weight:700}.lt-band-chip span{color:rgba(255,255,255,.7);font-size:.82rem}html.gd-in .lt-hero{display:none}.lt-tabs-wrap{position:-webkit-sticky;position:sticky;top:64px;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.lt-tabs{max-width:var(--wrap);margin:0 auto;padding:12px var(--gutter);display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x proximity}.lt-tab{scroll-snap-align:start;flex:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:11px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink-soft);font-weight:700;font-size:.9rem;font-family:inherit;transition:all .15s}.lt-tab:hover{border-color:var(--line-strong);color:var(--ink)}.lt-tab.on{background:var(--brand);border-color:var(--brand);color:#fff}.lt-tab .cnt{font-size:.72rem;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--surface-2);color:var(--ink-soft)}.lt-tab.on .cnt{background:rgba(255,255,255,.22);color:#fff}.lt-panel{max-width:var(--wrap);margin:0 auto;padding:clamp(22px,3vw,34px) var(--gutter) 56px}.lt-phead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:8px}.lt-phead h2{font-size:clamp(1.4rem,3vw,1.9rem);margin:0;font-family:var(--font-rounded);font-weight:800}.lt-phead h2 small{font-weight:600;color:var(--ink-faint);font-size:.6em;margin-left:8px}.lt-pdesc{color:var(--ink-soft);margin:2px 0 0;font-size:.98rem}.lt-stats{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 18px}.lt-stat{display:flex;flex-direction:column;gap:1px;padding:10px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--line);min-width:120px}.lt-stat b{font-size:1.3rem;font-family:var(--font-rounded);color:var(--brand-ink)}.lt-stat span{font-size:.78rem;color:var(--ink-faint)}@media (prefers-color-scheme:dark){.lt-stat b{color:var(--brand)}}.lt-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:14px}.lt-search{position:relative;flex:1 1 240px;max-width:340px}.lt-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ink-faint)}.lt-search input{width:100%;padding:10px 14px 10px 38px;border-radius:11px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-size:.95rem;font-family:inherit}.lt-search input:focus{outline:none;border-color:var(--brand)}.lt-chips{display:flex;flex-wrap:wrap;gap:6px}.lt-chip{cursor:pointer;padding:6px 12px;border-radius:999px;font-size:.82rem;font-weight:600;border:1.5px solid var(--line);background:var(--surface);color:var(--ink-soft);font-family:inherit}.lt-chip.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-ink)}@media (prefers-color-scheme:dark){.lt-chip.on{color:var(--brand)}}.lt-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px;font-size:.8rem;color:var(--ink-faint)}.lt-legend span{display:inline-flex;align-items:center;gap:5px}.lt-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}.lt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));grid-gap:12px;gap:12px;align-items:start}.v-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 16px 15px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;flex-direction:column}.v-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.v-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.v-hanzi{font-size:clamp(2rem,5vw,2.5rem);line-height:1.1;font-weight:600;color:var(--ink);font-family:"DengXian","Microsoft YaHei","PingFang SC","Noto Sans SC",var(--font-sans)}.v-actions{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.v-pos{flex:none;font-size:.68rem;font-weight:700;color:var(--ink-faint);background:var(--surface-2);padding:3px 8px;border-radius:999px;white-space:nowrap}.v-py{margin:8px 0 2px;font-size:1.05rem;font-weight:600;letter-spacing:.01em}.v-py .s+.s{margin-left:.28em}.v-vi{margin:0;color:var(--ink-soft);font-size:.95rem;line-height:1.4}.v-py .t1{color:#d64545}.v-py .t2{color:var(--accent-ink)}.v-py .t3{color:var(--good)}.v-py .t4{color:var(--brand)}.v-py .t5{color:var(--ink-faint)}.lg-t1{background:#d64545}.lg-t2{background:var(--accent-ink)}.lg-t3{background:var(--good)}.lg-t4{background:var(--brand)}.lg-t5{background:var(--ink-faint)}@media (prefers-color-scheme:dark){.v-py .t1{color:#f28b82}.lg-t1{background:#f28b82}.v-py .t4{color:var(--brand)}.lg-t4{background:var(--brand)}}.lt-empty{text-align:center;padding:48px 20px;border:1.5px dashed var(--line-strong);border-radius:16px;color:var(--ink-soft);background:var(--surface)}.lt-empty b{display:block;color:var(--ink);font-size:1.1rem;margin-bottom:6px}.lt-empty a{color:var(--brand-ink);font-weight:700}@media (prefers-color-scheme:dark){.lt-empty a{color:var(--brand)}}@media (max-width:560px){.lt-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.lt-tabs-wrap{top:56px}}.lt-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:56px 20px;color:var(--ink-soft);font-size:.98rem}.lt-spin{animation:lt-spin .9s linear infinite;color:var(--brand)}@keyframes lt-spin{to{transform:rotate(1turn)}}.lt-shown-note{color:var(--ink-faint);font-size:.86rem;margin:0 0 12px}.lt-shown-note b{color:var(--ink)}.lt-more{display:flex;justify-content:center;margin:22px 0 4px}.lt-more-btn{padding:11px 26px;border-radius:999px;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--brand-ink);font-weight:700;font-size:.95rem;cursor:pointer;transition:background .15s,border-color .15s,transform .05s}.lt-more-btn:hover{background:var(--surface-2);border-color:var(--brand)}.lt-more-btn:active{transform:translateY(1px)}@media (prefers-color-scheme:dark){.lt-more-btn{color:var(--brand)}}.lt-credit{margin:34px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--ink-faint);font-size:.8rem;line-height:1.6}.lt-credit a{color:var(--ink-soft);text-decoration:underline}.lt-credit a:hover{color:var(--brand-ink)}@media (prefers-color-scheme:dark){.lt-credit a:hover{color:var(--brand)}}.v-learn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:12px;padding:8px 10px;border-radius:10px;cursor:pointer;border:1.5px solid var(--brand);background:var(--brand-soft);color:var(--brand-ink);font-weight:800;font-size:.85rem;font-family:inherit;transition:background .14s,transform .14s}.v-learn:hover{background:var(--brand);color:#fff}.v-learn:active{transform:translateY(1px)}@media (prefers-color-scheme:dark){.v-learn{color:var(--brand)}.v-learn:hover{color:#fff}}:root{--cs-fs-xs:clamp(0.8125rem,0.79rem + 0.1vw,0.875rem);--cs-fs-sm:clamp(0.875rem,0.84rem + 0.15vw,0.9375rem);--cs-fs-body:clamp(1rem,0.96rem + 0.2vw,1.0625rem);--cs-fs-lead:clamp(1.0625rem,1rem + 0.3vw,1.1875rem);--cs-fs-py:clamp(1.0625rem,1rem + 0.3vw,1.1875rem);--cs-fs-py-lg:clamp(1.25rem,1.15rem + 0.5vw,1.4375rem);--cs-fs-zh-sm:clamp(1.25rem,1.15rem + 0.45vw,1.4375rem);--cs-fs-zh:clamp(1.5rem,1.35rem + 0.75vw,1.875rem);--cs-fs-zh-md:clamp(1.75rem,1.55rem + 1vw,2.25rem);--cs-fs-zh-lg:clamp(2.5rem,2.1rem + 2vw,3.25rem);--cs-fs-zh-xl:clamp(3.5rem,3rem + 2.5vw,4.5rem)}.cs-overlay{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.55);display:flex;align-items:flex-start;justify-content:center;padding:clamp(8px,3vw,40px) var(--gutter);overflow-y:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cs-panel{background:var(--paper);width:100%;max-width:760px;border-radius:18px;border:1px solid var(--line);box-shadow:0 24px 60px -12px rgba(0,0,0,.4);display:flex;flex-direction:column;max-height:92vh;overflow:hidden;animation:cs-pop .16s ease-out}@keyframes cs-pop{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.cs-panel{animation:none}}.cs-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:var(--surface)}.cs-word{display:flex;align-items:center;gap:14px;min-width:0}.cs-word-hanzi{font-size:var(--cs-fs-zh-lg);line-height:1.05;font-weight:600;color:var(--ink);font-family:"KaiTi","STKaiti","Kaiti SC","DengXian","Noto Sans SC",var(--font-sans)}.cs-word-meta{min-width:0}.cs-word-py{margin:0 0 3px;font-size:var(--cs-fs-py-lg);font-weight:700}.cs-word-py .s+.s{margin-left:.26em}.s.er{margin-left:0!important}.cs-word-vi{margin:0;color:var(--ink-soft);font-size:var(--cs-fs-body);line-height:1.45}.cs-word-nh{margin:4px 0 0;color:var(--ink-faint);font-size:var(--cs-fs-sm);line-height:1.45}.cs-word-nh b{color:var(--ink-soft)}.cs-word-pos{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:5px 0 0;font-size:var(--cs-fs-sm);line-height:1.45}.cs-pos-tag{flex:none;padding:1px 8px;border-radius:999px;font-weight:700;background:var(--mm-soft,color-mix(in srgb,var(--brand) 10%,var(--surface)));color:var(--ink);border:1px solid color-mix(in srgb,var(--mm,var(--brand)) 35%,var(--line))}.cs-pos-vai{color:var(--ink-faint);min-width:0}.cs-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft)}.cs-close:hover{background:var(--surface-2);color:var(--ink)}.cs-top-act{flex:none;display:flex;align-items:center;gap:8px}.cs-auto{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 11px;border-radius:10px;cursor:pointer;font:inherit;font-size:var(--cs-fs-sm);font-weight:700;border:1px solid var(--line);background:var(--surface);color:var(--ink-faint)}.cs-auto.on{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 40%,var(--line));background:var(--brand-soft)}.cs-auto:hover{background:var(--surface-2)}@media (max-width:420px){.cs-auto span{display:none}.cs-auto{width:38px;padding:0;justify-content:center}}.cs-word-py .t1{color:#d64545}.cs-word-py .t2{color:var(--accent-ink)}.cs-word-py .t3{color:var(--good)}.cs-word-py .t4{color:var(--brand)}.cs-word-py .t5{color:var(--ink-faint)}@media (prefers-color-scheme:dark){.cs-word-py .t1{color:#f28b82}}.cs-body{overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:22px;flex:1 1 auto;min-height:0}.cs-foot{flex:none;padding:12px 16px;border-top:1px solid var(--line);background:var(--surface)}.cs-learned-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;border-radius:12px;font-family:inherit;font-size:var(--cs-fs-body);font-weight:800;cursor:pointer;border:1.5px solid var(--good);color:var(--good);background:var(--good-soft)}.cs-learned-btn:hover{filter:brightness(.98)}.cs-learned-btn.on{background:var(--good);color:#fff}.cs-sec-h{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:var(--cs-fs-sm);font-weight:800;color:var(--ink);text-transform:uppercase;letter-spacing:.03em}.cs-giang,.cs-sec-h svg{color:var(--brand)}.cs-giang{margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;cursor:pointer;font:inherit;font-size:var(--cs-fs-sm);font-weight:700;text-transform:none;letter-spacing:0;white-space:nowrap;border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line));background:var(--brand-soft)}.cs-giang:hover{filter:brightness(.97)}.cs-giang.deep{background:var(--surface)}.cs-sec-h:has(.cs-giang.deep){flex-wrap:wrap;row-gap:8px}.cs-giang-wrap{display:inline-flex;align-items:center;gap:4px}.cs-giang-wrap:first-of-type{margin-left:auto}.cs-giang-wrap .cs-giang{margin-left:0}.cs-giang-restart{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:999px;cursor:pointer;border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line));background:var(--surface);color:var(--brand)}.cs-giang-restart:hover{filter:brightness(.97)}.cs-giang.on{background:var(--brand);border-color:var(--brand);color:#fff}.cs-giang.on svg{color:#fff}.cs-eq{display:inline-flex;align-items:flex-end;gap:2px;height:14px}.cs-eq i{width:3px;height:100%;border-radius:2px;background:currentColor;animation:cs-eq .9s ease-in-out infinite}.cs-eq i:nth-child(2){animation-delay:-.3s}.cs-eq i:nth-child(3){animation-delay:-.6s}@keyframes cs-eq{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.cs-eq i{transform-origin:bottom}@media (prefers-reduced-motion:reduce){.cs-eq i{animation:none;transform:scaleY(.7)}}.cs-ex-list{list-style:none;margin:0;padding:0;gap:10px}.cs-ex,.cs-ex-list{display:flex;flex-direction:column}.cs-ex{gap:2px;padding:12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}.cs-ex-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.cs-ex-zh{font-size:var(--cs-fs-zh);font-weight:500;color:var(--ink);line-height:1.5;font-family:"KaiTi","STKaiti","Kaiti SC","DengXian","Noto Sans SC",var(--font-sans)}.cs-ex-py{font-size:var(--cs-fs-py);color:var(--accent-ink);font-weight:600;line-height:1.45}.cs-ex-vi{font-size:var(--cs-fs-body);color:var(--ink-soft);line-height:1.55}@media (prefers-color-scheme:dark){.cs-ex-py{color:var(--accent)}}.cs-img-slot{align-items:center;justify-content:center;gap:8px;padding:26px;border-radius:12px;border:1.5px dashed var(--line-strong);color:var(--ink-faint);font-size:var(--cs-fs-sm);background:var(--surface)}.cs-chars,.cs-img-slot{display:flex;flex-direction:column}.cs-chars{gap:18px}.cs-char-wrap{display:flex;flex-direction:column}.cs-openpage{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:8px;padding:6px 10px;border-radius:8px;font-size:var(--cs-fs-sm);font-weight:600;color:var(--brand-ink);background:var(--brand-soft,var(--surface-2))}.cs-openpage:hover{background:var(--surface-2);text-decoration:underline}.cs-openpage svg{flex:none}@media (prefers-color-scheme:dark){.cs-openpage{color:var(--brand)}}.cs-char{padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--surface)}.cs-meter{display:inline-flex;align-items:center;gap:5px;margin:10px 0 0;font-size:var(--cs-fs-sm);font-weight:600;color:var(--ink-faint)}.cs-meter svg{color:var(--brand);flex:none}.cs-meter [lang=zh]{color:var(--ink);font-weight:700}.cs-char-head{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}.cs-char-meta{flex:1 1 180px;min-width:0}.cs-char-title{display:flex;align-items:center;gap:12px;margin-bottom:10px}.cs-char-big{font-size:var(--cs-fs-zh-lg);line-height:1.05;font-weight:600;color:var(--ink);font-family:"KaiTi","STKaiti","Kaiti SC","DengXian","Noto Sans SC",var(--font-sans)}.cs-char-py{font-size:var(--cs-fs-py-lg);font-weight:700;color:var(--accent-ink)}.cs-char-mean{margin:2px 0 0;color:var(--ink-soft);font-size:var(--cs-fs-body);line-height:1.45}@media (prefers-color-scheme:dark){.cs-char-py{color:var(--accent)}}.cs-char-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.cs-char-facts li{display:inline-flex;align-items:baseline;gap:6px;padding:4px 10px;border-radius:999px;background:var(--surface-2);font-size:var(--cs-fs-sm)}.cs-char-facts li span{color:var(--ink-faint)}.cs-char-facts li b{color:var(--ink);font-weight:700}.cs-stroke{flex:none;display:flex;flex-direction:column;align-items:center;gap:8px}.cs-stroke-box{position:relative;width:138px;height:138px;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;background-image:linear-gradient(90deg,rgba(148,163,184,.35) 1px,transparent 0),linear-gradient(180deg,rgba(148,163,184,.35) 1px,transparent 0),linear-gradient(to bottom right,transparent calc(50% - .5px),rgba(148,163,184,.35) 50%,transparent calc(50% + .5px)),linear-gradient(to bottom left,transparent calc(50% - .5px),rgba(148,163,184,.35) 50%,transparent calc(50% + .5px));background-size:100% 100%}.cs-stroke-target{width:138px;height:138px}.cs-stroke-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink-faint)}.cs-stroke-fallback{position:absolute;inset:0;display:grid;place-items:center;font-size:4rem;color:var(--ink);font-family:"KaiTi","STKaiti","Kaiti SC","DengXian","Noto Sans SC",var(--font-sans)}.cs-stroke-fallback[hidden],.cs-stroke-loading[hidden]{display:none}.cs-replay{display:inline-flex;align-items:center;gap:5px;cursor:pointer;padding:5px 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);font-weight:700;font-size:var(--cs-fs-sm);font-family:inherit}.cs-replay:hover{border-color:var(--brand);color:var(--brand-ink)}@media (prefers-color-scheme:dark){.cs-replay:hover{color:var(--brand)}}.cs-compo{margin-top:14px}.cs-compo-parts{display:flex;flex-wrap:wrap;gap:10px}.cs-part{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 8px;border-radius:12px;border:1.5px solid;background:var(--surface)}.cs-part-c{width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:10px;font-size:2rem;font-weight:600;color:#fff;font-family:"KaiTi","STKaiti","Kaiti SC","DengXian","Noto Sans SC",var(--font-sans)}.cs-part-info{display:flex;flex-direction:column}.cs-part-info b{font-size:var(--cs-fs-sm);font-weight:800;text-transform:capitalize}.cs-part-info span{font-size:var(--cs-fs-sm);color:var(--ink-soft);line-height:1.4}.cs-nghia{border-color:#16a34a}.cs-nghia .cs-part-c{background:#16a34a}.cs-nghia .cs-part-info b{color:#15803d}.cs-am{border-color:#2563eb}.cs-am .cs-part-c{background:#2563eb}.cs-am .cs-part-info b{color:#1d4ed8}.cs-nguy{border-color:#ea580c}.cs-nguy .cs-part-c{background:#ea580c}.cs-nguy .cs-part-info b{color:#c2410c}@media (prefers-color-scheme:dark){.cs-nghia .cs-part-info b{color:#4ade80}.cs-am .cs-part-info b{color:#60a5fa}.cs-nguy .cs-part-info b{color:#fb923c}}.cs-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:var(--cs-fs-sm);color:var(--ink-soft)}.cs-legend-item{display:inline-flex;align-items:center;gap:6px}.cs-dot{width:11px;height:11px;border-radius:3px;display:inline-block}.cs-dot.cs-nghia{background:#16a34a}.cs-dot.cs-am{background:#2563eb}.cs-dot.cs-nguy{background:#ea580c}.cs-explain{display:flex;gap:9px;margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--brand-soft);border:1px solid var(--line)}.cs-explain svg{flex:none;color:var(--brand);margin-top:2px}.cs-explain p{margin:0;font-size:var(--cs-fs-body);line-height:1.65;color:var(--ink)}.cs-memo{display:flex;gap:9px;margin-top:10px;padding:12px 14px;border-radius:12px;background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 30%,var(--line))}.cs-memo svg{flex:none;color:var(--warn);margin-top:2px}.cs-memo p{margin:0;font-size:var(--cs-fs-body);line-height:1.65;color:var(--ink)}.cs-memo b{color:var(--warn);font-weight:800}.cs-src{margin:8px 0 0;line-height:1.5}.cs-draft,.cs-src{font-size:var(--cs-fs-xs);color:var(--ink-faint)}.cs-draft{margin:10px 0 0;font-style:italic}.cs-draft-lg{font-size:var(--cs-fs-body);font-style:normal;color:var(--ink-soft);line-height:1.55}.cs-draft-lg b{color:var(--ink)}.cs-loading{display:flex;align-items:center;gap:10px;color:var(--ink-soft);font-weight:600;padding:20px 0}.cs-spin{animation:lt-spin .9s linear infinite;color:var(--brand)}@media (max-width:560px){.cs-overlay{padding:0;align-items:stretch}.cs-panel{max-width:100%;max-height:100vh;max-height:100dvh;border-radius:0}.cs-top{padding:12px 14px}.cs-word-hanzi{font-size:var(--cs-fs-zh-lg)}.cs-body{padding:14px;gap:16px}.cs-char{padding:12px}.cs-char-head{display:grid;grid-template-columns:138px 1fr;grid-column-gap:12px;column-gap:12px;grid-row-gap:12px;row-gap:12px;align-items:start;justify-content:start}.cs-stroke{grid-column:1;grid-row:1;width:auto;align-items:center}.cs-char-img{grid-column:2;grid-row:1;flex:none;max-width:none;align-self:start}.cs-char-img img,.cs-char-img-ph{aspect-ratio:auto;width:100%;height:138px;object-fit:cover}.cs-char-meta{grid-column:1/-1;grid-row:2}.cs-char-title{margin-bottom:8px}.cs-char-big{font-size:var(--cs-fs-zh-lg)}.cs-compo-parts{gap:8px}.cs-part{flex:1 1 140px}}.cs-c0{border-color:#16a34a}.cs-c0 .cs-part-c{background:#16a34a}.cs-c0 .cs-part-info b{color:#15803d}.cs-c1{border-color:#2563eb}.cs-c1 .cs-part-c{background:#2563eb}.cs-c1 .cs-part-info b{color:#1d4ed8}.cs-c2{border-color:#ea580c}.cs-c2 .cs-part-c{background:#ea580c}.cs-c2 .cs-part-info b{color:#c2410c}.cs-c3{border-color:#7c3aed}.cs-c3 .cs-part-c{background:#7c3aed}.cs-c3 .cs-part-info b{color:#6d28d9}@media (prefers-color-scheme:dark){.cs-c0 .cs-part-info b{color:#4ade80}.cs-c1 .cs-part-info b{color:#60a5fa}.cs-c2 .cs-part-info b{color:#fb923c}.cs-c3 .cs-part-info b{color:#a78bfa}}.cs-compo-note{margin:10px 0 0;font-size:var(--cs-fs-xs);color:var(--ink-faint)}.cs-char-img{flex:0 1 170px}.cs-char-img img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;border:1px solid var(--line);display:block}.cs-char-img-ph{width:100%;aspect-ratio:1/1;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px;border-radius:12px;border:1.5px dashed var(--line-strong);font-size:var(--cs-fs-xs);text-align:center;background:var(--surface-2)}.cs-char-img-ph,.v-meta{display:flex;color:var(--ink-faint)}.v-meta{gap:10px;margin:8px 0 0;font-size:.74rem;font-weight:700}.lt-chip{display:inline-flex;align-items:center;gap:6px}.lt-tab-all{margin-left:6px;border-style:dashed}.lt-tab-all.on{border-style:solid}.v-lv{color:var(--brand-ink)}@media (prefers-color-scheme:dark){.v-lv{color:var(--brand)}}.lt-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px;gap:4px;max-width:640px;margin:0 auto 22px;padding:4px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}.lt-mode{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;padding:9px 10px;border:0;border-radius:10px;background:transparent;color:var(--ink-soft);font-family:inherit;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.lt-mode:hover:not(:disabled){color:var(--ink)}.lt-mode.on{background:var(--surface);color:var(--brand-ink);box-shadow:var(--shadow)}@media (prefers-color-scheme:dark){.lt-mode.on{color:var(--brand)}}.lt-mode:disabled{opacity:.5;cursor:default}.lt-mode svg{flex:none}.lt-mode-t{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.2;text-align:left}.lt-mode-t b{font-size:.9rem;font-weight:800}.lt-mode-t small{font-size:.72rem;font-weight:600;color:var(--ink-faint)}@media (max-width:560px){.lt-mode{flex-direction:column;gap:3px;padding:8px 4px}.lt-mode-t{align-items:center;text-align:center}.lt-mode-t b{font-size:.8rem}}.lt-guide{position:fixed;z-index:60;pointer-events:none;padding:14px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-lift);animation:lt-guide-in .16s ease-out}.lt-guide-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0}.lt-guide-h b{font-size:1rem;font-weight:800;color:var(--ink);font-family:var(--font-rounded)}.lt-guide-h span{font-size:.82rem;font-weight:800;color:var(--brand-ink);white-space:nowrap}@media (prefers-color-scheme:dark){.lt-guide-h span{color:var(--brand)}}.lt-guide-desc{margin:4px 0 10px;font-size:.84rem;color:var(--ink-soft);line-height:1.4}.lt-guide-rows{list-style:none;margin:0;padding:0;display:grid;grid-gap:7px;gap:7px}.lt-guide-rows li{display:grid;grid-template-columns:20px 1fr;grid-gap:7px;gap:7px;font-size:.82rem;line-height:1.4;color:var(--ink-soft)}.lt-guide-rows li b{color:var(--ink)}.lt-guide-rows li.off{opacity:.55}.lt-guide-n{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:800;background:var(--brand-soft);color:var(--brand-ink)}@media (prefers-color-scheme:dark){.lt-guide-n{color:var(--brand)}}.lt-guide-note{margin:10px 0 0;padding-top:8px;border-top:1px dashed var(--line);font-size:.75rem;color:var(--warn);font-weight:700}.lt-guide-lines{position:fixed;inset:0;width:100vw;height:100vh;z-index:59;pointer-events:none;overflow:visible}.lt-guide-lines path{fill:none;stroke:var(--brand);stroke-width:1.6;stroke-dasharray:4 5;opacity:.45;animation:lt-guide-dash 1.2s linear infinite}.lt-guide-lines circle{fill:var(--brand);opacity:.55}.lt-guide-lines .off circle,.lt-guide-lines .off path{opacity:.18}@keyframes lt-guide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes lt-guide-dash{to{stroke-dashoffset:-18}}@media (prefers-reduced-motion:reduce){.lt-guide,.lt-guide-lines path{animation:none}}.cs-wordcard{padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:14px}.cs-wc-head{display:flex;gap:16px;align-items:flex-start}.cs-wc-head.many{flex-wrap:wrap}.cs-wc-head .cs-char-img{flex:1 1 140px;max-width:200px;min-width:0}.cs-wstroke-row{display:flex;gap:8px}.cs-stroke-box.writing{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent);transition:box-shadow .2s,border-color .2s}.cs-write{display:flex;flex-direction:column;align-items:center;gap:10px;margin:4px 0 2px}.cs-write-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.cs-write-cell{display:flex;flex-direction:column;align-items:center;gap:4px}.cs-write-box{touch-action:none;cursor:crosshair;-moz-user-select:none;user-select:none;-webkit-user-select:none}.cs-write-box.ok{border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.18)}.cs-write-box.bad{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.2)}.cs-write-miss{font-size:var(--cs-fs-xs);font-weight:700;color:var(--ink-faint)}.cs-write-miss.has{color:#b45309}.cs-write-err{margin:0;font-size:var(--cs-fs-sm);color:var(--ink-faint)}.cs-write-demo{display:block;margin-top:8px}.cs-write-demo .cs-stroke{align-items:flex-start}.cs-wc-chars{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:12px;gap:12px;align-items:start}.cs-char-sub{padding:12px 14px;background:var(--paper)}.cs-char-sub .cs-char-head{display:block}.cs-char-sub .cs-char-big{font-size:var(--cs-fs-zh-lg)}@media (max-width:560px){.cs-wordcard{padding:12px;gap:12px}.cs-wc-head{gap:10px}.cs-wc-head .cs-char-img{flex:1 1 90px}.cs-wc-head .cs-char-img img,.cs-wc-head .cs-char-img-ph{height:auto;aspect-ratio:1/1}.cs-wc-head.many .cs-char-img{flex-basis:100%;max-width:180px}.cs-wc-chars{grid-template-columns:1fr}.cs-char-sub .cs-char-head{display:block}}.cs-word-hanzi{white-space:nowrap;flex:none}.cs-ex-src{align-self:flex-start;margin-top:4px;padding:2px 9px;border-radius:999px;font-size:var(--cs-fs-xs);font-weight:700;color:var(--ink-faint);background:var(--surface-2)}.tc-card{display:flex;flex-direction:column;gap:12px}.tc-card>.cs-meter{margin:0}.tc-kind{display:inline-block;margin:10px 0 0;padding:5px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:var(--cs-fs-sm)}.tc-hook{display:flex;gap:10px;padding:14px 16px;border-radius:12px;background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}.tc-hook-icon{flex:none;margin-top:4px;color:var(--warn)}.tc-hook-body{flex:1 1;min-width:0}.tc-hook-h{margin:0 0 10px;font-size:var(--cs-fs-lead);font-weight:800;color:var(--ink)}.tc-hook-p{margin:10px 0 0;font-size:var(--cs-fs-body);line-height:1.6}.tc-hook-sub{margin:8px 0 0;color:var(--ink-soft);line-height:1.55}.tc-hook-hv,.tc-hook-sub{font-size:var(--cs-fs-sm)}.tc-hook-hv{margin:10px 0 0;padding:8px 12px;border-radius:10px;background:var(--surface);line-height:1.5}.tc-op{flex:none;color:var(--ink-faint)}.tc-align{display:flex;flex-direction:column;gap:8px}.tc-align-row{display:grid;grid-gap:6px;gap:6px;justify-content:start;padding:8px;border-radius:10px;background:var(--surface);max-width:100%;overflow-x:auto}.tc-cell{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border-radius:8px;min-width:52px}.tc-cell.is-hi{background:var(--accent-soft);outline:2px solid var(--accent)}.tc-cell-vi{font-size:var(--cs-fs-sm);color:var(--ink-soft)}.tc-cell.is-hi .tc-cell-vi{color:var(--accent-ink);font-weight:700}.tc-cell-vi-big{font-size:var(--cs-fs-body);color:var(--ink)}.tc-cell-zh{font-size:var(--cs-fs-zh);line-height:1.2}.tc-cell-py{font-size:var(--cs-fs-xs);color:var(--brand-ink)}.tc-tone0{background:var(--good-soft)}.tc-tone1{background:var(--surface-2)}.tc-rev-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:10px;background:var(--surface)}.tc-rev-lbl{flex:none;width:84px;font-size:var(--cs-fs-xs);font-weight:700;color:var(--ink-faint)}.tc-rev-cells{display:flex;gap:6px;flex-wrap:wrap}.tc-pairs{display:flex;flex-direction:column;gap:6px}.tc-pair{display:flex;align-items:center;gap:12px;padding:6px 12px;border-radius:10px;background:var(--surface)}.tc-pair-side{display:flex;flex-direction:column;min-width:86px}.tc-strip{gap:14px;flex-wrap:wrap}.tc-strip,.tc-strip-step{display:flex;align-items:center}.tc-strip-step{flex-direction:column;gap:6px;padding:10px 14px;border-radius:12px;background:var(--surface);font-size:var(--cs-fs-xs);color:var(--ink-soft)}.tc-sketch{width:104px;height:78px}.tc-strip-glyph{font-size:4.2rem;line-height:78px;height:78px;color:var(--good)}.tc-eq{display:flex;flex-wrap:wrap}.tc-eq,.tc-eq-item{align-items:center;gap:8px}.tc-eq-item{display:inline-flex}.tc-part{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:80px;padding:8px 10px;border-radius:12px;border:2px solid var(--line-strong);background:var(--surface)}.tc-part-icon{line-height:1}.tc-part-c{font-size:var(--cs-fs-zh-md);line-height:1.15}.tc-part-py{font-size:var(--cs-fs-xs);color:var(--brand-ink);font-weight:700}.tc-part-label{font-size:var(--cs-fs-xs);color:var(--ink-soft);text-align:center}.tc-part-role{font-size:.72rem;font-weight:800;letter-spacing:.04em}.tc-part-result{border-color:var(--ink)}.tc-recall{padding:10px 14px;border-radius:12px;background:var(--good-soft)}.tc-recall-h{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-weight:800;color:#1f6e48;font-size:var(--cs-fs-sm)}.tc-recall ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.tc-recall li{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:var(--cs-fs-sm)}.tc-recall-c{font-size:var(--cs-fs-zh-sm);line-height:1}.tc-recall-py{color:var(--brand-ink)}.tc-recall-vi{color:var(--ink-soft)}.tc-dict{margin:0;padding-top:8px;border-top:1px dashed var(--line);color:var(--ink-faint);font-size:var(--cs-fs-xs)}.tc-card .cs-draft,.tc-card .cs-src{margin:0}.cs-char-sub.tc-card{gap:10px}@media (prefers-color-scheme:dark){.tc-cell-py,.tc-part-py,.tc-recall-py{color:var(--brand)}.tc-recall-h{color:var(--good)}}@media (max-width:560px){.tc-hook{padding:12px}.tc-hook-icon{display:none}.tc-part{min-width:68px;padding:6px 8px}.tc-rev-lbl{width:auto}.tc-rev-row{flex-direction:column;align-items:flex-start;gap:4px}.tc-strip{gap:8px;flex-wrap:nowrap}.tc-strip-step{padding:8px 10px}.tc-sketch{width:78px;height:58px}.tc-strip-glyph{font-size:3.1rem;line-height:58px;height:58px}}.lt-find{display:flex;gap:8px;align-items:stretch;flex:1 1 340px;max-width:480px;min-width:0}.lt-find .lt-search{flex:1 1 auto;max-width:none;min-width:0}.lt-seg{flex:none;display:inline-flex;gap:2px;padding:3px;border-radius:11px;border:1.5px solid var(--line);background:var(--surface)}.lt-seg button{cursor:pointer;padding:0 12px;border:0;border-radius:8px;background:transparent;font:inherit;font-size:.86rem;font-weight:700;color:var(--ink-soft)}.lt-seg button:hover{color:var(--ink)}.lt-seg button.on{background:var(--brand);color:#fff}@media (prefers-color-scheme:dark){.lt-seg button.on{color:var(--surface)}}.lt-seg button:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.lt-empty-switch{display:table;margin:12px auto 0}.py-in{display:grid;grid-gap:8px;gap:8px;width:100%;max-width:560px;margin:4px auto 0}.py-in-box{display:flex;gap:8px;align-items:center;min-width:0}.py-in-box input{flex:1 1;min-width:0;height:50px;padding:0 14px;border:1.5px solid var(--line-strong);border-radius:12px;font:inherit;font-size:1.25rem;letter-spacing:.01em;background:var(--paper);color:var(--ink)}.py-in-box input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 20%,transparent)}.py-in-box input:disabled{opacity:1;color:var(--ink)}.py-in-box.ok input{border-color:#16a34a;background:rgba(22,163,74,.07)}.py-in-box.bad input{border-color:#f59e0b;background:rgba(245,158,11,.08)}.py-in-check{flex:none;height:50px;display:inline-flex;align-items:center;gap:6px;padding:0 14px;border:0;border-radius:12px;background:var(--brand);color:#fff;font:inherit;font-weight:800;cursor:pointer}.py-in-check:disabled{opacity:.45;cursor:default}.py-in-tones{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.py-in-tone{min-width:52px;height:44px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit;font-size:1.25rem;font-weight:700;cursor:pointer}.py-in-tone:hover{border-color:var(--brand);color:var(--brand-ink)}.py-in-preview{margin:0;text-align:center;color:var(--ink-soft);font-size:var(--cs-fs-sm)}.py-in-preview b{color:var(--ink);font-size:1.1rem}.py-in-help{font-size:var(--cs-fs-sm);color:var(--ink-soft)}.py-in-help summary{cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-weight:700}.py-in-help ul{margin:6px 0 0;padding-left:18px;display:grid;grid-gap:4px;gap:4px;text-align:left}.py-in-help code{font-size:.95em;background:var(--surface);padding:0 4px;border-radius:4px}.py-in-res{display:grid;grid-gap:6px;gap:6px}.py-in-syls{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.py-in-syl{display:grid;justify-items:center;padding:4px 10px;border-radius:10px;border:1px solid;min-width:44px}.py-in-syl.ok{border-color:#86efac;background:rgba(22,163,74,.08)}.py-in-syl.bad{border-color:#fca5a5;background:rgba(220,38,38,.07)}.py-in-syl.tone{border-color:#fcd34d;background:rgba(245,158,11,.1)}.py-in-syl.tone small{color:#b45309}.py-in-syl b{font-size:1.1rem}.py-in-syl small{font-size:var(--cs-fs-xs);color:#b91c1c}.py-in-hint,.py-in-note{margin:0;text-align:center;font-size:var(--cs-fs-sm);color:var(--ink-soft)}.py-in-hint{color:#b45309}.py-in-tone.er{font-style:italic}.py-in-note.py-in-split,.py-in-tone.er{color:var(--accent-ink)}