*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-base: #fafafa;--color-surface: #ffffff;--color-surface-elevated: #f5f5f7;--color-text-primary: #1a1a2e;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-border: #e5e7eb;--color-border-light: #f0f0f3;--color-accent: #6366f1;--color-accent-hover: #4f46e5;--color-accent-subtle: rgba(99, 102, 241, .08);--color-accent-text: #ffffff;--color-success: #10b981;--color-error: #ef4444;--color-warning: #f59e0b;--cat-navigation: #6366f1;--cat-data-entry: #8b5cf6;--cat-data-display: #06b6d4;--cat-feedback: #10b981;--cat-overlays: #f59e0b;--cat-actions: #ef4444;--cat-layout: #3b82f6;--cat-disclosure: #14b8a6;--cat-onboarding: #f97316;--cat-visual: #ec4899;--cat-motion: #a855f7;--cat-patterns: #64748b;--cat-a11y: #22c55e;--cat-mobile: #0ea5e9;--font-family: "Inter", "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .16);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--sidebar-width: 280px;--header-height: 64px;--content-max-width: 1200px;--z-sidebar: 100;--z-header: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500}[data-theme=dark]{--color-base: #0f0f13;--color-surface: #1a1a24;--color-surface-elevated: #24243a;--color-text-primary: #e8e8f0;--color-text-secondary: #9ca3af;--color-text-tertiary: #6b7280;--color-border: #2d2d44;--color-border-light: #22223a;--color-accent: #818cf8;--color-accent-hover: #a5b4fc;--color-accent-subtle: rgba(129, 140, 248, .12);--color-success: #34d399;--color-error: #f87171;--color-warning: #fbbf24;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .6)}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-base);min-height:100vh;transition:background-color var(--transition-normal),color var(--transition-normal)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}button{font-family:inherit;border:none;cursor:pointer;background:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}#app{display:flex;flex-direction:column;min-height:100vh}#app-header{position:sticky;top:0;z-index:var(--z-header);height:var(--header-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:#ffffffd9;transition:background-color var(--transition-normal),border-color var(--transition-normal)}.header-inner{display:flex;align-items:center;height:100%;padding:0 var(--space-6);max-width:calc(var(--sidebar-width) + var(--content-max-width) + var(--space-16));gap:var(--space-4)}.header-logo{display:flex;align-items:center;gap:var(--space-3);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:var(--color-text-primary);text-decoration:none;flex-shrink:0;cursor:pointer}.header-logo-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--color-accent),#a855f7);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.search-container{flex:1;max-width:480px;position:relative}.search-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-surface-elevated);border-radius:var(--radius-full);border:1px solid var(--color-border);transition:all var(--transition-fast);cursor:text}.search-bar:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle);background:var(--color-surface)}.search-bar svg{width:18px;height:18px;color:var(--color-text-tertiary);flex-shrink:0}.search-bar input{flex:1;border:none;background:none;outline:none;font-family:inherit;font-size:var(--font-size-sm);color:var(--color-text-primary)}.search-bar input::placeholder{color:var(--color-text-tertiary)}.search-shortcut{display:flex;align-items:center;gap:2px;flex-shrink:0}.search-shortcut kbd{padding:2px 6px;font-family:inherit;font-size:var(--font-size-xs);color:var(--color-text-tertiary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;line-height:1.4}.search-results{position:absolute;top:calc(100% + var(--space-2));left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:400px;overflow-y:auto;z-index:var(--z-overlay);display:none}.search-results.active{display:block}.search-result-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;transition:background var(--transition-fast)}.search-result-item:hover,.search-result-item.selected{background:var(--color-accent-subtle)}.search-result-item .result-name-ja{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.search-result-item .result-name-en{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.search-result-item .result-category{margin-left:auto;font-size:var(--font-size-xs);padding:2px 8px;border-radius:var(--radius-full);color:#fff;flex-shrink:0}.header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto}.header-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:all var(--transition-fast)}.header-btn:hover{background:var(--color-accent-subtle);color:var(--color-accent)}.header-btn svg{width:20px;height:20px}.header-btn--quiz{background:var(--color-accent);color:var(--color-accent-text);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full)}.header-btn--quiz:hover{background:var(--color-accent-hover);color:var(--color-accent-text)}.hamburger-btn{display:none;padding:var(--space-2)}.hamburger-btn svg{width:24px;height:24px;color:var(--color-text-primary)}#app-layout{display:flex;flex:1}#app-sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-border);height:calc(100vh - var(--header-height));position:sticky;top:var(--header-height);overflow-y:auto;padding:var(--space-4) 0;transition:background-color var(--transition-normal),border-color var(--transition-normal)}.sidebar-section-title{padding:var(--space-2) var(--space-6);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--space-4)}.sidebar-section-title:first-child{margin-top:0}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-6);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);border-left:3px solid transparent;user-select:none}.sidebar-nav-item:hover{background:var(--color-accent-subtle);color:var(--color-text-primary)}.sidebar-nav-item.active{background:var(--color-accent-subtle);color:var(--color-accent);border-left-color:var(--color-accent);font-weight:var(--font-weight-medium)}.sidebar-nav-item .cat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sidebar-nav-item .cat-count{margin-left:auto;font-size:var(--font-size-xs);color:var(--color-text-tertiary);background:var(--color-surface-elevated);padding:1px 8px;border-radius:var(--radius-full)}.sidebar-sub-items{max-height:0;overflow:hidden;transition:max-height var(--transition-normal)}.sidebar-nav-item.expanded+.sidebar-sub-items{max-height:500px}.sidebar-sub-item{display:block;padding:var(--space-1) var(--space-6);padding-left:calc(var(--space-6) + 20px);font-size:var(--font-size-xs);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.sidebar-sub-item:hover{color:var(--color-accent)}.sidebar-sub-item.active{color:var(--color-accent);font-weight:var(--font-weight-medium)}.sidebar-nav-item .chevron{margin-left:auto;width:16px;height:16px;color:var(--color-text-tertiary);transition:transform var(--transition-fast);flex-shrink:0}.sidebar-nav-item.expanded .chevron{transform:rotate(90deg)}#app-main{flex:1;padding:var(--space-8);max-width:var(--content-max-width);width:100%;min-height:calc(100vh - var(--header-height))}.home-hero{margin-bottom:var(--space-10)}.home-hero h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--space-3);background:linear-gradient(135deg,var(--color-accent),#a855f7,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-hero p{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:600px;line-height:var(--line-height-relaxed)}.home-stats{display:flex;gap:var(--space-4);margin-top:var(--space-6);flex-wrap:wrap}.home-stat{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.home-stat strong{color:var(--color-accent);font-weight:var(--font-weight-bold)}.view-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.view-controls h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.view-toggle{display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--color-surface-elevated);border-radius:var(--radius-md)}.view-toggle button{padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-tertiary);transition:all var(--transition-fast)}.view-toggle button:hover{color:var(--color-text-primary)}.view-toggle button.active{background:var(--color-surface);color:var(--color-accent);box-shadow:var(--shadow-sm)}.view-toggle button svg{width:18px;height:18px}.category-section{margin-bottom:var(--space-10)}.category-section-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-border-light)}.category-section-header .cat-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);color:#fff}.category-section-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.category-section-header .cat-en{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-weight:var(--font-weight-normal)}.term-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.term-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden}.term-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;transition:height var(--transition-normal)}.term-card:hover{border-color:var(--color-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.term-card:hover:before{height:4px}.term-card-preview{width:100%;height:100px;background:var(--color-surface-elevated);border-radius:var(--radius-sm);margin-bottom:var(--space-4);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.term-card-name-ja{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.term-card-name-en{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.term-card-tag{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:2px 10px;border-radius:var(--radius-full);color:#fff}.term-list{display:flex;flex-direction:column;gap:var(--space-2)}.term-list .term-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5)}.term-list .term-card-preview{width:64px;height:48px;margin-bottom:0;flex-shrink:0}.term-list .term-card-info{display:flex;align-items:center;gap:var(--space-4);flex:1}.term-list .term-card-name-ja{margin-bottom:0;min-width:140px}.term-list .term-card-name-en{margin-bottom:0}.term-list .term-card-tag{margin-left:auto}.detail-page{max-width:800px}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--space-6);flex-wrap:wrap}.breadcrumb a{color:var(--color-text-secondary);transition:color var(--transition-fast)}.breadcrumb a:hover{color:var(--color-accent)}.breadcrumb .sep{color:var(--color-border)}.breadcrumb .current{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.detail-header{margin-bottom:var(--space-8)}.detail-header h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--space-2)}.detail-header .name-en{font-size:var(--font-size-xl);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);margin-bottom:var(--space-3)}.detail-header .aliases{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.detail-header .alias-tag{font-size:var(--font-size-xs);padding:2px 10px;border-radius:var(--radius-full);background:var(--color-surface-elevated);color:var(--color-text-secondary);border:1px solid var(--color-border)}.detail-tags{display:flex;gap:var(--space-2)}.detail-section{margin-bottom:var(--space-8)}.detail-section h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.detail-section h2 .section-icon{font-size:var(--font-size-xl)}.demo-container{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);min-height:200px;display:flex;align-items:center;justify-content:center;position:relative}.demo-placeholder{text-align:center;color:var(--color-text-tertiary)}.demo-placeholder .demo-icon{font-size:3rem;margin-bottom:var(--space-3);opacity:.5}.demo-placeholder p{font-size:var(--font-size-sm)}.desc-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-3)}.desc-card h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.03em}.desc-card p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.casual-desc{background:var(--color-accent-subtle);border-color:var(--color-accent);border-left:4px solid var(--color-accent)}.casual-desc .casual-label{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-accent);margin-bottom:var(--space-2);padding:2px 8px;border-radius:var(--radius-full);background:var(--color-surface)}.confusion-list{display:flex;flex-direction:column;gap:var(--space-3)}.confusion-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.confusion-item .vs-label{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-accent);margin-bottom:var(--space-2);cursor:pointer}.confusion-item .vs-label:hover{text-decoration:underline}.confusion-item p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.ai-prompt-box{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);position:relative}.ai-prompt-box p{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-primary);font-family:Noto Sans JP,sans-serif}.ai-prompt-box .copy-btn{position:absolute;top:var(--space-3);right:var(--space-3);padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-tertiary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.ai-prompt-box .copy-btn:hover{color:var(--color-accent);border-color:var(--color-accent)}.related-terms{display:flex;gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-2);-webkit-overflow-scrolling:touch}.related-term-card{flex-shrink:0;width:180px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);cursor:pointer;transition:all var(--transition-fast)}.related-term-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.related-term-card .rel-name-ja{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-1)}.related-term-card .rel-name-en{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.quiz-page{max-width:640px;margin:0 auto}.quiz-setup{text-align:center}.quiz-setup h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-3)}.quiz-setup p{color:var(--color-text-secondary);margin-bottom:var(--space-8)}.quiz-mode-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);cursor:pointer;transition:all var(--transition-fast);text-align:center}.quiz-mode-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md)}.quiz-mode-card.selected{border-color:var(--color-accent);background:var(--color-accent-subtle)}.quiz-mode-card h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.quiz-mode-card p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:0}.quiz-progress-bar{width:100%;height:6px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.quiz-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-accent),#a855f7);border-radius:var(--radius-full);transition:width var(--transition-normal)}.quiz-progress-text{display:flex;justify-content:space-between;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-2)}.quiz-question{text-align:center;margin-bottom:var(--space-8)}.quiz-question h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.quiz-choice{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);text-align:left}.quiz-choice:hover:not(.disabled){border-color:var(--color-accent);background:var(--color-accent-subtle)}.quiz-choice.correct{border-color:var(--color-success);background:#10b98114;color:var(--color-success)}.quiz-choice.incorrect{border-color:var(--color-error);background:#ef444414;color:var(--color-error)}.quiz-choice.disabled{cursor:not-allowed;opacity:.6}.quiz-choice .choice-letter{width:32px;height:32px;border-radius:50%;background:var(--color-surface-elevated);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-shrink:0}.quiz-choice.correct .choice-letter{background:var(--color-success);color:#fff}.quiz-choice.incorrect .choice-letter{background:var(--color-error);color:#fff}.quiz-explanation{margin-top:var(--space-6);padding:var(--space-5);background:var(--color-surface-elevated);border-radius:var(--radius-md);border-left:4px solid var(--color-accent)}.quiz-explanation h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);color:var(--color-accent)}.quiz-explanation p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.quiz-next-btn{display:block;margin:var(--space-6) auto 0;padding:var(--space-3) var(--space-8);background:var(--color-accent);color:var(--color-accent-text);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);font-size:var(--font-size-base);transition:all var(--transition-fast)}.quiz-next-btn:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-md)}.quiz-result{text-align:center}.quiz-result .result-score{font-size:4rem;font-weight:var(--font-weight-bold);background:linear-gradient(135deg,var(--color-accent),#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-2)}.quiz-result .result-label{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--space-8)}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:calc(var(--z-sidebar) - 1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease forwards}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease forwards}.animate-slide-in{animation:slideInRight var(--transition-normal) ease forwards}.stagger-children>*{opacity:0;animation:fadeInUp .4s ease forwards}.stagger-children>*:nth-child(1){animation-delay:.02s}.stagger-children>*:nth-child(2){animation-delay:.04s}.stagger-children>*:nth-child(3){animation-delay:.06s}.stagger-children>*:nth-child(4){animation-delay:.08s}.stagger-children>*:nth-child(5){animation-delay:.1s}.stagger-children>*:nth-child(6){animation-delay:.12s}.stagger-children>*:nth-child(7){animation-delay:.14s}.stagger-children>*:nth-child(8){animation-delay:.16s}.stagger-children>*:nth-child(9){animation-delay:.18s}.stagger-children>*:nth-child(10){animation-delay:.2s}.stagger-children>*:nth-child(n+11){animation-delay:.22s}@media(max-width:1024px){#app-sidebar{position:fixed;left:0;top:var(--header-height);bottom:0;z-index:var(--z-sidebar);transform:translate(-100%);transition:transform var(--transition-normal);box-shadow:none}#app-sidebar.open{transform:translate(0);box-shadow:var(--shadow-xl)}.sidebar-overlay.active{display:block}.hamburger-btn{display:flex}#app-main{padding:var(--space-6)}.term-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media(max-width:768px){:root{--header-height: 56px}.header-inner{padding:0 var(--space-4)}.search-container,.header-btn span{display:none}#app-main{padding:var(--space-4)}.home-hero h1{font-size:var(--font-size-xl)}.home-hero p{font-size:var(--font-size-base)}.term-grid,.quiz-mode-cards{grid-template-columns:1fr}.detail-header h1{font-size:var(--font-size-xl)}}.demo-container{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);min-height:200px;position:relative;overflow:hidden}.demo-stage{width:100%;min-height:180px;position:relative;display:flex;align-items:center;justify-content:center}.demo-controls{display:flex;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light);flex-wrap:wrap}.demo-btn{padding:var(--space-2) var(--space-4);background:var(--color-accent);color:#fff;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);cursor:pointer;border:none;font-family:inherit}.demo-btn:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-sm)}.demo-btn--secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.demo-btn--secondary:hover{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent)}.demo-btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.demo-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-bottom:var(--space-1)}.demo-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center;margin-top:var(--space-3);font-style:italic}.demo-toast{position:absolute;bottom:16px;right:16px;padding:10px 20px;border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:var(--space-2);transform:translateY(100px);opacity:0;transition:all .3s cubic-bezier(.16,1,.3,1);z-index:10}.demo-toast.show{transform:translateY(0);opacity:1}.demo-toast--success{background:#059669}.demo-toast--error{background:#dc2626}.demo-toast--info{background:#2563eb}.demo-modal-backdrop{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:10;border-radius:var(--radius-lg)}.demo-modal-backdrop.show{opacity:1;pointer-events:all}.demo-modal-window{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);width:85%;max-width:340px;box-shadow:var(--shadow-xl);transform:scale(.9) translateY(20px);transition:transform .3s cubic-bezier(.16,1,.3,1)}.demo-modal-backdrop.show .demo-modal-window{transform:scale(1) translateY(0)}.demo-modal-window h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.demo-modal-window p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-5);line-height:var(--line-height-relaxed)}.demo-modal-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.demo-phone-frame{width:220px;height:380px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:24px;position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}.demo-phone-statusbar{height:28px;background:var(--color-surface);display:flex;align-items:center;justify-content:center;font-size:8px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-light)}.demo-phone-content{padding:var(--space-3);height:calc(100% - 28px);position:relative;overflow:hidden}.demo-bottomsheet{position:absolute;bottom:0;left:0;right:0;background:var(--color-surface-elevated);border-top:1px solid var(--color-border);border-radius:16px 16px 0 0;padding:var(--space-3);transform:translateY(100%);transition:transform .35s cubic-bezier(.16,1,.3,1);z-index:5;box-shadow:0 -4px 20px #00000026}.demo-bottomsheet.show{transform:translateY(0)}.demo-bottomsheet-handle{width:32px;height:4px;background:var(--color-border);border-radius:2px;margin:0 auto var(--space-3)}.demo-bs-scrim{position:absolute;inset:28px 0 0;background:#0000004d;opacity:0;pointer-events:none;transition:opacity .3s ease}.demo-bs-scrim.show{opacity:1;pointer-events:all}.demo-drawer{position:absolute;top:28px;left:0;bottom:0;width:65%;background:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--space-4);transform:translate(-100%);transition:transform .3s cubic-bezier(.16,1,.3,1);z-index:5}.demo-drawer.show{transform:translate(0)}.demo-drawer-item{padding:6px 8px;border-radius:var(--radius-sm);font-size:10px;color:var(--color-text-secondary);margin-bottom:2px;cursor:pointer;transition:background var(--transition-fast)}.demo-drawer-item:hover{background:var(--color-accent-subtle);color:var(--color-accent)}.demo-drawer-item.active{background:var(--color-accent-subtle);color:var(--color-accent);font-weight:var(--font-weight-medium)}.demo-accordion{width:100%;max-width:420px}.demo-accordion-item{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-2);overflow:hidden}.demo-accordion-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background:var(--color-surface);transition:background var(--transition-fast);border:none;width:100%;text-align:left;font-family:inherit}.demo-accordion-header:hover{background:var(--color-accent-subtle)}.demo-accordion-header .chevron{transition:transform .25s ease;font-size:12px;color:var(--color-text-tertiary)}.demo-accordion-item.open .demo-accordion-header{color:var(--color-accent);background:var(--color-accent-subtle)}.demo-accordion-item.open .chevron{transform:rotate(180deg)}.demo-accordion-body{max-height:0;overflow:hidden;transition:max-height .3s ease}.demo-accordion-item.open .demo-accordion-body{max-height:200px}.demo-accordion-body-inner{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);border-top:1px solid var(--color-border-light)}.demo-tooltip-area{display:flex;gap:var(--space-6);align-items:center;justify-content:center;flex-wrap:wrap}.demo-tooltip-target{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);font-size:20px;cursor:pointer;transition:all var(--transition-fast)}.demo-tooltip-target:hover{border-color:var(--color-accent);background:var(--color-accent-subtle)}.demo-tooltip-bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);padding:4px 12px;background:var(--color-text-primary);color:var(--color-base);font-size:var(--font-size-xs);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:all .2s ease}.demo-tooltip-bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--color-text-primary)}.demo-tooltip-target:hover .demo-tooltip-bubble{opacity:1;transform:translate(-50%) translateY(0)}.demo-tabs{width:100%;max-width:420px}.demo-tab-list{display:flex;border-bottom:2px solid var(--color-border-light);gap:0}.demo-tab-btn{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.demo-tab-btn:hover{color:var(--color-text-primary)}.demo-tab-btn.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.demo-tab-panel{display:none;padding:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);animation:fadeIn .2s ease}.demo-tab-panel.active{display:block}.demo-carousel{width:100%;max-width:380px;position:relative}.demo-carousel-track{overflow:hidden;border-radius:var(--radius-md)}.demo-carousel-slides{display:flex;transition:transform .4s cubic-bezier(.16,1,.3,1)}.demo-carousel-slide{min-width:100%;height:160px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:#fff;border-radius:var(--radius-md)}.demo-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:var(--color-surface);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:var(--color-text-primary);box-shadow:var(--shadow-md);transition:all var(--transition-fast);z-index:2}.demo-carousel-nav:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.demo-carousel-nav--prev{left:-12px}.demo-carousel-nav--next{right:-12px}.demo-carousel-dots{display:flex;gap:var(--space-2);justify-content:center;margin-top:var(--space-3)}.demo-carousel-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border);border:none;cursor:pointer;transition:all var(--transition-fast);padding:0}.demo-carousel-dot.active{background:var(--color-accent);width:20px;border-radius:4px}.demo-switch-list{display:flex;flex-direction:column;gap:var(--space-4);width:100%;max-width:300px}.demo-switch-row{display:flex;align-items:center;justify-content:space-between}.demo-switch-label{font-size:var(--font-size-sm);color:var(--color-text-primary)}.demo-switch{width:44px;height:24px;border-radius:12px;background:var(--color-border);border:none;cursor:pointer;position:relative;transition:background .25s ease;padding:0}.demo-switch.on{background:var(--color-accent)}.demo-switch-knob{width:20px;height:20px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:transform .25s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 3px #0003}.demo-switch.on .demo-switch-knob{transform:translate(20px)}.demo-dropdown-wrap{width:100%;max-width:280px;position:relative}.demo-dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.demo-dropdown-trigger:hover,.demo-dropdown-trigger.open{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.demo-dropdown-trigger .arrow{transition:transform .2s ease;font-size:12px;color:var(--color-text-tertiary)}.demo-dropdown-trigger.open .arrow{transform:rotate(180deg)}.demo-dropdown-list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:0;overflow:hidden;opacity:0;transition:all .2s ease;z-index:10}.demo-dropdown-list.open{max-height:200px;opacity:1;overflow-y:auto}.demo-dropdown-option{display:block;width:100%;padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-primary);background:none;border:none;text-align:left;cursor:pointer;transition:background var(--transition-fast);font-family:inherit}.demo-dropdown-option:hover{background:var(--color-accent-subtle);color:var(--color-accent)}.demo-dropdown-option.selected{background:var(--color-accent-subtle);color:var(--color-accent);font-weight:var(--font-weight-medium)}.demo-skeleton-wrap{width:100%;max-width:360px}.demo-skeleton-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-3)}.demo-skel-line{height:10px;border-radius:5px;background:linear-gradient(90deg,var(--color-border) 0%,var(--color-surface-elevated) 50%,var(--color-border) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.demo-skel-circle{border-radius:50%;background:linear-gradient(90deg,var(--color-border) 0%,var(--color-surface-elevated) 50%,var(--color-border) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.demo-loaded-card,.demo-skeleton-wrap.loaded .demo-skeleton-card{display:none}.demo-skeleton-wrap.loaded .demo-loaded-card{display:block}.demo-spinner-area{display:flex;gap:var(--space-8);align-items:center;justify-content:center;flex-wrap:wrap}.demo-spinner{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.demo-spinner-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.demo-spin-ring{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.demo-spin-dots{display:flex;gap:6px}.demo-spin-dot{width:8px;height:8px;border-radius:50%;background:var(--color-accent);animation:dotPulse 1.2s ease-in-out infinite}.demo-spin-dot:nth-child(2){animation-delay:.15s}.demo-spin-dot:nth-child(3){animation-delay:.3s}@keyframes dotPulse{0%,80%,to{transform:scale(.4);opacity:.4}40%{transform:scale(1);opacity:1}}.demo-spin-bar{width:32px;height:32px;position:relative}.demo-spin-bar span{position:absolute;width:3px;height:10px;background:var(--color-accent);border-radius:2px;left:50%;top:50%;transform-origin:50% 0;animation:barSpin 1s linear infinite}@keyframes barSpin{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}.demo-progress-wrap{width:100%;max-width:360px}.demo-progress-track{width:100%;height:8px;background:var(--color-border);border-radius:4px;overflow:hidden;margin-bottom:var(--space-2)}.demo-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-accent),#a855f7);border-radius:4px;transition:width .6s cubic-bezier(.16,1,.3,1)}.demo-progress-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:right;font-variant-numeric:tabular-nums}.demo-badge-area{display:flex;gap:var(--space-8);align-items:center;justify-content:center;flex-wrap:wrap}.demo-badge-icon{position:relative;width:48px;height:48px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;transition:all var(--transition-fast)}.demo-badge-icon:hover{background:var(--color-accent-subtle);border-color:var(--color-accent)}.demo-badge-dot{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:#ef4444;color:#fff;font-size:10px;font-weight:var(--font-weight-bold);display:flex;align-items:center;justify-content:center;padding:0 4px;transform:scale(0);transition:transform .25s cubic-bezier(.16,1,.3,1)}.demo-badge-dot.show{transform:scale(1)}.demo-alert-area{display:flex;flex-direction:column;gap:var(--space-3);width:100%;max-width:420px}.demo-alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:var(--line-height-normal);border-left:4px solid;animation:fadeInUp .3s ease}.demo-alert--success{background:#10b98114;border-color:#10b981;color:#059669}.demo-alert--error{background:#ef444414;border-color:#ef4444;color:#dc2626}.demo-alert--warning{background:#f59e0b14;border-color:#f59e0b;color:#d97706}.demo-alert--info{background:#3b82f614;border-color:#3b82f6;color:#2563eb}.demo-alert-icon{font-size:16px;flex-shrink:0;margin-top:1px}.demo-alert-text{flex:1}.demo-alert-close{background:none;border:none;cursor:pointer;font-size:16px;opacity:.5;transition:opacity var(--transition-fast);padding:0;color:inherit;flex-shrink:0}.demo-alert-close:hover{opacity:1}.demo-fab-area{width:260px;height:260px;position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.demo-fab{position:absolute;bottom:16px;right:16px;width:48px;height:48px;border-radius:50%;background:var(--color-accent);color:#fff;border:none;font-size:24px;cursor:pointer;box-shadow:0 4px 12px #6366f166;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;justify-content:center;z-index:3}.demo-fab:hover{box-shadow:0 6px 20px #6366f180;transform:scale(1.05)}.demo-fab.open{transform:rotate(45deg);background:var(--color-accent-hover)}.demo-fab-menu{position:absolute;bottom:72px;right:20px;display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-end}.demo-fab-mini{display:flex;align-items:center;gap:var(--space-2);opacity:0;transform:translateY(10px) scale(.8);transition:all .25s cubic-bezier(.16,1,.3,1);pointer-events:none}.demo-fab.open~.demo-fab-menu .demo-fab-mini{opacity:1;transform:translateY(0) scale(1);pointer-events:all}.demo-fab.open~.demo-fab-menu .demo-fab-mini:nth-child(1){transition-delay:.05s}.demo-fab.open~.demo-fab-menu .demo-fab-mini:nth-child(2){transition-delay:.1s}.demo-fab.open~.demo-fab-menu .demo-fab-mini:nth-child(3){transition-delay:.15s}.demo-fab-mini-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-surface);padding:2px 8px;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);white-space:nowrap}.demo-fab-mini-btn{width:36px;height:36px;border-radius:50%;background:var(--color-surface);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;box-shadow:var(--shadow-md);transition:all var(--transition-fast)}.demo-fab-mini-btn:hover{background:var(--color-accent-subtle);border-color:var(--color-accent)}.demo-breadcrumb-list{display:flex;flex-direction:column;gap:var(--space-4);width:100%;max-width:420px}.demo-breadcrumb{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);flex-wrap:wrap}.demo-breadcrumb a{color:var(--color-accent);cursor:pointer;text-decoration:none}.demo-breadcrumb a:hover{text-decoration:underline}.demo-breadcrumb .sep{color:var(--color-text-tertiary)}.demo-breadcrumb .current{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.demo-navbar-wrap{width:100%;max-width:480px}.demo-navbar{display:flex;align-items:center;height:44px;padding:0 var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:var(--space-4)}.demo-navbar-logo{width:24px;height:24px;border-radius:var(--radius-sm);background:var(--color-accent);flex-shrink:0}.demo-navbar-links{display:flex;gap:var(--space-1);flex:1;justify-content:center}.demo-navbar-link{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;background:none;font-family:inherit}.demo-navbar-link:hover{color:var(--color-text-primary);background:var(--color-accent-subtle)}.demo-navbar-link.active{color:var(--color-accent);font-weight:var(--font-weight-medium)}.demo-hamburger-btn{width:48px;height:48px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;transition:background var(--transition-fast)}.demo-hamburger-btn:hover{background:var(--color-accent-subtle)}.demo-hamburger-line{width:22px;height:2px;background:var(--color-text-primary);border-radius:1px;transition:all .3s cubic-bezier(.16,1,.3,1);transform-origin:center}.demo-hamburger-btn.open .demo-hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.demo-hamburger-btn.open .demo-hamburger-line:nth-child(2){opacity:0;transform:scaleX(0)}.demo-hamburger-btn.open .demo-hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.quiz-page{max-width:640px;margin:0 auto;padding:var(--space-6);animation:fadeInUp .3s ease}.quiz-setup h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-2);color:var(--color-text-primary)}.quiz-setup>p{color:var(--color-text-secondary);margin-bottom:var(--space-8);line-height:var(--line-height-relaxed)}.quiz-mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-8)}@media(max-width:480px){.quiz-mode-cards{grid-template-columns:1fr}}.quiz-mode-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;cursor:pointer;transition:all .2s ease}.quiz-mode-card:hover{border-color:var(--color-accent);background:var(--color-accent-subtle);transform:translateY(-2px);box-shadow:var(--shadow-md)}.quiz-mode-card.selected{border-color:var(--color-accent);background:var(--color-accent-subtle);box-shadow:0 0 0 3px #6366f126}.quiz-mode-card .mode-icon{font-size:2.5rem;margin-bottom:var(--space-3)}.quiz-mode-card h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);color:var(--color-text-primary)}.quiz-mode-card p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.quiz-config,.quiz-config-group{margin-bottom:var(--space-6)}.quiz-config-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-3);display:block}.quiz-count-options{display:flex;gap:var(--space-2)}.quiz-count-btn{padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}.quiz-count-btn:hover{border-color:var(--color-accent);background:var(--color-accent-subtle)}.quiz-count-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.quiz-cat-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.quiz-cat-btn{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-family:inherit;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-1)}.quiz-cat-btn:hover{border-color:var(--color-accent)}.quiz-cat-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.quiz-cat-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.quiz-start-btn{width:100%;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-accent);color:#fff;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:inherit;border:none;cursor:pointer;transition:all var(--transition-fast)}.quiz-start-btn:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-md)}.quiz-start-btn:disabled{opacity:.5;cursor:not-allowed}.quiz-progress{margin-bottom:var(--space-6)}.quiz-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.quiz-progress-bar{width:100%;height:6px;background:var(--color-border);border-radius:3px;overflow:hidden}.quiz-progress-fill{height:100%;background:var(--color-accent);border-radius:3px;transition:width .4s cubic-bezier(.16,1,.3,1)}.quiz-question-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-4);animation:fadeInUp .3s ease}.quiz-question-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.quiz-visual-preview{width:100%;height:160px;background:var(--color-surface-elevated);border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--space-4);overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}.quiz-visual-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-4);text-align:center}.quiz-term-display{text-align:center;margin-bottom:var(--space-6)}.quiz-term-name-ja{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.quiz-term-name-en{font-size:var(--font-size-base);color:var(--color-text-tertiary)}.quiz-choices{display:flex;flex-direction:column;gap:var(--space-3)}.quiz-choice{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;transition:all .15s ease;font-family:inherit;font-size:var(--font-size-sm);color:var(--color-text-primary);text-align:left;width:100%;line-height:var(--line-height-relaxed)}.quiz-choice:hover:not(.answered){border-color:var(--color-accent);background:var(--color-accent-subtle)}.quiz-choice-marker{width:24px;height:24px;border-radius:50%;border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);flex-shrink:0;margin-top:1px;transition:all .2s ease}.quiz-choice:hover:not(.answered) .quiz-choice-marker{border-color:var(--color-accent);color:var(--color-accent)}.quiz-choice.answered{cursor:default;pointer-events:none}.quiz-choice.correct{border-color:#10b981;background:#10b98114}.quiz-choice.correct .quiz-choice-marker{background:#10b981;border-color:#10b981;color:#fff}.quiz-choice.wrong{border-color:#ef4444;background:#ef444414}.quiz-choice.wrong .quiz-choice-marker{background:#ef4444;border-color:#ef4444;color:#fff}.quiz-choice.dimmed{opacity:.5}.quiz-explanation{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-surface-elevated);border-radius:var(--radius-md);border-left:3px solid var(--color-accent);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);animation:fadeIn .3s ease}.quiz-explanation strong{color:var(--color-text-primary)}.quiz-next-btn{width:100%;padding:var(--space-3);margin-top:var(--space-4);border-radius:var(--radius-md);background:var(--color-accent);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:inherit;border:none;cursor:pointer;transition:all var(--transition-fast);animation:fadeIn .3s ease}.quiz-next-btn:hover{background:var(--color-accent-hover)}.quiz-result{text-align:center;animation:fadeInUp .4s ease}.quiz-result-score{font-size:4rem;font-weight:var(--font-weight-bold);background:linear-gradient(135deg,var(--color-accent),#a855f7);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:var(--space-2);line-height:1.1}.quiz-result-label{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--space-8)}.quiz-result-stats{display:flex;justify-content:center;gap:var(--space-8);margin-bottom:var(--space-8)}.quiz-result-stat{text-align:center}.quiz-result-stat .value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.quiz-result-stat .label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}.quiz-result-message{font-size:var(--font-size-lg);margin-bottom:var(--space-6);padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}.quiz-wrong-list{text-align:left;margin-bottom:var(--space-6)}.quiz-wrong-list h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3);color:var(--color-text-primary)}.quiz-wrong-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);margin-bottom:var(--space-2);cursor:pointer;transition:all var(--transition-fast)}.quiz-wrong-item:hover{border-color:var(--color-accent);background:var(--color-accent-subtle)}.quiz-wrong-item .name-ja{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.quiz-wrong-item .name-en{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.quiz-result-actions{display:flex;gap:var(--space-3);justify-content:center}.quiz-result-actions .quiz-next-btn{width:auto;padding:var(--space-3) var(--space-8)}
