@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-bg:#fafbfc;--color-bg-gradient:linear-gradient(135deg, #fafbfc 0%, #f0f4ff 100%);--color-surface:#fff;--color-surface-elevated:#fff;--color-border:#e2e8f0;--color-border-hover:#cbd5e1;--color-text:#0f172a;--color-text-muted:#64748b;--color-primary:#3b82f6;--color-primary-end:#8b5cf6;--color-primary-gradient:linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--color-primary-hover:#2563eb;--color-primary-text:#fff;--color-primary-glow:#3b82f626;--color-accent-cyan:#06b6d4;--color-accent-orange:#f59e0b;--color-success:#16a34a;--color-success-bg:#f0fdf4;--color-success-glow:#16a34a1f;--color-error:#dc2626;--color-error-bg:#fef2f2;--color-error-glow:#dc26261f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000f;--shadow-md:0 4px 12px #00000014, 0 2px 6px #0000000f;--shadow-lg:0 10px 25px #0000001a, 0 5px 10px #0000000a;--shadow-primary:0 8px 20px var(--color-primary-glow);--glass-bg:#ffffffb3;--glass-border:#fffc;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif}[data-theme=dark]{--color-bg:#0f1419;--color-bg-gradient:linear-gradient(135deg, #0f1419 0%, #1a1f2e 100%);--color-surface:#1a1f2e;--color-surface-elevated:#232936;--color-border:#2d3748;--color-border-hover:#3d4858;--color-text:#f8fafc;--color-text-muted:#94a3b8;--color-primary:#60a5fa;--color-primary-end:#a78bfa;--color-primary-gradient:linear-gradient(135deg, #60a5fa 0%, #a78bfa 100%);--color-primary-hover:#3b82f6;--color-primary-glow:#60a5fa33;--color-accent-cyan:#22d3ee;--color-accent-orange:#fbbf24;--color-success:#22c55e;--color-success-bg:#22c55e1a;--color-success-glow:#22c55e26;--color-error:#ef4444;--color-error-bg:#ef44441a;--color-error-glow:#ef444426;--shadow-sm:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-md:0 4px 12px #0006, 0 2px 6px #0003;--shadow-lg:0 10px 25px #00000080, 0 5px 10px #0000004d;--shadow-primary:0 8px 20px var(--color-primary-glow);--glass-bg:#1a1f2eb3;--glass-border:#2d3748cc}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}*{box-sizing:border-box}html{scroll-behavior:smooth;transition:background-color var(--transition-slow), color var(--transition-slow)}body{background:var(--color-bg);min-width:320px;min-height:100vh;transition:background var(--transition-slow);margin:0}a{color:var(--color-primary);transition:color var(--transition-fast)}a:hover{filter:brightness(1.1)}#root{isolation:isolate;animation:.4s fadeIn}h1,h2,h3,strong{color:var(--color-text);transition:color var(--transition-slow)}h1,h2,h3{letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.2}h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.05rem}p,button,input,select{font:inherit}code{background:var(--color-surface-elevated);border-radius:4px;padding:2px 6px;font-family:SF Mono,Fira Code,monospace;font-size:.9em}button:disabled{cursor:not-allowed;opacity:.5}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{width:min(720px,100% - 32px);margin:0 auto;padding:48px 0 80px;animation:.5s slideUp}.site-header{text-align:center;margin-bottom:40px}.site-header h1{background:var(--color-primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;animation:.6s fadeIn}.site-header p{color:var(--color-text-muted);margin:0;animation:.8s fadeIn}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform var(--transition-base), box-shadow var(--transition-base);margin-bottom:24px;padding:28px;animation:.4s scaleIn;position:relative;overflow:hidden}.card:before{content:"";background:var(--color-primary-gradient);opacity:.8;height:3px;position:absolute;top:0;left:0;right:0}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-title{margin-bottom:20px;animation:.5s slideUp}.field{flex-direction:column;gap:6px;margin-bottom:16px;animation:.4s slideUp;display:flex}.field label{color:var(--color-text-muted);transition:color var(--transition-fast);font-size:.85rem;font-weight:600}.field select{appearance:none;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;color:var(--color-text);cursor:pointer;transition:all var(--transition-base);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 d='M3 5l3 3 3-3' fill='none' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding:10px 36px 10px 14px}.field select:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.field select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);outline:none;transform:translateY(-1px)}.mode-toggle{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.mode-btn{appearance:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-base);text-align:center;padding:12px 16px;font-weight:500;position:relative;overflow:hidden}.mode-btn:before{content:"";background:var(--color-primary-gradient);opacity:0;width:100%;height:100%;transition:all var(--transition-base);position:absolute;top:0;left:-100%}.mode-btn:hover:not(.active){border-color:var(--color-border-hover);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.mode-btn.active{background:var(--color-primary-gradient);color:var(--color-primary-text);box-shadow:var(--shadow-primary);border-color:#0000;transform:scale(1.02)}.mode-hint{color:var(--color-text-muted);margin:-8px 0 16px;font-size:.82rem}.checkbox-row{align-items:center;gap:10px;margin-bottom:20px;display:flex}.checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary)}.filter-row{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;display:grid}.btn-primary{appearance:none;border-radius:var(--radius-sm);background:var(--color-primary-gradient);width:100%;color:var(--color-primary-text);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-primary);border:none;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-primary:before{content:"";opacity:0;width:100%;height:100%;transition:opacity var(--transition-base);background:linear-gradient(135deg,#fff3 0%,#fff0 100%);position:absolute;top:0;left:0}.btn-primary:hover:not(:disabled):before{opacity:1}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-lg), var(--shadow-primary);transform:translateY(-2px)scale(1.02)}.btn-primary:active:not(:disabled){transform:translateY(0)scale(.98)}.btn-secondary{appearance:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:all var(--transition-base);justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-weight:500;display:inline-flex}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);color:var(--color-primary);transform:translateY(-2px)}.btn-secondary:active:not(:disabled){transform:translateY(0)scale(.98)}.setup-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.setup-footer .match-count{color:var(--color-text-muted);font-size:.85rem}.progress-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.progress-stat{border-radius:var(--radius-sm);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);transition:all var(--transition-base);padding:14px;animation:.3s scaleIn}.progress-stat:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.progress-stat .stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.75rem;font-weight:600;display:block}.progress-stat strong{background:var(--color-primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:.95rem}.session-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.session-badges{gap:8px;display:flex}.badge{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);color:var(--color-text-muted);transition:all var(--transition-base);border-radius:999px;align-items:center;padding:4px 10px;font-size:.78rem;font-weight:600;animation:.3s scaleIn;display:inline-flex}.badge:hover{transform:scale(1.05)}.badge.primary{background:var(--color-primary-gradient);color:var(--color-primary-text);box-shadow:var(--shadow-primary);border-color:#0000}.progress-bar{background:var(--color-border);border-radius:999px;width:100%;height:6px;margin-bottom:24px;position:relative;overflow:hidden}.progress-bar:after{content:"";opacity:0;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);animation:2s infinite shimmer;position:absolute;inset:0}.progress-bar:hover:after{opacity:1}.progress-bar span{border-radius:inherit;background:var(--color-primary-gradient);height:100%;box-shadow:0 0 10px var(--color-primary-glow);transition:width .5s cubic-bezier(.4,0,.2,1);display:block;position:relative;overflow:hidden}.progress-bar span:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);animation:1.5s infinite shimmer;position:absolute;inset:0}.question-meta{gap:8px;margin-bottom:12px;display:flex}.question-prompt{color:var(--color-text);margin-bottom:20px;font-size:1.05rem;font-weight:500;line-height:1.7}.option-list{gap:10px;margin-bottom:20px;display:grid}.option-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:all var(--transition-base);text-align:left;grid-template-columns:auto 1fr;align-items:start;gap:12px;padding:14px 16px;animation:.3s both slideUp;display:grid;position:relative}.option-card:first-child{animation-delay:50ms}.option-card:nth-child(2){animation-delay:.1s}.option-card:nth-child(3){animation-delay:.15s}.option-card:hover:not(:disabled){border-color:var(--color-primary);box-shadow:var(--shadow-md);background:var(--color-surface-elevated);transform:translateY(-3px)scale(1.01)}.option-card.selected{border-color:var(--color-primary);background:var(--color-surface-elevated);box-shadow:var(--shadow-primary);color:var(--color-text);transform:translateY(-2px)}.option-card.selected:before{content:"";background:var(--color-primary-gradient);height:2px;position:absolute;top:0;left:0;right:0}.option-card.correct{border-color:var(--color-success);background:var(--color-success-bg);box-shadow:0 0 15px var(--color-success-glow);animation:.3s scaleIn}.option-card.correct:before{content:"";background:var(--color-success);height:2px;position:absolute;top:0;left:0;right:0}.option-card.incorrect{border-color:var(--color-error);background:var(--color-error-bg);box-shadow:0 0 15px var(--color-error-glow);animation:.5s pulse}.option-card.incorrect:before{content:"";background:var(--color-error);height:2px;position:absolute;top:0;left:0;right:0}.option-key{background:var(--color-surface-elevated);border:1px solid var(--color-border);width:30px;height:30px;color:var(--color-text);transition:all var(--transition-base);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:inline-flex}.option-card:hover .option-key{background:var(--color-primary-gradient);color:var(--color-primary-text);border-color:#0000;transform:scale(1.1)}.option-card.selected .option-key{background:var(--color-primary-gradient);color:var(--color-primary-text);box-shadow:var(--shadow-primary);border-color:#0000}.answer-reveal{border-radius:var(--radius-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);margin-bottom:20px;padding:20px;animation:.4s scaleIn;position:relative;overflow:hidden}.answer-reveal:before{content:"";background:var(--color-primary-gradient);height:2px;position:absolute;top:0;left:0;right:0}.answer-reveal h3{background:var(--color-primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:12px}.answer-reveal .rationale-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.78rem;font-weight:600}.answer-reveal .rationale-text{color:var(--color-text-muted);line-height:1.7}.session-actions{gap:10px;display:flex}.session-actions .btn-primary{width:auto}.back-link{appearance:none;color:var(--color-primary);cursor:pointer;background:0 0;border:none;margin-bottom:16px;padding:0;font-size:.9rem;font-weight:500}.back-link:hover{text-decoration:underline}.results-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;display:grid}.results-grid .progress-stat{background:var(--color-surface);border:1px solid var(--color-border);animation:.3s both slideUp;position:relative;overflow:hidden}.results-grid .progress-stat:first-child{animation-delay:.1s}.results-grid .progress-stat:nth-child(2){animation-delay:.2s}.results-grid .progress-stat:nth-child(3){animation-delay:.3s}.results-grid .progress-stat:nth-child(4){animation-delay:.4s}.results-grid .progress-stat:before{content:"";background:var(--color-primary-gradient);height:2px;position:absolute;top:0;left:0;right:0}.results-grid .progress-stat:hover{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.results-actions{gap:10px;margin-bottom:24px;display:flex}.results-actions .btn-primary,.results-actions .btn-secondary{width:auto}.missed-list{gap:10px;display:grid}.missed-list-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.82rem;font-weight:600}.missed-card{border-radius:var(--radius-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);transition:all var(--transition-base);padding:16px;animation:.3s both slideUp}.missed-card:first-child{animation-delay:.5s}.missed-card:nth-child(2){animation-delay:.6s}.missed-card:nth-child(3){animation-delay:.7s}.missed-card:nth-child(4){animation-delay:.8s}.missed-card:nth-child(5){animation-delay:.9s}.missed-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary);transform:translateY(-2px)}.missed-card h3{margin:6px 0 8px}.missed-card p{color:var(--color-text-muted);margin:0;font-size:.9rem}.alert{border-radius:var(--radius-sm);margin-bottom:16px;padding:12px 16px;font-size:.9rem;animation:.3s slideUp}.alert.error{color:var(--color-error);background:var(--color-error-bg);border:1px solid #dc262626}.alert.success{color:var(--color-success);background:var(--color-success-bg);border:1px solid #16a34a26}.top-controls{z-index:1000;gap:8px;display:flex;position:fixed;top:20px;right:20px}.lang-toggle{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);cursor:pointer;width:48px;height:48px;transition:all var(--transition-base);box-shadow:var(--shadow-md);letter-spacing:.05em;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.lang-toggle:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary);color:var(--color-text);transform:scale(1.1)}.lang-toggle:active{transform:scale(.95)}.theme-toggle{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);cursor:pointer;width:48px;height:48px;transition:all var(--transition-base);box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary);transform:scale(1.1)rotate(15deg)}.theme-toggle:active{transform:scale(.95)rotate(0)}.theme-toggle svg{width:24px;height:24px;transition:all var(--transition-base)}.theme-toggle:hover svg{filter:drop-shadow(0 0 8px var(--color-primary-glow))}@media (width<=640px){.app-shell{padding:24px 0 40px}.card{border-radius:var(--radius-md);padding:20px}.filter-row,.mode-toggle,.progress-summary,.results-grid{grid-template-columns:1fr}.session-header{flex-direction:column;align-items:flex-start}.setup-footer{flex-direction:column;align-items:stretch}.results-actions{flex-direction:column}.results-actions .btn-primary,.results-actions .btn-secondary{width:100%}}
