:root{--bg-base:#0d0e11;--bg-dark:#121316;--bg-low:#1b1b1f;--bg-container:#1f1f23;--bg-high:#292a2d;--bg-highest:#343538;--bg-bright:#38393c;--coral:#e07a5f;--coral-light:#ffb4a1;--coral-dim:#ffdbd2;--coral-on:#5d1805;--sage:#81b29a;--sage-light:#9fd1b8;--sage-dim:#bbeed4;--sage-dark:#1f4f3c;--gold:#d4a574;--gold-light:#efbd8a;--gold-dim:#ffdcbc;--gold-dark:#614018;--violet:#8b7ec8;--error:#ffb4ab;--text-primary:#fafaf9;--text-body:#e3e2e6;--text-muted:#9ca3af;--text-dim:#55423e;--outline:#a38b86;--outline-var:#55423e;--border:#ffffff0f;--border-hover:#ffffff1f;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-2xl:20px;--r-full:999px;--shadow-sm:0 1px 4px #0000004d;--shadow-md:0 4px 16px #0006;--ease:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.12s;--dur-base:.2s;--dur-slow:.35s;--warm-white:#fafaf9;--muted:#9ca3af;--muted-dark:#55423e;--navy-deeper:#0d0e11;--navy-dark:#121316;--navy:#1b1b1f;--navy-mid:#1f1f23;--navy-light:#292a2d;--sage-glow:#81b29a4d;--blush:#e07a5f;--blush-light:#ffb4a1;--blush-dark:#9a442d;--primary-cta:#e07a5f;--border-light:#ffffff1a;--glass-light:#ffffff0a;--glass-mid:#ffffff12}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{background:var(--bg-dark);color:var(--text-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;letter-spacing:-.01em;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit}img{max-width:100%;display:block}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--outline-var);border-radius:2px}*{scrollbar-width:thin;scrollbar-color:var(--outline-var) transparent}.text-muted{color:var(--text-muted)}.text-sage{color:var(--sage)}.text-gold{color:var(--gold)}.text-coral{color:var(--coral)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.btn{border-radius:var(--r-lg);cursor:pointer;transition:all var(--dur-base) var(--ease);white-space:nowrap;letter-spacing:-.01em;border:none;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:13px 24px;font-size:.9375rem;font-weight:600;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--coral);color:#fff}.btn-primary:hover{opacity:.92}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-ghost:hover{border-color:var(--border-hover);color:var(--text-body)}.btn-gold{color:var(--gold);border:1px solid var(--gold);background:0 0}.btn-gold:hover{background:#d4a57414}.btn-sage{color:var(--sage);border:1px solid var(--sage);background:0 0}.btn-sage:hover{background:#81b29a14}.btn-outline-sage{color:var(--sage);border:1.5px solid var(--sage);background:0 0}.btn-outline-sage:hover{background:#81b29a14}.btn-full{width:100%}.btn-sm{min-height:36px;padding:8px 16px;font-size:.8125rem}.btn-lg{min-height:52px;padding:16px 32px;font-size:1rem}.chip{border-radius:var(--r-md);border:1px solid var(--border);color:var(--text-muted);background:0 0;align-items:center;gap:4px;padding:4px 12px;font-size:.8125rem;font-weight:500;display:inline-flex}.chip-sage{color:var(--sage);border-color:#81b29a4d}.chip-gold{color:var(--gold);border-color:#d4a5744d}.chip-coral,.chip-blush{color:var(--coral-light);border-color:#e07a5f4d}.input{background:var(--bg-container);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;color:var(--text-body);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);outline:none;padding:13px 16px;font-size:.9375rem}.input:focus{border-color:var(--coral);box-shadow:0 0 0 2px #e07a5f1a}.input::placeholder{color:var(--text-muted)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes breathe{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes gentleSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}.animate-fade-in-up{animation:fadeInUp .4s var(--ease) both}.animate-scale-in{animation:scaleIn .3s var(--ease) both}.animate-fade-in{animation:fadeIn .3s var(--ease) both}
