:root{color-scheme:light only;--cream: #F5F1EB;--cream-2: #EEE7DB;--cream-3: #E4DBC9;--ink: #1F1B16;--ink-2: #3A332B;--ink-3: #6B6158;--ink-4: #9B9189;--line: #D9CFBC;--line-2: #C7BBA4;--terracotta: #C96442;--terracotta-2: #D97757;--terracotta-3: #B45536;--terracotta-wash: #F3DCD0;--gold: #C8953B;--gold-wash: #F1E3C3;--gem: #4B7B8A;--gem-wash: #CDE0E4;--heart: #C23B3B;--moss: #6B8E6E;--moss-wash: #D6E1D2;--shadow-sm: 0 1px 0 rgba(31,27,22,.04), 0 1px 2px rgba(31,27,22,.06);--shadow-md: 0 1px 0 rgba(31,27,22,.04), 0 8px 24px -10px rgba(31,27,22,.18);--shadow-lg: 0 2px 0 rgba(31,27,22,.05), 0 24px 48px -16px rgba(31,27,22,.22);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 22px;--font-serif: "Instrument Serif", ui-serif, Georgia, serif;--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background:#f5f1eb}body{background:#f5f1eb;color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:radial-gradient(rgba(31,27,22,.035) 1px,transparent 1px),radial-gradient(rgba(31,27,22,.02) 1px,transparent 1px);background-size:3px 3px,7px 7px;background-position:0 0,1px 1px;mix-blend-mode:multiply;opacity:.6}#root{position:relative;z-index:1;min-height:100vh}button{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit}.serif{font-family:var(--font-serif);font-weight:400;letter-spacing:-.01em}.mono{font-family:var(--font-mono)}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:var(--radius-md);font-weight:500;border:1px solid transparent;cursor:pointer;transition:transform 80ms ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--cream);box-shadow:0 1px #00000026,0 10px 24px -14px #1f1b16cc}.btn-primary:hover:not(:disabled){background:#000}.btn-primary:active{transform:translateY(1px)}.btn-terracotta{background:var(--terracotta);color:#fff;box-shadow:inset 0 -2px #0000002e,0 10px 20px -10px #c9644299}.btn-terracotta:hover:not(:disabled){background:var(--terracotta-3)}.btn-terracotta:active{transform:translateY(1px);box-shadow:inset 0 -1px #0000002e}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn-ghost:hover:not(:disabled){background:var(--cream-2)}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--cream-2);border:1px solid var(--line);font-size:12px;color:var(--ink-2)}.chip.dot:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--terracotta)}.card{background:#fbf7f0;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-raised{background:#fbf7f0;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.topbar{display:flex;align-items:center;gap:24px;padding:16px 32px;border-bottom:1px solid var(--line);background:#f5f1ebd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-serif);font-size:22px}.logo-mark{width:28px;height:28px;border-radius:8px;background:var(--ink);color:var(--cream);display:grid;place-items:center;font-family:var(--font-serif);font-style:italic;font-size:18px;line-height:1;padding-bottom:2px}.logo-mark.terra{background:var(--terracotta);color:#fff}.top-stats{display:flex;align-items:center;gap:10px;margin-left:auto}.stat{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;background:#fbf7f0;border:1px solid var(--line);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.stat svg{width:16px;height:16px}.stat .val{color:var(--ink)}.avatar-btn{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px;background:#fbf7f0;border:1px solid var(--line);cursor:pointer;font-size:13px;font-weight:500}.avatar-btn img,.avatar-btn .avatar-fallback{width:26px;height:26px;border-radius:999px;background:var(--terracotta);color:#fff;display:grid;place-items:center;font-weight:600;font-size:12px;object-fit:cover}.progress{height:10px;background:var(--cream-3);border-radius:999px;overflow:hidden;position:relative}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--terracotta),var(--terracotta-2));border-radius:999px;transition:width .4s cubic-bezier(.2,.8,.2,1);box-shadow:inset 0 -2px #00000014}@keyframes gem-float{0%{transform:translateY(0) scale(1);opacity:0}20%{opacity:1}to{transform:translateY(-40px) scale(1.25);opacity:0}}@keyframes pulse-soft{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes confetti{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(400px) rotate(720deg);opacity:0}}.fade-up{animation:fade-up .3s ease both}.shake{animation:shake .35s ease}.pulse{animation:pulse-soft 1.6s ease-in-out infinite}.ph{border-radius:var(--radius-md);background-image:repeating-linear-gradient(135deg,#1f1b160d 0,#1f1b160d 8px,#1f1b1605 8px,#1f1b1605 16px);background-color:var(--cream-2);border:1px dashed var(--line-2);display:grid;place-items:center;font-family:var(--font-mono);font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em}.code{font-family:var(--font-mono);background:#1f1b16;color:#e8dfcd;border-radius:var(--radius-md);padding:18px 20px;font-size:13px;line-height:1.6;overflow-x:auto}.page{max-width:1180px;margin:0 auto;padding:40px 32px 120px}.grid{display:grid;gap:16px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:999px}::-webkit-scrollbar-track{background:transparent}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}@media (max-width: 860px){.login-shell{grid-template-columns:1fr}.login-hero{display:none}}.login-hero{background:var(--ink);color:var(--cream);padding:56px 48px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-hero:after{content:"✳";position:absolute;right:-60px;bottom:-120px;font-family:var(--font-serif);font-size:400px;color:var(--terracotta);opacity:.2;line-height:1}.login-form{padding:56px 48px;display:flex;align-items:center;justify-content:center}.login-card{width:100%;max-width:420px}.provider-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--line);background:#fbf7f0;cursor:pointer;font-size:14px;font-weight:500;color:var(--ink);transition:background .16s ease,transform 80ms ease}.provider-btn:hover:not(:disabled){background:var(--cream-2)}.provider-btn:active{transform:translateY(1px)}.provider-btn:disabled{opacity:.6;cursor:not-allowed}.provider-btn.dark{background:var(--ink);color:var(--cream);border-color:var(--ink)}.provider-btn.dark:hover:not(:disabled){background:#000}.divider{display:flex;align-items:center;gap:12px;color:var(--ink-3);font-size:12px;margin:16px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.user-menu{position:absolute;right:32px;top:62px;background:#fbf7f0;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:220px;z-index:30;padding:8px}.user-menu-item{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:13px;border:none;background:transparent;width:100%;text-align:left}.user-menu-item:hover{background:var(--cream-2)}
