:root{--color-primary: #1f4d2a;--color-primary-hover: #163620;--color-primary-light: #e6efe6;--color-secondary: #b38400;--color-secondary-light: #f7ecc6;--color-success: #1f4d2a;--color-success-light: #e6efe6;--color-warning: #b38400;--color-warning-light: #f7ecc6;--color-danger: #c24d1f;--color-danger-light: #f9e3d6;--color-bg: #f6f5f1;--color-surface: #fffdf7;--color-surface-2: #f0eee9;--color-border: #e4e1d6;--color-border-hover: #ccc9be;--color-text: #10120f;--color-text-muted: #3c3d39;--color-text-light: #6b6d66;--color-forest: #1f4d2a;--color-forest-light: #e6efe6;--color-brick: #c24d1f;--color-mustard: #b38400;--color-mustard-light: #f7ecc6;--color-ink: #10120f;--color-ink-2: #3c3d39;--color-ink-3: #6b6d66;--color-line: #e4e1d6;--color-chip-active-bg: #10120f;--color-chip-active-tx: #ffffff;--color-bar-muted: #c8dfc8;--quality-0: #c24d1f;--quality-1: #d4703a;--quality-2: #b38400;--quality-3: #c9a020;--quality-4: #2e6b3b;--quality-5: #1f4d2a;--mastery-low: var(--color-brick);--mastery-mid: var(--color-mustard);--mastery-high: var(--color-forest);--mastery-low-bg: rgba(194, 77, 31, .05);--mastery-low-border: rgba(194, 77, 31, .19);--mastery-mid-bg: rgba(179, 132, 0, .05);--mastery-mid-border: rgba(179, 132, 0, .19);--mastery-high-bg: rgba(31, 77, 42, .05);--mastery-high-border: rgba(31, 77, 42, .19);--type-estudo-bg: #eff6ff;--type-estudo-bd: #bfdbfe;--type-estudo-tx: #1d4ed8;--type-revisao-bg: #f0fdf4;--type-revisao-bd: #bbf7d0;--type-revisao-tx: #15803d;--type-simulado-bg: #fef3c7;--type-simulado-bd: #fde68a;--type-simulado-tx: #b45309;--type-revisao2-bg: #f5f3ff;--type-revisao2-bd: #ddd6fe;--type-revisao2-tx: #6d28d9;--color-bloco-bg: rgba(255,255,255,.72);--color-bloco-border: rgba(0,0,0,.06);--accent-blue: #2563eb;--accent-purple: #7c3aed;--accent-cyan: #0891b2;--accent-amber: #d97706;--accent-green: #16a34a;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-serif: "Fraunces", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--radius-sm: 4px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 8px 32px rgba(0,0,0,.12);--focus-ring: 0 0 0 3px var(--color-primary-light);--touch-target-min: 44px;--transition: .15s ease}:root{--phase-focus-color: #2563eb;--phase-focus-bg: #eff6ff;--phase-short-color: #16a34a;--phase-short-bg: #f0fdf4;--phase-long-color: #7c3aed;--phase-long-bg: #f5f3ff;--phase-practice-color: #d97706;--phase-practice-bg: #fffbeb;--color-danger-light: #f9e3d6;--color-warning-light: #f7ecc6;--color-info-color: #2563eb;--color-info-light: #dbeafe;--color-purple-color: #7c3aed;--color-purple-light: #ede9fe;--color-slate-light: #f1f5f9;--color-slate-color: #64748b}@media (prefers-color-scheme: dark){:root{--color-bg: #10120f;--color-surface: #1e201b;--color-surface-2: #242620;--color-border: #2e302a;--color-border-hover: #3e4038;--color-text: #f6f5f1;--color-text-muted: #a8aa9f;--color-text-light: #7d7f75;--color-ink: #f6f5f1;--color-ink-2: #a8aa9f;--color-ink-3: #7d7f75;--color-line: #2e302a;--color-forest: #4ade80;--color-brick: #ff8a65;--color-mustard: #fbbf24;--color-primary: #3f7a4c;--color-primary-hover: #356640;--color-primary-light: #1a2e1d;--color-success: #4ade80;--color-success-light: #0f2218;--color-danger: #ff8a65;--color-danger-light: #3d1410;--color-warning: #fbbf24;--color-warning-light: #2e2208;--color-forest-light: #0f2218;--color-mustard-light: #2e2208;--color-info-color: #93b8f0;--color-info-light: #172744;--color-purple-color: #b69af0;--color-purple-light: #22194a;--color-slate-light: #2c2e32;--color-slate-color: #94a3b8;--color-bloco-bg: rgba(255,255,255,.1);--color-bloco-border: rgba(255,255,255,.12);--color-chip-active-bg: #f6f5f1;--color-chip-active-tx: #10120f;--color-bar-muted: #2d5c3a;--type-estudo-bg: #1a2340;--type-estudo-bd: #1e3a8a;--type-estudo-tx: #93b8f0;--type-revisao-bg: #0f2218;--type-revisao-bd: #14532d;--type-revisao-tx: #86efac;--type-simulado-bg: #2d1a06;--type-simulado-bd: #78350f;--type-simulado-tx: #fcd34d;--type-revisao2-bg: #1e1030;--type-revisao2-bd: #4c1d95;--type-revisao2-tx: #c4b5fd;--accent-blue: #60a5fa;--accent-purple: #a78bfa;--accent-cyan: #22d3ee;--accent-amber: #fbbf24;--accent-green: #4ade80;--quality-0: #ff8a65;--quality-1: #ffab8a;--quality-2: #fbbf24;--quality-3: #fcd870;--quality-4: #6bcf88;--quality-5: #4ade80;--phase-focus-color: #93b8f0;--phase-focus-bg: #172744;--phase-short-color: #7fb089;--phase-short-bg: #0f2218;--phase-long-color: #b69af0;--phase-long-bg: #22194a;--phase-practice-color: #fbbf24;--phase-practice-bg: #2d1a06}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}a:hover{text-decoration:underline}a:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}img,svg{display:block;max-width:100%}button{font-family:inherit;cursor:pointer;border:none;background:none}button:focus-visible{outline:none;box-shadow:var(--focus-ring)}input,select,textarea{font-family:inherit;font-size:inherit}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-6)}.container-sm{width:100%;max-width:480px;margin:0 auto;padding:0 var(--space-6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;transition:all var(--transition);cursor:pointer;border:none;white-space:nowrap;min-height:var(--touch-target-min)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-2)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.9}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-base);border-radius:var(--radius-lg)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.btn-full{width:100%}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}.form-label span{color:var(--color-danger);margin-left:2px}.form-input{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);transition:border-color var(--transition);width:100%;min-height:var(--touch-target-min)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.form-input::placeholder{color:var(--color-text-light)}.form-input:disabled{background:var(--color-surface-2);opacity:.7}.form-error{font-size:var(--font-size-xs);color:var(--color-danger)}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.badge-blue{background:var(--color-primary-light);color:var(--color-primary)}.badge-green{background:var(--color-success-light);color:var(--color-success)}.badge-yellow{background:var(--color-warning-light);color:var(--color-warning)}.badge-red{background:var(--color-danger-light);color:var(--color-danger)}.badge-purple{background:var(--color-secondary-light);color:var(--color-secondary)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-4{margin-bottom:var(--space-4)}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:var(--font-size-sm)}.text-center{text-align:center}.font-semibold{font-weight:600}.w-full{width:100%}.spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.page-transition-enter{animation:fadeIn .3s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.page-transition-enter{animation:none}}.progress-bar{height:8px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width .5s ease}::-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-border-hover)}.divider{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm)}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.app-shell{display:flex;min-height:100vh;background:var(--color-bg)}.app-sidebar{width:240px;min-height:100vh;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:20px 12px;position:sticky;top:0;height:100vh;overflow-y:auto;flex-shrink:0}.app-mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;min-height:calc(var(--touch-target-min) + 16px);padding-bottom:env(safe-area-inset-bottom);background:var(--color-surface);border-top:1px solid var(--color-border);z-index:100;overflow:hidden}.app-main{flex:1;padding:32px;overflow-x:hidden;max-width:1000px}@media (max-width: 768px){.app-sidebar{display:none}.app-mobile-nav{display:flex}.app-main{padding:16px 16px 76px;max-width:100%}}.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 640px){.grid-2col{grid-template-columns:1fr}}.trilha-layout{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}@media (min-width: 769px){.trilha-layout{grid-template-columns:280px 1fr}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton{background:linear-gradient(90deg,var(--color-surface-2) 25%,var(--color-border) 50%,var(--color-surface-2) 75%);background-size:600px 100%;animation:shimmer 1.4s infinite linear;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){.skeleton{animation:none;background:var(--color-surface-2)}}@media (max-width: 480px){.toast-container-mobile{left:12px!important;right:12px!important;bottom:72px!important}}.landing-nav-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px}.landing-nav-links{display:flex;align-items:center;gap:12px}.landing-nav-link{color:var(--color-text-muted);font-size:.875rem;text-decoration:none}@media (max-width: 640px){.landing-nav-inner{flex-wrap:wrap;justify-content:center;gap:16px}.landing-nav-links{flex-wrap:wrap;justify-content:center}}.landing-hero-dashboard{background:var(--color-surface);border:1px solid var(--color-ink);position:relative;overflow:hidden;padding:44px 28px 24px;max-width:640px;margin:0 auto}@media (max-width: 640px){.landing-hero-dashboard{padding:40px 16px 20px}}.landing-preview-inner{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start;margin-bottom:20px}@media (max-width: 520px){.landing-preview-inner{grid-template-columns:1fr}}.landing-preview-next{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 520px){.landing-preview-next{grid-template-columns:1fr}}.landing-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-3);font-weight:600}.landing-feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}@media (max-width: 640px){.landing-feature-grid{grid-template-columns:1fr}}.exam-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.exam-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px;min-height:44px;box-shadow:var(--shadow-sm);transition:all .2s ease;cursor:pointer;text-align:left;flex:1 1 200px;max-width:240px}.exam-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}@media (max-width: 640px){.exam-cards{display:grid;grid-template-columns:1fr 1fr;justify-items:stretch}.exam-card{flex:unset;width:100%}.exam-card:last-child{grid-column:1 / -1}}.landing-cta-section{padding:120px 24px}@media (max-width: 640px){.landing-cta-section{padding:80px 24px}}.landing-hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:16px}@media (max-width: 640px){.landing-hero-ctas{flex-direction:column;align-items:stretch}}.landing-nav{position:sticky;top:0;z-index:100;background:#f6f5f1eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.landing-nav-container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-6)}@media (max-width: 640px){.dashboard-hero-inner{grid-template-columns:1fr!important;gap:20px!important;padding:40px 20px 24px!important}.dashboard-hero-actions{min-width:0!important;width:100%}}.analytics-plan-select{display:block}.analytics-plan-chip{display:none}@media (max-width: 640px){.analytics-plan-select{display:none!important}.analytics-plan-chip{display:flex!important}}.badge-danger{background:var(--color-danger-light);color:var(--color-danger);border-radius:99px;padding:2px 8px;font-size:.7rem;font-weight:600;white-space:nowrap}.badge-warning{background:var(--color-warning-light);color:var(--color-warning);border-radius:99px;padding:2px 8px;font-size:.7rem;font-weight:600;white-space:nowrap}.badge-success{background:var(--color-forest-light);color:var(--color-forest);border-radius:99px;padding:2px 8px;font-size:.7rem;font-weight:600;white-space:nowrap}.badge-info{background:var(--color-info-light);color:var(--color-info-color);border-radius:99px;padding:2px 8px;font-size:.7rem;font-weight:600;white-space:nowrap}.badge-purple{background:var(--color-purple-light);color:var(--color-purple-color);border-radius:99px;padding:2px 8px;font-size:.7rem;font-weight:600;white-space:nowrap}.badge-slate{background:var(--color-slate-light);color:var(--color-slate-color);border-radius:99px;padding:2px 8px;font-size:.7rem;font-weight:600;white-space:nowrap}.section-danger{border-color:var(--color-danger)!important;background:var(--color-danger-light)!important}body.legacy-visual{--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-primary-light: #ede9fe;--color-secondary: #7c3aed;--color-secondary-light: #f5f3ff;--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-2: #f1f5f9;--color-border: #e2e8f0;--color-border-hover: #cbd5e1;--color-text: #0f172a;--color-text-muted: #475569;--color-text-light: #94a3b8;--color-forest: #4f46e5;--color-forest-light: #ede9fe;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px}
