:root{--bg1:#fdf7ee;--bg2:#f6e7d4;--ink:#4c3b2f;--ink-soft:#735e4d;--muted:#ac917a;--frame:#e7d5c1;--cell:#f2e6d5;--chip:#fffdf8;--accent:#e85c87;--accent-deep:#d94a77;--good:#3f9b6b;--warn:#d9912b;--bad:#d4483b;--info:#3f7fbf;--accent-ink:#b8325f;--good-ink:#28704b;--warn-ink:#94580c;--bad-ink:#b3362b;--radius:14px;--shadow:0 2px 0 #4c3b2f1f;color:var(--ink);background:var(--bg1);-webkit-font-smoothing:antialiased;font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.45}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg1:#231c17;--bg2:#2e251e;--ink:#f3e7d9;--ink-soft:#c9b6a2;--muted:#9c8672;--frame:#4a3d33;--cell:#3a2f27;--chip:#2b221c;--shadow:0 2px 0 #00000059;--accent-ink:#ff8fb1;--good-ink:#6fcf9a;--warn-ink:#eaa94c;--bad-ink:#ff8a7a}}:root[data-theme=dark]{--bg1:#231c17;--bg2:#2e251e;--ink:#f3e7d9;--ink-soft:#c9b6a2;--muted:#9c8672;--frame:#4a3d33;--cell:#3a2f27;--chip:#2b221c;--shadow:0 2px 0 #00000059;--accent-ink:#ff8fb1;--good-ink:#6fcf9a;--warn-ink:#eaa94c;--bad-ink:#ff8a7a}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:linear-gradient(180deg, var(--bg1), var(--bg2));min-height:100vh}h1,h2,h3{margin:0 0 .4em;line-height:1.2}a{color:var(--accent-ink)}code,.mono{font-family:ui-monospace,SF Mono,Menlo,monospace}.btn{font:inherit;cursor:pointer;background:var(--accent);color:#fff;box-shadow:var(--shadow);border:none;border-radius:10px;padding:.55em 1.1em;font-weight:700;transition:transform 60ms,background .15s}.btn:hover{background:var(--accent-deep)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default}.btn.secondary{background:var(--chip);color:var(--ink);border:1px solid var(--frame)}.btn.secondary:hover{background:var(--cell)}.btn.good{background:var(--good)}.btn.bad{background:var(--bad)}.card{background:var(--chip);border:1px solid var(--frame);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.2rem}.chip{background:var(--cell);color:var(--ink-soft);border-radius:999px;align-items:center;gap:.35em;padding:.15em .7em;font-size:.85em;font-weight:600;display:inline-flex}.muted{color:var(--ink-soft)}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.stack{flex-direction:column;gap:.75rem;display:flex}.auth-screen{justify-content:center;align-items:center;min-height:100vh;padding:2rem 16px;display:flex}.auth-card{width:100%;max-width:400px;padding:1.6rem 1.5rem}.auth-label{flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:600;display:flex}.auth-input{font:inherit;color:var(--ink);background:var(--bg1);border:1px solid var(--frame);border-radius:10px;padding:.55em .75em;font-weight:400}.auth-input:focus{outline:2px solid var(--accent);outline-offset:1px}.auth-error{color:var(--bad-ink);margin:0;font-size:.9rem}.auth-notice{background:var(--cell);border-radius:10px;margin:0;padding:.6rem .8rem;font-size:.9rem}.auth-spinner{border:3px solid var(--frame);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.auth-spinner{animation:none}}
