.vault-container.svelte-rot1lb{display:flex;flex-direction:column;gap:2rem;animation:svelte-rot1lb-fadeIn .5s ease-out;padding-bottom:5rem}.vault-header.svelte-rot1lb h1:where(.svelte-rot1lb){font-size:2.5rem;font-weight:700;background:var(--header-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.subtitle.svelte-rot1lb{color:var(--text-secondary);font-size:1.1rem}@media(max-width:768px){.vault-header.svelte-rot1lb h1:where(.svelte-rot1lb){font-size:1.75rem}}.knowledge-heatmap.svelte-rot1lb{padding:2rem}.section-title.svelte-rot1lb{font-size:1.25rem;margin-bottom:1.5rem;color:var(--text-primary);font-weight:600;letter-spacing:1px}.heatmap-grid.svelte-rot1lb{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:600px){.heatmap-grid.svelte-rot1lb{grid-template-columns:1fr}}.mastery-analytics.svelte-rot1lb{padding:2rem;margin-bottom:2rem}.analytics-header.svelte-rot1lb{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.legend.svelte-rot1lb{display:flex;gap:1.5rem}.legend-item.svelte-rot1lb{font-size:.75rem;display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.chart-container.svelte-rot1lb{height:300px;position:relative;padding-top:1rem}.correlation-chart.svelte-rot1lb{width:100%;height:100%;overflow:visible}.x-axis.svelte-rot1lb{display:flex;justify-content:space-between;margin-top:1rem;padding:0 10px}.date-label.svelte-rot1lb{font-size:.65rem;color:var(--text-tertiary)}.heatmap-cell.svelte-rot1lb{background:var(--bg-glass-subtle);border:1px solid var(--border-glass-subtle);padding:1rem;border-radius:12px;position:relative;text-align:left;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:.5rem;color:inherit;font-family:inherit}.heatmap-cell.svelte-rot1lb:hover{background:var(--overlay-base);transform:translateY(-2px)}.heatmap-cell.active.svelte-rot1lb{background:var(--overlay-active);border-color:var(--color-mastered)}.heatmap-cell.has-due.svelte-rot1lb{border-color:#ef44444d}.level-label.svelte-rot1lb{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.progress-info.svelte-rot1lb{display:flex;justify-content:space-between;align-items:baseline}.progress-info.svelte-rot1lb .count:where(.svelte-rot1lb){font-size:1.1rem;font-weight:700;color:var(--text-primary)}.due-badge.svelte-rot1lb{position:absolute;right:10px;top:10px;font-size:.6rem;background:#ef4444;color:#fff;padding:1px 4px;border-radius:4px;font-weight:800;animation:svelte-rot1lb-pulse 2s infinite}.mini-progress.svelte-rot1lb{height:4px;background:var(--overlay-base);border-radius:2px;overflow:hidden}.mini-fill.svelte-rot1lb{height:100%;background:var(--color-mastered);transition:width .5s ease}.stats-panel.svelte-rot1lb{display:flex;justify-content:space-around;padding:1.5rem}@media(max-width:768px){.stats-panel.svelte-rot1lb{flex-direction:column;gap:1.5rem;align-items:center}}.stat.svelte-rot1lb{display:flex;flex-direction:column;align-items:center;gap:.5rem}.stat.svelte-rot1lb .value:where(.svelte-rot1lb){font-size:2rem;font-weight:700;color:var(--text-primary)}.stat.svelte-rot1lb .label:where(.svelte-rot1lb){font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.constellation-grid.svelte-rot1lb{min-height:500px;padding:4rem;position:relative;overflow:visible}@media(max-width:768px){.constellation-grid.svelte-rot1lb{padding:1rem;min-height:300px}}.empty-state.svelte-rot1lb{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;text-align:center;gap:1.5rem;color:var(--text-secondary)}.btn-review.svelte-rot1lb{padding:.75rem 1.5rem;border-radius:12px;background:var(--color-review);color:#fff;text-decoration:none;font-weight:600;border:none;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.btn-review.svelte-rot1lb:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 6px 20px #60a5fa80}.btn-review.disabled.svelte-rot1lb{background:var(--overlay-base);color:var(--text-secondary);cursor:not-allowed;box-shadow:none}.stat-group.svelte-rot1lb{display:flex;align-items:center;gap:2rem}.animate-pulse.svelte-rot1lb{animation:svelte-rot1lb-pulse-shadow 2s infinite}@keyframes svelte-rot1lb-pulse-shadow{0%{box-shadow:0 0 #60a5fa66}70%{box-shadow:0 0 0 10px #60a5fa00}to{box-shadow:0 0 #60a5fa00}}.btn-primary.svelte-rot1lb{padding:.75rem 1.5rem;border-radius:8px;background:var(--overlay-base);color:var(--text-primary);text-decoration:none;border:1px solid var(--border-glass-subtle);transition:all .2s}.btn-primary.svelte-rot1lb:hover{background:var(--overlay-hover)}.stars.svelte-rot1lb{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:3rem;padding:2rem}.star-node.svelte-rot1lb{position:relative;width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-zh);font-size:2rem;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);background:var(--bg-glass-subtle);border:1px solid var(--border-glass-subtle);box-shadow:var(--shadow-sm)}@media(max-width:480px){.star-node.svelte-rot1lb{width:80px;height:80px;font-size:1.5rem}}.star-node.svelte-rot1lb:hover{background:var(--bg-glass-hover);transform:scale(1.15) translateY(-5px);z-index:100;box-shadow:var(--shadow-md)}.hsk-badge.svelte-rot1lb{position:absolute;top:-5px;right:-5px;border:1px solid var(--border-glass-subtle);background:var(--bg-slate);font-size:.6rem;padding:2px 4px;border-radius:4px;color:var(--text-secondary);z-index:5}.star-node.new.svelte-rot1lb{color:var(--color-new);border-color:var(--border-glass-subtle)}.star-node.review.svelte-rot1lb{color:#60a5fa;border-color:#60a5fa66;box-shadow:0 0 15px #60a5fa33;background:radial-gradient(circle at center,rgba(96,165,250,.1) 0%,transparent 70%)}.star-node.mastered.svelte-rot1lb{color:#fbbf24;border-color:#fbbf2480;background:radial-gradient(circle at center,rgba(251,191,36,.15) 0%,transparent 70%);box-shadow:0 0 20px #fbbf244d,inset 0 0 10px #fbbf2433;animation:svelte-rot1lb-twinkle 4s infinite alternate ease-in-out}.star-node.due.svelte-rot1lb{border-color:#ef4444;box-shadow:0 0 20px #ef444440;animation:svelte-rot1lb-pulse-danger 2s infinite ease-in-out}.star-node.is-focus.svelte-rot1lb:not(.is-selected){transform:scale(1.2);z-index:20;border-color:var(--text-accent);box-shadow:0 0 35px var(--shadow-glow)}.star-node.is-selected.svelte-rot1lb{transform:scale(1.3);z-index:1000;border-color:var(--text-accent);background:var(--overlay-active);box-shadow:0 0 40px var(--shadow-glow),0 0 20px var(--overlay-base) inset}@keyframes svelte-rot1lb-twinkle{0%,to{opacity:1;transform:scale(1);filter:brightness(1)}50%{opacity:.8;transform:scale(1.02);filter:brightness(1.3)}}@keyframes svelte-rot1lb-pulse-danger{0%,to{box-shadow:0 0 10px #ef44444d}50%{box-shadow:0 0 25px #ef444499}}.global-drawer.svelte-rot1lb{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:800px;background:var(--bg-slate);border:1px solid var(--border-glass);border-radius:32px 32px 0 0;z-index:2000;padding:2.5rem;box-shadow:0 -20px 60px #0009;max-height:90vh;overflow-y:auto}.drawer-content-wrapper.svelte-rot1lb{display:flex;gap:3rem}.drawer-main.svelte-rot1lb{flex:1;display:flex;flex-direction:column;gap:1.5rem}.drawer-enrichment.svelte-rot1lb{flex:1.2;padding-left:2rem;border-left:1px solid var(--border-glass-subtle)}.drawer-header.svelte-rot1lb{display:flex;align-items:center;gap:2rem;margin-bottom:.5rem}.char-id-big.svelte-rot1lb{font-family:var(--font-zh);font-size:5rem;font-weight:800;line-height:1;background:var(--header-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.header-text.svelte-rot1lb{display:flex;flex-direction:column;gap:.5rem}.header-text.svelte-rot1lb .py:where(.svelte-rot1lb){font-size:1.75rem;color:var(--color-review);font-weight:700}.header-text.svelte-rot1lb .def:where(.svelte-rot1lb){font-size:1.1rem;color:var(--text-secondary);line-height:1.4}.btn-save-drawer.svelte-rot1lb{background:var(--overlay-active);color:var(--text-primary);border:1px solid var(--border-glass-subtle);padding:.75rem 1.5rem;border-radius:12px;font-weight:600;cursor:pointer;width:100%;margin-top:1rem;transition:all .2s}.btn-save-drawer.svelte-rot1lb:hover{background:var(--text-accent);color:#000}.close-drawer-btn.svelte-rot1lb{position:absolute;top:1.5rem;right:1.5rem;background:var(--overlay-base);border:none;color:var(--text-secondary);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.close-drawer-btn.svelte-rot1lb:hover{background:#ef444433;color:#ef4444}.desktop-hover-tooltip.svelte-rot1lb{display:none;position:absolute;bottom:125%;left:50%;transform:translate(-50%);background:var(--bg-obsidian);border:1px solid var(--border-glass);padding:1rem;border-radius:8px;z-index:1000;width:260px;pointer-events:none;flex-direction:column;gap:.75rem;text-align:left;box-shadow:var(--shadow-md);transition:all .2s ease}[data-theme=dark] .desktop-hover-tooltip.svelte-rot1lb{background:#000!important;border-color:#ffffff1a!important}[data-theme=light] .desktop-hover-tooltip.svelte-rot1lb{background:#fff!important;border-color:#0000001a!important}.tooltip-headword.svelte-rot1lb{display:flex;justify-content:space-between;align-items:center}.tooltip-headword.svelte-rot1lb .pinyin:where(.svelte-rot1lb){font-size:1.15rem;font-weight:700;color:var(--color-review)}.tooltip-headword.svelte-rot1lb .hsk-badge:where(.svelte-rot1lb){font-size:.65rem;font-weight:800;color:var(--text-primary);background:var(--overlay-hover);padding:2px 6px;border-radius:4px;border:1px solid var(--border-glass)}.tooltip-divider.svelte-rot1lb{height:1px;background:var(--border-glass-subtle)}.tooltip-definition.svelte-rot1lb{font-size:.85rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media(min-width:769px){.desktop-hover-tooltip.svelte-rot1lb{display:flex}}@media(max-width:768px){.global-drawer.svelte-rot1lb{padding:1.5rem 1.5rem 4rem}.drawer-content-wrapper.svelte-rot1lb{flex-direction:column;gap:1.5rem}.drawer-enrichment.svelte-rot1lb{padding-left:0;border-left:none;border-top:1px solid var(--border-glass-subtle);padding-top:1.5rem}.char-id-big.svelte-rot1lb{font-size:3.5rem}}.enrichment-item.svelte-rot1lb{margin-bottom:1rem}.label.svelte-rot1lb{display:block;font-size:.65rem;text-transform:uppercase;color:var(--text-secondary);letter-spacing:1px;margin-bottom:.5rem}.origin-text.svelte-rot1lb{font-size:.85rem;color:var(--text-primary);line-height:1.4;font-style:italic}.vault-mnemonic-box.svelte-rot1lb{width:100%;min-height:60px;background:var(--bg-glass-subtle);border:1px solid var(--border-glass-subtle);border-radius:8px;color:var(--text-primary);font-size:.85rem;padding:.5rem;resize:vertical;margin-bottom:.5rem;pointer-events:all}.btn-save-sm.svelte-rot1lb{background:var(--overlay-base);border:1px solid var(--border-glass-subtle);color:var(--text-primary);padding:4px 10px;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s}.btn-save-sm.svelte-rot1lb:hover{background:var(--overlay-hover)}.review-q.svelte-rot1lb{font-size:.7rem;color:var(--text-secondary);margin-bottom:.5rem}.q-btns.svelte-rot1lb{display:flex;gap:.5rem}.review-btn.svelte-rot1lb{padding:.5rem;border-radius:6px;border:none;cursor:pointer;font-weight:600;font-family:inherit}.review-btn.hard.svelte-rot1lb{background:#ef44441a;color:#ef4444;flex:1}.review-btn.easy.svelte-rot1lb{background:#22c55e1a;color:#22c55e;flex:1}.badge-gold.svelte-rot1lb{background:#fbbf241a;color:var(--color-mastered);border:1px solid rgba(251,191,36,.3);padding:2px 6px;border-radius:4px;font-size:.65rem;text-transform:uppercase;margin-top:4px}.delete-btn.svelte-rot1lb{background:transparent;color:#ef444480;border:1px solid rgba(239,68,68,.2);padding:4px 8px;border-radius:4px;font-size:.65rem;font-family:inherit;cursor:pointer;transition:all .2s;width:100%}.delete-btn.svelte-rot1lb:hover{background:#ef44441a;color:#ef4444;border-color:#ef444466}.mastery-container.svelte-rot1lb{display:flex;align-items:center;gap:.75rem}.mastery-bar.svelte-rot1lb{flex:1;height:6px;background:var(--overlay-base);border-radius:3px;overflow:hidden;border:1px solid var(--border-glass-subtle)}.mastery-fill.svelte-rot1lb{height:100%;background:var(--color-review);box-shadow:0 0 10px #60a5fa4d;transition:width .5s cubic-bezier(.4,0,.2,1)}.mastery-fill.mastered-fill.svelte-rot1lb{background:var(--color-mastered);box-shadow:0 0 15px #fbbf2480}.mastery-fill.due-fill.svelte-rot1lb{background:#ef4444!important;box-shadow:0 0 10px #ef444480!important}.mastery-count.svelte-rot1lb{font-size:.65rem;color:var(--text-secondary);font-family:var(--font-sans);min-width:25px}@keyframes svelte-rot1lb-fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes svelte-rot1lb-pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}@keyframes svelte-rot1lb-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.study-now-btn.svelte-rot1lb{background:rgba(var(--color-mastered-rgb),.2)!important;color:var(--color-mastered)!important;border:1px solid rgba(var(--color-mastered-rgb),.4)!important;cursor:pointer;transition:all .2s;padding:2px 8px!important}.study-now-btn.svelte-rot1lb:hover{background:var(--color-mastered)!important;color:var(--bg-slate)!important;box-shadow:0 0 10px rgba(var(--color-mastered-rgb),.5)}@keyframes svelte-rot1lb-slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}
