:root{--bg: #f4f3f1;--surface: #ffffff;--surface-2: #f6f5f2;--border: #e1e7ec;--text: #232323;--text-muted: #6e7a8a;--accent: #2732c1;--accent-hover: #1a2281;--accent-contrast: #ffffff;--accent-soft: #e9ebfa;--accent-grad: linear-gradient(135deg, #2732c1, #2d39d5);--ok: #0f9d58;--ok-soft: #e4f4ec;--warn: #a07708;--warn-soft: #faf1d9;--danger: #8c182b;--danger-soft: #f9e7ea;--info: #0369a1;--info-soft: #e2f0f9;--radius: 10px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(35, 35, 35, .04), 0 4px 18px rgba(35, 35, 35, .06);--shadow-lift: 0 2px 4px rgba(39, 50, 193, .08), 0 8px 26px rgba(39, 50, 193, .14);--font: "Outfit", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "Cascadia Code", "Consolas", monospace;--ease-out: cubic-bezier(.16, 1, .3, 1)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #14151c;--surface: #1b1d26;--surface-2: #232634;--border: #2e3242;--text: #e8e9ef;--text-muted: #929fb1;--accent: #6d79f2;--accent-hover: #8891f6;--accent-contrast: #ffffff;--accent-soft: #232849;--accent-grad: linear-gradient(135deg, #4c58e8, #6d79f2);--ok: #34d399;--ok-soft: #14291f;--warn: #fbbf24;--warn-soft: #2c2410;--danger: #f87171;--danger-soft: #2c1616;--info: #38bdf8;--info-soft: #10222c;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .35);--shadow-lift: 0 2px 4px rgba(0, 0, 0, .35), 0 8px 26px rgba(0, 0, 0, .45)}}:root[data-theme=dark]{--bg: #14151c;--surface: #1b1d26;--surface-2: #232634;--border: #2e3242;--text: #e8e9ef;--text-muted: #929fb1;--accent: #6d79f2;--accent-hover: #8891f6;--accent-contrast: #ffffff;--accent-soft: #232849;--accent-grad: linear-gradient(135deg, #4c58e8, #6d79f2);--ok: #34d399;--ok-soft: #14291f;--warn: #fbbf24;--warn-soft: #2c2410;--danger: #f87171;--danger-soft: #2c1616;--info: #38bdf8;--info-soft: #10222c;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .35);--shadow-lift: 0 2px 4px rgba(0, 0, 0, .35), 0 8px 26px rgba(0, 0, 0, .45)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.01em}code,.mono{font-family:var(--mono);font-size:.92em}button{font-family:inherit;font-size:14px;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.view>*,.page>*{animation:rise .45s var(--ease-out) both}.view>*:nth-child(2),.page>*:nth-child(2){animation-delay:.06s}.view>*:nth-child(3),.page>*:nth-child(3){animation-delay:.12s}.view>*:nth-child(n+4),.page>*:nth-child(n+4){animation-delay:.18s}.dot-ok{animation:heartbeat 2.6s ease-in-out infinite}@keyframes heartbeat{0%,to{box-shadow:0 0 0 0 var(--ok-soft)}45%{box-shadow:0 0 0 5px var(--ok-soft)}}.review,.timeline,.test{animation:rise .3s var(--ease-out) both}.modal-backdrop{animation:fade .2s ease both}.modal{animation:pop .3s var(--ease-out) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:550;transition:all .25s ease-in-out}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--text-muted);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-lift)}.btn:disabled{opacity:.55;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.6;background:var(--surface-2);color:var(--text-muted)}.pill-ok{background:var(--ok-soft);color:var(--ok)}.pill-warn{background:var(--warn-soft);color:var(--warn)}.pill-danger{background:var(--danger-soft);color:var(--danger)}.pill-info{background:var(--info-soft);color:var(--info)}.pill-accent{background:var(--accent-soft);color:var(--accent)}.muted{color:var(--text-muted)}table.data{width:100%;border-collapse:collapse}table.data th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600;padding:10px 14px;border-bottom:1px solid var(--border)}table.data td{padding:12px 14px;border-bottom:1px solid var(--border);transition:background .15s ease}table.data tr:last-child td{border-bottom:none}table.data tbody tr:hover>td{background:var(--surface-2)}input,select,textarea{font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)}.view{display:flex;flex-direction:column;gap:18px;max-width:1100px}.view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.view-head h1{font-size:24px}.view-head p{margin:4px 0 0;max-width:640px}
