:root{--bg:#f5f5f7;--bg-card:#fff;--bg-hover:#f9fafb;--bg-active:#f3f4f6;--text-primary:#1a1a2e;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--text-inverse:#fff;--accent:#f97316;--accent-hover:#fb923c;--accent-dim:#f9731614;--accent-glow:#f9731640;--success:#22c55e;--success-dim:#22c55e1a;--warning:#f59e0b;--danger:#ef4444;--danger-dim:#ef444414;--border:#e5e7eb;--border-hover:#d1d5db;--shadow-sm:0 1px 2px #0000000a, 0 1px 3px #0000000f;--shadow-md:0 4px 12px #0000000f, 0 1px 2px #0000000a;--shadow-lg:0 12px 32px #00000014, 0 2px 6px #0000000a;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"SF Mono", "Fira Code", monospace;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none}button{cursor:pointer;font:inherit;background:0 0;border:none}input,textarea{font:inherit;color:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card-interactive{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow .2s,border-color .2s,transform .15s}.card-interactive:hover{box-shadow:var(--shadow-md);border-color:var(--border-hover)}.card-interactive:active{transform:scale(.985)}@keyframes card-flip-in{0%{opacity:0;transform:perspective(600px)rotateX(-15deg)translateY(-8px)}to{opacity:1;transform:perspective(600px)rotateX(0)translateY(0)}}.card-flip-in{animation:.35s cubic-bezier(.34,1.3,.64,1) both card-flip-in}@keyframes check-pop{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.25)}to{opacity:1;transform:scale(1)}}.check-pop{animation:.3s cubic-bezier(.34,1.56,.64,1) check-pop}@keyframes complete-strike{0%{opacity:1;transform:translate(0)}to{opacity:.5;transform:translate(4px)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.slide-down{animation:.25s ease-out both slide-down}@media (width<=768px){:root{--radius-sm:8px;--radius-md:12px}}body{margin:0;padding:0}
