*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--cream:#fff;--cream-dark:#f4faf8;--cream-mid:#e8f5f1;--ink:#1a1612;--ink-light:#3d3630;--ink-muted:#7a6f65;--ink-faint:#b5a99d;--accent:#0f6e56;--accent-light:#5dcaa5;--accent-pale:#e1f5ee;--green:#0f6e56;--green-light:#9fe1cb;--green-pale:#e1f5ee;--yellow:#d4a017;--yellow-pale:#fff8e1;--red:#e07070;--red-pale:#fdecea;--border:#d1e8e2;--shadow:#0f6e5614}body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:DM Sans,sans-serif}html,body{width:100%;height:100%}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--accent-light);border-radius:10px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fade-in{animation:.3s ease-in fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slide-up{animation:.3s cubic-bezier(.34,1.56,.64,1) slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(80px)}to{opacity:1;transform:translateY(0)}}.toast{background:var(--accent);color:#fff;z-index:999;white-space:normal;text-align:center;border-radius:12px;max-width:calc(100vw - 32px);padding:12px 24px;font-size:13px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(80px);box-shadow:0 8px 32px #0f6e5640}.toast.show{transform:translate(-50%)translateY(0)}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:12px 18px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:all .15s}.btn-primary:hover{background:#0a5240;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-secondary{color:var(--ink-muted);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:10px;padding:12px 18px;font-family:DM Sans,sans-serif;font-size:14px;transition:all .15s}.btn-secondary:hover{border-color:var(--accent-light);color:var(--accent)}.input-field{border:1px solid var(--border);width:100%;color:var(--ink);background:#fff;border-radius:10px;outline:none;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:14px;transition:border-color .15s}.input-field:focus{border-color:var(--accent)}.input-field::placeholder{color:var(--ink-faint)}@media (max-width:768px){:root{font-size:14px}.toast{max-width:calc(100vw - 32px);padding:10px 16px;font-size:12px;bottom:16px}}
