.mobile-tabbar[data-v-941c66a7]{display:none;position:fixed;bottom:0;left:0;right:0;height:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background-color:var(--color-primary-deep);border-top:1px solid var(--color-hairline-dark);z-index:100}@media (max-width: 768px){.mobile-tabbar[data-v-941c66a7]{display:flex}}.tab-item[data-v-941c66a7]{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--color-on-dark-faint);text-decoration:none;font-size:10px;letter-spacing:.02em;transition:color .2s ease;-webkit-tap-highlight-color:transparent}.tab-item.active[data-v-941c66a7]{color:var(--color-surface-violet)}.tab-item.active[data-v-941c66a7]:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:24px;height:2px;border-radius:0 0 2px 2px;background-color:var(--color-surface-violet)}.tab-icon[data-v-941c66a7]{width:22px;height:22px}.tab-icon-wrap[data-v-941c66a7]{position:relative;display:inline-flex}.tab-badge[data-v-941c66a7]{position:absolute;top:-4px;right:-10px;min-width:15px;height:15px;padding:0 4px;border-radius:var(--radius-full);background-color:var(--color-surface-violet);color:var(--color-primary-deep);font-size:9px;font-weight:640;line-height:15px;text-align:center}.sidebar-deck-selector[data-v-c6518c4c]{padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--color-hairline-dark);margin-bottom:var(--space-sm)}.sidebar-deck-label[data-v-c6518c4c]{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-on-dark-mute);display:block;margin-bottom:var(--space-xs)}.sidebar-deck-select[data-v-c6518c4c]{width:100%;background-color:var(--color-primary-deep);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-sm);color:var(--color-on-primary);font-family:var(--font-sans);font-size:var(--text-caption);padding:4px 8px;cursor:pointer;outline:none;transition:border-color var(--transition)}.sidebar-deck-select[data-v-c6518c4c]:focus,.sidebar-deck-select[data-v-c6518c4c]:hover{border-color:var(--color-surface-violet)}.sidebar-deck-hint[data-v-c6518c4c]{font-size:10px;color:var(--color-surface-violet);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logout[data-v-c6518c4c]{margin-top:var(--space-md);background:transparent;border:none;color:var(--color-on-dark-faint);font-size:var(--text-micro);cursor:pointer;padding:0;text-align:left;transition:color .2s ease}.sidebar-logout[data-v-c6518c4c]:hover{color:#e57373}.main-content.full-bleed[data-v-c6518c4c]{margin-left:0}.app-icon[data-v-deeb8946]{flex-shrink:0;vertical-align:-2px}.review-card[data-v-6fb59f6b]{display:flex;flex-direction:column;gap:var(--space-lg);background-color:var(--color-primary-mid);border-color:var(--color-hairline-dark)}.review-card[data-v-6fb59f6b]{animation:card-enter-6fb59f6b .13s cubic-bezier(.22,.61,.36,1)}@keyframes card-enter-6fb59f6b{0%{opacity:.4;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes card-fade-6fb59f6b{0%{opacity:.4}to{opacity:1}}.review-card-head[data-v-6fb59f6b]{display:flex;justify-content:flex-end;min-height:26px;margin-top:calc(-1 * var(--space-md))}.review-undo-btn[data-v-6fb59f6b]{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background-color:transparent;color:var(--color-on-surface);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-sm);opacity:.6}.review-undo-btn[data-v-6fb59f6b]:hover{opacity:1;background-color:var(--color-primary-deep)}.review-card-label[data-v-6fb59f6b]{font-weight:540}.review-question[data-v-6fb59f6b]{font-size:var(--text-display-md);font-weight:460;letter-spacing:-.315px;line-height:1.4;flex:1;color:var(--color-on-primary)}.review-question.dim[data-v-6fb59f6b]{opacity:.6;font-size:var(--text-body-lg);flex:0 0 auto;transition:opacity .2s ease,font-size .2s ease}.review-answer[data-v-6fb59f6b]{font-family:var(--font-latin);font-size:var(--text-display-md);font-weight:500;line-height:1.65;color:var(--color-on-primary);letter-spacing:normal}.review-answer-tools[data-v-6fb59f6b]{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-md)}.btn-speak[data-v-6fb59f6b]{background:transparent;border:1px solid var(--color-hairline-dark);border-radius:var(--radius-sm);color:var(--color-on-surface);cursor:pointer;padding:2px 8px;font-size:var(--text-body-md);opacity:.6;transition:all .2s ease;flex-shrink:0}.btn-speak[data-v-6fb59f6b]:hover{opacity:1;border-color:var(--color-surface-violet)}.btn-speak-sm[data-v-6fb59f6b]{font-size:var(--text-xs);padding:0 6px;margin-left:var(--space-sm);vertical-align:middle}.note-en-row[data-v-6fb59f6b]{display:inline-flex;align-items:center;margin-top:4px}.context-toggle[data-v-6fb59f6b]{background:transparent;border:none;color:var(--color-on-dark-faint);font-size:var(--text-micro);cursor:pointer;padding:0;text-align:left;transition:color .2s ease;width:fit-content}.context-toggle[data-v-6fb59f6b]:hover{color:var(--color-surface-violet)}.context-list[data-v-6fb59f6b]{list-style:none;padding:var(--space-md);margin-top:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-xs);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-sm);background-color:#00000026}.context-item[data-v-6fb59f6b]{display:flex;gap:var(--space-sm);font-family:var(--font-latin);font-size:var(--text-caption);color:var(--color-on-dark-mute);line-height:1.5}.context-item.current[data-v-6fb59f6b]{color:var(--color-surface-violet)}.context-seq[data-v-6fb59f6b]{opacity:.5;flex-shrink:0}.review-rating-btn.rating-again[data-v-6fb59f6b]{border-color:var(--color-danger-soft);color:var(--color-danger-soft)}.review-rating-btn.rating-again[data-v-6fb59f6b]:hover:not(:disabled){border-color:var(--color-danger-soft);color:var(--color-danger-soft);background-color:color-mix(in srgb,var(--color-danger-soft) 14%,transparent)}.review-notes-section[data-v-6fb59f6b]{margin-top:var(--space-xl);padding:var(--space-md) var(--space-lg);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-sm);background-color:#00000026}.review-notes-list[data-v-6fb59f6b]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-md)}.review-note-item[data-v-6fb59f6b]{font-size:var(--text-caption);line-height:1.5;display:flex;flex-direction:column}.note-zh[data-v-6fb59f6b]{color:var(--color-on-primary);opacity:.6}.note-en-mask[data-v-6fb59f6b]{font-family:var(--font-latin);display:inline-block;background-color:#ffffff1a;color:transparent;border-radius:var(--radius-sm);padding:2px 8px 2px 4px;margin-left:-4px;cursor:pointer;transition:all .3s ease;width:fit-content;margin-top:4px}.note-en-mask[data-v-6fb59f6b]:hover,.note-en-mask[data-v-6fb59f6b]:active,.note-en-mask.revealed[data-v-6fb59f6b]{background-color:transparent;color:var(--color-on-primary)}.review-card-actions[data-v-6fb59f6b]{display:flex;justify-content:center;padding-top:var(--space-lg)}.review-ratings[data-v-6fb59f6b]{display:flex;justify-content:space-between;width:100%;gap:var(--space-md);margin-top:var(--space-xl)}.review-rating-btn[data-v-6fb59f6b]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px;background-color:transparent;border:1px solid var(--color-hairline-dark);color:var(--color-on-surface);border-radius:var(--radius-sm);transition:all .2s ease}.rating-main[data-v-6fb59f6b]{display:flex;align-items:center;gap:var(--space-sm)}.rating-interval[data-v-6fb59f6b]{font-size:var(--text-micro);opacity:.45;line-height:1}.review-card.flip-target[data-v-6fb59f6b]{cursor:pointer}@media (hover: hover){.review-rating-btn[data-v-6fb59f6b]:hover:not(:disabled){background-color:#ffffff0d;border-color:var(--color-surface-violet);color:var(--color-on-primary)}}.rating-label[data-v-6fb59f6b]{font-size:var(--text-body-md);font-weight:500}.rating-shortcut[data-v-6fb59f6b]{font-size:var(--text-xs);opacity:.5}.card-reveal-enter-active[data-v-6fb59f6b]{transition:opacity .28s ease,transform .28s ease}.card-reveal-enter-from[data-v-6fb59f6b]{opacity:0;transform:translateY(12px)}.card-reveal-enter-to[data-v-6fb59f6b]{opacity:1;transform:translateY(0)}@media (max-width: 768px){.review-card-actions[data-v-6fb59f6b],.review-ratings[data-v-6fb59f6b],.review-submitting[data-v-6fb59f6b]{position:fixed;bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom));left:0;right:0;width:auto;margin:0;padding:var(--space-md) var(--space-lg);background-color:var(--color-primary-deep);z-index:90}.review-card-actions[data-v-6fb59f6b]:before,.review-ratings[data-v-6fb59f6b]:before,.review-submitting[data-v-6fb59f6b]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--color-progress-review) 0 var(--progress-review, 0%),var(--color-progress-learn) var(--progress-review, 0%) var(--progress-total, 0%),var(--color-hairline-dark) var(--progress-total, 0%) 100%)}.review-ratings[data-v-6fb59f6b]{gap:var(--space-sm)}.review-rating-btn[data-v-6fb59f6b]{min-height:48px;padding:10px 4px;min-width:0}.review-card-actions .btn-pill[data-v-6fb59f6b]{width:min(64%,250px);margin:0 auto;min-height:48px;justify-content:center}.review-card[data-v-6fb59f6b]{margin-bottom:84px}.review-card[data-v-6fb59f6b]{animation-name:card-fade-6fb59f6b}.card-reveal-enter-active[data-v-6fb59f6b]{transition:opacity .28s ease}.card-reveal-enter-from[data-v-6fb59f6b],.card-reveal-enter-to[data-v-6fb59f6b]{transform:none}}@media (hover: none){.rating-shortcut[data-v-6fb59f6b]{display:none}}.modal-overlay[data-v-e53260d1]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:var(--space-lg)}.modal-box[data-v-e53260d1]{background-color:var(--color-primary-mid);padding:var(--space-xxl);max-height:90vh;overflow-y:auto}.edit-box[data-v-e53260d1]{width:min(520px,100%);display:flex;flex-direction:column;gap:var(--space-lg)}.edit-title[data-v-e53260d1]{font-size:var(--text-body-lg);font-weight:540}.edit-field[data-v-e53260d1]{display:flex;flex-direction:column;gap:var(--space-xs)}.edit-label[data-v-e53260d1]{font-size:var(--text-micro);text-transform:uppercase;letter-spacing:.08em;color:var(--color-on-dark-mute)}.edit-textarea[data-v-e53260d1]{resize:vertical;line-height:1.5;font-family:var(--font-sans)}.edit-actions[data-v-e53260d1]{display:flex;justify-content:flex-end;gap:var(--space-md)}.edit-note-row[data-v-e53260d1]{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.edit-note-inputs[data-v-e53260d1]{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.edit-note-del[data-v-e53260d1]{background:transparent;border:1px solid var(--color-hairline-dark);border-radius:var(--radius-sm);color:var(--color-on-dark-mute);cursor:pointer;padding:4px 8px;flex-shrink:0}.edit-note-del[data-v-e53260d1]:hover{color:#e57373;border-color:#e57373}.edit-note-add[data-v-e53260d1]{align-self:flex-start;font-size:var(--text-caption);padding:4px 10px}.review-page[data-v-62be8517]{display:flex;flex-direction:column;min-height:100vh;padding-top:var(--space-huge)}.review-progress-track[data-v-62be8517]{position:fixed;top:0;left:var(--sidebar-width);right:0;height:3px;display:flex;background-color:var(--color-primary-mid);z-index:95}.review-progress-seg[data-v-62be8517]{height:100%;transition:width .4s ease}@media (max-width: 768px){.review-progress-track[data-v-62be8517]{display:none}}.seg-review[data-v-62be8517]{background-color:var(--color-progress-review)}.seg-learn[data-v-62be8517]{background-color:var(--color-progress-learn)}.review-progress-seg.active[data-v-62be8517]{box-shadow:0 0 6px currentColor;filter:brightness(1.15)}.review-toast[data-v-62be8517]{position:fixed;top:calc(var(--space-lg) + env(safe-area-inset-top));right:var(--space-xl);display:flex;align-items:center;gap:var(--space-md);background-color:var(--color-primary-deep);border:1px solid var(--color-surface-violet);color:var(--color-surface-violet);border-radius:var(--radius-sm);padding:8px 16px;font-size:var(--text-caption);z-index:150;pointer-events:none;max-width:80vw}.review-toast.actionable[data-v-62be8517]{pointer-events:auto}.toast-undo-btn[data-v-62be8517]{background:transparent;border:1px solid var(--color-surface-violet);border-radius:var(--radius-sm);color:var(--color-surface-violet);font-size:var(--text-micro);padding:2px 10px;cursor:pointer;flex-shrink:0}.toast-undo-btn[data-v-62be8517]:hover{background-color:#c9b4fa1f}.toast-enter-active[data-v-62be8517],.toast-leave-active[data-v-62be8517]{transition:opacity .25s ease,transform .25s ease}.toast-enter-from[data-v-62be8517],.toast-leave-to[data-v-62be8517]{opacity:0;transform:translateY(-8px)}.review-center[data-v-62be8517]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);min-height:60vh}.review-error-card[data-v-62be8517],.review-done-card[data-v-62be8517]{text-align:center;max-width:400px}.review-done-title[data-v-62be8517]{font-size:var(--text-display-lg);font-weight:540;letter-spacing:-.63px}.review-done-summary[data-v-62be8517]{margin-top:var(--space-lg);color:var(--color-on-dark-mute)}.review-done-summary strong[data-v-62be8517]{color:var(--color-surface-violet);font-weight:540}.review-done-emoji[data-v-62be8517]{font-size:56px;margin-bottom:var(--space-md);animation:done-pop-62be8517 .5s cubic-bezier(.34,1.56,.64,1)}@keyframes done-pop-62be8517{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.review-done-streak[data-v-62be8517]{margin-top:var(--space-md);font-size:var(--text-body-lg)}.review-done-streak strong[data-v-62be8517]{color:var(--color-surface-violet);font-weight:640}.review-done-tomorrow[data-v-62be8517]{margin-top:var(--space-lg)}.review-done-tomorrow strong[data-v-62be8517]{color:var(--color-on-primary);font-weight:540}.review-active[data-v-62be8517]{flex:1;max-width:680px;margin:0 auto;width:100%}.review-interstitial[data-v-62be8517]{text-align:center;max-width:400px;animation:interstitial-enter-62be8517 .16s cubic-bezier(.22,.61,.36,1)}@keyframes interstitial-enter-62be8517{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.review-interstitial-emoji[data-v-62be8517]{font-size:44px;margin-bottom:var(--space-md);animation:done-pop-62be8517 .4s cubic-bezier(.34,1.56,.64,1)}.review-interstitial-title[data-v-62be8517]{font-size:var(--text-display-md);font-weight:540;letter-spacing:-.4px}.review-interstitial-sub[data-v-62be8517]{margin-top:var(--space-sm);font-size:var(--text-caption)}.review-interstitial-btn[data-v-62be8517],.review-interstitial-actions[data-v-62be8517]{width:min(220px,100%);margin:var(--space-xl) auto 0}.review-interstitial-actions[data-v-62be8517]{display:flex;flex-direction:column;gap:var(--space-sm);align-items:stretch}.review-interstitial-actions .btn[data-v-62be8517],.review-interstitial-btn[data-v-62be8517]{justify-content:center}.review-interstitial-hint[data-v-62be8517]{opacity:.6;font-size:var(--text-caption);margin-left:6px}.review-meta[data-v-62be8517]{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg);opacity:.5;transition:opacity .3s ease}.review-meta[data-v-62be8517]:hover{opacity:1}.review-meta-main[data-v-62be8517]{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.badge-truncate[data-v-62be8517]{display:block;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.badge-new[data-v-62be8517]{color:var(--color-surface-violet);border-color:var(--color-surface-violet)}.review-meta-sub[data-v-62be8517]{display:flex;align-items:center;gap:var(--space-md)}.review-progress-label[data-v-62be8517]{margin-left:auto}.review-autospeak-btn[data-v-62be8517]{margin-left:auto;flex-shrink:0;white-space:nowrap;background:transparent;border:1px solid var(--color-hairline-dark);border-radius:var(--radius-sm);color:var(--color-on-dark-mute);font-size:var(--text-micro);padding:2px 8px;cursor:pointer;transition:all .2s ease}.review-autospeak-btn.on[data-v-62be8517]{color:var(--color-surface-violet);border-color:var(--color-surface-violet)}.review-keyboard-hint[data-v-62be8517]{opacity:.2;transition:opacity .3s ease}.review-keyboard-hint[data-v-62be8517]:hover{opacity:1}kbd[data-v-62be8517]{display:inline-block;padding:1px 6px;font-family:var(--font-sans);font-size:11px;background:var(--color-primary-mid);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-xs);margin:0 2px}@media (max-width: 768px){.review-toast[data-v-62be8517]{top:auto;bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 88px);left:var(--space-lg);right:var(--space-lg);width:fit-content;margin:0 auto}.toast-enter-from[data-v-62be8517],.toast-leave-to[data-v-62be8517]{transform:translateY(8px)}}@media (hover: none){.review-meta[data-v-62be8517]{opacity:1}.review-keyboard-hint[data-v-62be8517]{display:none}}.hub-tabs[data-v-35c06d52]{display:inline-flex;gap:var(--space-xs);padding:3px;background-color:var(--color-primary-mid);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-full)}.hub-tab[data-v-35c06d52]{padding:6px 16px;border-radius:var(--radius-full);color:var(--color-on-dark-mute);text-decoration:none;font-size:var(--text-caption);font-weight:540;white-space:nowrap;transition:color .15s ease,background-color .15s ease}.hub-tab.active[data-v-35c06d52]{background-color:var(--color-surface-violet);color:var(--color-primary)}.import-result-title[data-v-d62bb9f4]{font-size:var(--text-display-lg);font-weight:540;letter-spacing:-.63px}.import-blocks[data-v-d62bb9f4]{display:flex;flex-direction:column;gap:var(--space-md);max-height:60vh;overflow-y:auto;padding-right:var(--space-xs)}.import-block-item[data-v-d62bb9f4]{background-color:var(--color-primary-deep);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-md);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.import-block-q[data-v-d62bb9f4]{font-size:var(--text-body-md);color:var(--color-on-primary);display:flex;gap:var(--space-sm);align-items:baseline}.import-block-a[data-v-d62bb9f4]{font-size:var(--text-caption);color:var(--color-on-dark-mute);display:flex;gap:var(--space-sm);align-items:baseline}.mt-sm[data-v-d62bb9f4]{margin-top:var(--space-sm)}.preview-card[data-v-1372c67f]{background-color:var(--color-primary-mid)}.preview-title[data-v-1372c67f]{font-size:var(--text-body-lg);font-weight:540}.preview-list[data-v-1372c67f]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-sm);max-height:55vh;overflow-y:auto}.preview-item[data-v-1372c67f]{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-sm);background-color:var(--color-primary-deep);transition:opacity .2s ease}.preview-item.unchecked[data-v-1372c67f]{opacity:.35}.preview-check[data-v-1372c67f]{margin-top:8px;accent-color:var(--color-surface-violet);flex-shrink:0}.preview-fields[data-v-1372c67f]{flex:1;display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.preview-input[data-v-1372c67f]{background:transparent;border:1px solid transparent;border-radius:var(--radius-xs);color:var(--color-on-primary);font-family:var(--font-sans);padding:2px 6px;width:100%;transition:border-color .2s ease}.preview-input[data-v-1372c67f]:hover{border-color:var(--color-hairline-dark)}.preview-input[data-v-1372c67f]:focus{border-color:var(--color-surface-violet);outline:none;background-color:#0003}.preview-quiz[data-v-1372c67f]{font-size:var(--text-caption);color:var(--color-on-dark-mute)}.preview-content[data-v-1372c67f]{font-size:var(--text-body-md)}.import-card[data-v-6b4389db]{background-color:var(--color-primary-mid)}.import-error[data-v-6b4389db]{color:#e57373;font-size:var(--text-caption);margin-top:var(--space-md)}.import-card[data-v-c3797de7]{background-color:var(--color-primary-mid)}.import-error[data-v-c3797de7]{color:#e57373;font-size:var(--text-caption);margin-top:var(--space-md)}.url-preview[data-v-c3797de7]{border:1px solid var(--color-hairline-dark);border-radius:var(--radius-md);padding:var(--space-lg);background-color:var(--color-primary-deep)}.url-preview-title[data-v-c3797de7]{font-size:var(--text-body-md);font-weight:540;color:var(--color-on-primary)}.url-preview-text[data-v-c3797de7]{cursor:default;-webkit-user-select:text;user-select:text;line-height:1.7}.mt-xs[data-v-c3797de7]{margin-top:var(--space-xs)}.import-card[data-v-dadb9c72]{background-color:var(--color-primary-mid)}.import-error[data-v-dadb9c72]{color:#e57373;font-size:var(--text-caption);margin-top:var(--space-md)}.drop-zone[data-v-dadb9c72]{border:2px dashed var(--color-hairline-dark);border-radius:var(--radius-lg);padding:var(--space-xxl);text-align:center;cursor:pointer;transition:border-color var(--transition),background-color var(--transition)}.drop-zone[data-v-dadb9c72]:hover,.drop-zone-active[data-v-dadb9c72]{border-color:var(--color-surface-violet);background-color:#8b5cf60d}.drop-zone-hint[data-v-dadb9c72]{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.drop-zone-file[data-v-dadb9c72]{display:flex;align-items:center;gap:var(--space-lg);justify-content:center}.file-name[data-v-dadb9c72]{font-weight:540;color:var(--color-on-primary);font-size:var(--text-body-md)}.md-format-hint[data-v-dadb9c72]{background-color:var(--color-primary-deep);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-md);padding:var(--space-lg)}.format-example[data-v-dadb9c72]{font-family:monospace;font-size:12px;color:var(--color-on-dark-mute);margin:0;line-height:1.6;white-space:pre-wrap}.import-result-title[data-v-dadb9c72]{font-size:var(--text-display-lg);font-weight:540;letter-spacing:-.63px}.md-result-stats[data-v-dadb9c72]{display:flex;gap:var(--space-xl)}.md-stat[data-v-dadb9c72]{display:flex;align-items:baseline;gap:var(--space-xs)}.md-stat-num[data-v-dadb9c72]{font-size:var(--text-display-md);font-weight:640}.md-stat-label[data-v-dadb9c72]{font-size:var(--text-caption);color:var(--color-on-dark-mute)}.md-sources-list[data-v-dadb9c72]{display:flex;flex-direction:column;gap:var(--space-sm);max-height:55vh;overflow-y:auto;padding-right:var(--space-xs)}.md-source-item[data-v-dadb9c72]{display:flex;align-items:center;justify-content:space-between;background-color:var(--color-primary-deep);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);transition:background-color var(--transition)}.md-source-item[data-v-dadb9c72]:hover{background-color:var(--color-primary-mid)}.md-source-title[data-v-dadb9c72]{font-size:var(--text-body-md);color:var(--color-on-primary);font-weight:460}.mt-xs[data-v-dadb9c72]{margin-top:var(--space-xs)}.mt-sm[data-v-dadb9c72]{margin-top:var(--space-sm)}.import-tabs[data-v-6a1a7117]{display:flex;gap:var(--space-sm);margin-top:var(--space-xl);border-bottom:1px solid var(--color-hairline-dark);padding-bottom:0}.tab-btn[data-v-6a1a7117]{padding:var(--space-md) var(--space-xl);background:none;border:none;border-bottom:2px solid transparent;color:var(--color-on-dark-mute);font-family:var(--font-sans);font-size:var(--text-body-md);font-weight:460;cursor:pointer;transition:color var(--transition),border-color var(--transition);margin-bottom:-1px}.tab-btn[data-v-6a1a7117]:hover{color:var(--color-on-primary)}.tab-btn.active[data-v-6a1a7117]{color:var(--color-surface-violet);border-bottom-color:var(--color-surface-violet);font-weight:540}.modal-overlay[data-v-ffb1c391]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200}.modal-box[data-v-ffb1c391]{background-color:var(--color-primary-mid);padding:var(--space-xxl);max-height:90vh;overflow-y:auto}.confirm-box[data-v-ffb1c391]{max-width:380px;width:calc(100vw - var(--space-xl) * 2)}.confirm-message[data-v-ffb1c391]{line-height:1.6;margin-bottom:var(--space-xl);white-space:pre-line}.confirm-actions[data-v-ffb1c391]{display:flex;justify-content:flex-end;gap:var(--space-md)}.confirm-danger[data-v-ffb1c391]{background-color:transparent;border:1px solid #e57373;color:#e57373;border-radius:var(--radius-sm);padding:6px 16px;transition:all .2s ease}.confirm-danger[data-v-ffb1c391]:hover{background-color:#e573731f}.deck-scope-select[data-v-1ffef3f8]{background-color:var(--color-primary-deep);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-sm);color:var(--color-on-primary);font-family:var(--font-sans);font-size:var(--text-caption);padding:8px 10px;max-width:60vw;outline:none}.library-empty[data-v-1b9bf368]{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-huge) 0;text-align:center}.library-chips[data-v-1b9bf368]{display:flex;gap:var(--space-sm);flex-wrap:wrap}.library-chip[data-v-1b9bf368]{background:transparent;border:1px solid var(--color-hairline-dark);border-radius:var(--radius-full);color:var(--color-on-dark-mute);font-size:var(--text-caption);padding:4px 12px;cursor:pointer;transition:all .2s ease}.library-chip[data-v-1b9bf368]:hover{border-color:var(--color-surface-violet)}.library-chip.active[data-v-1b9bf368]{color:var(--color-surface-violet);border-color:var(--color-surface-violet);background-color:#c9b4fa14}.library-chip-count[data-v-1b9bf368]{opacity:.6;margin-left:2px}.library-list[data-v-1b9bf368]{display:flex;flex-direction:column;gap:var(--space-md)}.library-item[data-v-1b9bf368]{display:flex;align-items:flex-start;gap:var(--space-xl);background-color:var(--color-primary-deep);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-md);padding:var(--space-lg);transition:border-color var(--transition)}.library-item[data-v-1b9bf368]:hover{border-color:var(--color-hairline-dark);background-color:var(--color-primary-mid)}.library-item-content[data-v-1b9bf368]{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.library-item-q[data-v-1b9bf368]{font-size:var(--text-body-md);font-weight:540;color:var(--color-on-primary);line-height:1.4}.library-item-a[data-v-1b9bf368]{font-size:var(--text-caption);color:var(--color-on-dark-mute);line-height:1.5}.library-item-meta[data-v-1b9bf368]{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-sm);flex-shrink:0}.library-item.suspended .library-item-content[data-v-1b9bf368]{opacity:.45}.library-item-actions[data-v-1b9bf368]{display:flex;gap:var(--space-xs)}.btn-item-action[data-v-1b9bf368]{font-size:var(--text-micro);padding:4px 8px}.badge-new[data-v-1b9bf368]{color:var(--color-surface-violet);border-color:var(--color-surface-violet)}.badge-mastered[data-v-1b9bf368]{color:#4db6b6;border-color:#4db6b666}.badge-learning[data-v-1b9bf368]{color:var(--color-on-dark-mute)}.badge-hard[data-v-1b9bf368]{color:#e5a373;border-color:#e5a37366}.badge-leech[data-v-1b9bf368]{color:#e57373;border-color:#e5737366}.stats-section-title[data-v-ece26536]{font-size:var(--text-heading-lg);font-weight:540;letter-spacing:-.4px;color:var(--color-on-primary)}.stats-hub-link[data-v-ece26536]{color:var(--color-surface-violet);text-decoration:none}.heatmap-card[data-v-ece26536]{overflow:hidden}.heatmap-scroll[data-v-ece26536]{overflow-x:auto;padding-bottom:var(--space-md);position:relative}.heatmap-months[data-v-ece26536]{position:relative;height:18px;margin-bottom:4px;min-width:max-content}.heatmap-month-label[data-v-ece26536]{position:absolute;font-size:10px;color:var(--color-on-dark-mute);white-space:nowrap}.heatmap-grid[data-v-ece26536]{display:flex;gap:2px;min-width:max-content}.heatmap-col[data-v-ece26536]{display:flex;flex-direction:column;gap:2px}.heatmap-cell[data-v-ece26536]{width:12px;height:12px;border-radius:2px;cursor:default;flex-shrink:0;transition:opacity .15s}.heatmap-cell[data-v-ece26536]:hover{opacity:.75;outline:1px solid rgba(255,255,255,.25);outline-offset:1px}.heatmap-legend[data-v-ece26536]{display:flex;align-items:center;gap:3px;margin-top:var(--space-md);justify-content:flex-end}.heatmap-tooltip[data-v-ece26536]{position:absolute;transform:translate(-50%,-100%);background:var(--color-primary-deep);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-sm);padding:4px 10px;font-size:11px;color:var(--color-on-primary);white-space:nowrap;pointer-events:none;z-index:20;box-shadow:0 4px 16px #0006}.fade-enter-active[data-v-ece26536],.fade-leave-active[data-v-ece26536]{transition:opacity .12s}.fade-enter-from[data-v-ece26536],.fade-leave-to[data-v-ece26536]{opacity:0}.deck-form[data-v-3164e99d]{background-color:var(--color-primary-mid)}.deck-form-title[data-v-3164e99d]{font-size:var(--text-heading-lg);font-weight:540;letter-spacing:-.4px;margin-bottom:var(--space-lg)}.form-row[data-v-3164e99d]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.deck-tree[data-v-3164e99d]{display:flex;flex-direction:column;gap:var(--space-sm)}.deck-node[data-v-3164e99d]{background-color:var(--color-primary-mid);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-md);transition:background-color var(--transition),border-color var(--transition)}.deck-node[data-v-3164e99d]:hover{background-color:var(--color-primary-deep);border-color:var(--color-surface-violet)}.deck-node-content[data-v-3164e99d]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);padding:var(--space-lg) var(--space-xl) var(--space-lg) 0}.deck-node-info[data-v-3164e99d]{display:flex;align-items:center;gap:var(--space-md);min-width:0}.deck-node-connector[data-v-3164e99d]{color:var(--color-on-dark-mute);font-family:monospace;font-size:14px;flex-shrink:0}.deck-node-icon[data-v-3164e99d]{font-size:18px;flex-shrink:0}.deck-node-info>div[data-v-3164e99d]{min-width:0}.deck-node-clickable[data-v-3164e99d]{cursor:pointer}.deck-node-clickable:hover .deck-node-name[data-v-3164e99d]{color:var(--color-surface-violet)}.deck-node-chevron[data-v-3164e99d]{font-size:var(--text-body-lg)}.deck-node-name[data-v-3164e99d]{font-size:var(--text-body-md);font-weight:540;color:var(--color-on-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deck-node-path[data-v-3164e99d]{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deck-node-meta[data-v-3164e99d]{display:flex;align-items:center;gap:var(--space-md);flex-shrink:0}@media (max-width: 768px){.deck-node-content[data-v-3164e99d]{flex-wrap:wrap;gap:var(--space-sm) var(--space-md)}.deck-node-meta[data-v-3164e99d]{margin-left:auto}}.deck-strategy-badge[data-v-3164e99d]{font-size:11px;padding:2px 8px}.btn-sm[data-v-3164e99d]{padding:var(--space-xs) var(--space-md);font-size:var(--text-caption)}.deck-delete-btn[data-v-3164e99d]:hover{color:#e57373;border-color:#e57373}.modal-overlay[data-v-3164e99d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.modal-box[data-v-3164e99d]{width:min(600px,92vw);background-color:var(--color-primary-mid);padding:var(--space-xxl);max-height:90vh;overflow-y:auto}.login-page[data-v-9128b8b0]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-xl);padding-top:calc(var(--space-xl) + env(safe-area-inset-top));background-color:var(--color-primary)}.login-card[data-v-9128b8b0]{width:min(380px,100%);display:flex;flex-direction:column;gap:var(--space-lg);background-color:var(--color-primary-mid);border-color:var(--color-hairline-dark);padding:var(--space-xxl)}.login-logo[data-v-9128b8b0]{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.login-logo-text[data-v-9128b8b0]{font-size:var(--text-display-md);font-weight:540;letter-spacing:-.3px;color:var(--color-on-primary)}.login-field[data-v-9128b8b0]{display:flex;flex-direction:column;gap:var(--space-xs)}.login-label[data-v-9128b8b0]{font-size:var(--text-micro);text-transform:uppercase;letter-spacing:.08em;color:var(--color-on-dark-mute)}.login-remember[data-v-9128b8b0]{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-caption);color:var(--color-on-dark-mute);cursor:pointer;-webkit-user-select:none;user-select:none}.login-remember input[data-v-9128b8b0]{accent-color:var(--color-surface-violet)}.login-error[data-v-9128b8b0]{font-size:var(--text-caption);color:#e57373}.login-submit[data-v-9128b8b0]{justify-content:center;min-height:44px;margin-top:var(--space-sm)}.source-back[data-v-f946342b]{padding-left:0}.crumb-link[data-v-f946342b]{color:inherit;text-decoration:none}.crumb-link[data-v-f946342b]:hover{color:var(--color-surface-violet)}.source-title-lg[data-v-f946342b]{font-size:var(--text-display-md);font-weight:560;margin-top:var(--space-md)}.source-stats[data-v-f946342b]{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.source-progress-track[data-v-f946342b]{flex:1;min-width:80px;height:4px;border-radius:var(--radius-full);background-color:var(--color-primary-mid);overflow:hidden}.source-progress-fill[data-v-f946342b]{display:block;height:100%;border-radius:var(--radius-full);background-color:var(--color-surface-violet);transition:width .3s ease}.source-blocks[data-v-f946342b]{display:flex;flex-direction:column;gap:var(--space-sm)}.source-block-item[data-v-f946342b]{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-md);background-color:var(--color-primary-mid)}.source-block-seq[data-v-f946342b]{flex-shrink:0;margin-top:2px;min-width:28px}.source-block-body[data-v-f946342b]{flex:1;min-width:0}.source-block-zh[data-v-f946342b]{color:var(--color-on-dark-mute)}.source-block-en[data-v-f946342b]{margin-top:var(--space-xs)}.source-block-side[data-v-f946342b]{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs)}.source-block-status[data-v-f946342b]{white-space:nowrap}.st-new[data-v-f946342b]{color:var(--color-surface-violet)}.st-due[data-v-f946342b]{color:#e5a973}.st-learning[data-v-f946342b]{color:var(--color-on-dark-mute)}.st-mastered[data-v-f946342b]{color:#7dd4a0}.st-suspended[data-v-f946342b]{color:var(--color-on-dark-faint);text-decoration:line-through}.settings-card[data-v-46940be3]{background-color:var(--color-primary-mid)}.settings-section-title[data-v-46940be3]{font-size:var(--text-body-lg);font-weight:540}.settings-row[data-v-46940be3]{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.settings-num[data-v-46940be3]{width:80px}.settings-unit[data-v-46940be3]{width:auto}.settings-logout[data-v-46940be3]{color:#e57373;border:1px solid var(--color-hairline-dark);padding:var(--space-sm) var(--space-lg)}.articles-filter[data-v-16481c55]{display:flex;align-items:center;gap:var(--space-sm)}.articles-filter-clear[data-v-16481c55]{background:transparent;border:1px solid var(--color-hairline-dark);border-radius:var(--radius-full);color:var(--color-on-dark-mute);cursor:pointer;width:24px;height:24px;line-height:1}.articles-group-title[data-v-16481c55]{text-transform:none;letter-spacing:.04em;margin-bottom:var(--space-sm)}.article-item[data-v-16481c55]{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-sm);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-md);background-color:var(--color-primary-mid);cursor:pointer;transition:border-color .2s ease}.article-item[data-v-16481c55]:hover{border-color:var(--color-surface-violet)}.article-item-body[data-v-16481c55]{flex:1;min-width:0}.article-title[data-v-16481c55]{font-weight:540;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.article-progress-row[data-v-16481c55]{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-xs)}.article-progress-track[data-v-16481c55]{flex:1;height:4px;border-radius:var(--radius-full);background-color:var(--color-primary-deep);overflow:hidden}.article-progress-fill[data-v-16481c55]{display:block;height:100%;border-radius:var(--radius-full);background-color:var(--color-surface-violet)}.article-count[data-v-16481c55]{flex-shrink:0}.article-chevron[data-v-16481c55]{font-size:var(--text-body-lg);flex-shrink:0}:root{--color-primary: #1b1938;--color-primary-deep: #0e0c1f;--color-primary-mid: #2a2650;--color-on-primary: #ffffff;--color-ink: #292827;--color-ink-mute: #73706d;--color-ink-faint: #9a9794;--color-canvas: #ffffff;--color-canvas-soft: #fafaf8;--color-surface-violet: #c9b4fa;--color-progress-review: #c9b4fa;--color-progress-learn: #7fd6c4;--color-danger-soft: #e8a09a;--color-surface-teal: #0e3030;--color-surface-teal-mid:#155555;--color-hairline: #e8e4dd;--color-hairline-dark: #3f3a52;--color-on-dark-mute: #bcbac9;--color-on-dark-faint: #5a5772;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-latin: ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, "Source Serif 4", Georgia, "Times New Roman", serif;--text-display-xxl: 64px;--text-display-xl: 48px;--text-display-lg: 28px;--text-display-md: 22px;--text-heading-lg: 20px;--text-body-lg: 18px;--text-body-md: 16px;--text-caption: 14px;--text-micro: 12px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--space-xxs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-xxl: 32px;--space-huge:64px;--shadow-1: 0 1px 3px rgba(0, 0, 0, .08);--shadow-2: 0 8px 24px rgba(0, 0, 0, .12);--shadow-3: 0 16px 48px rgba(0, 0, 0, .2);--sidebar-width: 220px;--transition: .15s ease;--heatmap-empty: #1e1c32;--heatmap-1: #3d2d6e;--heatmap-2: #5b3fa0;--heatmap-3: #7c52d4;--heatmap-4: #a07be8;--heatmap-5: #c9b4fa}html[data-theme=light]{--color-primary: #f4f2fb;--color-primary-deep: #ffffff;--color-primary-mid: #ffffff;--color-on-primary: #241f3d;--color-surface-violet: #6a48d7;--color-progress-review: #6a48d7;--color-progress-learn: #17897a;--color-danger-soft: #c2544a;--color-hairline-dark: #ddd9ec;--color-on-dark-mute: #5f5a78;--color-on-dark-faint: #a09bb6;--heatmap-empty: #eceaf6;--heatmap-1: #d8cef5;--heatmap-2: #b9a5ee;--heatmap-3: #977ae2;--heatmap-4: #7a56d8;--heatmap-5: #6a48d7}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-weight:460;font-size:var(--text-body-md);line-height:1.5;background-color:var(--color-primary);color:var(--color-on-primary);min-height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-hairline-dark);border-radius:var(--radius-full)}#app{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);flex-shrink:0;background-color:var(--color-primary-deep);border-right:1px solid var(--color-hairline-dark);display:flex;flex-direction:column;padding:var(--space-xl) 0;position:fixed;top:0;left:0;height:100vh;z-index:100}.sidebar-logo{padding:0 var(--space-xl);margin-bottom:var(--space-xxl);display:flex;align-items:center;gap:var(--space-sm)}.sidebar-logo-text{font-family:var(--font-sans);font-weight:540;font-size:var(--text-display-md);letter-spacing:-.315px;color:var(--color-on-primary)}.sidebar-logo-emoji{font-size:22px;line-height:1}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:var(--space-xs);padding:0 var(--space-md)}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-md);padding:10px var(--space-md);border-radius:var(--radius-md);text-decoration:none;color:var(--color-on-dark-mute);font-size:var(--text-body-md);font-weight:460;transition:background-color var(--transition),color var(--transition)}.sidebar-nav-item:hover{background-color:var(--color-primary-mid);color:var(--color-on-primary)}.sidebar-nav-item.active{background-color:var(--color-primary-mid);color:var(--color-on-primary);font-weight:540}.sidebar-nav-item .nav-icon{width:18px;height:18px;flex-shrink:0;opacity:.7}.sidebar-nav-item.active .nav-icon,.sidebar-nav-item:hover .nav-icon{opacity:1}.sidebar-footer{padding:var(--space-xl);border-top:1px solid var(--color-hairline-dark)}.sidebar-stats-mini{font-size:var(--text-micro);color:var(--color-on-dark-faint);line-height:1.6}.main-content{margin-left:var(--sidebar-width);flex:1;min-height:100vh;background-color:var(--color-primary)}.page-container{max-width:900px;margin:0 auto;padding:var(--space-huge) var(--space-xxl)}.page-title{font-size:var(--text-display-lg);font-weight:540;letter-spacing:-.63px;line-height:1.14;color:var(--color-on-primary);margin-bottom:var(--space-xxl)}.card{background-color:var(--color-primary-mid);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-lg);padding:var(--space-xxl)}.card-light{background-color:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--radius-lg);padding:var(--space-xxl);color:var(--color-ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font-family:var(--font-sans);font-size:var(--text-body-md);font-weight:700;line-height:1;border:none;cursor:pointer;transition:opacity var(--transition),background-color var(--transition),transform var(--transition);text-decoration:none;white-space:nowrap}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:active{transform:none}.btn-primary{background-color:var(--color-surface-violet);color:var(--color-primary);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md)}.btn-primary:hover:not(:disabled){opacity:.9}.btn-ghost{background-color:transparent;color:var(--color-on-dark-mute);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);border:1px solid var(--color-hairline-dark)}.btn-ghost:hover:not(:disabled){background-color:var(--color-primary-mid);color:var(--color-on-primary)}.btn-pill{background-color:var(--color-surface-violet);color:var(--color-primary);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-full);font-weight:700}.btn-pill:hover:not(:disabled){opacity:.9}.btn-danger{background-color:transparent;color:#e57373;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid rgba(229,115,115,.3);font-size:var(--text-caption)}.btn-danger:hover:not(:disabled){background-color:#e5737314}.form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.form-label{font-size:var(--text-caption);font-weight:540;color:var(--color-on-dark-mute);letter-spacing:.02em;text-transform:uppercase}.form-input,.form-textarea{font-family:var(--font-sans);font-size:var(--text-body-md);font-weight:460;color:var(--color-on-primary);background-color:var(--color-primary-deep);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-sm);padding:10px var(--space-md);outline:none;transition:border-color var(--transition);width:100%}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-on-dark-faint)}.form-input:focus,.form-textarea:focus{border-color:var(--color-surface-violet)}.form-textarea{resize:vertical;min-height:200px;line-height:1.6}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-lg)}.stat-card{background-color:var(--color-primary-deep);border:1px solid var(--color-hairline-dark);border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-sm)}.stat-label{font-size:var(--text-micro);font-weight:540;color:var(--color-on-dark-faint);text-transform:uppercase;letter-spacing:.08em}.stat-value{font-size:var(--text-display-lg);font-weight:540;letter-spacing:-.63px;color:var(--color-on-primary);line-height:1}.stat-value.accent{color:var(--color-surface-violet)}.stat-value.teal{color:#4db6b6}.stat-value.warm{color:#f5c882}.hub-header{flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-xl)}.badge{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-micro);font-weight:540;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);background-color:var(--color-primary-mid);color:var(--color-on-dark-mute);border:1px solid var(--color-hairline-dark);white-space:nowrap;flex-shrink:0}.divider{height:1px;background-color:var(--color-hairline-dark);margin:var(--space-xl) 0}.progress-bar{height:4px;background-color:var(--color-hairline-dark);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-surface-violet),#8b5cf6);border-radius:var(--radius-full);transition:width .4s ease}.spinner{width:20px;height:20px;border:2px solid var(--color-hairline-dark);border-top-color:var(--color-surface-violet);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-mute{color:var(--color-on-dark-mute)}.text-faint{color:var(--color-on-dark-faint)}.text-violet{color:var(--color-surface-violet)}.text-sm{font-size:var(--text-caption)}.text-xs{font-size:var(--text-micro)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mt-xxl{margin-top:var(--space-xxl)}.w-full{width:100%}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.flip-card{perspective:1200px}.flip-card-inner{position:relative;transition:transform .5s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.flip-card-inner.flipped{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{position:absolute;width:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-card-back{transform:rotateY(180deg)}.mobile-only{display:none}@media (max-width: 768px){:root{--sidebar-width: 0px;--mobile-nav-h: 56px}.mobile-only{display:block}.desktop-only,.sidebar{display:none}.main-content{margin-left:0}.page-container{padding:var(--space-xxl) var(--space-lg);padding-top:calc(var(--space-xxl) + env(safe-area-inset-top));padding-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + var(--space-xl))}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spinner{animation-duration:.7s!important;animation-iteration-count:infinite!important}}
