@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.app-icon[data-v-bf121061]{display:block}.audio-btn[data-v-e253f225]{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-full);transition:all var(--t-fast);-webkit-tap-highlight-color:transparent;background:var(--c-primary-glow);border:none;cursor:pointer}.audio-btn--sm[data-v-e253f225]{width:32px;height:32px;font-size:.9rem}.audio-btn--md[data-v-e253f225]{width:40px;height:40px;font-size:1.1rem}.audio-btn--lg[data-v-e253f225]{width:52px;height:52px;font-size:1.4rem}.audio-btn[data-v-e253f225]:hover:not(:disabled){background:var(--c-primary);transform:scale(1.05)}.audio-btn:hover:not(:disabled) .audio-btn-icon[data-v-e253f225]{opacity:.95}.audio-btn--speaking[data-v-e253f225]{animation:pulse-audio-e253f225 .8s ease-in-out infinite;background:var(--c-primary)}.audio-unsupported[data-v-e253f225]{display:inline-flex;align-items:center;justify-content:center;opacity:.4;cursor:not-allowed}@keyframes pulse-audio-e253f225{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.cards-view[data-v-5b93f4c8]{display:flex;flex-direction:column;gap:var(--s-md);min-height:70vh}.cards-topbar[data-v-5b93f4c8]{display:flex;flex-direction:column;gap:var(--s-sm)}.cards-progress-info[data-v-5b93f4c8]{display:flex;align-items:center;justify-content:space-between}.cards-counter[data-v-5b93f4c8]{font-weight:600;font-size:var(--fs-sm);color:var(--c-text-secondary)}.badge.status-mastered[data-v-5b93f4c8]{background:var(--c-success-bg);color:var(--c-success)}.badge.status-learning[data-v-5b93f4c8]{background:var(--c-warning-bg);color:var(--c-warning)}.badge.status-new[data-v-5b93f4c8]{background:var(--c-primary-glow);color:var(--c-primary)}.cards-filters[data-v-5b93f4c8],.cards-order-row[data-v-5b93f4c8]{display:flex;gap:var(--s-sm)}.filter-select[data-v-5b93f4c8]{flex:1;padding:var(--s-sm) var(--s-md);border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-surface);font-size:var(--fs-sm);font-family:var(--font-sans);color:var(--c-text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8.4L1.2 3.6h9.6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.order-select[data-v-5b93f4c8]{flex:1}.remix-btn[data-v-5b93f4c8]{flex-shrink:0;min-width:96px}.card-container[data-v-5b93f4c8]{perspective:1200px;flex:1;display:flex;align-items:center;justify-content:center;min-height:320px}.flash-card[data-v-5b93f4c8]{width:100%;max-width:400px;min-height:300px;position:relative;transform-style:preserve-3d;transition:transform var(--t-flip);cursor:pointer;-webkit-tap-highlight-color:transparent}.flash-card.flipped[data-v-5b93f4c8]{transform:rotateY(180deg)}.flash-card-face[data-v-5b93f4c8]{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-md);padding:var(--s-xl);border-radius:var(--r-xl);background:var(--c-surface);box-shadow:var(--shadow-card);border:1px solid var(--c-border-light)}.flash-card-back[data-v-5b93f4c8]{transform:rotateY(180deg)}.card-audio[data-v-5b93f4c8]{position:absolute;top:var(--s-md);right:var(--s-md)}.card-word[data-v-5b93f4c8]{font-size:var(--fs-4xl);font-weight:700;color:var(--c-text);text-align:center;letter-spacing:-.02em}.card-pos[data-v-5b93f4c8]{font-size:var(--fs-sm);color:var(--c-text-muted);font-style:italic}.card-ipa[data-v-5b93f4c8]{font-size:var(--fs-lg);color:var(--c-text-muted);font-family:var(--font-mono)}.card-en[data-v-5b93f4c8]{font-size:var(--fs-2xl);font-weight:600;color:var(--c-primary);text-align:center}.card-example[data-v-5b93f4c8]{margin-top:var(--s-sm);text-align:center}.example-fr[data-v-5b93f4c8]{font-size:var(--fs-base);color:var(--c-text);font-style:italic;margin-bottom:var(--s-xs)}.example-en[data-v-5b93f4c8]{font-size:var(--fs-sm);color:var(--c-text-secondary)}.cards-actions[data-v-5b93f4c8]{display:flex;align-items:center;justify-content:space-between;gap:var(--s-md);min-height:56px}.cards-verdict[data-v-5b93f4c8]{display:flex;gap:var(--s-md);flex:1;justify-content:center}.cards-hint[data-v-5b93f4c8]{flex:1;text-align:center;color:var(--c-text-muted);font-size:var(--fs-sm)}.cards-empty[data-v-5b93f4c8]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-md);min-height:50vh;color:var(--c-text-secondary)}.cards-empty h3[data-v-5b93f4c8]{font-size:var(--fs-xl);color:var(--c-text)}.btn-icon[data-v-5b93f4c8]{min-width:56px;width:auto;padding-inline:var(--s-md);border-radius:var(--r-full);font-size:var(--fs-sm)}.quiz-choice[data-v-71b5560b]{display:flex;flex-direction:column;gap:var(--s-lg)}.question-header[data-v-71b5560b]{display:flex;flex-direction:column;align-items:center;gap:var(--s-sm);padding:var(--s-xl) 0}.question-word[data-v-71b5560b]{font-size:var(--fs-3xl);font-weight:700;color:var(--c-text)}.question-pos[data-v-71b5560b]{font-size:var(--fs-sm);color:var(--c-text-muted);font-style:italic}.question-prompt[data-v-71b5560b]{font-size:var(--fs-sm);color:var(--c-text-secondary);text-align:center}.options-grid[data-v-71b5560b]{display:flex;flex-direction:column;gap:var(--s-sm)}.option-btn[data-v-71b5560b]{display:flex;align-items:center;gap:var(--s-md);padding:var(--s-md);border-radius:var(--r-lg);background:var(--c-surface);border:2px solid var(--c-border);text-align:left;transition:all var(--t-fast);cursor:pointer;-webkit-tap-highlight-color:transparent}.option-btn[data-v-71b5560b]:hover:not(:disabled){border-color:var(--c-primary-light);background:var(--c-primary-glow)}.option-letter[data-v-71b5560b]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-sm);background:var(--c-surface-hover);font-weight:700;font-size:var(--fs-sm);color:var(--c-text-secondary);flex-shrink:0}.option-text[data-v-71b5560b]{font-size:var(--fs-base);line-height:1.4}.option--correct[data-v-71b5560b]{border-color:var(--c-success)!important;background:var(--c-success-bg)!important}.option--correct .option-letter[data-v-71b5560b]{background:var(--c-success);color:#fff}.option--wrong[data-v-71b5560b]{border-color:var(--c-danger)!important;background:var(--c-danger-bg)!important}.option--wrong .option-letter[data-v-71b5560b]{background:var(--c-danger);color:#fff}.option--dimmed[data-v-71b5560b]{opacity:.4}.quiz-spelling[data-v-c61e2a09]{display:flex;flex-direction:column;gap:var(--s-md)}.question-header[data-v-c61e2a09]{display:flex;flex-direction:column;align-items:center;gap:var(--s-sm);padding:var(--s-lg) 0}.question-en[data-v-c61e2a09]{font-size:var(--fs-2xl);font-weight:700;color:var(--c-primary);text-align:center}.question-pos[data-v-c61e2a09]{font-size:var(--fs-sm);color:var(--c-text-muted);font-style:italic}.question-prompt[data-v-c61e2a09]{font-size:var(--fs-sm);color:var(--c-text-secondary);text-align:center}.hint-area[data-v-c61e2a09]{text-align:center;min-height:36px}.hint-text[data-v-c61e2a09]{font-size:var(--fs-sm);color:var(--c-warning)}.input-area[data-v-c61e2a09]{display:flex;gap:var(--s-sm)}.spelling-input[data-v-c61e2a09]{flex:1;padding:var(--s-md);border:2px solid var(--c-border);border-radius:var(--r-lg);font-size:var(--fs-lg);background:var(--c-surface);outline:none;transition:border-color var(--t-fast)}.spelling-input[data-v-c61e2a09]:focus{border-color:var(--c-primary)}.answer-feedback[data-v-c61e2a09]{display:flex;flex-direction:column;align-items:center;gap:var(--s-md);padding:var(--s-lg);background:var(--c-surface);border-radius:var(--r-lg);border:1px solid var(--c-border-light)}.diff-display[data-v-c61e2a09]{font-size:var(--fs-2xl);font-family:var(--font-mono);letter-spacing:2px}.diff-char[data-v-c61e2a09]{display:inline-block;padding:2px 4px;border-radius:3px}.diff-match[data-v-c61e2a09]{color:var(--c-success);background:var(--c-success-bg)}.diff-mismatch[data-v-c61e2a09]{color:var(--c-danger);background:var(--c-danger-bg);text-decoration:line-through}.correct-answer[data-v-c61e2a09]{font-size:var(--fs-base);color:var(--c-text-secondary)}.accent-keyboard[data-v-c61e2a09]{display:flex;flex-wrap:wrap;gap:var(--s-xs);justify-content:center;padding:var(--s-sm);background:var(--c-surface-hover);border-radius:var(--r-lg)}.accent-key[data-v-c61e2a09]{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);background:var(--c-surface);border:1px solid var(--c-border);font-size:var(--fs-base);font-weight:500;cursor:pointer;transition:all var(--t-fast);-webkit-tap-highlight-color:transparent}.accent-key[data-v-c61e2a09]:hover{background:var(--c-primary-glow);border-color:var(--c-primary-light)}.accent-key[data-v-c61e2a09]:active{transform:scale(.95)}.quiz-result[data-v-bd393135]{display:flex;flex-direction:column;gap:var(--s-lg);padding:var(--s-md) 0}.result-header[data-v-bd393135]{text-align:center;padding:var(--s-lg) 0}.result-title[data-v-bd393135]{font-size:var(--fs-2xl);font-weight:700}.result-grade[data-v-bd393135]{margin-top:var(--s-xs);font-size:var(--fs-sm);color:var(--c-text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.result-stats[data-v-bd393135]{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-sm)}.stat-card[data-v-bd393135]{background:var(--c-surface);border:1px solid var(--c-border-light);border-radius:var(--r-lg);padding:var(--s-md);text-align:center}.stat-value[data-v-bd393135]{font-size:var(--fs-2xl);font-weight:700;color:var(--c-primary)}.stat-unit[data-v-bd393135]{font-size:var(--fs-base);font-weight:500;color:var(--c-text-muted)}.stat-label[data-v-bd393135]{font-size:var(--fs-xs);color:var(--c-text-muted);font-weight:500;margin-top:var(--s-xs)}.wrong-section h3[data-v-bd393135]{font-size:var(--fs-base);font-weight:600;margin-bottom:var(--s-sm)}.wrong-list[data-v-bd393135]{display:flex;flex-direction:column;gap:var(--s-xs)}.wrong-item[data-v-bd393135]{display:flex;justify-content:space-between;align-items:center;padding:var(--s-sm) var(--s-md);background:var(--c-danger-bg);border-radius:var(--r-md)}.wrong-fr[data-v-bd393135]{font-weight:600;color:var(--c-text)}.wrong-en[data-v-bd393135]{font-size:var(--fs-sm);color:var(--c-text-secondary)}.result-actions[data-v-bd393135]{display:flex;flex-direction:column;gap:var(--s-sm)}.quiz-view[data-v-93b5e17b]{min-height:70vh}.quiz-config[data-v-93b5e17b]{display:flex;flex-direction:column;gap:var(--s-lg);padding:var(--s-lg) 0}.config-title[data-v-93b5e17b]{font-size:var(--fs-2xl);font-weight:700;text-align:center}.config-form[data-v-93b5e17b]{display:flex;flex-direction:column;gap:var(--s-md)}.config-field[data-v-93b5e17b]{display:flex;flex-direction:column;gap:var(--s-xs)}.config-label[data-v-93b5e17b]{font-size:var(--fs-sm);font-weight:600;color:var(--c-text-secondary)}.config-slider[data-v-93b5e17b]{width:100%;accent-color:var(--c-primary);height:6px}.config-slider-labels[data-v-93b5e17b]{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--c-text-muted)}.config-start[data-v-93b5e17b]{margin-top:var(--s-md);width:100%}.config-error[data-v-93b5e17b]{margin-top:var(--s-sm);text-align:center;color:var(--c-danger);font-size:var(--fs-sm);font-weight:600}.quiz-active[data-v-93b5e17b]{display:flex;flex-direction:column;gap:var(--s-md)}.quiz-topbar[data-v-93b5e17b]{display:flex;justify-content:space-between;align-items:center}.quiz-counter[data-v-93b5e17b]{font-weight:600;font-size:var(--fs-sm);color:var(--c-text-secondary)}.quiz-score[data-v-93b5e17b]{font-weight:600;font-size:var(--fs-sm);color:var(--c-primary)}.stats-view[data-v-80c5b6b6]{display:flex;flex-direction:column;gap:var(--s-lg);padding:var(--s-md) 0}.stats-title[data-v-80c5b6b6]{font-size:var(--fs-2xl);font-weight:700}.stats-grid[data-v-80c5b6b6]{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-sm)}.stat-card[data-v-80c5b6b6]{background:var(--c-surface);border:1px solid var(--c-border-light);border-radius:var(--r-lg);padding:var(--s-md);text-align:center}.stat-primary[data-v-80c5b6b6]{grid-column:1 / -1}.stat-value[data-v-80c5b6b6]{font-size:var(--fs-2xl);font-weight:700;color:var(--c-primary)}.stat-unit[data-v-80c5b6b6]{font-size:var(--fs-base);font-weight:500;color:var(--c-text-muted)}.stat-label[data-v-80c5b6b6]{font-size:var(--fs-xs);color:var(--c-text-muted);font-weight:500;margin-top:var(--s-xs)}.stats-section h3[data-v-80c5b6b6]{font-size:var(--fs-base);font-weight:600;margin-bottom:var(--s-sm)}.theme-list[data-v-80c5b6b6]{display:flex;flex-direction:column;gap:var(--s-sm)}.theme-item[data-v-80c5b6b6]{padding:var(--s-sm) var(--s-md);background:var(--c-surface);border-radius:var(--r-md);border:1px solid var(--c-border-light)}.theme-header[data-v-80c5b6b6]{display:flex;justify-content:space-between;margin-bottom:var(--s-xs)}.theme-name[data-v-80c5b6b6]{font-size:var(--fs-sm);font-weight:500}.theme-count[data-v-80c5b6b6]{font-size:var(--fs-xs);color:var(--c-text-muted)}.quiz-history[data-v-80c5b6b6]{display:flex;flex-direction:column;gap:var(--s-xs)}.quiz-history-item[data-v-80c5b6b6]{display:flex;align-items:center;justify-content:space-between;padding:var(--s-sm) var(--s-md);background:var(--c-surface);border-radius:var(--r-md);font-size:var(--fs-sm);border:1px solid var(--c-border-light)}.qh-date[data-v-80c5b6b6]{color:var(--c-text-secondary)}.qh-score[data-v-80c5b6b6]{font-weight:600}.qh-good[data-v-80c5b6b6]{color:var(--c-success);font-weight:600}.qh-bad[data-v-80c5b6b6]{color:var(--c-danger);font-weight:600}.settings-view[data-v-6ad62693]{display:flex;flex-direction:column;gap:var(--s-lg);padding:var(--s-md) 0}.settings-title[data-v-6ad62693]{font-size:var(--fs-2xl);font-weight:700}.settings-section[data-v-6ad62693]{background:var(--c-surface);border:1px solid var(--c-border-light);border-radius:var(--r-lg);padding:var(--s-md)}.settings-section h3[data-v-6ad62693]{font-size:var(--fs-base);font-weight:600;margin-bottom:var(--s-md);color:var(--c-text-secondary)}.setting-item[data-v-6ad62693]{display:flex;flex-direction:column;gap:var(--s-xs);padding:var(--s-sm) 0;border-bottom:1px solid var(--c-border-light)}.setting-item[data-v-6ad62693]:last-of-type{border-bottom:none}.setting-info[data-v-6ad62693]{display:flex;justify-content:space-between;align-items:center}.setting-label[data-v-6ad62693]{font-size:var(--fs-sm);font-weight:500}.setting-value[data-v-6ad62693]{font-size:var(--fs-sm);color:var(--c-primary);font-weight:600}.setting-slider[data-v-6ad62693]{width:100%;accent-color:var(--c-primary)}.speed-toggle[data-v-6ad62693]{display:flex;gap:var(--s-xs)}.save-btn[data-v-6ad62693]{width:100%;margin-top:var(--s-md)}.data-actions[data-v-6ad62693]{display:flex;flex-direction:column;gap:var(--s-sm)}.import-label[data-v-6ad62693]{cursor:pointer;text-align:center}.import-input[data-v-6ad62693]{display:none}.reset-btn[data-v-6ad62693]{color:var(--c-danger)}.reset-confirm[data-v-6ad62693]{padding:var(--s-md);background:var(--c-danger-bg);border-radius:var(--r-md)}.reset-warning[data-v-6ad62693]{font-size:var(--fs-sm);margin-bottom:var(--s-sm);font-weight:500}.reset-actions[data-v-6ad62693]{display:flex;gap:var(--s-sm)}.about-section p[data-v-6ad62693]{font-size:var(--fs-sm);color:var(--c-text-secondary);line-height:1.6}.about-muted[data-v-6ad62693]{color:var(--c-text-muted)!important;font-size:var(--fs-xs)!important;margin-top:var(--s-xs)}.onboarding-overlay[data-v-73a1bd5d]{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:500;padding:var(--s-md)}.onboarding-card[data-v-73a1bd5d]{background:var(--c-surface);border-radius:var(--r-xl);padding:var(--s-2xl) var(--s-xl);max-width:420px;width:100%;box-shadow:var(--shadow-xl);text-align:center}.onboarding-content[data-v-73a1bd5d]{display:flex;flex-direction:column;align-items:center;gap:var(--s-md);min-height:180px;justify-content:center}.onboarding-content h2[data-v-73a1bd5d]{font-size:var(--fs-2xl);font-weight:700}.onboarding-content p[data-v-73a1bd5d]{font-size:var(--fs-base);color:var(--c-text-secondary);line-height:1.6}.onboarding-dots[data-v-73a1bd5d]{display:flex;justify-content:center;gap:var(--s-sm);margin:var(--s-lg) 0}.dot[data-v-73a1bd5d]{width:8px;height:8px;border-radius:var(--r-full);background:var(--c-border);transition:all var(--t-base)}.dot.active[data-v-73a1bd5d]{width:24px;background:var(--c-primary)}.dot.done[data-v-73a1bd5d]{background:var(--c-primary-light)}.onboarding-actions[data-v-73a1bd5d]{display:flex;justify-content:space-between;align-items:center;gap:var(--s-md)}:root{--c-primary: #2563eb;--c-primary-light: #3b82f6;--c-primary-dark: #1d4ed8;--c-primary-glow: rgba(37, 99, 235, .15);--c-success: #16a34a;--c-success-light: #22c55e;--c-success-bg: rgba(22, 163, 74, .1);--c-danger: #dc2626;--c-danger-light: #ef4444;--c-danger-bg: rgba(220, 38, 38, .1);--c-warning: #f59e0b;--c-warning-bg: rgba(245, 158, 11, .1);--c-bg: #f8fafc;--c-surface: #ffffff;--c-surface-hover: #f1f5f9;--c-surface-active: #e2e8f0;--c-border: #e2e8f0;--c-border-light: #f1f5f9;--c-text: #0f172a;--c-text-secondary: #64748b;--c-text-muted: #94a3b8;--c-nav-bg: rgba(255, 255, 255, .85);--s-xs: 4px;--s-sm: 8px;--s-md: 16px;--s-lg: 24px;--s-xl: 32px;--s-2xl: 48px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", "Fira Code", monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.25rem;--fs-2xl: 1.5rem;--fs-3xl: 2rem;--fs-4xl: 2.5rem;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-xl: 24px;--r-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .06);--shadow-card: 0 4px 24px rgba(0, 0, 0, .06);--shadow-card-hover: 0 8px 32px rgba(0, 0, 0, .1);--t-fast: .15s ease;--t-base: .25s ease;--t-slow: .4s ease;--t-flip: .6s ease;--max-width: 600px;--nav-height: 60px}:root[data-theme=dark]{color-scheme:dark;--c-primary: #60a5fa;--c-primary-light: #93c5fd;--c-primary-dark: #3b82f6;--c-primary-glow: rgba(96, 165, 250, .2);--c-success: #4ade80;--c-success-light: #86efac;--c-success-bg: rgba(74, 222, 128, .16);--c-danger: #f87171;--c-danger-light: #fca5a5;--c-danger-bg: rgba(248, 113, 113, .16);--c-warning: #fbbf24;--c-warning-bg: rgba(251, 191, 36, .16);--c-bg: #0b1220;--c-surface: #111a2f;--c-surface-hover: #1a2742;--c-surface-active: #223456;--c-border: #2a3b5f;--c-border-light: #22324f;--c-text: #e5edf9;--c-text-secondary: #a8b7d1;--c-text-muted: #8193b1;--c-nav-bg: rgba(17, 26, 47, .88);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 6px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 10px 24px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 32px rgba(0, 0, 0, .45);--shadow-card: 0 8px 24px rgba(0, 0, 0, .38);--shadow-card-hover: 0 12px 34px rgba(0, 0, 0, .45)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);color:var(--c-text);background:var(--c-bg);line-height:1.6;min-height:100dvh}button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:inherit;color:inherit}input{font-family:inherit;font-size:inherit;color:inherit}#app{min-height:100dvh;display:flex;flex-direction:column}.app-main{flex:1;padding:var(--s-md);padding-bottom:calc(var(--nav-height) + var(--s-lg));max-width:var(--max-width);margin:0 auto;width:100%}.nav-bar{position:fixed;bottom:0;left:0;right:0;height:var(--nav-height);background:var(--c-surface);border-top:1px solid var(--c-border);display:flex;justify-content:space-around;align-items:center;z-index:100;padding-bottom:env(safe-area-inset-bottom,0);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--c-nav-bg)}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--s-xs) var(--s-md);border-radius:var(--r-md);transition:all var(--t-fast);color:var(--c-text-muted);font-size:var(--fs-xs);font-weight:500;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.nav-item:hover{color:var(--c-text-secondary);background:var(--c-surface-hover)}.nav-item.active{color:var(--c-primary)}.nav-item .nav-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-sm);padding:var(--s-sm) var(--s-md);border-radius:var(--r-md);font-weight:600;font-size:var(--fs-sm);transition:all var(--t-fast);white-space:nowrap}.btn-primary{background:var(--c-primary);color:#fff}.btn-primary:hover{background:var(--c-primary-dark);box-shadow:var(--shadow-md)}.btn-success{background:var(--c-success);color:#fff}.btn-success:hover{background:#15803d}.btn-danger{background:var(--c-danger);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-ghost{background:transparent;color:var(--c-text-secondary)}.btn-ghost:hover{background:var(--c-surface-hover);color:var(--c-text)}.btn-lg{padding:var(--s-md) var(--s-lg);font-size:var(--fs-base);border-radius:var(--r-lg)}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--r-full);font-size:var(--fs-lg)}.progress-bar{width:100%;height:6px;background:var(--c-border);border-radius:var(--r-full);overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--c-primary),var(--c-primary-light));border-radius:var(--r-full);transition:width var(--t-base)}.card{background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);border:1px solid var(--c-border-light)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:600;background:var(--c-primary-glow);color:var(--c-primary)}.fade-enter-active,.fade-leave-active{transition:opacity var(--t-base)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active{transition:all var(--t-base)}.slide-up-leave-active{transition:all var(--t-fast)}.slide-up-enter-from{opacity:0;transform:translateY(12px)}.slide-up-leave-to{opacity:0;transform:translateY(-8px)}.toast{position:fixed;bottom:calc(var(--nav-height) + var(--s-md));left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:var(--s-sm);padding:var(--s-sm) var(--s-md);background:var(--c-text);color:#fff;border-radius:var(--r-full);font-size:var(--fs-sm);font-weight:500;box-shadow:var(--shadow-lg);z-index:200;white-space:nowrap}@media(min-width:768px){.nav-bar{top:0;bottom:auto;border-top:none;border-bottom:1px solid var(--c-border);padding-bottom:0}.app-main{padding-top:calc(var(--nav-height) + var(--s-md));padding-bottom:var(--s-lg)}}
