@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Fraunces:opsz,wght@9..144,400;9..144,600&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Liu+Jian+Mao+Cao&family=Long+Cang&family=Ma+Shan+Zheng&family=Zhi+Mang+Xing&display=swap";.demo-banner[data-v-7e786e98]{background:var(--accent-color);color:#fff;padding:8px 16px;font-size:.85rem;display:flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0}.demo-banner a[data-v-7e786e98]{color:#fff;font-weight:600;text-decoration:underline}.dismiss-btn[data-v-7e786e98]{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:0 4px;opacity:.8;line-height:1}.dismiss-btn[data-v-7e786e98]:hover{opacity:1}.due-badge[data-v-3eecd876]{background:#0000001a;color:var(--text-secondary, #888);font-size:.55rem;font-weight:600;padding:1px 4px;border-radius:10px;position:absolute;top:-2px;right:-2px;line-height:1.2}.auth-link[data-v-3eecd876]{font-size:.8rem;padding:4px 10px;border:1px solid var(--border-color);border-radius:5px;color:var(--text-color);white-space:nowrap;text-decoration:none;transition:border-color .15s,color .15s}.auth-link[data-v-3eecd876]:hover{border-color:var(--accent-color);color:var(--accent-color)}.mobile-user-btn[data-v-3eecd876]{width:32px;height:32px;border-radius:50%;background:var(--accent-color);color:#fff;font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-decoration:none}.landing[data-v-285b7787]{width:100%;flex:1;min-height:0;display:flex;flex-direction:column}.hero[data-v-285b7787]{position:relative;flex:1;min-height:0;overflow:hidden;cursor:pointer;background:radial-gradient(ellipse at 40% 47%,#fefefe 0%,var(--bg-color) 70%,var(--bg-color) 100%)}.hero.settled[data-v-285b7787]{cursor:default}.hero-canvas[data-v-285b7787]{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:50% 47%}.title-node[data-v-285b7787]{position:absolute;transform:translate(-50%,-50%);z-index:3;pointer-events:none;-webkit-user-select:none;user-select:none}.title-node.settled[data-v-285b7787]{pointer-events:auto;cursor:default}.title-node.clickable[data-v-285b7787]{cursor:pointer}.title-text[data-v-285b7787]{text-align:center;opacity:0;transform:scale(.7);transition:opacity .5s ease,transform .5s ease}.title-node.text-visible .title-text[data-v-285b7787]{opacity:1;transform:scale(1)}.title-node.morphed .title-text[data-v-285b7787]{opacity:0;transform:scale(.85);transition:opacity .4s ease}.title-hanzi[data-v-285b7787]{font-family:var(--font-hanzi);font-size:3.5rem;line-height:1;color:var(--ink-color, #1a1a1a)}.title-card[data-v-285b7787]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.5);opacity:0;pointer-events:none;transition:opacity .5s ease .15s,transform .5s cubic-bezier(.34,1.2,.64,1) .15s;width:86px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;text-align:center;overflow:hidden;display:flex;flex-direction:column;align-items:center;box-shadow:0 1px 2px #0000000a}.title-card .card-char[data-v-285b7787]{font-size:2.4rem;padding:6px 4px 3px}.title-card .card-hsk[data-v-285b7787]{height:16px;font-size:.55rem}.title-card .card-pinyin[data-v-285b7787]{font-size:.7rem;padding-bottom:5px}.title-node.morphed .title-card[data-v-285b7787]{opacity:1;transform:translate(-50%,-50%) scale(1)}.title-node.clickable:hover .title-card[data-v-285b7787]{border-color:var(--accent-color, #c53929);box-shadow:0 4px 12px #0000001a;transform:translate(-50%,-50%) scale(1) translateY(-2px)}.title-node.clickable:hover .card-char[data-v-285b7787]{color:var(--accent-color, #c53929)}.qmark[data-v-285b7787]{position:absolute;transform:translate(-50%,-50%);font-family:var(--font-hanzi);font-size:3.5rem;color:var(--ink-color, #1a1a1a);opacity:0;z-index:3;pointer-events:none;transition:opacity .8s ease;line-height:1}.qmark.visible[data-v-285b7787]{opacity:1}.qmark.faded[data-v-285b7787]{opacity:.18}.card-node[data-v-285b7787]{position:absolute;transform:translate(-50%,-50%) scale(0);opacity:0;z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;width:60px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;text-align:center;overflow:hidden;display:flex;flex-direction:column;align-items:center;box-shadow:0 1px 2px #0000000a}.card-node.visible[data-v-285b7787]{opacity:1;transform:translate(-50%,-50%) scale(1)}.card-node.settled[data-v-285b7787]{pointer-events:auto;cursor:default}.card-node.clickable[data-v-285b7787]{cursor:pointer}.card-node.clickable[data-v-285b7787]:hover{border-color:var(--accent-color, #c53929);transform:translate(-50%,-50%) scale(1) translateY(-2px);box-shadow:0 4px 12px #0000001a}.card-node.clickable:hover .card-char[data-v-285b7787]{color:var(--accent-color, #c53929)}.card--similar[data-v-285b7787]{width:50px;opacity:0}.card--similar.visible[data-v-285b7787]{opacity:.55}.card--similar .card-char[data-v-285b7787]{font-size:1.3rem;padding:4px 3px 1px}.card--similar .card-pinyin[data-v-285b7787]{font-size:.5rem;padding-bottom:3px}.card--similar .card-hsk[data-v-285b7787]{height:12px;font-size:.45rem}.card--similar.clickable[data-v-285b7787]:hover{opacity:1}.card--comp[data-v-285b7787]{box-shadow:0 1px 4px #00000012;transition:left .6s cubic-bezier(.34,1.56,.64,1),top .6s cubic-bezier(.34,1.56,.64,1),opacity .3s ease-out,transform .3s ease-out}.card--usage[data-v-285b7787]{transition:left .15s cubic-bezier(.34,1.56,.64,1),top .15s cubic-bezier(.34,1.56,.64,1),opacity .06s ease-out,transform .15s cubic-bezier(.34,1.56,.64,1)}.card--similar[data-v-285b7787]{transition:opacity .6s ease-in-out,transform .5s ease}.card-hsk[data-v-285b7787]{width:calc(100% + 2px);margin:-1px -1px 0;height:14px;font-size:.5rem;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;letter-spacing:.3px;text-transform:uppercase;flex-shrink:0}.card-char[data-v-285b7787]{font-family:var(--font-hanzi);font-size:1.6rem;line-height:1;color:var(--ink-color, #1a1a1a);padding:5px 4px 2px;transition:color .2s}.card-pinyin[data-v-285b7787]{font-size:.6rem;color:var(--text-dim);padding-bottom:4px}.title-card.know-1[data-v-285b7787],.card-node.know-1[data-v-285b7787]{border-bottom:3px solid var(--know-1);background:var(--know-bg-1)}.title-card.know-2[data-v-285b7787],.card-node.know-2[data-v-285b7787]{border-bottom:3px solid var(--know-2);background:var(--know-bg-2)}.title-card.know-3[data-v-285b7787],.card-node.know-3[data-v-285b7787]{border-bottom:3px solid var(--know-3);background:var(--know-bg-3)}.title-card.know-4[data-v-285b7787],.card-node.know-4[data-v-285b7787]{border-bottom:3px solid var(--know-4);background:var(--know-bg-4)}.title-card.know-5[data-v-285b7787],.card-node.know-5[data-v-285b7787]{border-bottom:3px solid var(--know-5);background:var(--know-bg-5)}.edges-svg[data-v-285b7787]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.edge[data-v-285b7787]{opacity:0}.edge--decomp[data-v-285b7787]{stroke:var(--text-dim);stroke-width:3;animation:edge-in-285b7787 .5s ease forwards}.edge--usage[data-v-285b7787]{stroke:var(--text-secondary);stroke-width:2.5;stroke-dasharray:8 4;animation:edge-in-soft-285b7787 .5s ease forwards}.edge--similar[data-v-285b7787]{stroke:var(--border-soft);stroke-width:1.5;stroke-dasharray:2 3;animation:edge-in-faint-285b7787 .6s ease forwards}@keyframes edge-in-285b7787{0%{opacity:0}to{opacity:.35}}@keyframes edge-in-soft-285b7787{0%{opacity:0}to{opacity:.25}}@keyframes edge-in-faint-285b7787{0%{opacity:0}to{opacity:.3}}.translation[data-v-285b7787]{position:absolute;left:50%;top:calc(47% + 50px);transform:translate(-50%);font-size:1.05rem;color:silver;opacity:0;transition:opacity .6s ease;z-index:5;pointer-events:none;white-space:nowrap}.translation.visible[data-v-285b7787]{opacity:1}.legend[data-v-285b7787]{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:18px;opacity:0;transition:opacity .6s ease;z-index:5;pointer-events:none}.legend.visible[data-v-285b7787]{opacity:1}.legend-item[data-v-285b7787]{display:flex;align-items:center;gap:5px;font-size:.6rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}.skip-hint[data-v-285b7787]{position:absolute;bottom:38px;left:50%;transform:translate(-50%);font-size:.55rem;color:var(--border-color);text-transform:uppercase;letter-spacing:.12em;z-index:5}.landing-footer[data-v-285b7787]{display:flex;align-items:flex-start;gap:40px;padding:18px 32px;border-top:1px solid var(--border-light);background:#fff;flex-shrink:0}.footer-about[data-v-285b7787]{flex:1;min-width:0}.footer-headline[data-v-285b7787]{font-size:.95rem;line-height:1.5;color:var(--text-muted);margin:0 0 8px}.footer-headline strong[data-v-285b7787]{color:var(--accent-color);font-weight:700}.footer-stats[data-v-285b7787]{display:flex;gap:16px;font-size:.7rem;color:var(--text-faint);letter-spacing:.02em}.footer-hsk[data-v-285b7787]{flex-shrink:0}.footer-label[data-v-285b7787]{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);margin-bottom:8px;font-weight:600}.hsk-pills[data-v-285b7787]{display:flex;gap:4px}.hsk-pill[data-v-285b7787]{display:flex;align-items:center;justify-content:center;width:34px;height:26px;border-radius:6px;font-size:.75rem;font-weight:700;text-decoration:none;color:#fff;transition:transform .15s,box-shadow .15s}.hsk-pill--wide[data-v-285b7787]{width:40px}.hsk-pill[data-v-285b7787]:hover{transform:translateY(-2px);box-shadow:0 3px 8px #00000026}.footer-nav[data-v-285b7787]{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;flex-shrink:0}.footer-link[data-v-285b7787]{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:6px;text-decoration:none;color:var(--text-muted);font-size:.8rem;transition:background .15s,color .15s;white-space:nowrap}.footer-link[data-v-285b7787]:hover{background:#f5f5f5;color:var(--accent-color)}.footer-link-icon[data-v-285b7787]{font-family:var(--font-hanzi);font-size:.72rem;color:var(--border-soft);width:30px;text-align:center;flex-shrink:0}.footer-link:hover .footer-link-icon[data-v-285b7787]{color:var(--accent-color)}@media (max-width: 900px){.landing-footer[data-v-285b7787]{flex-direction:column;gap:16px;padding:16px 20px}.footer-stats[data-v-285b7787],.hsk-pills[data-v-285b7787]{flex-wrap:wrap}.footer-nav[data-v-285b7787]{gap:4px 8px}.legend[data-v-285b7787]{gap:12px}}.hsk-badge[data-v-7ab2fcad]{display:inline-block;padding:2px 6px;border-radius:4px;font-weight:600;font-size:.7rem;text-transform:uppercase;white-space:nowrap}.hsk-badge.size-medium[data-v-7ab2fcad]{padding:4px 8px;font-size:.8rem}.hsk-badge.hsk-beginner[data-v-7ab2fcad]{background:var(--hsk-1);color:#fff}.hsk-badge.hsk-intermediate[data-v-7ab2fcad]{background:var(--hsk-3);color:#fff}.hsk-badge.hsk-advanced[data-v-7ab2fcad]{background:var(--hsk-7-9);color:#fff}.hanzi-card-wrap[data-v-a6caa2d2]{display:flex;flex-direction:column;isolation:isolate}.hanzi-card-wrap>.hanzi-card[data-v-a6caa2d2]{flex:1;z-index:1}.hanzi-card[data-v-a6caa2d2]{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:24px 6px 8px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--card-radius);position:relative;transition:transform var(--transition-fast) ease,box-shadow var(--transition-fast) ease,border-color var(--transition-fast) ease;text-decoration:none;color:inherit;font:inherit;min-height:70px;box-shadow:0 1px 2px #0000000a}.hanzi-card[data-v-a6caa2d2]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;border-color:var(--accent-color)}.hanzi-card:hover .card-character[data-v-a6caa2d2]{color:var(--accent-color)}.hanzi-card.size-small[data-v-a6caa2d2]{padding:22px 4px 6px;min-height:48px}.hanzi-card.size-small .card-character[data-v-a6caa2d2]{font-size:1.4rem}.hanzi-card.size-small .card-pinyin[data-v-a6caa2d2]{font-size:.65rem}.hanzi-card.size-medium .card-character[data-v-a6caa2d2]{font-size:1.6rem}.hanzi-card.size-large[data-v-a6caa2d2]{padding:26px 8px 10px;min-height:90px}.hanzi-card.size-large .card-character[data-v-a6caa2d2]{font-size:2.5rem}.card-character[data-v-a6caa2d2]{font-family:var(--font-hanzi);color:var(--ink-color, #1a1a1a);font-weight:400;line-height:1.2;transition:color .15s ease}.card-pinyin[data-v-a6caa2d2]{font-size:.7rem;color:var(--text-secondary);margin-top:2px;font-weight:500}.card-meaning[data-v-a6caa2d2]{font-size:.7rem;color:var(--text-muted);margin-top:2px;text-align:center;line-height:1.3;max-width:100%;padding:0 2px;word-wrap:break-word;overflow-wrap:break-word}.card-hsk[data-v-a6caa2d2]{position:absolute;top:-1px;left:-1px;width:calc(100% + 2px);height:16px;border-radius:var(--card-radius) var(--card-radius) 0 0;margin:0!important;font-size:.6rem;font-weight:600;color:#fff;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.5px;background-color:#dfe6e9}.card-badge-trad[data-v-a6caa2d2]{background:#9e9e9e;color:#fff;font-size:.5rem;letter-spacing:.3px}.card-badge-tygf[data-v-a6caa2d2]{color:#fff}.card-badge-tygf.tygf-1[data-v-a6caa2d2]{background:#7fb3d3}.card-badge-tygf.tygf-2[data-v-a6caa2d2]{background:#f39c12}.card-badge-tygf.tygf-3[data-v-a6caa2d2]{background:#c9bfb0}.card-srs[data-v-a6caa2d2]{display:block;margin-top:-4px;margin-left:4px;margin-right:4px;padding:5px 0 2px;border-radius:0 0 4px 4px;font-size:.55rem;font-weight:500;color:var(--text-faint);text-align:center;letter-spacing:.3px;z-index:-1}.srs-new[data-v-a6caa2d2]{background:#74b9ff1f}.srs-learning[data-v-a6caa2d2]{background:#fdcb6e26}.srs-young[data-v-a6caa2d2]{background:#00b8941f}.srs-mature[data-v-a6caa2d2]{background:#0984e31f}.hanzi-card.know-1[data-v-a6caa2d2]{border-bottom:4px solid var(--know-1);background:var(--know-bg-1)}.hanzi-card.know-2[data-v-a6caa2d2]{border-bottom:4px solid var(--know-2);background:var(--know-bg-2)}.hanzi-card.know-3[data-v-a6caa2d2]{border-bottom:4px solid var(--know-3);background:var(--know-bg-3)}.hanzi-card.know-4[data-v-a6caa2d2]{border-bottom:4px solid var(--know-4);background:var(--know-bg-4)}.hanzi-card.know-5[data-v-a6caa2d2]{border-bottom:4px solid var(--know-5);background:var(--know-bg-5)}.hanzi-card.dim-mid[data-v-a6caa2d2]{opacity:.75}.hanzi-card.dim-low[data-v-a6caa2d2]{opacity:.5}.hanzi-card.dim-rare[data-v-a6caa2d2]{opacity:.35}.hanzi-card.dim-mid[data-v-a6caa2d2]:hover,.hanzi-card.dim-low[data-v-a6caa2d2]:hover,.hanzi-card.dim-rare[data-v-a6caa2d2]:hover{opacity:1}.left-panel[data-v-ff839af0]{display:flex;flex-direction:column;gap:0;height:100%}.panel-section[data-v-ff839af0]{display:flex;flex-direction:column}.section-header[data-v-ff839af0]{padding:10px 0;margin-bottom:8px;border-bottom:1px solid var(--border-color);text-align:center;position:relative;display:flex;align-items:center;justify-content:center;gap:8px}.section-header.foldable[data-v-ff839af0]{cursor:pointer;-webkit-user-select:none;user-select:none}.section-header.foldable:hover .section-title[data-v-ff839af0]{color:var(--text-color)}.fold-chevron[data-v-ff839af0]{position:absolute;left:2px;top:50%;transform:translateY(-50%);width:16px;height:16px;transition:transform .2s,opacity .2s;opacity:.2}.fold-chevron svg[data-v-ff839af0]{display:block;width:100%;height:100%;stroke:var(--text-muted);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.fold-chevron.open[data-v-ff839af0]{transform:translateY(-50%) rotate(90deg);opacity:.12}.explore-link[data-v-ff839af0]{position:absolute;right:0;display:flex;align-items:center;gap:4px;font-size:.65rem;font-weight:600;color:var(--accent-color);text-decoration:none;padding:4px 8px;border-radius:6px;background:#c539290f;transition:color var(--transition-fast),background var(--transition-fast)}.explore-link[data-v-ff839af0]:hover{color:#fff;background:var(--accent-color)}.section-title[data-v-ff839af0]{margin:0;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.header-count[data-v-ff839af0]{font-size:.65rem;color:var(--text-muted);font-weight:500}.section-content[data-v-ff839af0]{padding:12px 0}.word-cards-content[data-v-ff839af0]{display:flex;flex-direction:column;gap:6px;padding:0 8px}.group-title[data-v-ff839af0]{margin:0 0 8px;font-size:.65rem;color:var(--text-secondary);text-transform:uppercase;font-weight:500}.similar-group[data-v-ff839af0]{margin-bottom:12px}.similar-group[data-v-ff839af0]:last-child{margin-bottom:0}.similar-grid[data-v-ff839af0]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.words-section[data-v-ff839af0]{flex:1;min-height:0}.words-scroll[data-v-ff839af0]{flex:1;overflow-y:auto;padding:4px 8px;display:flex;flex-direction:column;gap:8px}.word-group[data-v-ff839af0]{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.word-group[data-v-ff839af0]:last-child{margin-bottom:0}.group-header[data-v-ff839af0]{display:flex;align-items:center;padding:6px 0;margin-bottom:8px;border-bottom:1px solid var(--border-color);justify-content:center;position:relative}.group-char-link[data-v-ff839af0]{font-size:.8rem;font-weight:600;color:var(--text-muted);text-decoration:none;text-transform:uppercase;letter-spacing:.3px}.group-char-hanzi[data-v-ff839af0]{font-size:1.3rem;font-family:var(--font-hanzi);text-transform:none;letter-spacing:normal;vertical-align:-.1em;margin-left:2px}.group-char-link[data-v-ff839af0]:hover{color:var(--accent-color)}.group-count[data-v-ff839af0]{font-size:.6rem;color:var(--text-dim);position:absolute;right:0}.show-more-btn[data-v-ff839af0]{display:block;width:100%;padding:8px 12px;background:#00000008;border:1px dashed var(--border-color);border-radius:8px;color:var(--text-dim);font-size:.72rem;cursor:pointer;text-align:center;letter-spacing:.3px}.show-more-btn[data-v-ff839af0]:hover{border-color:var(--accent-color);color:var(--accent-color)}.empty-panel[data-v-ff839af0]{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-dim);font-size:.85rem}@media (max-width: 900px){.left-panel[data-v-ff839af0]{height:auto}.similar-grid[data-v-ff839af0]{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.words-section[data-v-ff839af0]{min-height:auto}.words-scroll[data-v-ff839af0]{overflow-y:visible}}.words-panel[data-v-6c864783]{display:flex;flex-direction:column;height:100%;background:linear-gradient(180deg,#fafafa,#f5f5f5)}.section-header[data-v-6c864783]{padding:6px 0;margin-bottom:8px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;position:relative}.section-title[data-v-6c864783]{margin:0;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.section-title-hanzi[data-v-6c864783]{font-size:1.3rem;font-family:var(--font-hanzi);text-transform:none;letter-spacing:normal;vertical-align:-.1em;margin-left:2px}.header-count[data-v-6c864783]{font-size:.6rem;color:var(--text-dim);position:absolute;right:0}.words-scroll[data-v-6c864783]{flex:1;overflow-y:auto;padding:12px 10px;display:flex;flex-direction:column;gap:8px}.word-card[data-v-6c864783]{animation:slideIn-6c864783 .3s ease-out both}@keyframes slideIn-6c864783{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.empty-state[data-v-6c864783]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-dim)}.empty-icon[data-v-6c864783]{font-size:2rem;opacity:.5}.empty-text[data-v-6c864783]{font-size:.85rem}.chengyu-item[data-v-dcb65064]{display:block;padding:.75rem;background:var(--bg-color);border-radius:6px;transition:background .15s;text-decoration:none;color:inherit}.chengyu-item[data-v-dcb65064]:hover{background:var(--border-color)}.cy-header[data-v-dcb65064]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.cy-word[data-v-dcb65064]{font-size:1.25rem;font-weight:500}.cy-tier[data-v-dcb65064]{font-size:.7rem;padding:2px 6px;border-radius:4px;font-weight:600}.cy-tier.tier-common[data-v-dcb65064]{background:#00b894;color:#fff}.cy-tier.tier-standard[data-v-dcb65064]{background:#0984e3;color:#fff}.cy-tier.tier-advanced[data-v-dcb65064]{background:#fdcb6e;color:var(--text-color)}.cy-pinyin[data-v-dcb65064]{font-size:.85rem;color:var(--accent-color);margin-bottom:.25rem}.cy-meaning[data-v-dcb65064]{font-size:.8rem;opacity:.7;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.right-panel[data-v-b8b0ebe7]{display:flex;flex-direction:column;gap:0;height:100%}.panel-section[data-v-b8b0ebe7]{display:flex;flex-direction:column}.section-header[data-v-b8b0ebe7]{padding:10px 0;margin-bottom:8px;border-bottom:1px solid var(--border-color);text-align:center;position:relative}.section-header.foldable[data-v-b8b0ebe7]{cursor:pointer;-webkit-user-select:none;user-select:none}.section-header.foldable:hover .section-title[data-v-b8b0ebe7]{color:var(--text-color)}.fold-chevron[data-v-b8b0ebe7]{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:16px;height:16px;transition:transform .2s,opacity .2s;opacity:.2}.fold-chevron svg[data-v-b8b0ebe7]{display:block;width:100%;height:100%;stroke:var(--text-muted);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.fold-chevron.open[data-v-b8b0ebe7]{transform:translateY(-50%) rotate(90deg);opacity:.12}.section-title[data-v-b8b0ebe7]{margin:0;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;transition:color .15s}.section-title-hanzi[data-v-b8b0ebe7]{font-size:1.3rem;font-family:var(--font-hanzi);text-transform:none;letter-spacing:normal;vertical-align:-.1em;margin-left:2px}.section-content[data-v-b8b0ebe7]{padding:12px 0;text-align:left}.similar-grid[data-v-b8b0ebe7]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stroke-content[data-v-b8b0ebe7]{display:flex;flex-direction:column;align-items:center;gap:12px}.stroke-box[data-v-b8b0ebe7]{width:150px;height:150px;display:flex;justify-content:center;align-items:center;background:var(--card-bg);border:2px dashed var(--border-color);border-radius:8px;box-sizing:content-box;position:relative}#stroke-container-right[data-v-b8b0ebe7]{width:130px;height:130px;display:flex;justify-content:center;align-items:center}#stroke-container-right.stroke-word-row[data-v-b8b0ebe7]{width:auto;height:auto;display:flex;flex-direction:row;gap:2px}.stroke-box-word[data-v-b8b0ebe7]{width:auto;height:auto;padding:6px 8px}.replay-btn-inset[data-v-b8b0ebe7]{position:absolute;bottom:6px;right:6px;font-size:.9rem;color:var(--border-soft);padding:2px 5px;border-radius:4px;transition:color var(--transition-fast);line-height:1}.replay-btn-inset[data-v-b8b0ebe7]:hover{color:var(--accent-color)}.components-container[data-v-b8b0ebe7]{display:flex;flex-direction:column;align-items:center}.components-row[data-v-b8b0ebe7]{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.component-item[data-v-b8b0ebe7]{display:flex;flex-direction:column;align-items:center;gap:3px}.component-role-label[data-v-b8b0ebe7]{font-size:.58rem;font-weight:600;color:var(--text-faint);text-transform:uppercase;height:0;line-height:10px;width:50px;text-align:center;letter-spacing:.05em;overflow:visible}.components-row.has-labels .component-role-label[data-v-b8b0ebe7]{height:10px}.etymology-content[data-v-b8b0ebe7]{padding:12px 8px}.etymology-text[data-v-b8b0ebe7]{font-size:.9rem;line-height:1.4;color:var(--text-color);margin:0}.etym-char[data-v-b8b0ebe7]{font-family:var(--font-hanzi);text-decoration:none;color:inherit;padding:0 1px;border-radius:2px;transition:color .1s,background .1s}.etym-char[data-v-b8b0ebe7]:hover{color:var(--accent-color)}.etym-char.know-1[data-v-b8b0ebe7]{border-bottom:2px solid var(--know-1);background:var(--know-bg-1)}.etym-char.know-2[data-v-b8b0ebe7]{border-bottom:2px solid var(--know-2);background:var(--know-bg-2)}.etym-char.know-3[data-v-b8b0ebe7]{border-bottom:2px solid var(--know-3);background:var(--know-bg-3)}.etym-char.know-4[data-v-b8b0ebe7]{border-bottom:2px solid var(--know-4);background:var(--know-bg-4)}.etym-char.know-5[data-v-b8b0ebe7]{border-bottom:2px solid var(--know-5);background:var(--know-bg-5)}.component-badge[data-v-b8b0ebe7]{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;width:50px;height:50px;text-decoration:none;color:inherit;transition:border-color var(--transition-fast)}.component-badge[data-v-b8b0ebe7]:hover{border-color:var(--accent-color)}.component-char[data-v-b8b0ebe7]{font-size:1.2rem;line-height:1;font-family:var(--font-hanzi)}.component-pinyin[data-v-b8b0ebe7]{font-size:.6rem;color:var(--text-secondary);margin-top:2px;line-height:1}.traditional-content[data-v-b8b0ebe7]{text-align:center;padding:8px 0}.traditional-char[data-v-b8b0ebe7]{font-size:3rem;font-family:var(--font-hanzi);color:var(--text-muted)}.chengyu-list[data-v-b8b0ebe7]{display:flex;flex-direction:column;gap:4px}.synonym-cards[data-v-b8b0ebe7]{display:flex;flex-direction:column;gap:6px;padding:0 8px}.syn-detail[data-v-b8b0ebe7]{display:flex;gap:4px;align-items:baseline;margin-top:1px}.syn-score[data-v-b8b0ebe7]{font-size:.6rem;color:var(--accent-color);opacity:.8;flex-shrink:0}.syn-note[data-v-b8b0ebe7]{font-size:.65rem;font-style:italic;color:var(--text-dim);line-height:1.3}.shared-tags[data-v-b8b0ebe7]{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}.shared-tag[data-v-b8b0ebe7]{font-size:.65rem;color:var(--accent-color);opacity:.7}.empty-panel[data-v-b8b0ebe7]{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-dim);font-size:.85rem}.words-in-panel[data-v-b8b0ebe7]{display:none}@media (max-width: 1200px){.words-in-panel[data-v-b8b0ebe7]{display:flex}}.panel-words-list[data-v-b8b0ebe7]{display:flex;flex-direction:column;gap:6px;padding:0 4px}.show-more-btn[data-v-b8b0ebe7]{display:block;width:100%;padding:6px;margin-top:6px;font-size:.75rem;font-weight:500;color:var(--text-muted);background:var(--bg-hover);border:none;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.show-more-btn[data-v-b8b0ebe7]:hover{background:var(--border-color);color:var(--text-color)}@media (max-width: 900px){.right-panel[data-v-b8b0ebe7]{height:auto}.similar-grid[data-v-b8b0ebe7]{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.panel-section[data-v-b8b0ebe7]{padding:0 4px}}.custom-panels[data-v-9fbb6ec3]{grid-template-columns:220px minmax(0,1fr) 220px}.custom-panels .empty-panel-placeholder[data-v-9fbb6ec3]{display:none}.dev-toggle[data-v-9fbb6ec3]{background:none;border:1px solid var(--border-color);color:var(--text-faint);font-size:.55rem;font-weight:700;letter-spacing:.05em;padding:2px 6px;border-radius:3px;cursor:pointer;transition:all .15s}.dev-toggle[data-v-9fbb6ec3]:hover{border-color:var(--text-dim);color:var(--text-dim)}.dev-toggle.active[data-v-9fbb6ec3]{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.word-mode[data-v-9fbb6ec3]{grid-template-columns:280px minmax(0,1fr) 280px}.word-mode .words-column[data-v-9fbb6ec3]{display:none}@media (max-width: 1200px){.word-mode[data-v-9fbb6ec3]{grid-template-columns:260px minmax(0,1fr) 260px}}@media (max-width: 900px){.custom-panels[data-v-9fbb6ec3]{grid-template-columns:minmax(0,1fr)}.custom-panels .panel[data-v-9fbb6ec3]{display:none}.word-mode[data-v-9fbb6ec3]{grid-template-columns:minmax(0,1fr)}.word-mode .panel[data-v-9fbb6ec3]{display:block}.word-mode .words-column[data-v-9fbb6ec3]{display:none}}.copy-btn[data-v-a2ac33fb]{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;padding:2px;cursor:pointer;opacity:0;transition:opacity .15s;color:var(--text-muted);vertical-align:middle}.copy-btn[data-v-a2ac33fb]:hover{color:var(--accent-color)}.copy-btn.copied[data-v-a2ac33fb]{opacity:1;color:var(--color-success, #27ae60)}.explain-wrapper[data-v-79495b65]{width:100%;max-width:700px;margin:0 auto;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.explain-trigger[data-v-79495b65]{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-muted);font-size:.8rem;padding:6px 16px 6px 12px;border-radius:6px;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:6px;box-shadow:0 1px 3px #0000000f}.explain-trigger[data-v-79495b65]:hover{color:var(--accent-color);border-color:var(--accent-color);box-shadow:0 2px 6px #0000001a}.bender-icon[data-v-79495b65]{flex-shrink:0}.explain-label[data-v-79495b65]{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.explain-container[data-v-79495b65]{width:100%;background:var(--bg-subtle);border:2px solid rgba(100,120,180,.3);border-radius:8px;padding:24px;margin-top:28px;text-align:left;box-sizing:border-box;position:relative;overflow:visible}body.dev-toolbar-active{padding-bottom:90px}.explain-collapse-wrap[data-v-79495b65]{position:absolute;top:8px;right:8px;z-index:2}.explain-ai-tab[data-v-79495b65]{position:absolute;top:-32px;left:16px;z-index:2}.explain-collapse-btn[data-v-79495b65]{background:none;border:none;color:var(--text-faint);cursor:pointer;padding:4px;border-radius:3px;display:flex;align-items:center;transition:color var(--transition-fast)}.explain-collapse-btn[data-v-79495b65]:hover{color:var(--text-color)}.explain-ai-badge[data-v-79495b65]{position:relative;color:var(--text-muted);cursor:pointer;padding:4px 8px 2px;display:flex;align-items:center;background:var(--card-bg);border:2px solid rgba(100,120,180,.4);border-bottom:2px solid var(--bg-subtle);border-radius:6px 6px 0 0;color:#6478b4;margin-bottom:-2px;transition:opacity var(--transition-fast)}.explain-ai-badge[data-v-79495b65]:hover{background:#6478b41a}.ai-beep[data-v-79495b65]{font-size:.5rem;font-weight:700;letter-spacing:.1em;color:#6478b480;margin-left:4px}.ai-tooltip[data-v-79495b65]{display:none;position:absolute;top:100%;left:0;margin-top:6px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;padding:6px 10px;font-size:.7rem;color:var(--text-muted);white-space:nowrap;box-shadow:0 2px 8px #0000001a}.explain-ai-badge:hover .ai-tooltip[data-v-79495b65]{display:block}.explain-loading[data-v-79495b65]{display:flex;align-items:center;gap:10px;padding:24px 0;justify-content:center;color:var(--text-muted);font-size:.85rem}.explain-spinner[data-v-79495b65]{width:18px;height:18px;border:2px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:explain-spin-79495b65 .8s linear infinite}@keyframes explain-spin-79495b65{to{transform:rotate(360deg)}}.explain-error[data-v-79495b65]{color:var(--error-color, #e53e3e);padding:12px 0;font-size:.85rem}.explain-raw[data-v-79495b65]{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono, monospace);font-size:.8rem;line-height:1.5;color:var(--text-secondary);padding:12px;background:var(--bg-color, #f8f8f8);border-radius:8px;border:1px solid var(--border-color, #eee);max-height:80vh;overflow-y:auto}.explain-section[data-v-79495b65]{margin-bottom:16px}.explain-hr[data-v-79495b65]{border:none;border-top:1px solid var(--border-color);margin:4px 0 16px}.explain-section-watchout[data-v-79495b65]{background:#d2962812;border-radius:6px;padding:12px 24px;margin-left:-24px;margin-right:-24px}.explain-section-watchout .explain-section-title[data-v-79495b65]{color:#b8860b}.explain-section-watchout .explain-section-title[data-v-79495b65]:before{content:"⚡";flex:none;border:none;margin-right:-8px}.explain-section-watchout .explain-section-title[data-v-79495b65]:after{display:none}.explain-section-warning[data-v-79495b65]{background:#c828280f;border-radius:6px;padding:12px 24px;margin-left:-24px;margin-right:-24px;border-left:3px solid rgba(200,50,50,.4)}.explain-section-warning .explain-section-title[data-v-79495b65]{color:#c0392b}.explain-section-warning .explain-section-title[data-v-79495b65]:before{content:"⚠";flex:none;border:none;margin-right:-8px}.explain-section-warning .explain-section-title[data-v-79495b65]:after{display:none}.explain-section-title[data-v-79495b65]{font-size:.7rem;color:var(--text-faint);font-weight:700;text-transform:uppercase;margin-bottom:10px;letter-spacing:.03em;text-align:center;display:flex;align-items:center;gap:12px}.explain-section-title[data-v-79495b65]:before,.explain-section-title[data-v-79495b65]:after{content:"";flex:1;border-top:1px solid var(--border-color)}.explain-section[data-v-79495b65] p{font-size:.9rem;line-height:1.65;color:var(--text-color);margin:0 0 10px}.explain-section[data-v-79495b65] .explain-list{font-size:.9rem;line-height:1.65;color:var(--text-color);margin:0 0 10px;padding-left:20px}.explain-section[data-v-79495b65] .explain-list li{margin-bottom:6px}.explain-section[data-v-79495b65] .explain-block-ref{display:flex;gap:12px;align-items:flex-start;padding:10px 0;margin:4px 0}.explain-section[data-v-79495b65] .explain-block-ref .hanzi-card-wrap{flex-shrink:0;width:80px}.explain-section[data-v-79495b65] .explain-block-ref .hanzi-card{min-height:48px}.explain-section[data-v-79495b65] .explain-block-ref .component-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;width:50px;height:50px;flex-shrink:0;text-decoration:none;color:inherit;transition:border-color var(--transition-fast)}.explain-section[data-v-79495b65] .explain-block-ref .component-badge:hover{border-color:var(--accent-color)}.explain-section[data-v-79495b65] .component-char{font-size:1.2rem;line-height:1;font-family:var(--font-hanzi);color:var(--accent-color)}.explain-section[data-v-79495b65] .component-pinyin{font-size:.6rem;color:var(--text-secondary);margin-top:2px;line-height:1}.explain-section[data-v-79495b65] .explain-block-text{font-size:.9rem;line-height:1.65;color:var(--text-color);flex:1}.explain-section[data-v-79495b65] .explain-inline-char,.explain-section[data-v-79495b65] .explain-inline-word{font-family:var(--font-hanzi);font-size:1.15em;color:var(--accent-color);text-decoration:none;padding:0 2px;border-bottom:2px solid transparent;transition:border-color var(--transition-fast),background var(--transition-fast);white-space:nowrap}.explain-section[data-v-79495b65] .explain-inline-char:hover,.explain-section[data-v-79495b65] .explain-inline-word:hover{border-bottom-color:var(--accent-color)}.explain-section[data-v-79495b65] .explain-inline-comp{font-family:var(--font-hanzi);font-size:1.15em;color:var(--text-secondary);text-decoration:none;padding:0 2px;border-bottom:2px solid transparent;transition:border-color var(--transition-fast),background var(--transition-fast);white-space:nowrap}.explain-section[data-v-79495b65] .explain-inline-comp:hover{border-bottom-color:var(--text-secondary)}.explain-section[data-v-79495b65] .explain-inline-other{font-family:var(--font-hanzi);font-size:1.15em;color:var(--text-color);padding:0 2px;white-space:nowrap}.explain-section[data-v-79495b65] .explain-inline-other-wrong{font-family:var(--font-hanzi);font-size:1.15em;color:var(--text-faint);padding:0 2px;white-space:nowrap;text-decoration:line-through;text-decoration-color:#c8323280}.explain-section[data-v-79495b65] .explain-inline-pinyin{font-style:italic;color:var(--text-secondary);font-size:.95em}.explain-section[data-v-79495b65] .explain-other-token{font-family:var(--font-hanzi);text-decoration:none;color:inherit;padding:0 1px;border-bottom:2px solid transparent;border-radius:2px;transition:border-color var(--transition-fast),background var(--transition-fast)}.explain-section[data-v-79495b65] .explain-other-token:hover{background:var(--bg-hover)}.explain-section[data-v-79495b65] .explain-topic-word{font-family:var(--font-hanzi);font-size:1.15em;color:var(--accent-color);border-bottom:2px solid transparent;font-weight:600;white-space:nowrap}.explain-section[data-v-79495b65] .know-1{border-bottom-color:var(--know-1);background:var(--know-bg-1)}.explain-section[data-v-79495b65] .know-2{border-bottom-color:var(--know-2);background:var(--know-bg-2)}.explain-section[data-v-79495b65] .know-3{border-bottom-color:var(--know-3);background:var(--know-bg-3)}.explain-section[data-v-79495b65] .know-4{border-bottom-color:var(--know-4);background:var(--know-bg-4)}.explain-section[data-v-79495b65] .know-5{border-bottom-color:var(--know-5);background:var(--know-bg-5)}.list-container[data-v-ec5eadfa]{width:100%;max-width:min(900px,100vw);margin:0 auto;padding:16px;box-sizing:border-box}.list-container--popular[data-v-ec5eadfa]{max-width:min(1200px,100vw)}.list-title[data-v-ec5eadfa]{text-align:center;color:var(--ink-color);margin:0 0 20px;font-size:1.4rem;font-weight:600}.loading-state[data-v-ec5eadfa]{text-align:center;padding:40px;color:var(--text-secondary)}.error-state[data-v-ec5eadfa]{text-align:center;color:var(--color-error);padding:20px;background:#fff5f5;border-radius:6px;border:1px solid rgba(231,76,60,.2)}.empty-state[data-v-ec5eadfa]{text-align:center;padding:60px 20px;color:var(--text-muted);font-size:.95rem}.tier-section[data-v-ec5eadfa]{scroll-margin-top:16px}.tier-body[data-v-ec5eadfa]{display:grid;grid-template-columns:150px 1fr 170px;gap:0 32px}.tier-label[data-v-ec5eadfa]{position:sticky;top:16px;text-align:right;padding:10px 14px 10px 0;border-right:2px solid var(--border-color)}.tier-label-name[data-v-ec5eadfa]{display:block;font-size:.9rem;font-weight:600;color:var(--text-muted)}.tier-label-pct[data-v-ec5eadfa]{display:block;font-size:.73rem;color:var(--text-dim);margin-top:2px}.tier-label-pct strong[data-v-ec5eadfa]{font-weight:700;color:var(--text-color)}.tier-main[data-v-ec5eadfa]{min-width:0}.tier-divider[data-v-ec5eadfa]{display:flex;align-items:center;gap:12px;margin:20px 0 10px;color:var(--text-dim);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.tier-section:first-child .tier-divider[data-v-ec5eadfa]{margin-top:0}.tier-divider[data-v-ec5eadfa]:before,.tier-divider[data-v-ec5eadfa]:after{content:"";flex:1;height:1px;background:var(--border-color)}.tier-words[data-v-ec5eadfa]{position:relative;padding-top:30px}.word-entry[data-v-ec5eadfa]{position:absolute;left:0;right:0;display:block;padding:10px 12px;border-radius:6px;cursor:pointer;transition:background .15s}.word-entry[data-v-ec5eadfa]:hover{background:#0000000a}.word-hanzi[data-v-ec5eadfa]{display:block;font-family:var(--font-hanzi);font-size:1.25rem;color:var(--text-faint);line-height:1.3}.word-en[data-v-ec5eadfa]{display:block;font-size:.72rem;color:#ccc;line-height:1.4;margin-top:2px}@media (max-width: 1200px){.tier-body[data-v-ec5eadfa]{grid-template-columns:150px 1fr}.tier-words[data-v-ec5eadfa]{display:none}}@media (max-width: 900px){.tier-body[data-v-ec5eadfa]{grid-template-columns:1fr}.tier-label-col[data-v-ec5eadfa]{display:none}}.list-section[data-v-ec5eadfa]{margin-bottom:24px}.section-title[data-v-ec5eadfa]{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.section-title--green[data-v-ec5eadfa]{color:var(--color-success)}.level-dot[data-v-ec5eadfa]{width:8px;height:8px;border-radius:50%;background:var(--text-secondary)}.section-title--level-1 .level-dot[data-v-ec5eadfa]{background:var(--know-1)}.section-title--level-2 .level-dot[data-v-ec5eadfa]{background:var(--know-2)}.section-title--level-3 .level-dot[data-v-ec5eadfa]{background:var(--know-3)}.section-title--level-4 .level-dot[data-v-ec5eadfa]{background:var(--know-4)}.section-title--level-5 .level-dot[data-v-ec5eadfa]{background:var(--know-5)}.level-count[data-v-ec5eadfa]{font-weight:400;color:var(--text-dim)}.list-grid[data-v-ec5eadfa]{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:6px}.section-action[data-v-ec5eadfa]{font-weight:400;color:var(--text-dim);cursor:pointer;text-transform:none;letter-spacing:0}.section-action[data-v-ec5eadfa]:hover{color:var(--text-color)}.writing-link-wrap[data-v-ec5eadfa]{text-align:center;margin:8px 0 20px}.writing-link[data-v-ec5eadfa]{font-size:.8rem;color:var(--text-muted);text-decoration:none;transition:color .15s}.writing-link[data-v-ec5eadfa]:hover{color:var(--text-color)}.writing-due[data-v-ec5eadfa]{color:var(--text-dim)}.loading[data-v-81348d05],.error[data-v-81348d05]{padding:3rem;text-align:center}.error[data-v-81348d05]{color:var(--color-error)}.writing-container[data-v-5544f48c]{max-width:500px;margin:0 auto;padding:20px 16px}.loading[data-v-5544f48c]{text-align:center;padding:3rem;color:var(--text-secondary)}.writing-empty[data-v-5544f48c]{text-align:center;padding:3rem 1rem}.writing-empty h2[data-v-5544f48c]{margin:0 0 8px;color:var(--ink-color)}.writing-empty p[data-v-5544f48c]{color:var(--text-secondary);margin:0 0 24px}.writing-header[data-v-5544f48c]{display:flex;justify-content:center;margin-bottom:16px}.writing-progress[data-v-5544f48c]{font-size:.85rem;color:var(--text-muted)}.writing-due-label[data-v-5544f48c]{color:var(--text-dim)}.writing-card[data-v-5544f48c]{background:var(--card-bg, #fff);border-radius:12px;padding:32px 24px;text-align:center;border:1px solid var(--border-color, #eee);display:flex;flex-direction:column;align-items:center;gap:12px}.writing-card--revealed[data-v-5544f48c]{min-height:200px;justify-content:center}.writing-placeholder[data-v-5544f48c]{width:80px;height:80px;border:2px dashed var(--border-color, #ddd);border-radius:8px}.writing-clues[data-v-5544f48c]{display:flex;flex-direction:column;gap:6px;align-items:center}.writing-pinyin[data-v-5544f48c]{font-size:1.3rem;color:var(--text-color);display:inline-flex;align-items:center;gap:4px}.writing-alt-pinyin[data-v-5544f48c]{font-size:.85rem;color:var(--text-muted)}.review-audio[data-v-5544f48c]{background:none;border:none;padding:2px;cursor:pointer;opacity:.5;transition:opacity .2s;display:inline-flex;vertical-align:middle}.review-audio[data-v-5544f48c]:hover{opacity:1}.writing-definition[data-v-5544f48c]{font-size:1rem;color:var(--text-secondary);max-width:350px}.writing-strokes[data-v-5544f48c]{font-size:.8rem;color:var(--text-muted)}.writing-reveal-btn[data-v-5544f48c]{background:none;border:1px solid var(--border-color);border-radius:8px;padding:8px 24px;font-size:.85rem;color:var(--text-muted);cursor:pointer;transition:border-color .15s,color .15s;margin:4px 0}.writing-reveal-btn[data-v-5544f48c]:hover{border-color:var(--text-secondary);color:var(--text-color)}.writing-words[data-v-5544f48c]{display:flex;flex-direction:column;gap:6px;width:100%;max-width:340px;margin-top:4px}.writing-word-card[data-v-5544f48c]{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--bg-color, #f8f8f8);border-radius:8px;text-decoration:none;color:inherit;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent;position:relative;text-align:left}.writing-word-card[data-v-5544f48c]:hover{transform:translate(4px);box-shadow:var(--shadow-lg);border-color:var(--accent-color)}.writing-word-card.know-1[data-v-5544f48c]{background:var(--know-bg-1);border-left:3px solid var(--know-1)}.writing-word-card.know-2[data-v-5544f48c]{background:var(--know-bg-2);border-left:3px solid var(--know-2)}.writing-word-card.know-3[data-v-5544f48c]{background:var(--know-bg-3);border-left:3px solid var(--know-3)}.writing-word-card.know-4[data-v-5544f48c]{background:var(--know-bg-4);border-left:3px solid var(--know-4)}.writing-word-card.know-5[data-v-5544f48c]{background:var(--know-bg-5);border-left:3px solid var(--know-5)}.ww-main[data-v-5544f48c]{display:flex;align-items:flex-start;gap:8px}.ww-text[data-v-5544f48c]{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;min-width:0}.ww-chars[data-v-5544f48c]{display:inline-flex;align-items:baseline;gap:0;font-family:var(--font-hanzi)}.ww-char[data-v-5544f48c]{font-size:1.3rem;font-family:var(--font-hanzi);color:var(--ink-color);padding:2px;border-radius:4px}.ww-blank[data-v-5544f48c]{display:inline-block;width:1.2em;height:1.2em;border:1.5px dashed var(--text-dim, #bbb);border-radius:4px;margin:0 1px;position:relative;top:.15em}.ww-pinyin[data-v-5544f48c]{font-size:.8rem;color:var(--accent-color);font-weight:500;letter-spacing:.3px}.ww-meaning[data-v-5544f48c]{font-size:.75rem;color:var(--text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ww-level[data-v-5544f48c]{margin-left:auto;flex-shrink:0;align-self:flex-start}.ww-show-more[data-v-5544f48c]{text-align:center;font-size:.73rem;color:var(--text-dim);cursor:pointer;padding:4px}.ww-show-more[data-v-5544f48c]:hover{color:var(--text-color)}.writing-answer[data-v-5544f48c]{font-family:var(--font-hanzi);font-size:5rem;line-height:1.1;color:var(--ink-color)}.writing-answer-pinyin[data-v-5544f48c]{font-size:1.1rem;color:var(--text-color)}.writing-answer-def[data-v-5544f48c]{font-size:.9rem;color:var(--text-secondary)}.writing-complete[data-v-5544f48c]{text-align:center;padding:2rem 0}.writing-complete h2[data-v-5544f48c]{margin:0 0 8px}.writing-stats-line[data-v-5544f48c]{color:var(--text-secondary);margin:0 0 16px}.dot[data-v-5544f48c]{margin:0 4px}.good[data-v-5544f48c]{color:var(--color-success, #27ae60)}.bad[data-v-5544f48c]{color:var(--color-error, #e74c3c)}.writing-results-grid[data-v-5544f48c]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:24px}.writing-result-item[data-v-5544f48c]{font-family:var(--font-hanzi);font-size:1.5rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:8px;text-decoration:none}.writing-result-item.correct[data-v-5544f48c]{background:#e4f5e9;color:#27ae60}.writing-result-item.forgot[data-v-5544f48c]{background:#fce4e4;color:#c0392b}.writing-complete-actions[data-v-5544f48c]{display:flex;gap:12px;justify-content:center}.writing-action-btn[data-v-5544f48c]{padding:10px 28px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer}.writing-action-btn.primary[data-v-5544f48c]{background:var(--accent-color);color:#fff}@media (max-width: 600px){.writing-container[data-v-5544f48c]{padding:10px 16px 100px}.writing-header[data-v-5544f48c]{margin-bottom:10px}.writing-card[data-v-5544f48c]{padding:20px 16px}.writing-answer[data-v-5544f48c]{font-size:4rem}}.loading[data-v-3d7fbd1d],.error[data-v-3d7fbd1d]{padding:3rem;text-align:center}.error[data-v-3d7fbd1d]{color:var(--color-error)}.font-selector[data-v-6898e2ae]{display:flex;gap:8px;margin-top:8px}.font-option[data-v-6898e2ae]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 16px;background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:border-color var(--transition-fast)}.font-option.active[data-v-6898e2ae]{border-color:var(--accent-color)}.font-option[data-v-6898e2ae]:hover{border-color:var(--border-soft)}.font-option.active[data-v-6898e2ae]:hover{border-color:var(--accent-color)}.font-preview[data-v-6898e2ae]{font-size:2rem;color:var(--ink-color);line-height:1.2}.font-heiti[data-v-6898e2ae]{font-family:Noto Sans SC,Microsoft YaHei,sans-serif}.font-kaiti[data-v-6898e2ae]{font-family:LXGW WenKai,KaiTi,STKaiti,serif}.font-name[data-v-6898e2ae]{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.settings-back-btn[data-v-6898e2ae]{display:block;margin:0 auto;padding:10px 28px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-muted);font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.settings-back-btn[data-v-6898e2ae]:hover{border-color:var(--border-soft);color:var(--text-color);background:#fafafa}.cy-page[data-v-2aec155f]{max-width:960px;margin:0 auto;padding:24px 16px}h1[data-v-2aec155f]{margin:0;font-size:1.3rem;font-weight:600}.subtitle[data-v-2aec155f]{margin:2px 0 16px;font-size:.82rem;color:var(--text-muted)}.search[data-v-2aec155f]{width:100%;padding:9px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg);font-size:.88rem;color:var(--text-color);outline:none;box-sizing:border-box}.search[data-v-2aec155f]:focus{border-color:var(--accent-color)}.search[data-v-2aec155f]::placeholder{color:var(--text-dim)}.filters[data-v-2aec155f]{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0 20px}.pill[data-v-2aec155f]{padding:4px 11px;border:1px solid var(--border-color);border-radius:16px;background:none;font-size:.76rem;color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.pill[data-v-2aec155f]:hover{border-color:var(--text-dim)}.pill.active[data-v-2aec155f]{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.pill-learn.active[data-v-2aec155f]{background:#00b894;border-color:#00b894}.pill-n[data-v-2aec155f]{opacity:.6}.result-n[data-v-2aec155f]{font-size:.75rem;color:var(--text-dim);margin-left:auto}.tier-section[data-v-2aec155f]{margin-bottom:12px}.tier-header[data-v-2aec155f]{display:flex;align-items:center;gap:7px;padding:10px 0 6px;font-size:.82rem;font-weight:700;color:var(--ink-color);border-bottom:1px solid var(--border-color);margin-bottom:2px}.tier-dot[data-v-2aec155f]{width:8px;height:8px;border-radius:50%}.tier-dot.t1[data-v-2aec155f]{background:#00b894}.tier-dot.t2[data-v-2aec155f]{background:#0984e3}.tier-dot.t3[data-v-2aec155f]{background:#d4a017}.tier-n[data-v-2aec155f]{margin-left:auto;font-weight:400;color:var(--text-dim);font-size:.75rem}.row[data-v-2aec155f]{display:grid;grid-template-columns:28px auto 150px 1fr auto;align-items:baseline;gap:0 12px;padding:8px 4px;text-decoration:none;color:inherit;border-bottom:1px solid var(--border-color);transition:background .1s}.row[data-v-2aec155f]:last-child{border-bottom:none}.row[data-v-2aec155f]:hover{background:var(--card-bg)}.rank[data-v-2aec155f]{font-size:.68rem;color:var(--text-dim);text-align:right;opacity:.5}.word[data-v-2aec155f]{display:flex;gap:1px}.ch[data-v-2aec155f]{font-family:var(--font-hanzi);font-size:1.35rem;color:var(--ink-color);padding:0 1px;border-bottom:2px solid transparent}.row:hover .ch[data-v-2aec155f]{color:var(--accent-color)}.ch.know-1[data-v-2aec155f]{border-color:var(--know-1)}.ch.know-2[data-v-2aec155f]{border-color:var(--know-2)}.ch.know-3[data-v-2aec155f]{border-color:var(--know-3)}.ch.know-4[data-v-2aec155f]{border-color:var(--know-4)}.ch.know-5[data-v-2aec155f]{border-color:var(--know-5)}.pinyin[data-v-2aec155f]{font-size:.78rem;color:var(--accent-color);text-align:center}.en[data-v-2aec155f]{font-size:.82rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.en-rest[data-v-2aec155f]{opacity:.45}.badge[data-v-2aec155f]{font-size:.6rem;padding:1px 6px;border-radius:3px;font-weight:500}.badge-1[data-v-2aec155f]{color:#00b894;border:1px solid #00b89444;background:#00b89410}.badge-2[data-v-2aec155f]{color:#0984e3;border:1px solid #0984e344;background:#0984e310}.badge-3[data-v-2aec155f]{color:#b8860b;border:1px solid #b8860b44;background:#b8860b10}.state[data-v-2aec155f]{text-align:center;padding:40px;color:var(--text-muted)}@media (max-width: 600px){.row[data-v-2aec155f]{grid-template-columns:auto 1fr auto;gap:2px 10px}.rank[data-v-2aec155f]{display:none}.pinyin[data-v-2aec155f]{grid-column:1 / -1;text-align:left}.en[data-v-2aec155f]{grid-column:1 / -1;white-space:normal}}.cy[data-v-81f31eab]{align-self:stretch;width:100%;max-width:680px;margin:0 auto;padding:24px 16px 48px;box-sizing:border-box}.state[data-v-81f31eab]{text-align:center;padding:60px 20px;color:var(--text-muted)}.state--error[data-v-81f31eab]{color:var(--color-error)}.hero[data-v-81f31eab]{text-align:center;padding:16px 20px 20px;margin-bottom:8px}.hero-chars[data-v-81f31eab]{display:flex;justify-content:center;flex-wrap:wrap;margin-bottom:10px}.hero-ch[data-v-81f31eab]{font-family:var(--font-hanzi);font-size:clamp(3rem,10vw,4.5rem);line-height:1;color:var(--ink-color);text-decoration:none;transition:color .15s;padding:0 6px}.hero-ch[data-v-81f31eab]:hover{color:var(--accent-color)}.hero-pinyin[data-v-81f31eab]{display:flex;align-items:center;justify-content:center;gap:10px;font-size:1.4rem;color:var(--accent-color);font-weight:300;margin-bottom:10px}.hero-short[data-v-81f31eab]{font-size:1.3rem;font-weight:600;color:var(--text-color)}.hero-tags[data-v-81f31eab]{display:flex;justify-content:center;gap:8px;margin-top:12px}.tag[data-v-81f31eab]{font-size:.72rem;padding:3px 10px;border-radius:4px;font-weight:500;background:#0000000a;color:var(--text-muted)}.tag-1[data-v-81f31eab]{color:#00b894;background:#00b8941a}.tag-2[data-v-81f31eab]{color:#0984e3;background:#0984e31a}.tag-3[data-v-81f31eab]{color:#b8860b;background:#b8860b1a}.char-grid[data-v-81f31eab]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.section[data-v-81f31eab]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;padding:20px;margin-bottom:12px;overflow-wrap:break-word}.section-title[data-v-81f31eab]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:0 0 12px}.section-text[data-v-81f31eab]{font-size:.95rem;color:var(--text-color);line-height:1.6;margin:0}.section-zh[data-v-81f31eab]{font-family:var(--font-hanzi);font-size:1.05rem;color:var(--text-color);line-height:1.8;margin:0 0 8px}.section-en[data-v-81f31eab]{font-size:.9rem;color:var(--text-muted);line-height:1.6;margin:0}.section-source[data-v-81f31eab]{font-size:.8rem;color:var(--text-dim);margin:4px 0 8px;font-style:italic}.hl[data-v-81f31eab]{color:var(--accent-color);font-weight:500}.ex-list[data-v-81f31eab]{display:flex;flex-direction:column;gap:4px}@media (max-width: 500px){.hero-ch[data-v-81f31eab]{font-size:3rem}.hero-pinyin[data-v-81f31eab]{font-size:1.1rem}.hero-short[data-v-81f31eab]{font-size:1.2rem}.char-grid[data-v-81f31eab]{grid-template-columns:repeat(2,1fr)}.section[data-v-81f31eab]{padding:14px}}.genealogy-view[data-v-afa4130d]{width:100vw;height:100vh;overflow:hidden;background-color:#f4f7f9;background-image:radial-gradient(#e0e0e0 1px,transparent 1px);background-size:20px 20px;position:relative;font-family:Inter,sans-serif}.controls-bar[data-v-afa4130d]{position:absolute;top:20px;left:20px;z-index:100;display:flex;align-items:center;gap:15px}.back-btn[data-v-afa4130d]{display:flex;align-items:center;gap:6px;background:var(--card-bg);border:1px solid var(--border-color);padding:8px 16px;border-radius:8px;cursor:pointer;font-weight:500;box-shadow:0 2px 5px #0000000d;transition:background var(--transition-normal),transform var(--transition-normal)}.back-btn[data-v-afa4130d]:hover{background:#f8f8f8;transform:translateY(-1px)}.title-block[data-v-afa4130d]{display:flex;align-items:center;gap:12px;background:#ffffffe6;padding:6px 12px;border-radius:12px;border:1px solid #e0e0e0;box-shadow:0 2px 8px #0000000f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.title-char[data-v-afa4130d]{font-family:KaiTi,楷体,serif;font-size:1.8rem;color:var(--text-color);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fffaf2;border:1px solid #ffd39a;border-radius:10px}.title-text[data-v-afa4130d]{display:flex;flex-direction:column;gap:2px}.title-label[data-v-afa4130d]{font-size:1rem;font-weight:700;color:var(--text-color)}.title-meta[data-v-afa4130d]{font-size:.75rem;color:var(--text-muted)}.info-panel[data-v-afa4130d]{position:absolute;top:20px;right:20px;width:300px;background:var(--card-bg);border-radius:12px;box-shadow:0 4px 20px #00000026;padding:20px;z-index:200;border:1px solid #e0e0e0}.info-header[data-v-afa4130d]{display:flex;gap:12px;align-items:center;margin-bottom:8px}.info-char[data-v-afa4130d]{font-family:KaiTi,楷体,serif;font-size:2.6rem;color:var(--text-color);width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#f7f7f7;border-radius:12px;border:1px solid #e5e5e5}.info-meta[data-v-afa4130d]{display:flex;flex-direction:column;gap:6px}.info-pinyin[data-v-afa4130d]{font-size:1.05rem;color:var(--text-muted);font-weight:500}.info-def[data-v-afa4130d]{font-size:.9rem;color:#555;line-height:1.4;margin:6px 0 12px}.info-tags[data-v-afa4130d]{display:flex;gap:6px;flex-wrap:wrap}.info-tag[data-v-afa4130d]{font-size:.75rem;padding:4px 8px;background:var(--bg-hover);border-radius:4px;color:var(--text-muted)}.info-tag.role[data-v-afa4130d]{background:#e3f2fd;color:#1976d2}.info-stats[data-v-afa4130d]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.stat[data-v-afa4130d]{background:#f7f9fb;border:1px solid #e6edf2;border-radius:8px;padding:8px}.stat-value[data-v-afa4130d]{font-size:1.1rem;font-weight:700;color:var(--text-color)}.stat-label[data-v-afa4130d]{font-size:.7rem;color:var(--text-muted);margin-top:2px}.info-actions[data-v-afa4130d]{display:flex;gap:10px}.action-btn[data-v-afa4130d]{flex:1;padding:8px;border-radius:6px;border:1px solid var(--border-color);background:var(--card-bg);cursor:pointer;font-size:.85rem;font-weight:500;transition:background var(--transition-normal);text-align:center;text-decoration:none}.action-btn[data-v-afa4130d]:hover{background:#f5f5f5}.action-btn.primary[data-v-afa4130d]{background:#1976d2;color:#fff;border:none}.action-btn.primary[data-v-afa4130d]:hover{background:#1565c0}.action-btn[data-v-afa4130d]:disabled{cursor:not-allowed;opacity:.6;background:#f5f5f5;color:var(--text-muted)}.slide-right-enter-active[data-v-afa4130d],.slide-right-leave-active[data-v-afa4130d]{transition:transform var(--transition-slow) ease,opacity var(--transition-slow) ease}.slide-right-enter-from[data-v-afa4130d],.slide-right-leave-to[data-v-afa4130d]{opacity:0;transform:translate(20px)}.canvas-container[data-v-afa4130d]{width:100%;height:100%;cursor:grab}.canvas-container[data-v-afa4130d]:active{cursor:grabbing}.canvas-content[data-v-afa4130d]{will-change:transform}.links-svg[data-v-afa4130d]{position:absolute;top:0;left:0;pointer-events:none}.link[data-v-afa4130d]{fill:none;stroke-width:2px;transition:d .3s ease}.link.ancestor[data-v-afa4130d]{stroke:#90caf9;stroke-dasharray:6 4}.link.descendant[data-v-afa4130d]{stroke:#bdbdbd}.link.overlay[data-v-afa4130d]{stroke:#b6c2ce;stroke-dasharray:2 4;opacity:.8}.nodes-layer[data-v-afa4130d]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.node-wrapper[data-v-afa4130d]{position:absolute;width:auto;height:auto;display:flex;justify-content:center;align-items:center;pointer-events:auto;cursor:pointer;transition:transform .5s cubic-bezier(.25,.8,.25,1);z-index:5}.node-wrapper.is-selected[data-v-afa4130d]{z-index:20}.node-fade-enter-active[data-v-afa4130d],.node-fade-leave-active[data-v-afa4130d]{transition:opacity .3s,transform .3s}.node-fade-enter-from[data-v-afa4130d],.node-fade-leave-to[data-v-afa4130d]{opacity:0;transform:scale(.5)}.node-card[data-v-afa4130d]{width:140px;min-width:140px;background:var(--card-bg);box-shadow:0 4px 10px #00000014;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal)}.node-wrapper:hover .node-card[data-v-afa4130d],.node-wrapper.is-selected .node-card[data-v-afa4130d]{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 20px #00000026;border-color:#2196f3}.is-hero .node-card[data-v-afa4130d]{border:2px solid #FF9800;transform:scale(1.2)}.node-wrapper.is-selected.is-hero .node-card[data-v-afa4130d],.node-wrapper:hover.is-hero .node-card[data-v-afa4130d]{border-color:#ff9800;transform:translateY(-4px) scale(1.2)}.node-simple[data-v-afa4130d]{width:50px;height:50px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 2px 5px #0000001a}.simple-char[data-v-afa4130d]{font-family:KaiTi,楷体,serif;font-size:24px}.pagination-node[data-v-afa4130d]{width:100px;height:60px;background:#f0f4f8;border:1px dashed #cfd8dc;border-radius:8px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#607d8b;transition:background var(--transition-normal),border-color var(--transition-normal),transform var(--transition-normal)}.pagination-node[data-v-afa4130d]:hover{background:#e1f5fe;border-color:#29b6f6;transform:scale(1.05)}.pagination-node .count[data-v-afa4130d]{font-weight:700;font-size:1.1rem}.pagination-node .label[data-v-afa4130d]{font-size:.7rem}.role-badge[data-v-afa4130d]{position:absolute;top:-18px;background:#455a64;color:#fff;font-size:.65rem;padding:2px 8px;border-radius:12px;white-space:nowrap;opacity:0;transform:translateY(5px);transition:opacity var(--transition-normal),transform var(--transition-normal)}.node-wrapper:hover .role-badge[data-v-afa4130d]{opacity:1;transform:translateY(0)}.expand-badge[data-v-afa4130d]{position:absolute;bottom:-15px;background:#2196f3;color:#fff;font-size:.7rem;padding:2px 8px;border-radius:10px;font-weight:700;box-shadow:0 2px 4px #0003}.spinner-sm[data-v-afa4130d]{display:block;width:10px;height:10px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-afa4130d 1s infinite linear}.legend-overlay[data-v-afa4130d]{position:absolute;bottom:20px;right:20px;background:#ffffffe6;padding:15px;border-radius:12px;font-size:.85rem;color:#555;box-shadow:0 2px 10px #0000000d}.legend-row[data-v-afa4130d]{display:flex;align-items:center;gap:8px;margin-bottom:5px}.legend-line[data-v-afa4130d]{width:18px;height:0;border-top:3px solid #BDBDBD;border-radius:3px;display:inline-block}.legend-line.anc[data-v-afa4130d]{border-top-style:dashed;border-top-color:#90caf9}.legend-line.desc[data-v-afa4130d]{border-top-color:#bdbdbd}.legend-hero[data-v-afa4130d]{width:14px;height:14px;border-radius:4px;background:#fff3e0;border:2px solid #FF9800;display:inline-block}.hint[data-v-afa4130d]{margin-top:10px;font-size:.75rem;color:var(--text-dim);border-top:1px solid var(--border-light);padding-top:5px}@keyframes spin-afa4130d{to{transform:rotate(360deg)}}@media (max-width: 600px){.controls-bar[data-v-afa4130d]{top:10px;left:10px;gap:8px}.back-btn[data-v-afa4130d]{padding:6px 10px;font-size:.85rem}.title-block[data-v-afa4130d]{padding:4px 8px;gap:8px}.title-char[data-v-afa4130d]{font-size:1.4rem;width:32px;height:32px}.title-label[data-v-afa4130d]{font-size:.85rem}.title-meta[data-v-afa4130d]{font-size:.65rem}.info-panel[data-v-afa4130d]{top:auto;bottom:0;left:0;right:0;width:100%;border-radius:16px 16px 0 0;padding:16px;max-height:45vh;overflow-y:auto;box-sizing:border-box}.info-header[data-v-afa4130d]{gap:10px}.info-char[data-v-afa4130d]{font-size:2rem;width:44px;height:44px}.info-stats[data-v-afa4130d]{gap:8px;margin-bottom:12px}.info-actions[data-v-afa4130d]{gap:8px}.legend-overlay[data-v-afa4130d]{bottom:10px;right:10px;padding:8px 10px;font-size:.75rem}}@media (max-width: 600px){.slide-right-enter-from[data-v-afa4130d],.slide-right-leave-to[data-v-afa4130d]{transform:translateY(100%)}}.similarity-view[data-v-74c8dd88]{width:100vw;height:100vh;overflow:hidden;background:#0d1117;position:relative;font-family:system-ui,sans-serif}.similarity-view[data-v-74c8dd88]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(rgba(56,139,253,.06) 1px,transparent 1px);background-size:20px 20px;pointer-events:none}.controls-bar[data-v-74c8dd88]{position:absolute;top:12px;left:12px;z-index:100;display:flex;align-items:center;gap:10px}.back-btn[data-v-74c8dd88]{background:#ffffff14;border:1px solid rgba(255,255,255,.12);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.8rem;color:#c9d1d9}.back-btn[data-v-74c8dd88]:hover{background:#ffffff1f}.mode-btn[data-v-74c8dd88]{background:#388bfd26;border:1px solid rgba(56,139,253,.4);color:#58a6ff;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;transition:background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}.mode-btn[data-v-74c8dd88]:hover{background:#388bfd40}.mode-btn.active[data-v-74c8dd88]{background:#1f6feb;color:#fff;border-color:#1f6feb}.title-block[data-v-74c8dd88]{background:#ffffff0f;padding:6px 12px;border-radius:6px;display:flex;gap:12px;align-items:baseline}.title-label[data-v-74c8dd88]{font-size:.85rem;font-weight:600;color:#f0f6fc}.title-meta[data-v-74c8dd88]{font-size:.7rem;color:#8b949e}.loading-badge[data-v-74c8dd88]{background:#1f6feb;color:#fff;padding:4px 10px;border-radius:4px;font-size:.7rem;font-weight:500}.info-panel[data-v-74c8dd88]{position:absolute;top:12px;right:12px;width:240px;background:#161b22f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;padding:14px;z-index:200;border:1px solid rgba(255,255,255,.08)}.info-header[data-v-74c8dd88]{display:flex;gap:10px;align-items:center;margin-bottom:8px}.info-char[data-v-74c8dd88]{font-family:var(--font-hanzi, serif);font-size:2rem;color:#f0f6fc;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border-radius:6px;border-bottom:2px solid transparent}.info-char.know-1[data-v-74c8dd88]{border-color:var(--know-1)}.info-char.know-2[data-v-74c8dd88]{border-color:var(--know-2)}.info-char.know-3[data-v-74c8dd88]{border-color:var(--know-3)}.info-char.know-4[data-v-74c8dd88]{border-color:var(--know-4)}.info-char.know-5[data-v-74c8dd88]{border-color:var(--know-5)}.info-meta[data-v-74c8dd88]{flex:1}.info-pinyin[data-v-74c8dd88]{font-size:.9rem;color:#8b949e;margin-bottom:2px}.info-tag[data-v-74c8dd88]{font-size:.6rem;padding:2px 5px;border-radius:3px;background:#238636;color:#fff}.info-def[data-v-74c8dd88]{font-size:.75rem;color:#8b949e;line-height:1.4;margin-bottom:10px}.info-similar[data-v-74c8dd88]{margin-bottom:10px}.similar-label[data-v-74c8dd88]{font-size:.6rem;color:#6e7681;margin-bottom:4px;text-transform:uppercase}.similar-chips[data-v-74c8dd88]{display:flex;flex-wrap:wrap;gap:3px}.similar-chip[data-v-74c8dd88]{font-family:var(--font-hanzi, serif);font-size:.95rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border-radius:3px;cursor:pointer;color:#c9d1d9;transition:background .1s}.similar-chip[data-v-74c8dd88]:hover{background:#ffffff1a}.similar-chip.in-graph[data-v-74c8dd88]{background:#388bfd40}.action-btn[data-v-74c8dd88]{width:100%;padding:8px;border:none;border-radius:5px;font-weight:500;font-size:.75rem;cursor:pointer;background:#238636;color:#fff}.action-btn[data-v-74c8dd88]:hover{background:#2ea043}.slide-right-enter-active[data-v-74c8dd88],.slide-right-leave-active[data-v-74c8dd88]{transition:transform var(--transition-fast) ease,opacity var(--transition-fast) ease}.slide-right-enter-from[data-v-74c8dd88],.slide-right-leave-to[data-v-74c8dd88]{opacity:0;transform:translate(20px)}.graph-container[data-v-74c8dd88]{width:100%;height:100%;cursor:grab}.graph-container[data-v-74c8dd88]:active{cursor:grabbing}.graph-svg[data-v-74c8dd88]{width:100%;height:100%}.graph-link[data-v-74c8dd88]{stroke:#555;stroke-linecap:round}.graph-node[data-v-74c8dd88]{cursor:grab}.graph-node.pan-mode[data-v-74c8dd88]{cursor:default;pointer-events:none}.node-bg[data-v-74c8dd88]{fill:#0d1117e6;stroke:#30363d;stroke-width:1;transition:x .3s ease,y .3s ease,width .3s ease,height .3s ease}.node-bg.know-1[data-v-74c8dd88]{stroke:var(--know-1)}.node-bg.know-2[data-v-74c8dd88]{stroke:var(--know-2)}.node-bg.know-3[data-v-74c8dd88]{stroke:var(--know-3)}.node-bg.know-4[data-v-74c8dd88]{stroke:var(--know-4)}.node-bg.know-5[data-v-74c8dd88]{stroke:var(--know-5)}.graph-node.selected .node-bg[data-v-74c8dd88]{stroke:#f0883e;stroke-width:2;filter:drop-shadow(0 0 6px rgba(240,136,62,.4))}.graph-node.dragging[data-v-74c8dd88]{cursor:grabbing}.graph-node.dragging .node-bg[data-v-74c8dd88]{stroke:#f0883e;stroke-width:2}.graph-node.hovered .node-bg[data-v-74c8dd88]{stroke:#58a6ff;stroke-width:2;filter:drop-shadow(0 0 4px rgba(88,166,255,.5))}.graph-node.connected .node-bg[data-v-74c8dd88]{stroke:#c9d1d9;stroke-width:1.5}.graph-node.unloaded .node-bg[data-v-74c8dd88]{stroke-dasharray:2 2}.node-char[data-v-74c8dd88]{font-family:var(--font-hanzi, serif);font-size:18px;fill:#f0f6fc;pointer-events:none;transition:font-size .3s ease}.pagerank-bg[data-v-74c8dd88]{fill:#ffffff1a;pointer-events:none;transition:x .3s ease,y .3s ease,width .3s ease}.pagerank-bar[data-v-74c8dd88]{fill:#f0883e;pointer-events:none;transition:x .3s ease,y .3s ease,width .3s ease}.instructions[data-v-74c8dd88]{position:absolute;bottom:12px;left:50%;transform:translate(-50%);font-size:.65rem;color:#484f58;background:#0006;padding:4px 10px;border-radius:4px}.dev-controls[data-v-74c8dd88]{position:absolute;bottom:12px;left:12px;background:#161b22f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 14px;z-index:100;display:flex;flex-direction:column;gap:6px;min-width:180px}.dev-title[data-v-74c8dd88]{font-size:.65rem;color:#6e7681;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.sim-status[data-v-74c8dd88]{display:flex;align-items:center;gap:6px;font-size:.7rem;color:#c9d1d9;margin-bottom:6px;background:#0003;padding:4px;border-radius:4px}.status-indicator[data-v-74c8dd88]{width:8px;height:8px;border-radius:50%;background:#30363d;transition:background .2s}.status-indicator.active[data-v-74c8dd88]{background:#238636;box-shadow:0 0 4px #238636}.disp-val[data-v-74c8dd88]{margin-left:auto;font-family:monospace;color:#8b949e}.action-btn.small[data-v-74c8dd88]{padding:4px 8px;font-size:.7rem;margin-bottom:8px}.sim-controls[data-v-74c8dd88]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.sim-controls .action-btn[data-v-74c8dd88]{flex:1;margin-bottom:0}.sim-controls .action-btn.active[data-v-74c8dd88]{background:#da3633}.checkbox-label.small[data-v-74c8dd88]{font-size:.65rem}.dev-controls label[data-v-74c8dd88]{display:flex;flex-direction:column;font-size:.7rem;color:#8b949e;gap:2px}.dev-controls input[type=range][data-v-74c8dd88]{width:100%;height:4px;background:#30363d;border-radius:2px;cursor:pointer;-webkit-appearance:none}.dev-controls input[type=range][data-v-74c8dd88]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#58a6ff;border-radius:50%;cursor:pointer}.dev-divider[data-v-74c8dd88]{height:1px;background:#ffffff1a;margin:4px 0}.checkbox-label[data-v-74c8dd88]{display:flex;align-items:center;gap:6px;cursor:pointer}.checkbox-label input[type=checkbox][data-v-74c8dd88]{width:14px;height:14px;cursor:pointer}.filter-panel[data-v-74c8dd88]{position:absolute;bottom:12px;right:12px;background:#161b22f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 14px;z-index:100;display:flex;flex-direction:column;gap:8px;min-width:140px}.filter-title[data-v-74c8dd88]{font-size:.65rem;color:#6e7681;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.filter-panel .checkbox-label[data-v-74c8dd88]{font-size:.75rem;color:#c9d1d9}.hsk-levels[data-v-74c8dd88]{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.hsk-level-btn[data-v-74c8dd88]{width:24px;height:24px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:transparent;color:#6e7681;font-size:.7rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.hsk-level-btn[data-v-74c8dd88]:hover{border-color:#58a6ff;color:#58a6ff}.hsk-level-btn.active[data-v-74c8dd88]{background:#238636;border-color:#238636;color:#fff}.overview-view[data-v-05f3c4ce]{width:100vw;height:100vh;overflow:hidden;background:#fafbfc;position:relative;font-family:system-ui,sans-serif}.overview-view[data-v-05f3c4ce]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(rgba(0,0,0,.03) 1px,transparent 1px);background-size:20px 20px;pointer-events:none}.controls-bar[data-v-05f3c4ce]{position:absolute;top:12px;left:12px;z-index:100;display:flex;align-items:center;gap:10px}.back-btn[data-v-05f3c4ce]{background:#0000000d;border:1px solid rgba(0,0,0,.1);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.8rem;color:#374151}.back-btn[data-v-05f3c4ce]:hover{background:#00000014}.mode-btn[data-v-05f3c4ce]{background:#1a73e81a;border:1px solid rgba(26,115,232,.3);color:#1a73e8;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;transition:background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}.mode-btn[data-v-05f3c4ce]:hover{background:#1a73e826}.mode-btn.active[data-v-05f3c4ce]{background:#1a73e8;color:#fff;border-color:#1a73e8}.title-block[data-v-05f3c4ce]{background:#0000000a;padding:6px 12px;border-radius:6px;display:flex;gap:12px;align-items:baseline}.title-label[data-v-05f3c4ce]{font-size:.85rem;font-weight:600;color:#1f2937}.title-meta[data-v-05f3c4ce]{font-size:.7rem;color:#6b7280}.loading-badge[data-v-05f3c4ce]{background:#1a73e8;color:#fff;padding:4px 10px;border-radius:4px;font-size:.7rem;font-weight:500}.info-panel[data-v-05f3c4ce]{position:absolute;top:12px;right:12px;width:240px;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;padding:14px;z-index:200;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 12px #00000014}.info-header[data-v-05f3c4ce]{display:flex;gap:10px;align-items:center;margin-bottom:8px}.info-char[data-v-05f3c4ce]{font-family:var(--font-hanzi, serif);font-size:2rem;color:#1f2937;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#00000008;border-radius:6px;border-bottom:2px solid transparent}.info-char.know-1[data-v-05f3c4ce]{border-color:var(--know-1)}.info-char.know-2[data-v-05f3c4ce]{border-color:var(--know-2)}.info-char.know-3[data-v-05f3c4ce]{border-color:var(--know-3)}.info-char.know-4[data-v-05f3c4ce]{border-color:var(--know-4)}.info-char.know-5[data-v-05f3c4ce]{border-color:var(--know-5)}.info-meta[data-v-05f3c4ce]{flex:1}.info-pinyin[data-v-05f3c4ce]{font-size:.9rem;color:#6b7280;margin-bottom:2px}.info-tag[data-v-05f3c4ce]{font-size:.6rem;padding:2px 5px;border-radius:3px;background:#10b981;color:#fff}.info-def[data-v-05f3c4ce]{font-size:.75rem;color:#6b7280;line-height:1.4;margin-bottom:10px}.info-similar[data-v-05f3c4ce]{margin-bottom:10px}.similar-label[data-v-05f3c4ce]{font-size:.6rem;color:#9ca3af;margin-bottom:4px;text-transform:uppercase}.similar-chips[data-v-05f3c4ce]{display:flex;flex-wrap:wrap;gap:3px}.similar-chip[data-v-05f3c4ce]{font-family:var(--font-hanzi, serif);font-size:.95rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#0000000a;border-radius:3px;cursor:pointer;color:#374151;transition:background .1s,color .1s}.similar-chip[data-v-05f3c4ce]:hover{background:#00000014}.similar-chip.in-graph[data-v-05f3c4ce]{background:#1a73e826;color:#1a73e8}.action-btn[data-v-05f3c4ce]{width:100%;padding:8px;border:none;border-radius:5px;font-weight:500;font-size:.75rem;cursor:pointer;background:#10b981;color:#fff}.action-btn[data-v-05f3c4ce]:hover{background:#059669}.slide-right-enter-active[data-v-05f3c4ce],.slide-right-leave-active[data-v-05f3c4ce]{transition:transform var(--transition-fast) ease,opacity var(--transition-fast) ease}.slide-right-enter-from[data-v-05f3c4ce],.slide-right-leave-to[data-v-05f3c4ce]{opacity:0;transform:translate(20px)}.graph-container[data-v-05f3c4ce]{width:100%;height:100%;cursor:grab}.graph-container[data-v-05f3c4ce]:active{cursor:grabbing}.graph-svg[data-v-05f3c4ce]{width:100%;height:100%}.graph-link[data-v-05f3c4ce]{stroke:#9ca3af;stroke-linecap:round}.graph-node[data-v-05f3c4ce]{cursor:grab}.graph-node.pan-mode[data-v-05f3c4ce]{cursor:default;pointer-events:none}.node-bg[data-v-05f3c4ce]{fill:#f0f3f5;stroke:#d1d5db;stroke-width:1;transition:x .3s ease,y .3s ease,width .3s ease,height .3s ease}.node-bg.know-1[data-v-05f3c4ce]{stroke:var(--know-1)}.node-bg.know-2[data-v-05f3c4ce]{stroke:var(--know-2)}.node-bg.know-3[data-v-05f3c4ce]{stroke:var(--know-3)}.node-bg.know-4[data-v-05f3c4ce]{stroke:var(--know-4)}.node-bg.know-5[data-v-05f3c4ce]{stroke:var(--know-5)}.graph-node.selected .node-bg[data-v-05f3c4ce]{stroke:#f59e0b;stroke-width:2;filter:drop-shadow(0 0 6px rgba(245,158,11,.4))}.graph-node.dragging[data-v-05f3c4ce]{cursor:grabbing}.graph-node.dragging .node-bg[data-v-05f3c4ce]{stroke:#f59e0b;stroke-width:2}.graph-node.hovered .node-bg[data-v-05f3c4ce]{stroke:#1a73e8;stroke-width:2;filter:drop-shadow(0 0 4px rgba(26,115,232,.4))}.graph-node.connected .node-bg[data-v-05f3c4ce]{stroke:#6b7280;stroke-width:1.5}.graph-node.unloaded .node-bg[data-v-05f3c4ce]{stroke-dasharray:2 2}.node-char[data-v-05f3c4ce]{font-family:var(--font-hanzi, serif);font-size:18px;fill:#1f2937;pointer-events:none;transition:font-size .3s ease}.pagerank-bg[data-v-05f3c4ce]{fill:#00000014;pointer-events:none;transition:x .3s ease,y .3s ease,width .3s ease}.pagerank-bar[data-v-05f3c4ce]{fill:#f59e0b;pointer-events:none;transition:x .3s ease,y .3s ease,width .3s ease}.instructions[data-v-05f3c4ce]{position:absolute;bottom:12px;left:50%;transform:translate(-50%);font-size:.65rem;color:#9ca3af;background:#fffc;padding:4px 10px;border-radius:4px}.dev-controls[data-v-05f3c4ce]{position:absolute;bottom:12px;left:12px;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:10px 14px;z-index:100;display:flex;flex-direction:column;gap:6px;min-width:180px;box-shadow:0 4px 12px #00000014}.dev-title[data-v-05f3c4ce]{font-size:.65rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.sim-status[data-v-05f3c4ce]{display:flex;align-items:center;gap:6px;font-size:.7rem;color:#374151;margin-bottom:6px;background:#00000008;padding:4px;border-radius:4px}.status-indicator[data-v-05f3c4ce]{width:8px;height:8px;border-radius:50%;background:#d1d5db;transition:background .2s}.status-indicator.active[data-v-05f3c4ce]{background:#10b981;box-shadow:0 0 4px #10b981}.disp-val[data-v-05f3c4ce]{margin-left:auto;font-family:monospace;color:#6b7280}.action-btn.small[data-v-05f3c4ce]{padding:4px 8px;font-size:.7rem;margin-bottom:8px}.sim-controls[data-v-05f3c4ce]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.sim-controls .action-btn[data-v-05f3c4ce]{flex:1;margin-bottom:0}.sim-controls .action-btn.active[data-v-05f3c4ce]{background:#ef4444}.checkbox-label.small[data-v-05f3c4ce]{font-size:.65rem}.dev-controls label[data-v-05f3c4ce]{display:flex;flex-direction:column;font-size:.7rem;color:#6b7280;gap:2px}.dev-controls input[type=range][data-v-05f3c4ce]{width:100%;height:4px;background:#e5e7eb;border-radius:2px;cursor:pointer;-webkit-appearance:none}.dev-controls input[type=range][data-v-05f3c4ce]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#1a73e8;border-radius:50%;cursor:pointer}.dev-divider[data-v-05f3c4ce]{height:1px;background:#00000014;margin:4px 0}.checkbox-label[data-v-05f3c4ce]{display:flex;align-items:center;gap:6px;cursor:pointer}.checkbox-label input[type=checkbox][data-v-05f3c4ce]{width:14px;height:14px;cursor:pointer}.debug-values[data-v-05f3c4ce]{display:flex;flex-direction:column;gap:2px;font-size:.65rem;font-family:monospace;color:#6b7280;background:#00000008;padding:4px 6px;border-radius:4px}.filter-panel[data-v-05f3c4ce]{position:absolute;bottom:12px;right:12px;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:10px 14px;z-index:100;display:flex;flex-direction:column;gap:8px;min-width:140px;box-shadow:0 4px 12px #00000014}.filter-title[data-v-05f3c4ce]{font-size:.65rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.filter-panel .checkbox-label[data-v-05f3c4ce]{font-size:.75rem;color:#374151}.hsk-levels[data-v-05f3c4ce]{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.hsk-level-btn[data-v-05f3c4ce]{width:24px;height:24px;border:1px solid rgba(0,0,0,.15);border-radius:4px;background:transparent;color:#9ca3af;font-size:.7rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.hsk-level-btn[data-v-05f3c4ce]:hover{border-color:#1a73e8;color:#1a73e8}.hsk-level-btn.active[data-v-05f3c4ce]{background:#10b981;border-color:#10b981;color:#fff}.overview-view[data-v-bfd7aca1]{width:100vw;height:100vh;overflow:hidden;background:#fafbfc;position:relative;font-family:system-ui,sans-serif}.overview-view[data-v-bfd7aca1]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(rgba(0,0,0,.03) 1px,transparent 1px);background-size:20px 20px;pointer-events:none}.controls-bar[data-v-bfd7aca1]{position:absolute;top:12px;left:12px;z-index:100;display:flex;align-items:center;gap:10px}.back-btn[data-v-bfd7aca1]{background:#0000000d;border:1px solid rgba(0,0,0,.1);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.8rem;color:#374151}.back-btn[data-v-bfd7aca1]:hover{background:#00000014}.mode-btn[data-v-bfd7aca1]{background:#1a73e81a;border:1px solid rgba(26,115,232,.3);color:#1a73e8;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;transition:background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}.mode-btn[data-v-bfd7aca1]:hover{background:#1a73e826}.mode-btn.active[data-v-bfd7aca1]{background:#1a73e8;color:#fff;border-color:#1a73e8}.title-block[data-v-bfd7aca1]{background:#0000000a;padding:6px 12px;border-radius:6px;display:flex;gap:12px;align-items:baseline}.title-label[data-v-bfd7aca1]{font-size:.85rem;font-weight:600;color:#1f2937}.title-meta[data-v-bfd7aca1]{font-size:.7rem;color:#6b7280}.loading-badge[data-v-bfd7aca1]{background:#1a73e8;color:#fff;padding:4px 10px;border-radius:4px;font-size:.7rem;font-weight:500}.info-panel[data-v-bfd7aca1]{position:absolute;top:12px;right:12px;width:240px;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;padding:14px;z-index:200;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 12px #00000014}.info-header[data-v-bfd7aca1]{display:flex;gap:10px;align-items:center;margin-bottom:8px}.info-char[data-v-bfd7aca1]{font-family:var(--font-hanzi, serif);font-size:2rem;color:#1f2937;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#00000008;border-radius:6px;border-bottom:2px solid transparent}.info-char.know-1[data-v-bfd7aca1]{border-color:var(--know-1)}.info-char.know-2[data-v-bfd7aca1]{border-color:var(--know-2)}.info-char.know-3[data-v-bfd7aca1]{border-color:var(--know-3)}.info-char.know-4[data-v-bfd7aca1]{border-color:var(--know-4)}.info-char.know-5[data-v-bfd7aca1]{border-color:var(--know-5)}.info-meta[data-v-bfd7aca1]{flex:1}.info-pinyin[data-v-bfd7aca1]{font-size:.9rem;color:#6b7280;margin-bottom:2px}.info-tag[data-v-bfd7aca1]{font-size:.6rem;padding:2px 5px;border-radius:3px;background:#10b981;color:#fff}.info-def[data-v-bfd7aca1]{font-size:.75rem;color:#6b7280;line-height:1.4;margin-bottom:10px}.info-similar[data-v-bfd7aca1]{margin-bottom:10px}.similar-label[data-v-bfd7aca1]{font-size:.6rem;color:#9ca3af;margin-bottom:4px;text-transform:uppercase}.similar-chips[data-v-bfd7aca1]{display:flex;flex-wrap:wrap;gap:3px}.similar-chip[data-v-bfd7aca1]{font-family:var(--font-hanzi, serif);font-size:.95rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#0000000a;border-radius:3px;cursor:pointer;color:#374151;transition:background .1s,color .1s}.similar-chip[data-v-bfd7aca1]:hover{background:#00000014}.similar-chip.in-graph[data-v-bfd7aca1]{background:#1a73e826;color:#1a73e8}.action-btn[data-v-bfd7aca1]{width:100%;padding:8px;border:none;border-radius:5px;font-weight:500;font-size:.75rem;cursor:pointer;background:#10b981;color:#fff}.action-btn[data-v-bfd7aca1]:hover{background:#059669}.slide-right-enter-active[data-v-bfd7aca1],.slide-right-leave-active[data-v-bfd7aca1]{transition:transform var(--transition-fast) ease,opacity var(--transition-fast) ease}.slide-right-enter-from[data-v-bfd7aca1],.slide-right-leave-to[data-v-bfd7aca1]{opacity:0;transform:translate(20px)}.graph-container[data-v-bfd7aca1]{width:100%;height:100%;cursor:grab}.graph-container[data-v-bfd7aca1]:active{cursor:grabbing}.graph-svg[data-v-bfd7aca1]{width:100%;height:100%}.graph-link[data-v-bfd7aca1]{stroke:#9ca3af;stroke-linecap:round}.graph-node[data-v-bfd7aca1]{cursor:grab}.graph-node.pan-mode[data-v-bfd7aca1]{cursor:default;pointer-events:none}.node-bg[data-v-bfd7aca1]{fill:#f0f3f5;stroke:#d1d5db;stroke-width:1;transition:x .3s ease,y .3s ease,width .3s ease,height .3s ease}.node-bg.know-1[data-v-bfd7aca1]{stroke:var(--know-1)}.node-bg.know-2[data-v-bfd7aca1]{stroke:var(--know-2)}.node-bg.know-3[data-v-bfd7aca1]{stroke:var(--know-3)}.node-bg.know-4[data-v-bfd7aca1]{stroke:var(--know-4)}.node-bg.know-5[data-v-bfd7aca1]{stroke:var(--know-5)}.graph-node.selected .node-bg[data-v-bfd7aca1]{stroke:#f59e0b;stroke-width:2;filter:drop-shadow(0 0 6px rgba(245,158,11,.4))}.graph-node.dragging[data-v-bfd7aca1]{cursor:grabbing}.graph-node.dragging .node-bg[data-v-bfd7aca1]{stroke:#f59e0b;stroke-width:2}.graph-node.hovered .node-bg[data-v-bfd7aca1]{stroke:#1a73e8;stroke-width:2;filter:drop-shadow(0 0 4px rgba(26,115,232,.4))}.graph-node.connected .node-bg[data-v-bfd7aca1]{stroke:#6b7280;stroke-width:1.5}.graph-node.unloaded .node-bg[data-v-bfd7aca1]{stroke-dasharray:2 2}.map-card[data-v-bfd7aca1]{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;background:var(--card-bg, white);border:1px solid var(--border-color, #e0e0e0);border-radius:6px;box-sizing:border-box;overflow:hidden;pointer-events:none}.map-card.know-1[data-v-bfd7aca1]{border-bottom:3px solid var(--know-1)}.map-card.know-2[data-v-bfd7aca1]{border-bottom:3px solid var(--know-2)}.map-card.know-3[data-v-bfd7aca1]{border-bottom:3px solid var(--know-3)}.map-card.know-4[data-v-bfd7aca1]{border-bottom:3px solid var(--know-4)}.map-card.know-5[data-v-bfd7aca1]{border-bottom:3px solid var(--know-5)}.graph-node.selected .map-card[data-v-bfd7aca1]{border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e84d,0 2px 8px #0000001a}.graph-node.hovered .map-card[data-v-bfd7aca1]{border-color:var(--accent-color, #c53929);box-shadow:0 2px 8px #0000001f}.map-card-body[data-v-bfd7aca1]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.map-card-char[data-v-bfd7aca1]{font-family:var(--font-hanzi, "Noto Sans SC", serif);color:var(--ink-color, #1a1a1a);font-weight:400;line-height:1}.map-card-pinyin[data-v-bfd7aca1]{color:var(--text-dim);line-height:1;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-card-hsk[data-v-bfd7aca1]{width:calc(100% + 2px);margin:-1px -1px 0;flex-shrink:0;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.3px;background:#dfe6e9;line-height:1.6}.map-card-hsk.hsk-beginner[data-v-bfd7aca1]{background:var(--hsk-1)}.map-card-hsk.hsk-intermediate[data-v-bfd7aca1]{background:var(--hsk-3)}.map-card-hsk.hsk-advanced[data-v-bfd7aca1]{background:var(--hsk-7-9)}.instructions[data-v-bfd7aca1]{position:absolute;bottom:12px;left:50%;transform:translate(-50%);font-size:.65rem;color:#9ca3af;background:#fffc;padding:4px 10px;border-radius:4px}.dev-controls[data-v-bfd7aca1]{position:absolute;bottom:12px;left:12px;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:10px 14px;z-index:100;display:flex;flex-direction:column;gap:6px;min-width:180px;box-shadow:0 4px 12px #00000014}.dev-controls.collapsed[data-v-bfd7aca1]{min-width:auto;padding:0;background:#fffc;border:none;box-shadow:none}.dev-toggle[data-v-bfd7aca1]{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#6b7280;background:#ffffffe6;border:1px solid rgba(0,0,0,.08);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);box-shadow:0 2px 6px #00000014;align-self:flex-end}.dev-toggle[data-v-bfd7aca1]:hover{color:#374151;background:#fff}.dev-title[data-v-bfd7aca1]{font-size:.65rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.sim-status[data-v-bfd7aca1]{display:flex;align-items:center;gap:6px;font-size:.7rem;color:#374151;margin-bottom:6px;background:#00000008;padding:4px;border-radius:4px}.status-indicator[data-v-bfd7aca1]{width:8px;height:8px;border-radius:50%;background:#d1d5db;transition:background .2s}.status-indicator.active[data-v-bfd7aca1]{background:#10b981;box-shadow:0 0 4px #10b981}.disp-val[data-v-bfd7aca1]{margin-left:auto;font-family:monospace;color:#6b7280}.action-btn.small[data-v-bfd7aca1]{padding:4px 8px;font-size:.7rem;margin-bottom:8px}.sim-controls[data-v-bfd7aca1]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.sim-controls .action-btn[data-v-bfd7aca1]{flex:1;margin-bottom:0}.sim-controls .action-btn.active[data-v-bfd7aca1]{background:#ef4444}.checkbox-label.small[data-v-bfd7aca1]{font-size:.65rem}.dev-controls label[data-v-bfd7aca1]{display:flex;flex-direction:column;font-size:.7rem;color:#6b7280;gap:2px}.dev-controls input[type=range][data-v-bfd7aca1]{width:100%;height:4px;background:#e5e7eb;border-radius:2px;cursor:pointer;-webkit-appearance:none}.dev-controls input[type=range][data-v-bfd7aca1]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#1a73e8;border-radius:50%;cursor:pointer}.dev-divider[data-v-bfd7aca1]{height:1px;background:#00000014;margin:4px 0}.checkbox-label[data-v-bfd7aca1]{display:flex;align-items:center;gap:6px;cursor:pointer}.checkbox-label input[type=checkbox][data-v-bfd7aca1]{width:14px;height:14px;cursor:pointer}.debug-values[data-v-bfd7aca1]{display:flex;flex-direction:column;gap:2px;font-size:.65rem;font-family:monospace;color:#6b7280;background:#00000008;padding:4px 6px;border-radius:4px}.filter-panel[data-v-bfd7aca1]{position:absolute;bottom:12px;right:12px;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:10px 14px;z-index:100;display:flex;flex-direction:column;gap:8px;min-width:140px;box-shadow:0 4px 12px #00000014}.filter-panel.collapsed[data-v-bfd7aca1]{padding:0;min-width:auto;background:transparent;border:none;box-shadow:none}.filter-toggle[data-v-bfd7aca1]{background:none;border:none;font-size:.7rem;font-weight:600;color:#6b7280;cursor:pointer;padding:4px 0;text-transform:uppercase;letter-spacing:.5px;text-align:left}.filter-toggle[data-v-bfd7aca1]:hover{color:#374151}.filter-panel.collapsed .filter-toggle[data-v-bfd7aca1]{background:#ffffffe6;border:1px solid rgba(0,0,0,.08);border-radius:6px;padding:6px 10px;box-shadow:0 2px 6px #00000014}.filter-panel .checkbox-label[data-v-bfd7aca1]{font-size:.75rem;color:#374151}.hsk-levels[data-v-bfd7aca1]{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.hsk-level-btn[data-v-bfd7aca1]{width:24px;height:24px;border:1px solid rgba(0,0,0,.15);border-radius:4px;background:transparent;color:#9ca3af;font-size:.7rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.hsk-level-btn[data-v-bfd7aca1]:hover{border-color:#1a73e8;color:#1a73e8}.hsk-level-btn.active[data-v-bfd7aca1]{background:#10b981;border-color:#10b981;color:#fff}.about-page[data-v-ea96bd8d]{height:100%;overflow-y:auto;padding:40px 24px 80px}.about-content[data-v-ea96bd8d]{max-width:880px;margin:0 auto}.about-hero[data-v-ea96bd8d]{margin-bottom:48px}.hero-heading[data-v-ea96bd8d]{font-size:1.3rem;font-weight:600;color:var(--text-dim);margin:0 0 16px;text-transform:uppercase;letter-spacing:1px}.hero-desc[data-v-ea96bd8d]{font-size:1.05rem;line-height:1.65;color:var(--text-color);margin:0}.features[data-v-ea96bd8d]{margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--border-color)}.feature-list[data-v-ea96bd8d]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.feature-list li[data-v-ea96bd8d]{display:flex;align-items:flex-start;gap:16px;font-size:.92rem;line-height:1.55;color:var(--text-color)}.feature-icon[data-v-ea96bd8d]{flex-shrink:0;width:62px;height:34px;display:flex;align-items:center;justify-content:center;font-family:var(--font-hanzi);font-size:.8rem;color:var(--text-muted);background:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;letter-spacing:-.5px;white-space:nowrap}.feature-list li strong[data-v-ea96bd8d]{color:var(--ink-color);font-weight:600}.section-knowledge[data-v-ea96bd8d]{margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--border-color)}.section-knowledge h2[data-v-ea96bd8d]{font-size:1.15rem;font-weight:600;color:var(--ink-color);margin:0 0 12px}.section-knowledge>p[data-v-ea96bd8d]{font-size:.92rem;line-height:1.6;color:var(--text-color);margin:0 0 24px}.knowledge-cards[data-v-ea96bd8d]{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:20px}.k-card[data-v-ea96bd8d]{display:flex;flex-direction:column;align-items:center;padding:14px 6px 10px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;border-bottom:4px solid transparent;transition:transform .15s}.k-card[data-v-ea96bd8d]:hover{transform:translateY(-2px)}.k-card.know-none[data-v-ea96bd8d]{border-bottom-color:var(--border-color);background:var(--card-bg)}.k-card.know-1[data-v-ea96bd8d]{border-bottom-color:var(--know-1);background:var(--know-bg-1)}.k-card.know-2[data-v-ea96bd8d]{border-bottom-color:var(--know-2);background:var(--know-bg-2)}.k-card.know-3[data-v-ea96bd8d]{border-bottom-color:var(--know-3);background:var(--know-bg-3)}.k-card.know-4[data-v-ea96bd8d]{border-bottom-color:var(--know-4);background:var(--know-bg-4)}.k-card.know-5[data-v-ea96bd8d]{border-bottom-color:var(--know-5);background:var(--know-bg-5)}.k-card-char[data-v-ea96bd8d]{font-family:var(--font-hanzi);font-size:1.8rem;color:var(--ink-color);line-height:1.2}.k-card-label[data-v-ea96bd8d]{font-size:.7rem;font-weight:600;color:var(--text-muted);margin-top:6px;text-transform:uppercase;letter-spacing:.3px}.k-card-desc[data-v-ea96bd8d]{font-size:.62rem;color:var(--text-dim);margin-top:2px;text-align:center;line-height:1.3}.knowledge-note[data-v-ea96bd8d]{font-size:.85rem;color:var(--text-muted);margin:0 0 16px;line-height:1.55}.demo-note[data-v-ea96bd8d]{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;color:var(--text-muted);line-height:1.55;padding:12px 14px;background:var(--bg-color);border-radius:6px;border:1px solid var(--border-color)}.demo-dot[data-v-ea96bd8d]{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--accent-color);margin-top:5px}.section-stats[data-v-ea96bd8d]{margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--border-color)}.stats-strip[data-v-ea96bd8d]{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-color);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.stat[data-v-ea96bd8d]{display:flex;flex-direction:column;align-items:center;padding:20px 12px;background:var(--card-bg)}.stat-num[data-v-ea96bd8d]{font-size:1.4rem;font-weight:700;color:var(--ink-color);letter-spacing:-.5px}.stat-label[data-v-ea96bd8d]{font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.section-attribution[data-v-ea96bd8d]{margin-bottom:48px}.section-attribution h2[data-v-ea96bd8d]{font-size:1.15rem;font-weight:600;color:var(--ink-color);margin:0 0 8px}.attribution-intro[data-v-ea96bd8d]{font-size:.88rem;color:var(--text-muted);line-height:1.55;margin:0 0 20px}.wip-list[data-v-ea96bd8d]{font-size:.88rem;color:var(--text-muted);line-height:1.8;padding-left:20px}.wip-list a[data-v-ea96bd8d]{color:var(--accent-color)}.source-list[data-v-ea96bd8d]{display:flex;flex-direction:column;gap:2px}.source-item[data-v-ea96bd8d]{padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--border-color) 50%,transparent)}.source-item[data-v-ea96bd8d]:last-child{border-bottom:none}.source-header[data-v-ea96bd8d]{display:flex;align-items:baseline;gap:10px;margin-bottom:2px}.source-name[data-v-ea96bd8d]{font-size:.9rem;font-weight:600;color:var(--ink-color);text-decoration:none}.source-name[data-v-ea96bd8d]:hover{color:var(--accent-color)}.source-license[data-v-ea96bd8d]{font-size:.68rem;color:var(--text-dim);background:var(--bg-color);padding:1px 6px;border-radius:3px;white-space:nowrap}.source-desc[data-v-ea96bd8d]{font-size:.82rem;color:var(--text-muted);margin:0;line-height:1.45}.about-footer[data-v-ea96bd8d]{padding-top:32px;border-top:1px solid var(--border-color);text-align:center}.footer-contact[data-v-ea96bd8d]{margin-bottom:16px}.footer-contact a[data-v-ea96bd8d]{font-size:.88rem;color:var(--text-muted);text-decoration:none;border-bottom:1px solid var(--border-color);padding-bottom:1px}.footer-contact a[data-v-ea96bd8d]:hover{color:var(--accent-color);border-color:var(--accent-color)}.footer-making-of[data-v-ea96bd8d]{font-size:.88rem;color:var(--text-muted);line-height:1.55;margin-bottom:20px}.footer-making-of a[data-v-ea96bd8d]{color:var(--accent-color);text-decoration:none;font-weight:500}.footer-making-of a[data-v-ea96bd8d]:hover{text-decoration:underline}@media (max-width: 600px){.about-page[data-v-ea96bd8d]{padding:24px 16px 60px}.hero-heading[data-v-ea96bd8d]{font-size:1.1rem}.knowledge-cards[data-v-ea96bd8d]{grid-template-columns:repeat(3,1fr);gap:8px}.stats-strip[data-v-ea96bd8d]{grid-template-columns:repeat(2,1fr)}.feature-icon[data-v-ea96bd8d]{display:none}}.about-page[data-v-6b8291e8]{height:100%;display:flex;flex-direction:column;overflow:hidden}.hero[data-v-6b8291e8]{display:block;padding:24px 20px 20px;border-bottom:1px solid var(--border-color);background:linear-gradient(180deg,#fafafa 0%,transparent 100%);flex-shrink:0;text-align:center}.hero h1[data-v-6b8291e8],.hero .subtitle[data-v-6b8291e8],.hero .intro-text[data-v-6b8291e8]{display:block;width:100%}.hero .intro-text[data-v-6b8291e8]{max-width:700px;margin:0 auto;text-align:left}.hero h1[data-v-6b8291e8]{font-size:1.6rem;font-weight:600;color:var(--ink-color);margin:0 0 4px;line-height:1.2}.subtitle[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text-muted);margin:0 0 16px}.intro-text[data-v-6b8291e8]{max-width:700px}.intro-text p[data-v-6b8291e8]{font-size:.9rem;line-height:1.55;color:var(--text-color);margin:0 0 8px}.intro-text em[data-v-6b8291e8]{font-style:italic;color:var(--accent-color)}.hear-hear[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text-muted);padding-left:12px;border-left:3px solid var(--accent-color);margin-top:12px!important}.loading[data-v-6b8291e8],.error[data-v-6b8291e8]{text-align:center;padding:40px;color:var(--text-muted)}.error[data-v-6b8291e8]{color:var(--color-error)}.three-columns[data-v-6b8291e8]{display:grid;grid-template-columns:280px 1fr 180px;gap:0;flex:1;min-height:0;overflow:hidden}.left-column[data-v-6b8291e8]{border-right:1px solid var(--border-color);padding:16px;overflow-y:auto;background:#fafafa}.stats-exchange[data-v-6b8291e8]{background:#fff;border:1px solid var(--border-color);border-radius:6px;padding:16px;margin-bottom:16px;text-align:center}.exchange-row[data-v-6b8291e8]{display:flex;align-items:baseline;justify-content:center;gap:6px}.exchange-label[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--text-muted);text-transform:uppercase}.exchange-value[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:1.6rem;font-weight:700;color:var(--ink-color)}.exchange-row.output .exchange-value[data-v-6b8291e8]{color:var(--accent-color)}.exchange-unit[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-dim)}.exchange-arrow[data-v-6b8291e8]{font-size:1.2rem;color:var(--text-dim);margin:4px 0}.exchange-ratio[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--accent-color);margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color);font-weight:600}.stats-row[data-v-6b8291e8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:0 4px}.stat-mini[data-v-6b8291e8]{display:flex;align-items:baseline;gap:4px}.stat-num[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:1.1rem;font-weight:600;color:var(--ink-color)}.stat-txt[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--text-muted)}.source-dots[data-v-6b8291e8]{display:flex;align-items:center;gap:4px}.source-count[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--text-muted);margin-right:6px}.dot[data-v-6b8291e8]{width:8px;height:8px;border-radius:2px}.dot.claude[data-v-6b8291e8]{background:#d97706}.dot.gemini[data-v-6b8291e8]{background:#4285f4}.daily-section[data-v-6b8291e8]{margin-bottom:20px}.daily-section h3[data-v-6b8291e8],.category-section h3[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin:0 0 10px}.daily-list[data-v-6b8291e8]{display:flex;flex-direction:column;gap:3px}.daily-row[data-v-6b8291e8]{display:flex;align-items:center;gap:6px;cursor:pointer;padding:3px 4px;border-radius:3px;transition:background .15s}.daily-row[data-v-6b8291e8]:hover{background:#fff}.daily-date[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--text-muted);width:85px;flex-shrink:0}.daily-bar-track[data-v-6b8291e8]{flex:1;height:8px;background:#e8e8e8;border-radius:2px;overflow:hidden}.daily-bar-fill[data-v-6b8291e8]{height:100%;display:flex;border-radius:2px;overflow:hidden}.daily-segment[data-v-6b8291e8]{flex:1;min-width:4px}.daily-count[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--text-dim);width:24px;text-align:right}.category-section[data-v-6b8291e8]{margin-bottom:16px}.category-list[data-v-6b8291e8]{display:flex;flex-direction:column;gap:2px}.category-row[data-v-6b8291e8]{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:3px;cursor:pointer;transition:background .15s}.category-row[data-v-6b8291e8]:hover{background:#fff}.category-row.active[data-v-6b8291e8]{background:#fff;box-shadow:inset 0 0 0 1px var(--border-color)}.cat-dot[data-v-6b8291e8]{width:8px;height:8px;border-radius:2px;flex-shrink:0}.cat-label[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-color);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-count[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--text-dim)}.clear-filter[data-v-6b8291e8]{margin-top:8px;font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--accent-color);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}.picks-button-wrap[data-v-6b8291e8]{margin-bottom:16px}.picks-button-wrap.has-border[data-v-6b8291e8]{padding-bottom:16px;border-bottom:1px solid var(--border-color)}.picks-button[data-v-6b8291e8]{display:block;width:100%;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;padding:8px 12px;border:1px solid var(--border-color);border-radius:5px;background:#fff;color:var(--text-color);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast);text-align:center}.picks-button[data-v-6b8291e8]:hover{border-color:var(--accent-color);color:var(--accent-color)}.picks-button.active[data-v-6b8291e8]{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.picks-view[data-v-6b8291e8]{display:flex;flex-direction:column;height:100%;overflow:hidden}.picks-top-bar[data-v-6b8291e8]{padding:10px 20px;border-bottom:1px solid var(--border-color);background:#fafafa;flex-shrink:0}.picks-back[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--accent-color);background:none;border:none;padding:4px 0;cursor:pointer;font-weight:500}.picks-back[data-v-6b8291e8]:hover{text-decoration:underline}.picks-content[data-v-6b8291e8]{flex:1;overflow-y:auto;padding:0 20px 24px}.picks-hero[data-v-6b8291e8]{text-align:center;padding:24px 0 20px}.picks-hero h1[data-v-6b8291e8]{font-size:1.4rem;font-weight:600;color:var(--ink-color);margin:0 0 6px}.picks-tagline[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-dim);margin:0}.picks-grid[data-v-6b8291e8]{display:flex;flex-direction:column;gap:10px}.pick-card[data-v-6b8291e8]{display:flex;gap:12px;padding:12px;background:#fafafa;border:1px solid var(--border-color);border-radius:5px;transition:border-color .15s}.pick-card[data-v-6b8291e8]:hover{border-color:var(--border-soft)}.pick-num[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:700;color:var(--accent-color);min-width:18px;padding-top:1px;opacity:.6}.pick-body[data-v-6b8291e8]{flex:1;min-width:0}.pick-title[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.78rem;font-weight:600;color:var(--ink-color);margin:0 0 6px}.pick-stat[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--accent-color);margin-bottom:6px;font-weight:500}.pick-quote[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.72rem;line-height:1.45;color:var(--text-muted);padding:4px 0 4px 10px;border-left:2px solid #e0e0e0;white-space:pre-wrap;word-break:break-word}.pick-sequence[data-v-6b8291e8]{display:flex;flex-direction:column;gap:3px;margin-bottom:2px}.pick-commentary[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.72rem;line-height:1.5;color:var(--text-color);margin:6px 0 0;font-style:italic}.picks-footer[data-v-6b8291e8]{display:flex;gap:16px;padding:10px 20px 14px;flex-wrap:wrap}.picks-footer-stat[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--text-dim);background:var(--bg-hover);padding:2px 8px;border-radius:3px}.center-column[data-v-6b8291e8]{display:flex;flex-direction:column;overflow:hidden}.timeline-view[data-v-6b8291e8]{flex:1;overflow-y:auto}.filter-bar[data-v-6b8291e8]{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--border-color);background:#fafafa;position:sticky;top:0;z-index:5}.filter-group select[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.75rem;padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;background:#fff;color:var(--text-color)}.filter-count[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--text-dim)}.timeline[data-v-6b8291e8]{padding:16px 20px}.day-group[data-v-6b8291e8]{margin-bottom:20px}.day-header[data-v-6b8291e8]{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:6px;border-bottom:2px solid var(--ink-color)}.day-date[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:600;color:var(--ink-color)}.day-count[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.6rem;color:var(--text-dim);text-transform:uppercase}.day-screenshot[data-v-6b8291e8]{margin-bottom:12px;border-radius:6px;overflow:hidden;border:1px solid var(--border-color);max-width:700px}.day-screenshot img[data-v-6b8291e8]{width:100%;display:block}.screenshot-caption[data-v-6b8291e8]{display:block;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--text-muted);background:#fafafa;border-top:1px solid var(--border-color)}.prompt-list[data-v-6b8291e8]{display:flex;flex-direction:column;gap:6px}.prompt-card[data-v-6b8291e8]{display:flex;background:#fff;border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.prompt-sidebar[data-v-6b8291e8]{width:90px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:8px 4px;border-left:4px solid;border-left-color:inherit;background-color:color-mix(in srgb,var(--sidebar-color) 15%,white)}.prompt-sidebar .prompt-label[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.6rem;font-weight:600;color:inherit;text-transform:uppercase;letter-spacing:.3px;text-align:center;word-break:break-word;line-height:1.3}.prompt-content[data-v-6b8291e8]{flex:1;padding:10px 12px;min-width:0}.prompt-card.is-noise[data-v-6b8291e8]{opacity:.5;cursor:pointer}.prompt-card.is-noise[data-v-6b8291e8]:hover{opacity:.7}.prompt-card.is-collapsed .prompt-text[data-v-6b8291e8]{max-height:2.8em;overflow:hidden;position:relative}.prompt-card.is-collapsed .prompt-text[data-v-6b8291e8]:after{content:"... (click to expand)";position:absolute;right:0;bottom:0;background:linear-gradient(90deg,transparent,white 20%);padding-left:30px;color:var(--text-muted);font-size:.7rem}.prompt-meta[data-v-6b8291e8]{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.prompt-time[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--text-dim)}.prompt-source[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.55rem;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:3px;font-weight:500}.prompt-source.claude[data-v-6b8291e8]{background:#fef3c7;color:#92400e}.prompt-source.gemini[data-v-6b8291e8]{background:#dbeafe;color:#1e40af}.prompt-work[data-v-6b8291e8]{display:flex;align-items:center;gap:2px;margin-left:auto}.work-bar[data-v-6b8291e8]{width:3px;height:10px;background:#e0e0e0;border-radius:1px}.work-bar.active[data-v-6b8291e8]{background:var(--accent-color)}.work-num[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.55rem;color:var(--text-dim);margin-left:4px;min-width:16px}.prompt-text[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.8rem;line-height:1.5;color:var(--ink-color);white-space:pre-wrap;word-break:break-word}.prompt-char[data-v-6b8291e8]{color:var(--accent-color);margin-right:6px;font-weight:600}.right-column[data-v-6b8291e8]{border-left:1px solid var(--border-color);padding:16px 12px;overflow-y:auto;background:#fafafa}.right-column h3[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin:0 0 12px}.screenshots-list[data-v-6b8291e8]{display:flex;flex-direction:column;gap:12px}.screenshot-thumb[data-v-6b8291e8]{cursor:pointer;border-radius:4px;overflow:hidden;border:1px solid var(--border-color);background:#fff;transition:box-shadow .15s,transform .15s}.screenshot-thumb[data-v-6b8291e8]:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.screenshot-thumb img[data-v-6b8291e8]{width:100%;display:block}.thumb-meta[data-v-6b8291e8]{padding:6px 8px;border-top:1px solid var(--border-color)}.thumb-date[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.6rem;color:var(--ink-color);display:block;font-weight:500}.thumb-caption[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.55rem;color:var(--text-muted);display:block;margin-top:2px;line-height:1.3}.no-screenshots[data-v-6b8291e8]{font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--text-dim);padding:20px 10px;text-align:center;line-height:1.5}@media (max-width: 900px){.three-columns[data-v-6b8291e8]{grid-template-columns:220px 1fr}.right-column[data-v-6b8291e8]{display:none}}@media (max-width: 600px){.three-columns[data-v-6b8291e8]{grid-template-columns:1fr}.left-column[data-v-6b8291e8]{display:none}.hero h1[data-v-6b8291e8]{font-size:1.4rem}.timeline[data-v-6b8291e8]{padding:16px}}.expr-container[data-v-8a4d9c18]{max-width:800px;margin:0 auto;padding:2rem}h1[data-v-8a4d9c18]{margin-bottom:.25rem}.expr-zh[data-v-8a4d9c18]{font-weight:400;font-size:1.2rem;opacity:.5;margin-left:.5rem}.expr-subtitle[data-v-8a4d9c18]{opacity:.6;margin-bottom:1.5rem}.tier-tabs[data-v-8a4d9c18]{display:flex;gap:.5rem;margin-bottom:.75rem}.tier-tab[data-v-8a4d9c18]{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-color);cursor:pointer;font-size:.9rem;transition:background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}.tier-tab[data-v-8a4d9c18]:hover{background:var(--btn-secondary-hover)}.tier-tab.active[data-v-8a4d9c18]{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.tier-count[data-v-8a4d9c18]{font-size:.75rem;opacity:.7;margin-left:.3rem}.tier-desc[data-v-8a4d9c18]{font-size:.85rem;opacity:.5;margin-bottom:1.5rem}.expr-list[data-v-8a4d9c18]{display:grid;grid-template-columns:30px auto auto 1fr 70px;column-gap:1rem}.expr-item[data-v-8a4d9c18]{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--border-color, #222);cursor:pointer;transition:background .15s}.expr-item[data-v-8a4d9c18]:hover{background:var(--card-bg)}.expr-item.expanded[data-v-8a4d9c18]{background:var(--card-bg);border-bottom-color:transparent}.expr-rank[data-v-8a4d9c18]{font-size:.7rem;opacity:.25;text-align:right;font-variant-numeric:tabular-nums}.expr-phrase[data-v-8a4d9c18]{font-size:1.15rem;display:flex;gap:1px;white-space:nowrap}.expr-pinyin[data-v-8a4d9c18]{font-size:.8rem;color:var(--accent-color);opacity:.5;white-space:nowrap}.expr-en[data-v-8a4d9c18]{font-size:.85rem;opacity:.55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expr-freq[data-v-8a4d9c18]{position:relative;height:20px;display:flex;align-items:center}.freq-bar[data-v-8a4d9c18]{width:100%;height:4px;background:var(--border-light);border-radius:2px;overflow:hidden}.freq-fill[data-v-8a4d9c18]{height:100%;background:var(--accent-color);opacity:.4;border-radius:2px}.freq-num[data-v-8a4d9c18]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-end;font-size:.7rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;opacity:0;transition:opacity .15s;background:var(--card-bg, #fff)}.expr-item:hover .freq-num[data-v-8a4d9c18]{opacity:1}.ex-token[data-v-8a4d9c18]{text-decoration:none;color:inherit;padding:0 2px;border-bottom:2px solid transparent}.ex-token.know-1[data-v-8a4d9c18]{border-color:var(--know-1);background:var(--know-bg-1)}.ex-token.know-2[data-v-8a4d9c18]{border-color:var(--know-2);background:var(--know-bg-2)}.ex-token.know-3[data-v-8a4d9c18]{border-color:var(--know-3);background:var(--know-bg-3)}.ex-token.know-4[data-v-8a4d9c18]{border-color:var(--know-4);background:var(--know-bg-4)}.ex-token.know-5[data-v-8a4d9c18]{border-color:var(--know-5);background:var(--know-bg-5)}.expr-detail[data-v-8a4d9c18]{grid-column:1 / -1;padding:.5rem 0 1rem calc(30px + 1rem);border-bottom:1px solid var(--border-color, #222);background:var(--card-bg)}.detail-section[data-v-8a4d9c18]{margin-bottom:.75rem}.detail-section[data-v-8a4d9c18]:last-child{margin-bottom:0}.detail-label[data-v-8a4d9c18]{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;opacity:.4;margin-bottom:.4rem}.alt-translations[data-v-8a4d9c18]{display:flex;flex-wrap:wrap;gap:.4rem}.alt-tag[data-v-8a4d9c18]{font-size:.8rem;padding:.15rem .5rem;border-radius:4px;background:var(--border-color);opacity:.8}.examples-loading[data-v-8a4d9c18]{font-size:.8rem;opacity:.4;padding:.25rem 0}.examples-list[data-v-8a4d9c18]{display:flex;flex-direction:column;gap:.5rem}.example-sentence[data-v-8a4d9c18]{font-size:.85rem;line-height:1.5}.example-zh[data-v-8a4d9c18]{font-size:1rem}.example-zh[data-v-8a4d9c18] mark{background:var(--accent-color);color:#fff;padding:0 2px;border-radius:2px}.example-en[data-v-8a4d9c18]{opacity:.5;font-size:.8rem}.load-more[data-v-8a4d9c18]{margin:1.5rem auto;display:block;padding:.6rem 2rem;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-color);cursor:pointer;font-size:.9rem}.load-more[data-v-8a4d9c18]:hover{background:var(--btn-secondary-hover)}.loading[data-v-8a4d9c18]{padding:2rem;text-align:center;opacity:.5}.login-page[data-v-9d4f763d]{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 60px);padding:20px}.login-card[data-v-9d4f763d]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:32px;width:100%;max-width:380px}.login-card h2[data-v-9d4f763d]{text-align:center;margin:0 0 24px;font-size:1.5rem}.login-hanzi[data-v-9d4f763d]{font-family:var(--font-hanzi);font-size:1.8rem;margin-right:4px}.tab-bar[data-v-9d4f763d]{display:flex;gap:0;margin-bottom:20px;border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.tab-bar button[data-v-9d4f763d]{flex:1;padding:8px;border:none;background:transparent;cursor:pointer;font-size:.9rem;color:var(--text-color);transition:background .15s}.tab-bar button.active[data-v-9d4f763d]{background:var(--accent-color);color:#fff;font-weight:600}.login-form[data-v-9d4f763d]{display:flex;flex-direction:column;gap:12px}.login-form input[data-v-9d4f763d]{padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;background:var(--bg-color);color:var(--text-color)}.login-form input[data-v-9d4f763d]:focus{outline:none;border-color:var(--accent-color)}.challenge-label[data-v-9d4f763d]{font-size:.85rem;color:var(--text-secondary);display:flex;flex-direction:column;gap:4px}.login-error[data-v-9d4f763d]{color:var(--accent-color);font-size:.9rem;margin-top:12px;text-align:center}.login-hint[data-v-9d4f763d]{text-align:center;font-size:.85rem;color:var(--text-secondary);margin-top:16px}.login-hint a[data-v-9d4f763d]{color:var(--accent-color)}.comp-index[data-v-f0182896]{width:100%;max-width:960px;margin:0 auto;padding:16px;box-sizing:border-box}.page-header[data-v-f0182896]{text-align:center;margin-bottom:20px}.page-title[data-v-f0182896]{color:var(--ink-color);margin:0 0 4px;font-size:1.4rem;font-weight:600}.page-subtitle[data-v-f0182896]{color:var(--text-muted);font-size:.85rem;margin:0}.sidebar-buttons[data-v-f0182896]{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.sidebar-count[data-v-f0182896]{font-size:.72rem;color:var(--text-dim);text-align:center;padding:10px 0;margin-top:10px;border-top:1px solid var(--border-color)}.filter-btn[data-v-f0182896]{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--card-bg);font-size:.75rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.filter-btn[data-v-f0182896]:hover{border-color:var(--text-dim)}.filter-btn.active[data-v-f0182896]{border-color:var(--accent-color);background:var(--accent-color);color:#fff}.filter-count[data-v-f0182896]{font-size:.72rem;font-weight:700;color:var(--text-muted);margin-left:auto}.filter-btn.active .filter-count[data-v-f0182896]{color:#fff9}.pos-hi[data-v-f0182896]{fill:var(--text-secondary)}.pos-lo[data-v-f0182896]{fill:var(--border-color)}.pos-inner[data-v-f0182896]{fill:var(--card-bg)}.filter-btn.active .pos-hi[data-v-f0182896]{fill:#fff}.filter-btn.active .pos-lo[data-v-f0182896]{fill:#ffffff40}.filter-btn.active .pos-inner[data-v-f0182896]{fill:var(--accent-color)}.role-swatch[data-v-f0182896]{width:8px;height:8px;border-radius:2px;flex-shrink:0}.role-swatch.meaning[data-v-f0182896]{background:#c0392b}.role-swatch.sound[data-v-f0182896]{background:#2980b9}.role-swatch.iconic[data-v-f0182896]{background:#8e44ad}.filter-btn.active .role-swatch[data-v-f0182896]{background:#fff}.comp-grid--flat[data-v-f0182896]{margin-top:16px}.stroke-nav[data-v-f0182896]{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;margin-bottom:24px;position:sticky;top:0;background:var(--bg-color);padding:8px 0;z-index:5}.stroke-nav-btn[data-v-f0182896]{padding:3px 7px;font-size:.75rem;font-weight:600;background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;color:var(--text-color);transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.stroke-nav-btn[data-v-f0182896]:hover{border-color:var(--accent-color);color:var(--accent-color)}.stroke-nav-btn.active[data-v-f0182896]{border-color:var(--accent-color);color:#fff;background:var(--accent-color)}.stroke-section[data-v-f0182896]{scroll-margin-top:60px;margin-bottom:12px}.stroke-divider[data-v-f0182896]{display:flex;align-items:baseline;gap:6px;margin:20px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border-color)}.stroke-num[data-v-f0182896]{font-size:1.1rem;font-weight:700;color:var(--ink-color)}.stroke-text[data-v-f0182896]{font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px}.stroke-count-badge[data-v-f0182896]{margin-left:auto;font-size:.68rem;font-weight:600;color:var(--text-dim);background:#0000000a;padding:2px 8px;border-radius:10px}.comp-grid[data-v-f0182896]{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px}.comp-card[data-v-f0182896]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:96px;padding:4px 6px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--card-radius);cursor:pointer;transition:transform var(--transition-fast) ease,box-shadow var(--transition-fast) ease,border-color var(--transition-fast) ease;position:relative;box-shadow:0 1px 2px #0000000a;overflow:hidden}.comp-card[data-v-f0182896]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;border-color:var(--accent-color)}.comp-card:hover .comp-char[data-v-f0182896]{color:var(--accent-color)}.comp-variants[data-v-f0182896]{position:absolute;top:3px;left:5px;display:flex;gap:2px;font-family:var(--font-hanzi);font-size:.75rem;color:var(--text-dim)}.comp-count[data-v-f0182896]{position:absolute;top:3px;right:5px;font-size:1rem;font-weight:700;color:var(--ink-color);opacity:.2}.comp-char[data-v-f0182896]{font-family:var(--font-hanzi);font-size:1.8rem;color:var(--ink-color);line-height:1.2;transition:color .15s}.comp-pinyin[data-v-f0182896]{font-size:.65rem;color:var(--text-secondary);margin-top:1px}.comp-meaning[data-v-f0182896]{position:absolute;bottom:4px;left:4px;right:4px;font-size:.62rem;color:var(--ink-color);opacity:.2;text-align:center;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading-state[data-v-f0182896]{text-align:center;padding:40px;color:var(--text-secondary)}.error-state[data-v-f0182896]{text-align:center;color:var(--color-error);padding:20px}@media (max-width: 600px){.comp-grid[data-v-f0182896]{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}.comp-card[data-v-f0182896]{height:84px}.comp-char[data-v-f0182896]{font-size:1.5rem}}.comp-detail[data-v-3706bb25]{width:100%;max-width:min(900px,100vw);margin:0 auto;padding:16px;box-sizing:border-box}.loading-state[data-v-3706bb25]{text-align:center;padding:40px;color:var(--text-secondary)}.error-state[data-v-3706bb25]{text-align:center;color:var(--color-error);padding:20px}.hero[data-v-3706bb25]{display:flex;align-items:flex-start;gap:20px;margin-bottom:24px;padding:20px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--card-radius)}.hero-stroke[data-v-3706bb25]{flex-shrink:0;position:relative}.stroke-container[data-v-3706bb25]{width:120px;height:120px}.replay-btn[data-v-3706bb25]{position:absolute;top:2px;left:2px;background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--text-dim);padding:2px 4px;border-radius:4px;line-height:1}.replay-btn[data-v-3706bb25]:hover{color:var(--accent-color)}.hero-info[data-v-3706bb25]{flex:1;min-width:0}.hero-pinyin[data-v-3706bb25]{font-size:1.1rem;color:var(--text-muted);margin-bottom:4px}.hero-definition[data-v-3706bb25]{font-size:1rem;color:var(--text-color);margin-bottom:8px}.hero-meta[data-v-3706bb25]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.meta-tag[data-v-3706bb25]{font-size:.75rem;padding:2px 8px;border-radius:4px;background:#0000000a;color:var(--text-muted)}.meta-tag--kangxi[data-v-3706bb25]{background:#3498db1a;color:#2980b9}.hero-links[data-v-3706bb25]{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.variant-group[data-v-3706bb25]{font-size:.85rem;color:var(--text-muted)}.variant-link[data-v-3706bb25]{font-family:var(--font-hanzi);font-size:1.2rem;color:var(--accent-color);margin-left:4px}.hero-action[data-v-3706bb25]{font-size:.82rem;color:var(--accent-color)}.hero-action[data-v-3706bb25]:hover{text-decoration:underline}.hero-card[data-v-3706bb25]{width:76px;flex-shrink:0}.hero-right[data-v-3706bb25]{flex-shrink:0;border-left:1px solid var(--border-color);padding-left:16px}.hero-roles[data-v-3706bb25]{display:flex;flex-direction:column;gap:2px}.role-row[data-v-3706bb25]{display:flex;align-items:center;gap:6px;padding:4px 8px;border:none;background:none;border-radius:4px;cursor:pointer;transition:background var(--transition-fast);white-space:nowrap}.role-row[data-v-3706bb25]:hover{background:#00000008}.role-row--active[data-v-3706bb25]{background:#3498db14}.role-row-label[data-v-3706bb25]{font-size:.78rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.03em}.role-row--active .role-row-label[data-v-3706bb25]{color:var(--accent-color)}.role-row-count[data-v-3706bb25]{font-size:.72rem;color:var(--text-muted);font-weight:600}.role-row-recursive[data-v-3706bb25]{font-size:.72rem;color:var(--text-faint);font-weight:400}.role-icon[data-v-3706bb25]{flex-shrink:0}.role-section[data-v-3706bb25]{margin-bottom:24px}.role-title[data-v-3706bb25]{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.role-count[data-v-3706bb25]{font-weight:400;color:var(--text-dim)}.role-grid[data-v-3706bb25]{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:6px}.show-all-btn[data-v-3706bb25]{display:block;margin:10px auto 0;padding:6px 16px;font-size:.8rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--accent-color);cursor:pointer;transition:border-color var(--transition-fast)}.show-all-btn[data-v-3706bb25]:hover{border-color:var(--accent-color)}.hero-etym[data-v-3706bb25]{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.etym-btn[data-v-3706bb25]{display:flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--card-bg);font-size:.75rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.etym-btn[data-v-3706bb25]:hover{border-color:var(--text-dim)}.etym-btn.active[data-v-3706bb25]{border-color:var(--ink-color);background:var(--ink-color);color:#fff}.etym-count[data-v-3706bb25]{font-size:.72rem;font-weight:600;color:var(--text-muted)}.etym-btn.active .etym-count[data-v-3706bb25]{color:#fff9}.etym-swatch[data-v-3706bb25]{width:8px;height:8px;border-radius:2px;flex-shrink:0}.etym-swatch.meaning[data-v-3706bb25]{background:#c0392b}.etym-swatch.sound[data-v-3706bb25]{background:#2980b9}.etym-swatch.iconic[data-v-3706bb25]{background:#8e44ad}.etym-btn.active .etym-swatch[data-v-3706bb25]{background:#fff}.card-indirect[data-v-3706bb25]{opacity:.45}.card-indirect[data-v-3706bb25]:hover{opacity:1}@media (max-width: 600px){.hero[data-v-3706bb25]{flex-wrap:wrap}.hero-right[data-v-3706bb25]{border-left:none;border-top:1px solid var(--border-color);padding-left:0;padding-top:12px;flex-wrap:wrap;width:100%}.hero-roles[data-v-3706bb25]{flex-direction:row;flex-wrap:wrap}}@media (max-width: 500px){.hero[data-v-3706bb25]{flex-direction:column;align-items:center;text-align:center}.hero-meta[data-v-3706bb25],.hero-links[data-v-3706bb25],.hero-right[data-v-3706bb25]{justify-content:center}}.pinyin-chart-view[data-v-cd450bcb]{width:100%;max-width:1400px;margin:0 auto;padding:24px 16px}.chart-header[data-v-cd450bcb]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.header-left[data-v-cd450bcb]{display:flex;align-items:baseline;gap:10px}.chart-header h1[data-v-cd450bcb]{font-size:1.3rem;font-weight:700;margin:0;color:var(--ink-color)}.header-stat[data-v-cd450bcb]{font-size:.75rem;color:var(--text-dim);font-weight:500}.chart-filters[data-v-cd450bcb]{display:flex;align-items:center;gap:10px}.tone-filters[data-v-cd450bcb]{display:flex;gap:3px}.tone-filters button[data-v-cd450bcb]{padding:5px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--card-bg);color:var(--text-muted);font-size:.78rem;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast);font-weight:500}.tone-filters button[data-v-cd450bcb]:hover{border-color:var(--text-dim);color:var(--text-color)}.tone-filters button.active[data-v-cd450bcb]{border-color:var(--accent-color);background:var(--accent-color);color:#fff}.learning-toggle[data-v-cd450bcb]{padding:5px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--card-bg);color:var(--text-muted);font-size:.78rem;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast);font-weight:500;white-space:nowrap}.learning-toggle[data-v-cd450bcb]:hover{border-color:var(--text-dim);color:var(--text-color)}.learning-toggle.active[data-v-cd450bcb]{border-color:var(--accent-color);background:var(--accent-color);color:#fff}.tone-icon[data-v-cd450bcb]{width:18px;height:13px;vertical-align:-1px;margin-left:2px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.35}.loading[data-v-cd450bcb]{text-align:center;padding:60px 20px;color:var(--text-dim);font-size:.9rem}.chart-scroll-wrap[data-v-cd450bcb]{position:relative}.chart-scroll-wrap.has-overflow[data-v-cd450bcb]:after{content:"";position:absolute;right:0;top:0;bottom:0;width:24px;background:linear-gradient(to right,transparent,rgba(255,255,255,.8));pointer-events:none;z-index:4;border-radius:0 10px 10px 0}.chart-scroll[data-v-cd450bcb]{overflow-x:auto;overflow-y:hidden;border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg);box-shadow:0 2px 8px #0000000f,0 0 0 1px #00000005;-webkit-overflow-scrolling:touch}.pinyin-table[data-v-cd450bcb]{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.pinyin-table th[data-v-cd450bcb],.pinyin-table td[data-v-cd450bcb]{text-align:center;font-size:.72rem;border-right:1px solid rgba(0,0,0,.04);border-bottom:1px solid rgba(0,0,0,.04)}.pinyin-table th[data-v-cd450bcb]:last-child,.pinyin-table td[data-v-cd450bcb]:last-child{border-right:none}.pinyin-table tbody tr:last-child td[data-v-cd450bcb],.pinyin-table tbody tr:last-child th[data-v-cd450bcb]{border-bottom:none}.group-boundary th[data-v-cd450bcb],.group-boundary td[data-v-cd450bcb]{border-top:8px solid var(--bg-hover)}.col-header.group-start[data-v-cd450bcb],.chart-cell.group-start[data-v-cd450bcb]{border-left:8px solid var(--bg-hover)}.final-group-header[data-v-cd450bcb]{position:sticky;top:0;z-index:2;background:var(--bg-subtle);padding:4px 0;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);border-bottom:none;white-space:nowrap}.corner[data-v-cd450bcb]{position:sticky;left:0;z-index:3;background:var(--bg-subtle);border-right:1px solid var(--border-color)}.corner-top[data-v-cd450bcb]{top:0;height:22px;border-bottom:none}.corner-bottom[data-v-cd450bcb]{top:22px;border-bottom:1px solid var(--border-color)}.group-label-cell[data-v-cd450bcb]{position:sticky;left:0;z-index:1;background:var(--bg-subtle);width:20px;min-width:20px;max-width:20px;padding:0;border-right:none;border-bottom:1px solid rgba(0,0,0,.04);vertical-align:middle}.group-label-text[data-v-cd450bcb]{display:block;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);padding:2px;white-space:nowrap;line-height:1;margin:0 auto}.col-header[data-v-cd450bcb]{position:sticky;top:22px;z-index:2;background:var(--bg-hover);padding:8px 5px;border-bottom:1px solid var(--border-color);cursor:pointer;font-weight:600;color:var(--text-muted);letter-spacing:.01em;transition:color .1s,background .1s;-webkit-user-select:none;user-select:none;white-space:nowrap}.col-header[data-v-cd450bcb]:hover,.col-header.hovered[data-v-cd450bcb]{color:var(--ink-color);background:var(--btn-secondary-hover)}.col-header.selected[data-v-cd450bcb]{color:var(--accent-color);background:var(--btn-secondary-hover);box-shadow:inset 0 -2px 0 var(--accent-color)}.row-header[data-v-cd450bcb]{position:sticky;left:20px;z-index:1;background:var(--bg-hover);padding:4px 7px;border-right:1px solid var(--border-color);min-width:36px;width:36px;cursor:pointer;font-weight:600;color:var(--text-muted);letter-spacing:.01em;transition:color .1s,background .1s;-webkit-user-select:none;user-select:none}.row-header[data-v-cd450bcb]:hover,.row-header.hovered[data-v-cd450bcb]{color:var(--ink-color);background:var(--btn-secondary-hover)}.row-header.selected[data-v-cd450bcb]{color:var(--accent-color);background:var(--btn-secondary-hover);box-shadow:inset -2px 0 0 var(--accent-color)}.chart-cell[data-v-cd450bcb]{height:30px;padding:2px 3px;cursor:default;position:relative;vertical-align:middle;white-space:nowrap;background:var(--card-bg);transition:box-shadow .1s}.chart-cell.has-data[data-v-cd450bcb]{cursor:pointer;border-radius:1px}.chart-cell.no-syllable[data-v-cd450bcb]{background:repeating-linear-gradient(-45deg,var(--card-bg),var(--card-bg) 3px,rgba(0,0,0,.03) 3px,rgba(0,0,0,.03) 6px)}.chart-cell.empty[data-v-cd450bcb]{background:#f8f7f5}.chart-cell.hover-cross[data-v-cd450bcb]{box-shadow:inset 0 0 0 1px #0000000a}.chart-cell.hover-cross.no-syllable[data-v-cd450bcb],.chart-cell.hover-cross.empty[data-v-cd450bcb]{box-shadow:none}.chart-cell.has-data[data-v-cd450bcb]:hover{box-shadow:inset 0 0 0 1.5px #c5392959;z-index:1}.chart-cell.selected.has-data[data-v-cd450bcb]{transform:scale(1.08);z-index:2;border-radius:3px;box-shadow:0 2px 8px #0000001f;--cell-opacity: 1}.chart-cell.selected.has-data .cell-pinyin[data-v-cd450bcb]{color:var(--accent-color);font-weight:600;opacity:1}.cell-pinyin[data-v-cd450bcb]{font-size:.78rem;line-height:1;display:block;white-space:nowrap;color:var(--ink-color);opacity:var(--cell-opacity, 1)}.zhuyin-mode th[data-v-cd450bcb],.zhuyin-mode td[data-v-cd450bcb]{font-size:.6rem}.zhuyin-mode .cell-pinyin[data-v-cd450bcb]{font-size:.62rem}.zhuyin-mode .col-header[data-v-cd450bcb]{padding:6px 3px}.cell-count[data-v-cd450bcb]{position:absolute;top:1px;right:2px;font-size:.48rem;font-weight:500;color:var(--text-dim);opacity:.4;line-height:1}.selection-panel[data-v-cd450bcb]{position:sticky;bottom:0;z-index:5;margin-top:16px;max-height:50vh;overflow-y:auto;background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 -2px 12px #00000014,0 2px 8px #0000000f}.selection-header[data-v-cd450bcb]{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border-color);background:var(--btn-secondary-bg)}.selection-title[data-v-cd450bcb]{display:flex;align-items:baseline;gap:8px}.selection-syllable[data-v-cd450bcb]{font-size:1.1rem;font-weight:700;color:var(--ink-color)}.selection-count[data-v-cd450bcb]{font-size:.78rem;color:var(--text-dim);font-weight:500}.selection-close[data-v-cd450bcb]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:1.1rem;color:var(--text-dim);transition:background .12s,color .12s}.selection-close[data-v-cd450bcb]:hover{background:#0000000f;color:var(--ink-color)}.char-grid[data-v-cd450bcb]{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;padding:12px 16px 16px}.panel-enter-active[data-v-cd450bcb]{transition:opacity var(--transition-normal) ease-out,transform var(--transition-normal) ease-out}.panel-leave-active[data-v-cd450bcb]{transition:opacity var(--transition-fast) ease-in,transform var(--transition-fast) ease-in}.panel-enter-from[data-v-cd450bcb],.panel-leave-to[data-v-cd450bcb]{opacity:0;transform:translateY(-8px)}@media (max-width: 600px){.pinyin-chart-view[data-v-cd450bcb]{padding:12px 8px}.chart-header[data-v-cd450bcb]{flex-direction:column;align-items:flex-start}.chart-filters[data-v-cd450bcb],.tone-filters[data-v-cd450bcb]{flex-wrap:wrap}.group-label-cell[data-v-cd450bcb]{width:0;min-width:0;max-width:0;padding:0;border:none;overflow:hidden;font-size:0}.row-header[data-v-cd450bcb]{left:0}.cell-pinyin[data-v-cd450bcb]{font-size:.7rem}.chart-cell[data-v-cd450bcb]{padding:1px 2px}.char-grid[data-v-cd450bcb]{grid-template-columns:repeat(auto-fill,minmax(52px,1fr))}.selection-panel[data-v-cd450bcb]{max-height:40vh;border-radius:10px 10px 0 0}}.pw-form[data-v-38316106]{display:flex;flex-direction:column;gap:10px}.pw-input[data-v-38316106]{padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;background:var(--card-bg);color:var(--text-color)}.pw-input[data-v-38316106]:focus{outline:none;border-color:var(--accent-color)}.pw-message[data-v-38316106]{font-size:.85rem;padding:8px 12px;border-radius:6px}.pw-message.success[data-v-38316106]{color:#27ae60;background:#eafaf1}.pw-message.error[data-v-38316106]{color:#c0392b;background:#fdf0ed}.pw-submit[data-v-38316106]{padding:10px 20px;background:var(--accent-color);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s}.pw-submit[data-v-38316106]:hover{opacity:.9}.pw-submit[data-v-38316106]:disabled{opacity:.5;cursor:not-allowed}.settings-back-btn[data-v-38316106]{display:block;margin:0 auto;padding:10px 28px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-muted);font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.settings-back-btn[data-v-38316106]:hover{border-color:var(--border-soft);color:var(--text-color);background:#fafafa}.logout-btn[data-v-38316106]{display:block;width:100%;padding:10px 20px;background:var(--card-bg);border:1px solid #e74c3c;border-radius:6px;color:#e74c3c;font-size:.9rem;font-weight:500;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.logout-btn[data-v-38316106]:hover{background:#e74c3c;color:#fff}.hsk-page[data-v-516a8eb9]{max-width:960px;margin:0 auto;padding:24px 16px}h1[data-v-516a8eb9]{margin:0;font-size:1.3rem;font-weight:600;text-align:center}.subtitle[data-v-516a8eb9]{margin:2px 0 24px;font-size:.82rem;color:var(--text-muted);text-align:center}.state[data-v-516a8eb9]{text-align:center;padding:40px;color:var(--text-muted)}.level-grid[data-v-516a8eb9]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.level-link[data-v-516a8eb9]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:24px 12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;text-decoration:none;color:inherit;transition:border-color .12s,box-shadow .12s;cursor:pointer}.level-link[data-v-516a8eb9]:hover{border-color:var(--accent-color);box-shadow:0 2px 8px #0000000f}.level-name[data-v-516a8eb9]{font-size:1.1rem;font-weight:600;color:var(--ink-color)}.level-link:hover .level-name[data-v-516a8eb9]{color:var(--accent-color)}.level-chars[data-v-516a8eb9]{font-size:.78rem;color:var(--text-muted)}.level-words[data-v-516a8eb9]{font-size:.72rem;color:var(--text-dim)}@media (max-width: 600px){.level-grid[data-v-516a8eb9]{grid-template-columns:repeat(2,1fr)}}.hsk-level[data-v-7000c0ea]{max-width:900px;margin:0 auto;padding:16px}.level-title[data-v-7000c0ea]{text-align:center;color:var(--ink-color);margin:0 0 4px;font-size:1.4rem;font-weight:600}.level-counts[data-v-7000c0ea]{text-align:center;font-size:.85rem;color:var(--text-muted);margin-bottom:24px}.loading-state[data-v-7000c0ea]{text-align:center;padding:40px;color:var(--text-secondary)}.error-state[data-v-7000c0ea]{text-align:center;color:var(--color-error);padding:20px}.section[data-v-7000c0ea]{margin-bottom:32px}.section-title[data-v-7000c0ea]{font-weight:600;color:var(--text-muted);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px;font-size:.85rem}.section-count[data-v-7000c0ea]{font-weight:400;color:var(--text-dim)}.list-grid[data-v-7000c0ea]{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:6px}.words-list[data-v-7000c0ea]{display:flex;flex-direction:column;gap:4px}.word-row[data-v-7000c0ea]{display:grid;grid-template-columns:100px 120px 1fr;gap:8px;padding:7px 10px;border-radius:5px;border:1px solid var(--border-color);text-decoration:none;color:inherit;transition:background .1s,border-color .1s;align-items:center}.word-row[data-v-7000c0ea]:hover{border-color:var(--accent-color)}.word-row.word-know-1[data-v-7000c0ea]{background:var(--know-bg-1)}.word-row.word-know-2[data-v-7000c0ea]{background:var(--know-bg-2)}.word-row.word-know-3[data-v-7000c0ea]{background:var(--know-bg-3)}.word-row.word-know-4[data-v-7000c0ea]{background:var(--know-bg-4)}.word-row.word-know-5[data-v-7000c0ea]{background:var(--know-bg-5)}.word-hanzi[data-v-7000c0ea]{font-family:var(--font-hanzi);font-size:1.3rem;color:var(--ink-color)}.know-char.know-1[data-v-7000c0ea]{color:var(--know-1)}.know-char.know-2[data-v-7000c0ea]{color:var(--know-2)}.know-char.know-3[data-v-7000c0ea]{color:var(--know-3)}.know-char.know-4[data-v-7000c0ea]{color:var(--know-4)}.know-char.know-5[data-v-7000c0ea]{color:var(--know-5)}.word-pinyin[data-v-7000c0ea]{font-size:.82rem;color:var(--text-muted)}.word-meaning[data-v-7000c0ea]{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.word-meaning-primary[data-v-7000c0ea]{color:var(--text-color)}.word-meaning-rest[data-v-7000c0ea]{color:var(--text-dim);margin-left:4px}.word-meaning-rest[data-v-7000c0ea]:before{content:"· "}.show-all-btn[data-v-7000c0ea]{display:block;margin:12px auto 0;padding:8px 24px;font-size:.85rem;color:var(--accent-color);background:none;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s}.show-all-btn[data-v-7000c0ea]:hover{background:#00000008;border-color:var(--accent-color)}@media (max-width: 600px){.word-row[data-v-7000c0ea]{grid-template-columns:1fr;gap:2px;padding:8px 10px}.word-pinyin[data-v-7000c0ea],.word-meaning[data-v-7000c0ea]{font-size:.78rem}.word-meaning[data-v-7000c0ea]{white-space:normal}}.tag-explorer[data-v-def19a6d]{width:100%;max-width:1100px;margin:0 auto;padding:16px 20px 40px;box-sizing:border-box}.explorer-header[data-v-def19a6d]{display:flex;align-items:baseline;gap:10px;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--ink-color)}.header-label[data-v-def19a6d]{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--ink-color);padding:2px 6px;border-radius:2px;font-family:SF Mono,Fira Code,Consolas,monospace}.header-title[data-v-def19a6d]{margin:0;font-size:1.2rem;font-weight:700;color:var(--ink-color);letter-spacing:-.02em}.header-sub[data-v-def19a6d]{font-size:.75rem;color:var(--text-dim);font-family:SF Mono,Fira Code,Consolas,monospace}.stats-row[data-v-def19a6d]{display:flex;gap:8px;margin-bottom:20px}.stat-card[data-v-def19a6d]{flex:1;padding:10px 12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;text-align:center}.stat-val[data-v-def19a6d]{font-size:1.3rem;font-weight:700;color:var(--ink-color);font-family:SF Mono,Fira Code,Consolas,monospace;line-height:1.2}.stat-label[data-v-def19a6d]{font-size:.68rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.stat-pct[data-v-def19a6d]{color:var(--text-muted)}.distributions[data-v-def19a6d]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:24px}.dist-section[data-v-def19a6d]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;padding:12px}.dist-title[data-v-def19a6d]{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:8px}.dist-bars[data-v-def19a6d]{display:flex;flex-direction:column;gap:3px}.dist-row[data-v-def19a6d]{display:flex;align-items:center;gap:8px;padding:3px 6px;border:1px solid transparent;border-radius:3px;background:none;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);font-family:inherit;font-size:inherit;text-align:left;width:100%}.dist-row[data-v-def19a6d]:hover{background:var(--bg-hover)}.dist-row.active[data-v-def19a6d]{background:#c539290f;border-color:var(--accent-color)}.dist-label[data-v-def19a6d]{width:100px;font-size:.72rem;color:var(--text-muted);flex-shrink:0}.dist-row.active .dist-label[data-v-def19a6d]{color:var(--accent-color);font-weight:600}.dist-bar-wrap[data-v-def19a6d]{flex:1;height:12px;background:var(--bg-subtle);border-radius:2px;overflow:hidden}.dist-bar[data-v-def19a6d]{display:block;height:100%;background:var(--text-dim);border-radius:2px;opacity:.35;transition:opacity var(--transition-fast)}.dist-row.active .dist-bar[data-v-def19a6d]{background:var(--accent-color);opacity:.6}.dist-bar--reg[data-v-def19a6d]{background:#2980b9}.dist-row.active .dist-bar--reg[data-v-def19a6d]{background:var(--accent-color)}.dist-bar--level[data-v-def19a6d]{background:#27ae60}.dist-row.active .dist-bar--level[data-v-def19a6d]{background:var(--accent-color)}.dist-count[data-v-def19a6d]{font-size:.7rem;font-weight:600;color:var(--text-dim);font-family:SF Mono,Fira Code,Consolas,monospace;width:40px;text-align:right;flex-shrink:0}.tags-section[data-v-def19a6d]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;padding:12px}.tags-controls[data-v-def19a6d]{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.tag-filter[data-v-def19a6d]{flex:0 1 200px;padding:5px 8px;border:1px solid var(--border-color);border-radius:3px;font-size:.75rem;background:var(--bg-subtle);color:var(--text-color);font-family:SF Mono,Fira Code,Consolas,monospace;outline:none;transition:border-color var(--transition-fast)}.tag-filter[data-v-def19a6d]:focus{border-color:var(--accent-color)}.sort-btn[data-v-def19a6d]{padding:4px 10px;border:1px solid var(--border-color);border-radius:3px;background:var(--bg-subtle);font-size:.7rem;color:var(--text-muted);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.sort-btn[data-v-def19a6d]:hover{border-color:var(--text-dim)}.sort-btn.active[data-v-def19a6d]{border-color:var(--ink-color);color:var(--ink-color);font-weight:600}.singleton-toggle[data-v-def19a6d]{font-size:.7rem;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.singleton-toggle input[data-v-def19a6d]{cursor:pointer}.tags-showing[data-v-def19a6d]{margin-left:auto;font-size:.68rem;font-family:SF Mono,Fira Code,Consolas,monospace;color:var(--text-dim)}.active-filters[data-v-def19a6d]{display:flex;align-items:center;gap:6px;margin-bottom:8px;padding:6px 8px;background:#c539290a;border-radius:3px;border:1px solid rgba(197,57,41,.15)}.filter-label[data-v-def19a6d]{font-size:.68rem;color:var(--text-dim)}.filter-pill[data-v-def19a6d]{font-size:.68rem;font-family:SF Mono,Fira Code,Consolas,monospace;padding:2px 8px;border:1px solid var(--accent-color);border-radius:10px;background:#c5392914;color:var(--accent-color);cursor:pointer;transition:background var(--transition-fast)}.filter-pill[data-v-def19a6d]:hover{background:#c5392926}.tag-list[data-v-def19a6d]{display:flex;flex-direction:column}.tag-row[data-v-def19a6d]{display:flex;align-items:center;gap:8px;padding:4px 8px;border:none;border-bottom:1px solid var(--border-light);background:none;cursor:pointer;transition:background var(--transition-fast);font-family:inherit;font-size:inherit;text-align:left;width:100%}.tag-row[data-v-def19a6d]:hover{background:var(--bg-hover)}.tag-row.expanded[data-v-def19a6d]{background:#c539290a;border-bottom-color:var(--accent-color)}.tag-row.singleton[data-v-def19a6d]{opacity:.45}.tag-row.singleton[data-v-def19a6d]:hover{opacity:.8}.tag-name[data-v-def19a6d]{width:200px;flex-shrink:0;font-size:.75rem;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-row.expanded .tag-name[data-v-def19a6d]{color:var(--accent-color);font-weight:600}.tag-bar-wrap[data-v-def19a6d]{flex:1;height:10px;background:var(--bg-subtle);border-radius:2px;overflow:hidden}.tag-bar[data-v-def19a6d]{display:block;height:100%;background:var(--ink-color);border-radius:2px;opacity:.15;transition:opacity var(--transition-fast)}.tag-row:hover .tag-bar[data-v-def19a6d]{opacity:.25}.tag-row.expanded .tag-bar[data-v-def19a6d]{background:var(--accent-color);opacity:.3}.tag-count[data-v-def19a6d]{width:36px;text-align:right;flex-shrink:0;font-size:.72rem;font-weight:600;font-family:SF Mono,Fira Code,Consolas,monospace;color:var(--text-dim)}.tag-detail[data-v-def19a6d]{border-bottom:2px solid var(--accent-color);padding:10px 12px 14px;background:var(--bg-subtle)}.detail-loading[data-v-def19a6d]{font-size:.72rem;color:var(--text-dim);padding:8px 0}.detail-header[data-v-def19a6d]{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.detail-tag[data-v-def19a6d]{font-size:.8rem;font-weight:700;color:var(--ink-color)}.detail-count[data-v-def19a6d]{font-size:.68rem;font-family:SF Mono,Fira Code,Consolas,monospace;color:var(--text-dim)}.detail-words[data-v-def19a6d]{display:flex;flex-direction:column;gap:2px;max-height:400px;overflow-y:auto}.word-row[data-v-def19a6d]{display:flex;align-items:center;gap:8px;padding:3px 6px;border-radius:3px;transition:background var(--transition-fast)}.word-row[data-v-def19a6d]:hover{background:#00000008}.word-hanzi[data-v-def19a6d]{font-family:var(--font-hanzi);font-size:1rem;color:var(--accent-color);text-decoration:none;flex-shrink:0;min-width:40px}.word-hanzi[data-v-def19a6d]:hover{text-decoration:underline}.word-pinyin[data-v-def19a6d]{font-size:.72rem;color:var(--text-secondary);flex-shrink:0;min-width:70px}.word-hsk[data-v-def19a6d]{font-size:.6rem;font-weight:700;padding:1px 5px;border-radius:3px;flex-shrink:0;color:#fff}.word-hsk.hsk-1[data-v-def19a6d]{background:var(--hsk-1)}.word-hsk.hsk-2[data-v-def19a6d]{background:var(--hsk-2)}.word-hsk.hsk-3[data-v-def19a6d]{background:var(--hsk-3)}.word-hsk.hsk-4[data-v-def19a6d]{background:var(--hsk-4)}.word-hsk.hsk-5[data-v-def19a6d]{background:var(--hsk-5)}.word-hsk.hsk-6[data-v-def19a6d]{background:var(--hsk-6)}.word-hsk.hsk-7[data-v-def19a6d]{background:var(--hsk-7-9)}.word-meaning[data-v-def19a6d]{font-size:.72rem;color:var(--text-muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.word-tags[data-v-def19a6d]{display:flex;gap:3px;flex-wrap:wrap;flex-shrink:0;max-width:300px;justify-content:flex-end}.word-tag-pill[data-v-def19a6d]{font-size:.58rem;padding:1px 5px;border-radius:2px;background:#0000000d;color:var(--text-dim);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast)}.word-tag-pill[data-v-def19a6d]:hover{background:var(--accent-color);color:#fff}.loading-state[data-v-def19a6d]{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:.85rem}.error-state[data-v-def19a6d]{text-align:center;color:var(--color-error);padding:40px 20px}@media (max-width: 900px){.distributions[data-v-def19a6d]{grid-template-columns:1fr}}@media (max-width: 600px){.stats-row[data-v-def19a6d]{flex-wrap:wrap}.stat-card[data-v-def19a6d]{flex:0 0 calc(50% - 4px)}.tag-name[data-v-def19a6d]{width:140px}.word-tags[data-v-def19a6d]{display:none}}.browse-content[data-v-fa07a4a7]{width:100%;max-width:960px;margin:0 auto;padding:16px;box-sizing:border-box}.sidebar-buttons[data-v-fa07a4a7]{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.level-buttons[data-v-fa07a4a7]{display:grid;grid-template-columns:1fr 1fr;gap:4px}.level-btn[data-v-fa07a4a7]{justify-content:center}.level-num[data-v-fa07a4a7]{font-weight:700;font-size:.85rem}.sidebar-count[data-v-fa07a4a7]{font-size:.72rem;color:var(--text-dim);text-align:center;padding:10px 0;margin-top:10px;border-top:1px solid var(--border-color)}.filter-btn[data-v-fa07a4a7]{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--card-bg);font-size:.75rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.filter-btn[data-v-fa07a4a7]:hover{border-color:var(--text-dim)}.filter-btn.active[data-v-fa07a4a7]{border-color:var(--accent-color);background:var(--accent-color);color:#fff}.filter-count[data-v-fa07a4a7]{font-size:.72rem;font-weight:700;color:var(--text-muted);margin-left:auto}.filter-btn.active .filter-count[data-v-fa07a4a7]{color:#fff9}.tag-search-wrap[data-v-fa07a4a7]{margin-bottom:8px}.tag-search[data-v-fa07a4a7]{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--card-bg);font-size:.75rem;color:var(--text-color);outline:none;box-sizing:border-box;transition:border-color var(--transition-fast)}.tag-search[data-v-fa07a4a7]:focus{border-color:var(--accent-color)}.tag-search[data-v-fa07a4a7]::placeholder{color:var(--text-dim)}.tag-list[data-v-fa07a4a7]{display:flex;flex-direction:column;gap:3px;overflow-y:auto;max-height:calc(100vh - 200px);scrollbar-width:thin}.active-pills[data-v-fa07a4a7]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.pill[data-v-fa07a4a7]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:100px;border:1px solid var(--accent-color);background:var(--accent-color);color:#fff;font-size:.75rem;font-weight:500;cursor:pointer;transition:opacity var(--transition-fast)}.pill[data-v-fa07a4a7]:hover{opacity:.85}.pill-x[data-v-fa07a4a7]{font-size:.9rem;line-height:1;opacity:.6}.pill-clear[data-v-fa07a4a7]{background:transparent;border-color:var(--border-color);color:var(--text-muted)}.pill-clear[data-v-fa07a4a7]:hover{border-color:var(--text-dim);opacity:1}.section[data-v-fa07a4a7]{margin-bottom:32px}.section-title[data-v-fa07a4a7]{font-weight:600;color:var(--text-muted);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px;font-size:.85rem}.section-count[data-v-fa07a4a7]{font-weight:400;color:var(--text-dim)}.list-grid[data-v-fa07a4a7]{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:6px}.words-list[data-v-fa07a4a7]{display:flex;flex-direction:column;gap:4px}.word-row[data-v-fa07a4a7]{display:grid;grid-template-columns:100px 120px 1fr;gap:8px;padding:7px 10px;border-radius:5px;border:1px solid var(--border-color);text-decoration:none;color:inherit;transition:background .1s,border-color .1s;align-items:center}.word-row[data-v-fa07a4a7]:hover{border-color:var(--accent-color)}.word-row.word-know-1[data-v-fa07a4a7]{background:var(--know-bg-1)}.word-row.word-know-2[data-v-fa07a4a7]{background:var(--know-bg-2)}.word-row.word-know-3[data-v-fa07a4a7]{background:var(--know-bg-3)}.word-row.word-know-4[data-v-fa07a4a7]{background:var(--know-bg-4)}.word-row.word-know-5[data-v-fa07a4a7]{background:var(--know-bg-5)}.word-hanzi[data-v-fa07a4a7]{font-family:var(--font-hanzi);font-size:1.3rem;color:var(--ink-color)}.know-char.know-1[data-v-fa07a4a7]{color:var(--know-1)}.know-char.know-2[data-v-fa07a4a7]{color:var(--know-2)}.know-char.know-3[data-v-fa07a4a7]{color:var(--know-3)}.know-char.know-4[data-v-fa07a4a7]{color:var(--know-4)}.know-char.know-5[data-v-fa07a4a7]{color:var(--know-5)}.word-pinyin[data-v-fa07a4a7]{font-size:.82rem;color:var(--text-muted)}.word-meaning[data-v-fa07a4a7]{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.word-meaning-primary[data-v-fa07a4a7]{color:var(--text-color)}.word-meaning-rest[data-v-fa07a4a7]{color:var(--text-dim);margin-left:4px}.word-meaning-rest[data-v-fa07a4a7]:before{content:"· "}.show-all-btn[data-v-fa07a4a7]{display:block;margin:12px auto 0;padding:8px 24px;font-size:.85rem;color:var(--accent-color);background:none;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s}.show-all-btn[data-v-fa07a4a7]:hover{background:#00000008;border-color:var(--accent-color)}.no-results[data-v-fa07a4a7]{text-align:center;padding:40px;color:var(--text-muted);font-size:.9rem}.loading-state[data-v-fa07a4a7]{text-align:center;padding:40px;color:var(--text-secondary)}.error-state[data-v-fa07a4a7]{text-align:center;color:var(--color-error);padding:20px}.mobile-filter-bar[data-v-fa07a4a7],.mobile-filters[data-v-fa07a4a7]{display:none}@media (max-width: 900px){.mobile-filter-bar[data-v-fa07a4a7]{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:0 4px}.mobile-filter-toggle[data-v-fa07a4a7]{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--border-color);border-radius:6px;background:var(--card-bg);font-size:.82rem;font-weight:600;color:var(--text-color);cursor:pointer}.mobile-filter-dot[data-v-fa07a4a7]{width:6px;height:6px;border-radius:50%;background:var(--accent-color)}.mobile-result-count[data-v-fa07a4a7]{font-size:.75rem;color:var(--text-dim);margin-left:auto}.mobile-filters[data-v-fa07a4a7]{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding:12px;border:1px solid var(--border-color);border-radius:8px;background:var(--card-bg)}.mobile-filter-label[data-v-fa07a4a7]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);margin-bottom:6px}.mobile-filter-chips[data-v-fa07a4a7]{display:flex;flex-wrap:wrap;gap:6px}.filter-chip[data-v-fa07a4a7]{padding:5px 10px;border:1px solid var(--border-color);border-radius:100px;background:var(--card-bg);font-size:.72rem;color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.filter-chip.active[data-v-fa07a4a7]{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.chip-count[data-v-fa07a4a7]{font-size:.65rem;opacity:.7}.word-row[data-v-fa07a4a7]{grid-template-columns:1fr;gap:2px;padding:8px 10px}.word-pinyin[data-v-fa07a4a7],.word-meaning[data-v-fa07a4a7]{font-size:.78rem}.word-meaning[data-v-fa07a4a7]{white-space:normal}}:root{--bg-color: #f5f5f5;--card-bg: #ffffff;--text-color: #333;--text-muted: #666;--text-dim: #999;--text-secondary: #888;--text-faint: #b2bec3;--accent-color: #c53929;--accent-hover: #a82d20;--ink-color: #1a1a1a;--border-color: #e0e0e0;--border-soft: #ccc;--border-light: #eee;--bg-subtle: #f8f9fa;--bg-hover: #f0f0f0;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .12);--transition-fast: .15s;--transition-normal: .2s;--transition-slow: .3s;--btn-secondary-bg: #f5f3f0;--btn-secondary-hover: #e5e5e5;--font-main: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-hanzi: "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-handwriting-1: "Liu Jian Mao Cao", cursive;--font-handwriting-2: "Ma Shan Zheng", cursive;--font-handwriting-3: "Long Cang", cursive;--font-handwriting-4: "Zhi Mang Xing", cursive;--know-1: #e74c3c;--know-2: #f39c12;--know-3: #f1c40f;--know-4: #27ae60;--know-5: #3498db;--know-bg-1: #fff5f5;--know-bg-2: #fffbf0;--know-bg-3: #fffff0;--know-bg-4: #e6fffa;--know-bg-5: #e3f2fd;--hsk-1: #27ae60;--hsk-2: #2ecc71;--hsk-3: #3498db;--hsk-4: #9b59b6;--hsk-5: #f39c12;--hsk-6: #e67e22;--hsk-7-9: #e74c3c;--srs-new: #74b9ff;--srs-learning: #fdcb6e;--srs-young: #00b894;--srs-mature: #0984e3;--color-success: #27ae60;--color-warning: #f39c12;--color-error: #e74c3c;--color-info: #3498db;--badge-padding: 2px 6px;--badge-radius: 4px;--card-radius: 6px}*{box-sizing:border-box}html,body{overflow-x:hidden;max-width:100vw}body{font-family:var(--font-main);background-color:var(--bg-color);margin:0;color:var(--text-color);height:100vh;height:100dvh;font-size:14px;line-height:1.5;display:flex;flex-direction:column;overflow:hidden}#app{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}a{text-decoration:none;color:inherit}a:visited{color:inherit}button{padding:0;background:none;border:none;font:inherit;color:inherit;cursor:pointer}button.primary{padding:8px 16px;background:var(--accent-color);color:#fff;border:none;border-radius:6px;font-weight:500;transition:background var(--transition-fast) ease}button.primary:hover{background-color:var(--accent-hover)}button.secondary{padding:8px 16px;background:var(--btn-secondary-bg);color:var(--text-color);border:none;border-radius:var(--card-radius);font-weight:500;transition:background var(--transition-fast) ease}button.secondary:hover{background:var(--btn-secondary-hover)}input[type=text]{padding:8px 12px;border-radius:6px;border:1px solid var(--border-color);outline:none;transition:border .2s;font-size:.9rem;color:var(--text-color);background:var(--card-bg)}input[type=text]:focus{border-color:var(--accent-color)}.hsk-1{background:var(--hsk-1)}.hsk-2{background:var(--hsk-2)}.hsk-3{background:var(--hsk-3)}.hsk-4{background:var(--hsk-4)}.hsk-5{background:var(--hsk-5);color:var(--text-color)}.hsk-6{background:var(--hsk-6)}.hsk-7,.hsk-8,.hsk-9,.hsk-7-9{background:var(--hsk-7-9)}.srs-new{background:var(--srs-new);color:#fff}.srs-learning{background:var(--srs-learning);color:var(--text-color)}.srs-young{background:var(--srs-young);color:#fff}.srs-mature{background:var(--srs-mature);color:#fff}.hanzi,.card-character,.hero-hanzi{font-family:var(--font-hanzi)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-soft);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}header{background:var(--card-bg);border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;box-shadow:var(--shadow-sm);z-index:10;flex-shrink:0}.header-row{display:flex;align-items:center;padding:8px 20px;gap:16px}.logo,.logo:visited{font-weight:700;font-size:1.35rem;color:var(--text-color);display:flex;align-items:center;gap:8px;letter-spacing:.5px;flex-shrink:0}.logo-hanzi{font-size:1.6rem;font-family:var(--font-hanzi)}.logo-text{font-weight:800}.logo-dot{font-weight:500;opacity:.6}.logo-testing,.logo-testing:visited{font-weight:400;margin-left:4px;color:var(--accent-color)}header input[type=text]{border-radius:6px;padding:7px 10px;font-size:1rem;background:var(--card-bg);border:1px solid var(--border-color);width:150px;min-width:80px;transition:border-color .15s,background .15s}.search-box{flex-shrink:1}header input[type=text]::placeholder{color:var(--text-dim)}header input[type=text]:hover{border-color:var(--border-soft)}header input[type=text]:focus{border-color:var(--text-faint);background:var(--card-bg);outline:none}.search-box{position:relative}.search-box input[type=text]{width:100%}.search-dropdown{position:absolute;top:100%;left:0;min-width:min(400px,calc(100vw - 32px));margin-top:4px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-lg);z-index:100;overflow:hidden}.search-dropdown-item{display:flex;align-items:center;gap:8px;padding:7px 12px;cursor:pointer;transition:background .1s}.search-dropdown-item.highlighted{background:var(--hover-bg, rgba(0,0,0,.05))}.search-dropdown-item .sdi-char{font-family:var(--font-hanzi);font-size:1.1rem;font-weight:600;min-width:1.5em;flex-shrink:0}.search-dropdown-item .sdi-pinyin{color:var(--text-muted);font-size:.82rem;min-width:3.5em;flex-shrink:0}.search-dropdown-item .sdi-def{color:var(--text-muted);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.search-dropdown-item .sdi-level{font-size:.65rem;font-weight:600;color:#fff;background:var(--text-dim);border-radius:3px;padding:1px 4px;flex-shrink:0;line-height:1.3}.search-dropdown-item .sdi-level[data-level="1"]{background:var(--hsk-1)}.search-dropdown-item .sdi-level[data-level="2"]{background:var(--hsk-2)}.search-dropdown-item .sdi-level[data-level="3"]{background:var(--hsk-3)}.search-dropdown-item .sdi-level[data-level="4"]{background:var(--hsk-4)}.search-dropdown-item .sdi-level[data-level="5"]{background:var(--hsk-5);color:var(--text-color)}.search-dropdown-item .sdi-level[data-level="6"]{background:var(--hsk-6)}.search-dropdown-item .sdi-level[data-level="7"]{background:var(--hsk-7-9)}.search-dropdown-item .sdi-type{font-size:.7rem;color:var(--text-muted);opacity:.7;flex-shrink:0}.header-nav{display:flex;align-items:center;gap:2px;flex:1}.nav-item{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;text-decoration:none;white-space:nowrap;background:none;border:1px solid transparent;cursor:pointer;font:inherit;font-size:.9rem;font-weight:600;color:var(--text-color);transition:color .15s,border-color .15s,background .15s;border-radius:6px;position:relative}.nav-item:hover{border-color:var(--border-color);background:#00000005}.nav-item.router-link-active{border-color:var(--accent-color);background:#c539290d;color:var(--accent-color)}.nav-sep{width:1px;height:18px;background:var(--border-color);flex-shrink:0;margin:0 4px}@media (max-width: 1410px){.nav-item.nav-random{display:none}}@media (max-width: 1300px){.nav-item.nav-secondary,.nav-sep{display:none}}@media (max-width: 1100px) and (min-width: 901px){.nav-item .nav-label{display:none}.nav-item{padding:6px 8px}}.header-end{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-end .search-dropdown{left:auto;right:0}.header-icon-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:5px;color:var(--text-dim);transition:background .12s,color .12s}.header-icon-btn:hover{background:#0000000d;color:var(--text-color)}.dashboard{flex:1;display:grid;grid-template-columns:280px minmax(0,1fr) 280px 280px;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;width:100%;max-width:100vw}.dashboard.full-width{grid-template-columns:minmax(0,1fr)}.dashboard.full-width .panel{display:none}.dashboard .words-column{background:linear-gradient(180deg,#fafafa,#f5f5f5);border-left:1px solid var(--border-color);border-right:none}@media (max-width: 1200px){.dashboard{grid-template-columns:260px minmax(0,1fr) 260px}.dashboard .words-column{display:none}}@media (max-width: 900px){.dashboard{grid-template-columns:minmax(0,1fr)}.dashboard .panel{display:none}.dashboard:not(.full-width):not(.custom-panels){display:flex;flex-direction:column;overflow-y:auto}.dashboard:not(.full-width):not(.custom-panels) .panel{display:block;border-right:none;border-left:none;border-top:1px solid var(--border-color);overflow-y:visible;flex-shrink:0;min-height:auto}.dashboard:not(.full-width):not(.custom-panels) .empty-panel-placeholder{display:none}.dashboard:not(.full-width):not(.custom-panels) .center-stage{overflow-y:visible;min-height:auto;flex-shrink:0}.dashboard:not(.full-width):not(.custom-panels) .center-stage{order:1}.dashboard:not(.full-width):not(.custom-panels) #rightPanel{order:2}.dashboard:not(.full-width):not(.custom-panels) .panel:first-child{order:3}.dashboard:not(.full-width):not(.custom-panels) .words-column{display:none!important}.dashboard:not(.full-width):not(.custom-panels) .learning-trail{order:4}}@media (max-width: 600px){.dashboard{grid-template-columns:minmax(0,1fr);max-width:100vw;overflow-x:hidden}.center-stage{max-width:100vw;padding:12px}.hero-main-row{flex-wrap:wrap;gap:16px}.hero-right{flex:none;width:auto}.hero-hanzi{font-size:6rem}.hero-hanzi-group .tone-mnemonic{width:90px;height:90px;margin-top:-16px;margin-bottom:-20px}.stroke-box{width:140px;height:140px}.learning-trail{max-width:100vw;overflow-x:auto}}@media (max-width: 500px){.hero-meta{gap:6px;flex-wrap:wrap;justify-content:center}.meta-item{font-size:.7rem;padding:3px 8px;white-space:nowrap}.hero-meta .meta-label{display:none}.hero-meta .meta-item{padding:3px 5px}.variant-ghost{display:none}.hero-hanzi-group{padding:20px 30px}.hero-word-group{padding:14px 24px 10px}.hero-pinyin{font-size:1.5rem}}.mobile-only{display:none!important}.desktop-only{display:flex}.mobile-header,.mobile-controls,.mobile-drawer-backdrop,.mobile-drawer{display:none}@media (max-width: 900px){.mobile-only{display:flex!important}.desktop-only{display:none!important}.mobile-header{display:flex!important;align-items:center;gap:10px;padding:6px 12px}.mobile-controls{display:flex!important;gap:10px;flex:1;min-width:0}.mobile-controls .search-box{flex:1;min-width:0}.logo-text,.logo-testing{display:none}.mobile-controls input[type=text]{flex:1;min-width:0;padding:8px 14px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:40px;height:40px;padding:8px;background:#f0eeeb!important;border-radius:8px;flex-shrink:0}.menu-toggle:hover{background:#e5e2de!important;transform:none}.menu-bar{display:block;width:18px;height:2px;background:#555;border-radius:1px;transition:transform .2s ease,opacity .2s ease}.menu-toggle.active .menu-bar:nth-child(1){transform:rotate(45deg) translate(4px,4px)}.menu-toggle.active .menu-bar:nth-child(2){opacity:0}.menu-toggle.active .menu-bar:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}.mobile-drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:90;opacity:0;pointer-events:none;transition:opacity .25s ease}.mobile-drawer-backdrop.open{opacity:1;pointer-events:auto}.mobile-drawer{display:block;position:fixed;top:0;right:0;bottom:0;width:280px;max-width:85vw;background:var(--card-bg);z-index:100;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:-4px 0 20px #00000026;overflow-y:auto}.mobile-drawer.open{transform:translate(0)}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.drawer-title{font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.drawer-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#f5f3f0!important;font-size:1rem;color:var(--text-muted)}.drawer-items{padding:8px 0}.drawer-items>button,.drawer-items>a{display:flex;align-items:center;gap:8px;width:100%;padding:12px 20px;text-align:left;font-size:.95rem;color:var(--text-color);background:transparent!important;transition:background .15s;text-decoration:none;border:none}.drawer-items>button:hover,.drawer-items>button:active,.drawer-items>a:hover,.drawer-items>a:active{background:#f5f3f0!important}.drawer-group-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);padding:16px 20px 4px;border-top:1px solid var(--border-color);margin-top:4px}.drawer-group-label:first-child{border-top:none;margin-top:0;padding-top:8px}}.panel{padding:16px;overflow-y:auto;border-right:1px solid var(--border-color);min-height:0;grid-row:1;background:#fafafa}.panel:last-child{border-right:none;border-left:1px solid var(--border-color)}.panel-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:10px;font-weight:600;display:flex;align-items:center;gap:6px;margin-top:16px}.panel-title:first-child{margin-top:0}.panel-subtitle{font-size:.7rem;color:var(--text-dim);margin:8px 0 4px;font-weight:600;text-transform:uppercase}.hsk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}.hsk-btn,.hsk-btn:visited{display:block;color:#fff;padding:12px 10px;border-radius:6px;text-align:center;font-weight:600;font-size:.85rem;transition:background var(--transition-fast) ease,color var(--transition-fast) ease,border-color var(--transition-fast) ease}.hsk-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hsk-btn.hsk-beginner{background:var(--hsk-1)}.hsk-btn.hsk-intermediate{background:var(--hsk-3)}.hsk-btn.hsk-advanced{background:var(--hsk-7-9)}.center-stage{background:var(--card-bg);display:flex;flex-direction:column;align-items:center;position:relative;padding:16px 24px 0;gap:12px;overflow-y:auto;min-height:0;grid-row:1}.center-stage.list-mode,.center-stage.home-mode{align-items:stretch;overflow-y:auto;padding:16px}.hero-top-bar{width:100%;display:flex;justify-content:center;padding-bottom:10px}.hero-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:20px;flex-shrink:0;position:relative}.char-variants-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0;container-type:size}.variant-ghost{position:absolute;font-size:9.5rem;color:#000;opacity:.1;-webkit-user-select:none;user-select:none;transition:opacity .3s;cursor:default}.variant-ghost:hover{opacity:.2}.variant-ghost.v1{font-family:var(--font-handwriting-1);top:0%;left:3%;transform:rotate(-6deg)}.variant-ghost.v2{font-family:var(--font-handwriting-2);top:0%;right:3%;transform:rotate(5deg)}.variant-ghost.v3{font-family:var(--font-handwriting-3);bottom:5%;left:3%;transform:rotate(4deg)}.variant-ghost.v4{font-family:var(--font-handwriting-4);bottom:5%;right:3%;transform:rotate(-4deg)}@container (max-height: 400px){.variant-ghost.v3,.variant-ghost.v4{display:none}}.hero-content:has(.explain-active) .variant-ghost.v3,.hero-content:has(.explain-active) .variant-ghost.v4{display:none}.trad-indicator{font-size:.85rem;color:var(--text-dim);margin-top:8px;padding:4px 12px;background:#f8f8f8;border-radius:12px;border:1px solid var(--border-light)}.trad-indicator:hover{color:var(--text-muted);background:var(--bg-hover)}.simplified-banner{display:flex;flex-direction:column;align-items:center;gap:4px;z-index:1}.simplified-banner+.hero-content{gap:12px}.simplified-label{font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);opacity:.45}.simplified-banner .hanzi-card{width:64px}.hero-bottom-bar{width:100%;display:flex;justify-content:center;padding-top:8px;padding-bottom:10px;border-top:1px solid var(--bg-hover);flex-shrink:0;position:sticky;bottom:0;background:var(--card-bg);z-index:2}body.dev-toolbar-active .hero-bottom-bar{bottom:70px}.hero-main-row{display:flex;align-items:center;justify-content:center;gap:60px;width:100%}.hero-divider{width:1px;height:100px;background:transparent}.hero-hanzi-group{display:flex;flex-direction:column;align-items:center;padding:30px 50px;border-radius:20px;border:1px solid var(--border-color);border-bottom:4px solid #e0e0e0;transition:border-color var(--transition-slow),background var(--transition-slow);background:var(--card-bg);position:relative;z-index:1}.hero-hanzi-group.know-1{border-bottom-color:var(--know-1);background:var(--know-bg-1)}.hero-hanzi-group.know-2{border-bottom-color:var(--know-2);background:var(--know-bg-2)}.hero-hanzi-group.know-3{border-bottom-color:var(--know-3);background:var(--know-bg-3)}.hero-hanzi-group.know-4{border-bottom-color:var(--know-4);background:var(--know-bg-4)}.hero-hanzi-group.know-5{border-bottom-color:var(--know-5);background:var(--know-bg-5)}.hero-word-group{display:flex;flex-direction:column;align-items:center;padding:20px 36px 14px;border-radius:20px;border:1px solid var(--border-color);border-bottom:4px solid #e0e0e0;transition:border-color var(--transition-slow),background var(--transition-slow);background:var(--card-bg);position:relative;z-index:1}.hero-word-group.know-1{border-bottom-color:var(--know-1);background:var(--know-bg-1)}.hero-word-group.know-2{border-bottom-color:var(--know-2);background:var(--know-bg-2)}.hero-word-group.know-3{border-bottom-color:var(--know-3);background:var(--know-bg-3)}.hero-word-group.know-4{border-bottom-color:var(--know-4);background:var(--know-bg-4)}.hero-word-group.know-5{border-bottom-color:var(--know-5);background:var(--know-bg-5)}.word-variants-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0;container-type:size}.word-variants-bg .variant-ghost{font-size:calc(9.5rem/max(var(--word-length),2)*1.5)}.hero-hanzi{font-family:var(--font-hanzi);font-size:9rem;line-height:1;color:var(--text-color);cursor:text;-webkit-user-select:text;user-select:text}.hero-pinyin{font-size:2rem;color:var(--accent-color);font-weight:300;margin-top:10px;display:flex;align-items:baseline;gap:10px}.word-full-pinyin{font-size:1.8rem;color:var(--text-faint);font-weight:300;margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:10px}.audio-btn{cursor:pointer;font-size:0;line-height:0;opacity:.7;transition:.2s;align-self:center;background:none;border:none;padding:0}.audio-btn:hover{opacity:1;transform:scale(1.1)}.audio-btn-small{cursor:pointer;opacity:.5;transition:.2s;vertical-align:middle;padding:0 2px}.audio-btn-small:hover{opacity:1}.alt-pinyins{font-size:1.3rem;font-weight:300}.hero-def{text-align:center;max-width:700px;position:relative;z-index:1}.def-primary{display:block;font-size:1.4rem;color:var(--text-color);font-weight:600;line-height:1.4}.def-secondary{display:block;font-size:1rem;color:var(--text-secondary);font-weight:400;margin-top:4px;line-height:1.4}.other-readings{margin-top:6px;display:flex;flex-direction:column;gap:3px}.alt-reading{font-size:.85rem;color:var(--text-secondary);text-align:center}.alt-pinyin{color:var(--accent-color)}.alt-sep{color:var(--text-dim);margin:0 3px}.alt-pinyin-group{display:inline-flex;align-items:center;gap:4px}.alt-reading .audio-btn{color:var(--accent-color)}.word-meta{text-align:center;margin-top:6px;display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.meta-pos{font-size:.7rem;color:var(--text-muted);border:1px solid var(--border-color);padding:1px 6px;border-radius:3px}.meta-register{font-size:.7rem;font-style:italic;color:var(--text-secondary)}.etymology-note{font-size:.88rem;color:var(--text-muted);margin:8px 0 0;line-height:1.5;text-align:center;max-width:500px}.hero-meta{display:flex;gap:10px;align-items:center}.hero-badge-link{text-decoration:none;display:flex;align-items:center}.meta-item{display:flex;align-items:center;gap:6px;background:var(--bg-hover);padding:4px 10px;border-radius:4px;font-size:.8rem;color:var(--text-muted);font-weight:600}.meta-icon{font-size:1rem}.hero-right{flex:0 0 200px;display:flex;flex-direction:column;justify-content:center;align-items:center}.hero-stroke-structure{display:flex;flex-direction:column;align-items:center;gap:12px}.stroke-box{position:relative;width:180px;height:180px;border:2px dashed #dfe6e9;border-radius:12px;background:#fdfdfd;display:flex;justify-content:center;align-items:center}#stroke-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.stroke-box-panel{position:relative;width:120px;height:120px;border:2px dashed #dfe6e9;border-radius:8px;background:#fdfdfd;display:flex;justify-content:center;align-items:center;margin:0 auto 10px}#stroke-container-panel{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.stroke-replay-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;font-size:1rem;background:#ffffffe6;color:var(--text-muted);border:1px solid #dfe6e9;border-radius:50%;cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal);display:flex;align-items:center;justify-content:center}.stroke-replay-btn:hover{background:#0984e3;color:#fff;border-color:#0984e3}.replay-btn{cursor:pointer;font-size:1.2rem;color:var(--text-faint);transition:color .2s}.replay-btn:hover{color:#0984e3}.stroke-fallback{font-family:var(--font-hanzi);font-size:5rem;color:var(--text-color)}.components-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.component-badge{display:flex;flex-direction:column;align-items:center;padding:8px 14px;background:var(--card-bg);border:2px solid #dfe6e9;border-radius:10px;cursor:pointer;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal);min-width:50px}.component-badge:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--text-faint)}.component-char{font-family:var(--font-hanzi);font-size:1.6rem;color:var(--text-color);line-height:1.2}.component-pinyin{font-family:var(--font-main);font-size:.65rem;color:var(--text-dim);margin-top:2px}.decomp-title{text-transform:uppercase;color:var(--text-faint);font-weight:700;font-size:.8rem;margin-bottom:20px}.decomp-container{border:2px dashed #dfe6e9;border-radius:12px;padding:20px;width:180px;height:180px;display:flex;justify-content:center;align-items:center;background:#fdfdfd}.decomp-row{flex-direction:row;gap:10px}.decomp-col{flex-direction:column;gap:10px}.decomp-part{background:var(--card-bg);border:1px solid #dfe6e9;border-radius:8px;display:flex;justify-content:center;align-items:center;font-family:var(--font-hanzi);font-size:2.5rem;color:var(--text-muted);cursor:pointer;transition:border-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal);flex:1;aspect-ratio:1;box-shadow:var(--shadow-md)}.decomp-part:hover{border-color:var(--accent-color);color:var(--accent-color);transform:scale(1.05)}.grid-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:12px}.hanzi-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;padding:20px 4px 8px;text-align:center;text-decoration:none;color:inherit;transition:border-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal);display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden}.hanzi-card:hover{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 10px #0984e326}.hanzi-card .char{font-family:var(--font-hanzi);font-size:1.6rem;color:var(--text-color)}.hanzi-card .py{font-size:.7rem;color:var(--text-secondary);margin-top:2px}.card-badge{position:absolute;top:0;left:0;right:0;height:18px;font-size:.65rem;font-weight:600;color:#fff;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.5px}.bg-high{background-color:var(--hsk-1)}.bg-mid{background-color:var(--hsk-3)}.bg-low{background-color:var(--hsk-7-9)}.bg-none{background-color:#dfe6e9;color:var(--text-faint)}.dim-mid{opacity:.75}.dim-low{opacity:.5}.dim-rare{opacity:.35}.hanzi-card.dim-mid:hover,.hanzi-card.dim-low:hover,.hanzi-card.dim-rare:hover{opacity:1}.word-item{background:var(--card-bg);border-bottom:1px solid var(--bg-hover);padding:12px 10px;cursor:pointer;transition:background .1s;display:flex;justify-content:space-between;align-items:center}.word-item:hover{background:var(--bg-subtle)}.word-item:last-child{border-bottom:none}.word-left{display:flex;flex-direction:column}.word-hanzi{font-family:var(--font-hanzi);font-size:1.2rem;color:var(--text-color);margin-bottom:2px}.word-meta{font-size:.85rem;color:var(--text-muted)}.hsk-badge{font-size:.7rem;font-weight:700;color:#fff;background:var(--text-faint);padding:2px 6px;border-radius:4px;margin-left:10px;white-space:nowrap}.learning-trail{grid-column:1 / -1;grid-row:2;background:transparent;border-top:1px solid var(--border-light);padding:0 16px;display:flex;align-items:center;height:48px;flex-shrink:0;gap:0}.trail-back{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px;background:transparent;border:1px solid #e0e0e0;color:var(--text-faint);font-size:.9rem;transition:color var(--transition-fast),opacity var(--transition-fast);flex-shrink:0;margin-right:10px}.trail-back:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.back-arrow{line-height:1}.trail-label{font-weight:500;color:var(--border-soft);text-transform:uppercase;font-size:.6rem;letter-spacing:.5px;margin-right:10px;flex-shrink:0}.trail-items{display:flex;align-items:center;gap:3px;overflow:hidden}.trail-item{display:flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 5px;background:transparent;border:1px solid var(--border-light);border-radius:4px;text-decoration:none;color:var(--text-dim);transition:color var(--transition-fast),background var(--transition-fast);position:relative}.trail-item:hover{border-color:var(--accent-color);color:var(--accent-color);background:var(--card-bg)}.trail-item--current{border-color:var(--border-soft);color:var(--ink-color);background:var(--card-bg)}.trail-item--current:hover{border-color:var(--accent-color)}.trail-char{font-family:var(--font-hanzi);font-size:1.05rem;line-height:1;transition:color .15s}.trail-item.know-1{border-bottom:2px solid var(--know-1)}.trail-item.know-2{border-bottom:2px solid var(--know-2)}.trail-item.know-3{border-bottom:2px solid var(--know-3)}.trail-item.know-4{border-bottom:2px solid var(--know-4)}.trail-item.know-5{border-bottom:2px solid var(--know-5)}.about-link{margin-left:auto;font-size:.75rem;color:var(--text-faint);text-decoration:none;padding:6px 12px;border-radius:4px;transition:background var(--transition-fast),color var(--transition-fast)}.about-link:hover{color:var(--accent-color);background:#00000008}@media (max-width: 900px){.about-link{display:none}}.history-node{display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;opacity:.7;transition:opacity var(--transition-fast);padding:0 10px;border-right:1px solid var(--bg-hover);white-space:nowrap;min-width:44px;height:100%;position:relative;box-sizing:border-box}.history-node:last-child{border-right:none}.history-node:hover{opacity:1;color:var(--accent-color)}.history-node.know-1,.history-node.know-2,.history-node.know-3,.history-node.know-4,.history-node.know-5{border-bottom-width:4px}button.auto-btn{border-radius:8px;background:var(--bg-subtle);border:1px solid var(--border-color);width:40px;height:40px;padding:0;font-size:1.2rem;margin-left:40px}button.auto-btn.active{background-color:#f1c40f;border-color:#f39c12;color:#fff;box-shadow:0 2px 5px #f39c124d}.history-node.active{opacity:1;font-weight:600;color:var(--accent-color)}.history-char{font-family:var(--font-hanzi);font-size:1.2rem}.history-py{font-size:.65rem;color:var(--text-dim);margin-top:1px}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#fffc;display:none;justify-content:center;align-items:center;z-index:1000;font-size:1.5rem;color:var(--accent-color)}.center-stage.word-mode{flex-direction:column;gap:30px;justify-content:center}.word-hero-hanzi{display:flex;justify-content:center;gap:4px}.word-hero-char-col{display:flex;flex-direction:column;align-items:center}.tone-mnemonic{width:80px;height:80px;object-fit:contain;margin-bottom:-8px}.hero-hanzi-group .tone-mnemonic{width:130px;height:130px;margin-top:-24px;margin-bottom:-30px}.tone-mnemonic+.hero-pinyin{margin-top:0}.word-hero-char{font-family:var(--font-hanzi);font-size:5rem;line-height:1.1;color:var(--ink-color);text-decoration:none;padding:0 6px;border-radius:6px;transition:color .15s}.word-hero-char:hover{color:var(--accent-color)}.word-hero-pinyin{font-size:1.4rem;color:var(--accent-color);font-weight:400;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:1px}.word-breakdown{display:flex;gap:10px;justify-content:center;position:relative;z-index:1}.hero-content>.hero-word-group{margin-top:auto}.word-breakdown{margin-top:auto}.word-breakdown .hanzi-card{width:100px;flex-shrink:0}.word-breakdown .card-pinyin{color:var(--accent-color)}.word-breakdown .card-meaning{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;-webkit-line-clamp:unset;-webkit-box-orient:unset}.know-1{border-bottom:4px solid var(--know-1);background:var(--know-bg-1)}.know-2{border-bottom:4px solid var(--know-2);background:var(--know-bg-2)}.know-3{border-bottom:4px solid var(--know-3);background:var(--know-bg-3)}.know-4{border-bottom:4px solid var(--know-4);background:var(--know-bg-4)}.know-5{border-bottom:4px solid var(--know-5);background:var(--know-bg-5)}.knowledge-control{display:flex;flex-direction:column;align-items:center;width:100%;position:relative;gap:4px}.knowledge-label{font-size:.6rem;color:var(--border-soft);letter-spacing:.03em;text-transform:uppercase}.control-group{display:flex;gap:12px}.auto-btn-wrapper{position:absolute;right:0;bottom:0}.k-btn{width:38px;height:38px;border-radius:6px;border:1px solid var(--border-color);background:var(--card-bg);cursor:pointer;display:flex;justify-content:center;align-items:center;font-size:.95rem;font-weight:600;color:var(--text-muted);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.k-btn[data-level="1"]{border-bottom:3px solid var(--know-1)}.k-btn[data-level="2"]{border-bottom:3px solid var(--know-2)}.k-btn[data-level="3"]{border-bottom:3px solid var(--know-3)}.k-btn[data-level="4"]{border-bottom:3px solid var(--know-4)}.k-btn[data-level="5"]{border-bottom:3px solid var(--know-5)}.k-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.k-btn.active{border-width:2px;color:var(--text-color)}.k-btn[data-level="1"].active{background:var(--know-bg-1);border-color:var(--know-1)}.k-btn[data-level="2"].active{background:var(--know-bg-2);border-color:var(--know-2)}.k-btn[data-level="3"].active{background:var(--know-bg-3);border-color:var(--know-3)}.k-btn[data-level="4"].active{background:var(--know-bg-4);border-color:var(--know-4)}.k-btn[data-level="5"].active{background:var(--know-bg-5);border-color:var(--know-5)}.list-view-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-color);z-index:50;display:none;flex-direction:column;overflow:hidden}.list-header{padding:15px 30px;background:var(--card-bg);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-md)}.list-title{font-size:1.5rem;font-weight:700;color:var(--text-color)}.list-content{flex:1;overflow-y:auto;padding:30px}.hero-examples{width:100%;max-width:600px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;margin-top:8px}.ex-title{font-size:.75rem;color:var(--text-faint);font-weight:700;text-transform:uppercase;text-align:center;margin-bottom:4px}.ex-item{padding:6px;background:var(--bg-subtle);border-radius:8px;transition:background .2s}.ex-item:hover{background:var(--bg-hover)}.ex-text{display:flex;align-items:baseline;justify-content:center;gap:16px}.ex-zh{font-family:var(--font-hanzi);font-size:1.05rem;color:var(--text-color);line-height:1.5;text-align:left;flex:1}.ex-en{font-size:.9rem;color:var(--text-dim);line-height:1.4;text-align:right;flex:1}.ex-corpus{position:relative;margin-right:4px;color:var(--know-2);cursor:help;float:left;font-size:.75rem;line-height:1.4}.ex-corpus:after{content:attr(data-tip);position:absolute;left:0;top:100%;white-space:nowrap;background:var(--ink-color);color:#fff;font-size:.7rem;padding:4px 8px;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .12s;z-index:10}.ex-corpus:hover:after{opacity:1}.ex-speak{cursor:pointer;opacity:.4;transition:opacity .2s;padding:2px;margin-left:6px;vertical-align:middle}.ex-speak:hover{opacity:1}.ex-more-btn{align-self:flex-end;background:var(--bg-subtle);border:none;border-radius:10px;color:var(--text-faint);cursor:pointer;font-size:.7rem;font-weight:600;padding:2px 8px;transition:background var(--transition-normal),color var(--transition-normal)}.ex-more-btn:hover{background:var(--bg-hover);color:#777}.ex-token{cursor:pointer;padding:1px 2px;border-radius:3px;margin:0 1px;border-bottom:2px solid transparent;transition:border-color var(--transition-normal),background var(--transition-normal)}.ex-token:hover{background-color:#e0e0e0}.ex-token.know-1{border-bottom-color:var(--know-1);background:var(--know-bg-1)}.ex-token.know-2{border-bottom-color:var(--know-2);background:var(--know-bg-2)}.ex-token.know-3{border-bottom-color:var(--know-3);background:var(--know-bg-3)}.ex-token.know-4{border-bottom-color:var(--know-4);background:var(--know-bg-4)}.ex-token.know-5{border-bottom-color:var(--know-5);background:var(--know-bg-5)}.ex-token.know-1:hover,.ex-token.know-2:hover,.ex-token.know-3:hover,.ex-token.know-4:hover,.ex-token.know-5:hover{opacity:.8}.ex-zh .ex-current{color:var(--accent-color)}.hero-chengyu{width:100%;max-width:600px;flex-shrink:0;display:flex;flex-direction:column;gap:6px;margin-top:10px}.cy-item{padding:8px 12px;background:var(--bg-subtle);border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:background .2s}.cy-item:hover{background:var(--bg-hover)}.cy-word{font-size:1.1rem;font-family:var(--font-hanzi);letter-spacing:2px}.cy-char{transition:opacity .2s}.cy-char:hover{opacity:.7}.cy-meaning{font-size:.85rem;color:var(--text-muted);flex:1}.cy-tier-badge{font-size:.6rem;padding:1px 5px;border-radius:3px;font-weight:500;flex-shrink:0;color:var(--text-muted);background:var(--bg-hover);border:1px solid var(--border-color)}.stats-container{max-width:1000px;margin:0 auto;padding:30px 20px}.stats-container h1{text-align:center;color:var(--text-color);margin-bottom:30px}.stats-hero-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media (max-width: 900px){.stats-hero-row{grid-template-columns:repeat(2,1fr)}}.stat-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px 24px;margin-bottom:24px;box-shadow:var(--shadow-md)}.stat-card h2{font-size:1.1rem;color:var(--text-muted);border-bottom:2px solid var(--border-color);padding-bottom:8px;margin-bottom:20px}.stat-card-compact{text-align:center;padding:16px 12px;margin-bottom:0}.stats-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:0}.stats-grid-2col .stat-card{margin-bottom:24px}@media (max-width: 900px){.stats-grid-2col{grid-template-columns:1fr}}@media (max-width: 500px){.stats-hero-row{grid-template-columns:1fr}.stats-container{padding:20px 12px}.stats-container h1{font-size:1.3rem}}.activity-header{display:flex;align-items:center;justify-content:space-between}.activity-header h2{border-bottom:none;margin-bottom:0;padding-bottom:0}.activity-period-btns{display:flex;gap:4px}.activity-period-btns button{padding:4px 10px;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.activity-period-btns button:hover{border-color:var(--accent-color);color:var(--accent-color)}.activity-period-btns button.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.activity-chart{position:relative;width:100%;min-height:180px;margin-top:12px}.activity-tooltip{position:absolute;background:#000c;color:#fff;padding:6px 10px;border-radius:6px;font-size:.75rem;pointer-events:none;z-index:10;line-height:1.4;white-space:nowrap}.stat-summary{display:flex;gap:20px;justify-content:center}.stat-box{background:var(--bg-color);border-radius:12px;padding:20px 30px;text-align:center;min-width:120px}.stat-box-num{font-size:2.5rem;font-weight:700;color:var(--text-color)}.stat-card-compact .stat-box-num{font-size:2rem}.stat-box-label{color:var(--text-muted);margin-bottom:10px;font-size:.85rem}.stat-breakdown{display:flex;gap:4px;justify-content:center;flex-wrap:wrap}.stat-level{padding:2px 8px;border-radius:10px;font-size:.75rem;color:#fff;font-weight:600}.stat-legend{display:flex;gap:15px;justify-content:center;margin-bottom:15px;flex-wrap:wrap}.stat-legend-item{display:flex;align-items:center;gap:5px;font-size:.8rem;color:var(--text-muted)}.stat-legend-color{width:12px;height:12px;border-radius:3px}.stat-hsk-grid{display:flex;flex-direction:column;gap:8px}.stat-hsk-row{display:flex;align-items:center;gap:10px}.stat-hsk-label{width:60px;font-weight:600;color:#555;font-size:.9rem}.stat-hsk-bar{flex:1}.stat-bar{height:20px;background:#e0e0e0;border-radius:4px;overflow:hidden;display:flex}.stat-bar.empty{background:var(--bg-hover)}.stat-bar-seg{height:100%;transition:width .3s}.stat-hsk-num{width:110px;text-align:right;font-size:.85rem;color:#555}.stat-pct{color:var(--text-dim)}.stat-desc{color:var(--text-muted);font-size:.9rem;margin-bottom:15px}.stat-freq-grid-inner{display:flex;flex-direction:column;gap:14px}.stat-freq-item{display:flex;flex-direction:column;gap:4px}.stat-freq-header{display:flex;justify-content:space-between;align-items:baseline}.stat-freq-label{font-weight:600;color:#555;font-size:.85rem}.stat-freq-nums{font-size:.8rem;color:var(--text-dim)}.stat-freq-bar{height:20px;background:var(--bg-hover);border-radius:4px;overflow:hidden;position:relative}.stat-freq-fill{height:100%;background:var(--accent-color);border-radius:4px;transition:width .3s}.stat-freq-pct{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:.7rem;font-weight:600;color:#555}.list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(75px,1fr));gap:8px}.list-section{width:100%;margin-bottom:20px}.review-header-btn{position:relative}.review-badge{background:#d63031;color:#fff;font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:10px;margin-left:5px;min-width:18px;text-align:center}.review-container{max-width:500px;margin:0 auto;padding:40px 20px;display:flex;flex-direction:column;align-items:center}@media (max-width: 600px){.review-container{padding:10px 16px 100px}.review-header{margin-bottom:12px}.review-card{padding:24px 16px}.review-char,.review-char-single{font-size:4rem}.review-definition{margin-top:14px;padding-top:10px;font-size:1.05rem}.review-rating{position:fixed;bottom:48px;left:0;right:0;padding:10px 16px;background:var(--card-bg);border-top:1px solid var(--border-color);margin-top:0;z-index:10}.review-hint{margin-top:10px}}.review-progress-text{color:var(--text-secondary);font-size:.9rem}.review-card{background:var(--card-bg);border:2px solid #e0e0e0;border-radius:20px;padding:40px;text-align:center;width:100%;max-width:400px;cursor:pointer;transition:border-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal);box-shadow:var(--shadow-lg)}.review-card:not(.revealed):hover{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.review-card.revealed{cursor:default;border-color:#00b894}.review-char{font-family:var(--font-hanzi);font-size:5rem;color:var(--text-color);line-height:1.2}.review-char-with-tones{display:flex;justify-content:center;gap:4px;margin-bottom:-18px}.review-char-col{display:flex;flex-direction:column;align-items:center;gap:0}.review-char-col .review-tone-icon{margin-top:-14px}.review-char-with-tones+.review-pinyin{margin-top:10px}.review-char-single{font-family:var(--font-hanzi);font-size:5rem;color:var(--text-color);line-height:1.2}.review-pinyin{font-size:1.5rem;color:var(--accent-color);margin-top:15px;display:flex;align-items:center;justify-content:center;gap:10px}.review-audio{cursor:pointer;opacity:.6;transition:opacity .2s}.review-audio:hover{opacity:1}.review-hint{margin-top:20px;color:var(--text-faint);font-size:.9rem}.review-tones{display:flex;justify-content:center;gap:4px;margin-top:4px}.review-tone-icon{width:80px;height:80px;object-fit:contain}.review-definition{margin-top:15px;font-size:1.2rem;color:var(--text-color);padding-top:12px;border-top:1px solid var(--bg-hover)}.review-rating{margin-top:30px;width:100%}.review-rating-label{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-bottom:15px}.review-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.review-btn{padding:15px 10px;border:none;border-radius:12px;cursor:pointer;font-weight:600;transition:border-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal);display:flex;flex-direction:column;align-items:center;gap:4px}.review-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.review-btn-text{font-size:.95rem}.review-btn-desc{font-size:.7rem;opacity:.8;font-weight:400}.review-btn-again{background:#e74c3c14;color:#c0392b;border:1px solid rgba(231,76,60,.2)}.review-btn-again:hover{background:#e74c3c24;border-color:#e74c3c59}.review-btn-hard{background:#f39c1214;color:#d68910;border:1px solid rgba(243,156,18,.2)}.review-btn-hard:hover{background:#f39c1224;border-color:#f39c1259}.review-btn-good{background:#27ae601a;color:#1e8449;border:1px solid rgba(39,174,96,.25)}.review-btn-good:hover{background:#27ae6029;border-color:#27ae6066}.review-btn-easy{background:#0984e314;color:#0767b0;border:1px solid rgba(9,132,227,.2)}.review-btn-easy:hover{background:#0984e324;border-color:#0984e359}.review-empty{text-align:center;padding:60px 20px}.review-empty-icon{font-size:4rem;margin-bottom:20px}.review-empty h2{color:var(--text-color);margin-bottom:10px}.review-empty p{color:var(--text-secondary);margin-bottom:30px}.review-summary{text-align:center;padding:40px 20px;width:100%}.review-summary-icon{font-size:3rem;margin-bottom:15px}.review-summary h2{color:var(--text-color);margin-bottom:10px}.review-summary-stat{color:var(--text-muted);font-size:1.1rem;margin-bottom:25px}.review-summary-breakdown{display:flex;flex-direction:column;gap:8px;max-width:250px;margin:0 auto 25px}.review-summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 15px;border-radius:8px;background:var(--bg-subtle)}.review-summary-label{padding:4px 12px;border-radius:6px;font-size:.85rem;font-weight:600}.review-summary-count{font-weight:700;font-size:1.1rem;color:var(--text-color)}.review-summary-rate{color:var(--text-muted);font-size:1rem;margin-bottom:25px}.review-summary-actions{display:flex;gap:15px;justify-content:center}.review-complete{text-align:center;width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:20px}.review-complete-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:20px;padding:30px;width:100%;box-shadow:var(--shadow-lg)}.review-complete-card h2{color:var(--text-color);margin:0 0 8px;font-size:1.3rem;font-weight:600}.review-complete-stats-line{color:var(--text-muted);font-size:.9rem;margin:0 0 20px}.review-stat-dot{color:var(--border-soft);margin:0 2px}.review-stat-good{color:var(--color-success)}.review-stat-bad{color:var(--color-error)}.review-results-grid{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.review-result-item{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-family:var(--font-hanzi);font-size:1.3rem;border-radius:8px;text-decoration:none;color:var(--text-color);background:var(--card-bg);border:1px solid var(--border-color);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.review-result-item:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.review-result-item.remembered{border-bottom:3px solid var(--color-success)}.review-result-item.forgot{border-bottom:3px solid var(--color-error);background:#fff5f5}.review-complete-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.review-action-btn{padding:10px 24px;border:none;border-radius:10px;font-size:.9rem;font-weight:500;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.review-action-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.review-action-btn.primary{background:var(--accent-color);color:#fff}.review-action-btn.secondary{background:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color)}.review-buttons-binary{grid-template-columns:repeat(2,1fr);max-width:350px;margin:0 auto}.review-btn-key{font-size:.6rem;font-weight:500;opacity:.4;color:inherit;background:#0000000f;border:1px solid rgba(0,0,0,.08);border-bottom:2px solid rgba(0,0,0,.1);padding:1px 7px;border-radius:3px;margin-top:6px}.review-view-details{margin-top:15px;font-size:.85rem;color:var(--accent-color);cursor:pointer;opacity:.7;transition:opacity .2s}.review-view-details:hover{opacity:1}.settings-container{max-width:500px;margin:0 auto;padding:30px 20px}.settings-container h1{text-align:center;color:var(--text-color);margin-bottom:30px}.settings-section{margin-bottom:30px}.settings-section h2{font-size:1rem;color:var(--text-muted);border-bottom:1px solid var(--bg-hover);padding-bottom:8px;margin-bottom:15px}.settings-item{display:flex;align-items:center;gap:15px;padding:10px 0}.settings-label{flex:1}.settings-label-title{font-weight:600;color:var(--text-color)}.settings-label-desc{font-size:.85rem;color:var(--text-secondary);margin-top:2px}.settings-toggle{position:relative;width:50px;height:28px}.settings-toggle input{opacity:0;width:0;height:0}.settings-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border-soft);transition:.3s;border-radius:28px}.settings-toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:var(--card-bg);transition:.3s;border-radius:50%}.settings-toggle input:checked+.settings-toggle-slider{background-color:#00b894}.settings-toggle input:checked+.settings-toggle-slider:before{transform:translate(22px)}.settings-shortcuts{display:flex;flex-direction:column;gap:8px}.shortcut-row{display:flex;align-items:center;gap:12px;font-size:.9rem;color:#555}.shortcut-key{background:var(--bg-hover);padding:4px 10px;border-radius:4px;font-family:monospace;font-weight:600;min-width:60px;text-align:center}.srs-stages{display:flex;justify-content:center;gap:30px;margin-bottom:25px}.srs-stage{display:flex;flex-direction:column;align-items:center;gap:4px}.srs-stage-count{font-size:1.5rem;font-weight:700;color:var(--text-color)}.srs-stage-label{font-size:.8rem;color:var(--text-secondary)}.srs-forecast{background:var(--bg-subtle);border-radius:12px;padding:15px}.srs-forecast-title{font-size:.85rem;color:var(--text-secondary);text-align:center;margin-bottom:12px}.srs-forecast-chart{display:flex;justify-content:space-around;align-items:flex-end;height:80px}.srs-forecast-bar{display:flex;flex-direction:column;align-items:center;gap:5px}.srs-forecast-fill{width:30px;background:linear-gradient(180deg,#0984e3,#00b894);border-radius:4px 4px 0 0;min-height:2px}.srs-forecast-label{font-size:.7rem;color:var(--text-secondary)}.review-back-hint{text-align:center;color:var(--text-faint);font-size:.8rem;margin-top:10px}.srs-due{animation:pulse-due 1.5s infinite}.srs-badge{position:absolute;bottom:4px;right:4px;font-size:.6rem;padding:2px 5px;border-radius:3px;color:#fff;font-weight:500}@keyframes pulse-due{0%,to{opacity:1}50%{opacity:.6}}.review-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:30px}.review-end-session{font-size:.85rem;color:var(--text-faint);cursor:pointer;padding:5px 12px;border-radius:15px;transition:background var(--transition-normal),color var(--transition-normal)}.review-end-session:hover{background:var(--bg-hover);color:var(--text-muted)}.review-history-list{display:flex;flex-direction:column;gap:4px}.review-history-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-subtle);border-radius:6px;cursor:pointer;transition:background .2s}.review-history-row:hover{background:#e9ecef}.review-history-row.review-pass{border-left:3px solid var(--color-success)}.review-history-row.review-fail{border-left:3px solid var(--know-1)}.review-history-item{font-size:1.2rem;min-width:40px;cursor:pointer}.review-history-rating{font-size:1rem;width:24px;text-align:center}.review-pass .review-history-rating{color:var(--color-success)}.review-fail .review-history-rating{color:var(--know-1)}.review-history-time{color:var(--text-muted);font-size:.85rem;min-width:40px}.review-history-date{color:var(--text-dim);font-size:.8rem;margin-left:auto}.recent-reviews-table{width:100%;border-collapse:separate;border-spacing:0 4px}.recent-reviews-table tr.last-pass{background:#00b8940f}.recent-reviews-table tr.last-pass td:first-child{border-left:3px solid var(--color-success)}.recent-reviews-table tr.last-fail{background:#d630310f}.recent-reviews-table tr.last-fail td:first-child{border-left:3px solid var(--color-error)}.recent-reviews-table tr:hover{background:#0000000a}.recent-reviews-table td{padding:8px 10px;vertical-align:middle}.recent-reviews-table td:first-child{border-radius:6px 0 0 6px;padding-left:12px}.recent-reviews-table td:last-child{border-radius:0 6px 6px 0}.col-char{width:55px}.col-stats{width:180px}.col-added{width:100px;font-size:.75rem;color:var(--text-secondary)}.col-next{width:90px;font-size:.75rem;color:var(--text-secondary)}.col-next.overdue{color:var(--color-error);font-weight:500}.col-response{width:45px;font-size:.75rem;color:var(--text-faint);text-align:right}.col-mastery{width:70px}.recent-char{display:inline-block;padding:.25rem .5rem;border:2px solid var(--border-color);border-radius:4px;background:var(--card-bg);font-size:1.1rem;white-space:nowrap;text-decoration:none;color:inherit}.recent-char:hover{background:var(--border-color)}.recent-char.know-1{border-color:var(--know-1)}.recent-char.know-2{border-color:var(--know-2)}.recent-char.know-3{border-color:var(--know-3)}.recent-char.know-4{border-color:var(--know-4)}.recent-char.know-5{border-color:var(--know-5)}.stats-main{font-size:.8rem;color:#555;margin-bottom:4px}.stat-sep{color:var(--border-soft);margin:0 4px}.stat-reviews,.stat-accuracy{color:var(--text-muted)}.stat-accuracy.good{color:var(--color-success)}.stat-accuracy.ok{color:var(--hsk-6)}.stat-accuracy.bad{color:var(--color-error)}.stats-history{display:flex;gap:1px;height:3px}.history-segment{flex:1;max-width:12px;border-radius:1px}.history-segment.pass{background:var(--color-success)}.history-segment.fail{background:var(--color-error)}.mastery-bar{height:6px;background:var(--border-light);border-radius:3px;overflow:hidden}.mastery-fill{height:100%;background:linear-gradient(90deg,var(--color-warning),var(--color-success));border-radius:3px;min-width:2px}.chengyu-detail-short{font-size:1.5rem;font-weight:600;color:var(--text-color);text-align:center;margin-top:15px}.chengyu-detail-english{font-size:1rem;color:var(--text-muted);text-align:center;max-width:500px;line-height:1.5;margin-top:10px}.chengyu-detail-meta{display:flex;gap:20px;justify-content:center;margin-top:15px;padding-top:15px;border-top:1px solid var(--border-light);width:100%}.chengyu-meta-item{font-size:.8rem;color:var(--text-faint)}.chengyu-chars{gap:10px}.chengyu-details{width:100%;max-width:600px;margin-top:20px;text-align:left}.chengyu-section{margin-bottom:15px}.chengyu-section-title{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}.chengyu-section-content{font-size:.95rem;color:var(--text-color);line-height:1.6}.chengyu-list-container{max-width:800px;margin:0 auto;padding:30px 20px}.chengyu-list-container h1{font-size:1.8rem;margin-bottom:5px}.chengyu-list-container>p{color:var(--text-muted);margin-bottom:30px}.chengyu-list-container .chengyu-section{margin-bottom:40px}.chengyu-list-container .chengyu-section h2{font-size:1.2rem;margin-bottom:5px}.chengyu-section-desc{font-size:.9rem;color:var(--text-faint);margin-bottom:15px}.chengyu-list{display:flex;flex-direction:column;gap:8px}.chengyu-list-item{display:flex;align-items:center;gap:15px;padding:12px 15px;background:var(--bg-subtle);border-radius:8px;cursor:pointer;transition:background .2s}.chengyu-list-item:hover{background:#eef2f5}.chengyu-list-word{font-family:var(--font-hanzi);font-size:1.3rem;min-width:90px}.chengyu-list-pinyin{font-size:.85rem;color:var(--text-muted);min-width:120px}.chengyu-list-meaning{flex:1;font-size:.9rem;color:var(--text-color)}.word-card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--card-bg);border-radius:8px;text-decoration:none;color:inherit;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);border:1px solid transparent;position:relative}.word-card.know-1{background:var(--know-bg-1);border-left:3px solid var(--know-1)}.word-card.know-2{background:var(--know-bg-2);border-left:3px solid var(--know-2)}.word-card.know-3{background:var(--know-bg-3);border-left:3px solid var(--know-3)}.word-card.know-4{background:var(--know-bg-4);border-left:3px solid var(--know-4)}.word-card.know-5{background:var(--know-bg-5);border-left:3px solid var(--know-5)}.word-card:hover{transform:translate(4px);box-shadow:var(--shadow-lg);border-color:var(--accent-color)}.word-main{display:flex;align-items:flex-start;gap:8px}.word-text{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;min-width:0}.word-chars{display:inline-flex;gap:0}.word-char{font-size:1.3rem;font-family:var(--font-hanzi);color:var(--ink-color);padding:2px;border-radius:4px;transition:background var(--transition-fast),color var(--transition-fast)}.word-char.is-current{color:var(--accent-color)}.word-char.know-1{border-bottom:2px solid var(--know-1);background:var(--know-bg-1)}.word-char.know-2{border-bottom:2px solid var(--know-2);background:var(--know-bg-2)}.word-char.know-3{border-bottom:2px solid var(--know-3);background:var(--know-bg-3)}.word-char.know-4{border-bottom:2px solid var(--know-4);background:var(--know-bg-4)}.word-char.know-5{border-bottom:2px solid var(--know-5);background:var(--know-bg-5)}.word-level{font-size:.55rem;padding:2px 5px;border-radius:3px;margin-left:auto;flex-shrink:0;align-self:flex-start;margin-top:2px}.word-pinyin{font-size:.8rem;color:var(--accent-color);font-weight:500;letter-spacing:.3px}.word-meaning{font-size:.75rem;line-height:1.4}.word-meaning-primary{color:var(--text-muted)}.word-meaning-rest{color:var(--text-dim)}.word-meaning-rest:before{content:"; "}.word-note{font-size:.7rem;line-height:1.4;color:var(--text-dim);font-style:italic}.explain-highlight{transform:translateY(-2px)!important;box-shadow:0 4px 12px #00000014!important;border-color:var(--accent-color)!important}.explain-highlight .card-character,.explain-highlight .component-char{color:var(--accent-color)!important}.hero-copy{position:absolute;top:8px;right:8px;z-index:2}.hero-hanzi-group:hover .hero-copy,.hero-word-group:hover .hero-copy,.hero:hover>.hero-copy{opacity:.4}.hero-copy:hover{opacity:1!important}.audio-loading{animation:audio-spin .8s linear infinite!important;opacity:.5!important;pointer-events:none}.audio-playing{opacity:1!important;animation:audio-pulse .5s infinite alternate!important}@keyframes audio-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes audio-pulse{0%{opacity:1}to{opacity:.5}}
