:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--color-bg:#faf7f2;--color-bg-alt:#f3ece1;--color-surface:#fff;--color-surface-hover:#fdfbf7;--color-border:#e8dfd3;--color-border-light:#f0eae1;--color-text-primary:#1e293b;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-text-inverse:#fff;--color-primary:#ff6b35;--color-primary-hover:#e8590c;--color-primary-light:#fff2eb;--color-secondary:#2563eb;--color-secondary-hover:#1d4ed8;--color-secondary-light:#eff6ff;--color-success:#10b981;--color-success-hover:#059669;--color-success-light:#ecfdf5;--color-success-border:#a7f3d0;--color-error:#ef4444;--color-error-hover:#dc2626;--color-error-light:#fef2f2;--color-error-border:#fecaca;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-info:#0ea5e9;--color-info-light:#e0f2fe;--shadow-xs:0 1px 2px #1e293b0d;--shadow-sm:0 2px 4px #1e293b0f;--shadow-md:0 6px 16px #1e293b14;--shadow-lg:0 12px 28px #1e293b1a;--shadow-card-hover:0 12px 24px -4px #ff6b3526, 0 4px 10px -2px #0000000d;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-smooth:.35s cubic-bezier(.16, 1, .3, 1);--container-max-w:1200px;--header-height:72px}[data-theme=dark]{--color-bg:#0b0f19;--color-bg-alt:#111726;--color-surface:#172033;--color-surface-hover:#1d283e;--color-border:#26354d;--color-border-light:#1e293b;--color-text-primary:#f8fafc;--color-text-secondary:#cbd5e1;--color-text-muted:#94a3b8;--color-text-inverse:#0b0f19;--color-primary:#ff7849;--color-primary-hover:#ff6229;--color-primary-light:#ff784926;--color-secondary:#3b82f6;--color-secondary-hover:#60a5fa;--color-secondary-light:#3b82f626;--color-success:#34d399;--color-success-hover:#10b981;--color-success-light:#34d39926;--color-success-border:#34d3994d;--color-error:#f87171;--color-error-hover:#ef4444;--color-error-light:#f8717126;--color-error-border:#f871714d;--color-warning:#fbbf24;--color-warning-light:#fbbf2426;--color-info:#38bdf8;--color-info-light:#38bdf826;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 2px 4px #0006;--shadow-md:0 6px 16px #00000080;--shadow-lg:0 12px 28px #0009;--shadow-card-hover:0 12px 24px -4px #ff784933, 0 4px 10px -2px #0006}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);color:var(--color-text-primary);background-color:var(--color-bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px;line-height:1.5}body{background-color:var(--color-bg);min-height:100vh;color:var(--color-text-primary);transition:background-color var(--transition-base), color var(--transition-base);flex-direction:column;display:flex;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}button{font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}img,svg{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-container{width:100%;max-width:var(--container-max-w);padding-left:var(--space-md);padding-right:var(--space-md);margin-left:auto;margin-right:auto}@media (width<=480px){.app-container{padding-left:14px;padding-right:14px}}@media (width>=768px){.app-container{padding-left:var(--space-xl);padding-right:var(--space-xl)}}.main-content{padding-bottom:var(--space-2xl);flex:1}@media (width<=767px){.main-content{padding-bottom:76px}}.grid-responsive{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));display:grid}@media (width<=560px){.grid-responsive{gap:var(--space-md);grid-template-columns:1fr}}.h1-title{letter-spacing:-.02em;color:var(--color-text-primary);font-size:2rem;font-weight:800;line-height:1.2}@media (width<=400px){.h1-title{font-size:1.75rem}}@media (width>=768px){.h1-title{font-size:2.85rem}}.h2-title{letter-spacing:-.015em;color:var(--color-text-primary);font-size:1.5rem;font-weight:700;line-height:1.25}@media (width>=768px){.h2-title{font-size:1.75rem}}.h3-title{color:var(--color-text-primary);font-size:1.2rem;font-weight:600;line-height:1.3}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);min-height:46px;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;text-align:center;padding:10px 20px;font-size:.95rem;font-weight:600;display:inline-flex}@media (width<=480px){.btn-mobile-full{width:100%!important}}.btn-primary{background-color:var(--color-primary);color:#fff;box-shadow:0 4px 12px #ff6b3540}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 6px 16px #ff6b3559}.btn-primary:active{transform:translateY(1px)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary);transform:translateY(-1px)}.btn-outline{color:var(--color-primary);border:1.5px solid var(--color-primary);background:0 0}.btn-outline:hover{background-color:var(--color-primary-light)}.btn-lg{border-radius:var(--radius-lg);min-height:52px;padding:14px 28px;font-size:1.05rem}.btn-sm{border-radius:var(--radius-sm);min-height:36px;padding:6px 14px;font-size:.85rem}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}@media (width<=480px){.card{padding:var(--space-md);border-radius:var(--radius-md)}}.card-interactive:hover{border-color:var(--color-primary);box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-full);align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-easy{background-color:var(--color-success-light);color:var(--color-success);border:1px solid var(--color-success-border)}.badge-medium{background-color:var(--color-warning-light);color:#d97706;border:1px solid #f59e0b4d}.badge-hard{background-color:var(--color-error-light);color:var(--color-error);border:1px solid var(--color-error-border)}.badge-primary{background-color:var(--color-primary-light);color:var(--color-primary);border:1px solid #ff6b354d}.badge-secondary{background-color:var(--color-secondary-light);color:var(--color-secondary);border:1px solid #2563eb4d}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-smooth) forwards}@keyframes questionEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-question-enter{animation:.35s cubic-bezier(.16,1,.3,1) forwards questionEnter}.hover-lift{transition:transform var(--transition-fast)}.hover-lift:hover{transform:translateY(-2px)}
