:root{--bg:#f2f7f9;--surface:#fff;--surface-variant:#e9f2f6;--surface-container:#eef5f8;--outline:#dbe7ec;--outline-variant:#e7f0f4;--primary:#33708c;--primary-hover:#2a5d75;--primary-container:#d9ebf2;--on-primary:#fff;--secondary:#5fa8bd;--tertiary:#8fc7d6;--text-primary:#132730;--text-secondary:#41616e;--text-tertiary:#6e8b96;--success:#4f9484;--warning:#e0b87a;--error:#c97b6f;--spark-gold:#e8b84a;--spark-silver:#5fa8bd;--spark-bronze:#8fc7d6;--hue-0:#33708c;--hue-1:#5fa8bd;--hue-2:#4fa08f;--hue-3:#8a9bd1;--hue-4:#79c2cf;--hue-5:#5b8fb9;--hue-6:#9b8ac9;--hue-7:#2e5f76;--hue-0-ink:#33708c;--hue-1-ink:#467c8c;--hue-2-ink:#3f8072;--hue-3-ink:#66739b;--hue-4-ink:#4d7c84;--hue-5-ink:#4c789b;--hue-6-ink:#796c9d;--hue-7-ink:#2e5f76;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ease-default:cubic-bezier(.2, 0, 0, 1);--radius-card:20px;--radius-control:14px;--radius-pill:999px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;margin:0}p{margin:0}a{color:var(--primary);font-weight:600;text-decoration:none}a:hover{color:var(--primary-hover);text-decoration:underline}input,textarea,button,select{font:inherit;font-family:var(--font-sans)}.card{background:var(--surface);border:.5px solid var(--outline);border-radius:var(--radius-card);padding:22px}.btn{border-radius:var(--radius-pill);background:var(--primary);height:44px;color:var(--on-primary);cursor:pointer;transition:background .15s var(--ease-default), opacity .15s var(--ease-default);border:none;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:15px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--primary-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-outline{color:var(--primary);border:1px solid var(--outline);background:0 0}.btn-outline:hover:not(:disabled){background:var(--surface-variant);color:var(--primary-hover)}.btn-text{color:var(--text-secondary);background:0 0;height:auto;padding:6px 10px;font-size:13px}.btn-text:hover:not(:disabled){background:var(--surface-variant);color:var(--text-primary)}.btn-danger{color:var(--error)}.input{border:1px solid var(--outline);border-radius:var(--radius-control);background:var(--surface);width:100%;height:44px;color:var(--text-primary);transition:border-color .15s var(--ease-default), box-shadow .15s var(--ease-default);outline:none;padding:0 14px}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-container)}.input::placeholder{color:var(--text-tertiary)}.chip{border-radius:var(--radius-pill);background:var(--surface-variant);height:30px;color:var(--text-secondary);align-items:center;padding:0 12px;font-size:13px;display:inline-flex}.label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.muted{color:var(--text-secondary);font-size:14px;line-height:1.5}.tiny{color:var(--text-tertiary);font-size:12px}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dotIn{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes floatUp{0%{opacity:.95;transform:translateY(0)scale(.8)}to{opacity:0;transform:translateY(-340px)scale(1.3)}}@keyframes confFall{0%{opacity:1;transform:translateY(-30px)rotate(0)}to{opacity:0;transform:translateY(72vh)rotate(540deg)}}@keyframes breathe{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}@keyframes riseUp{0%{transform:scaleY(0)}to{transform:scaleY(1)}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
