:root{--bg-top:#f2f6ff;--bg-bottom:#dee9ff;--text-strong:#0d1b3f;--text-soft:#41547b;--glass-fill:#ffffff85;--glass-border:#ffffffc7;--glass-shadow:0 24px 64px #32488433;--accent-start:#3f7bff;--accent-end:#6aa9ff;--accent-solid:#2f68ed;--danger:#c72f5b}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background:linear-gradient(165deg, var(--bg-top) 0%, var(--bg-bottom) 100%);color:var(--text-strong);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:SF Pro Display,SF Pro Text,Avenir Next,Segoe UI,sans-serif;overflow-x:hidden}h1,h2,h3,p{margin:0}.app-shell{isolation:isolate;gap:1.05rem;max-width:980px;margin:0 auto;padding:2.4rem 1rem 3.6rem;display:grid;position:relative}.bg-orb{filter:blur(24px);z-index:-2;pointer-events:none;border-radius:999px;animation:10s ease-in-out infinite float;position:fixed}.bg-orb-a{background:#7bacff73;width:280px;height:280px;top:-40px;left:-70px}.bg-orb-b{background:#9275ff4d;width:330px;height:330px;animation-delay:-2.5s;top:18vh;right:-100px}.bg-orb-c{background:#69d9ff42;width:260px;height:260px;animation-delay:-5s;bottom:-60px;left:22vw}.hero{gap:.55rem;animation:.48s both rise;display:grid}.hero h1{letter-spacing:-.03em;max-width:17ch;font-size:clamp(1.75rem,4.9vw,2.9rem);line-height:1.06}.hero-copy{color:var(--text-soft);max-width:65ch;font-size:1.02rem}.card{border:1px solid var(--glass-border);background:var(--glass-fill);-webkit-backdrop-filter:blur(24px)saturate(140%);box-shadow:var(--glass-shadow);border-radius:24px;gap:1rem;padding:1.2rem;display:grid;position:relative}.card:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(160deg,#ffffff8f 0%,#ffffff29 42%,#ffffff0a 100%);position:absolute;inset:0}.section-enter{animation:.42s both rise}.setup-form,.grid{gap:1rem;display:grid}.grid-2{grid-template-columns:1fr}label{letter-spacing:.01em;color:#2f4576;margin-bottom:.45rem;font-size:.87rem;display:block}input,textarea,select,button{font:inherit}input,textarea,select{width:100%;color:var(--text-strong);background:#ffffffb8;border:1px solid #ffffffd9;border-radius:14px;padding:.72rem .84rem;transition:border-color .14s,box-shadow .14s,background-color .14s}input:focus-visible,textarea:focus-visible,select:focus-visible{background:#ffffffed;border-color:#3f7bffb3;outline:none;box-shadow:0 0 0 4px #3f7bff2e}textarea{resize:vertical;min-height:185px}button{letter-spacing:.01em;cursor:pointer;border:none;border-radius:14px;padding:.8rem 1rem;font-weight:700;transition:transform .14s,filter .14s}button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.62;cursor:not-allowed}.btn-primary{color:#fff;background:linear-gradient(120deg, var(--accent-start) 0%, var(--accent-end) 100%);box-shadow:0 10px 24px #3f7bff59}.btn-primary:hover:not(:disabled){filter:brightness(1.04)}.btn-muted{color:var(--text-strong);background:#ffffffa6;border:1px solid #ffffffd9}.kicker{text-transform:uppercase;letter-spacing:.11em;color:#3c5b9f;font-size:.77rem;font-weight:700}.error{color:var(--danger);font-size:.9rem;font-weight:600}.muted-copy{color:var(--text-soft)}.helper-copy{color:var(--text-soft);font-size:.9rem}.meta-row{flex-wrap:wrap;gap:.55rem;display:flex}.pill{color:#193670;background:#ffffff94;border:1px solid #ffffffd6;border-radius:999px;align-items:center;padding:.37rem .7rem;font-size:.83rem;display:inline-flex}.choice-grid{grid-template-columns:1fr;gap:.85rem;display:grid}.choice{min-height:94px;color:var(--text-strong);background:#fffc;border:1px solid #ffffffe6;border-radius:18px;font-size:1.02rem;font-weight:700;box-shadow:inset 0 1px #ffffffa6}.choice:hover:not(:disabled){border-color:#3f7bff9e;box-shadow:inset 0 1px #ffffffb3,0 10px 24px #2b5ac92e}.tier{background:#fff9;border:1px solid #ffffffd1;border-radius:16px;padding:.85rem}.tier h3{font-size:.97rem}.tier ul{margin:.54rem 0 0;padding-left:1rem}.spacer{height:.1rem}.compact{gap:.5rem}.compact-head{gap:.45rem}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translate(0,0)}50%{transform:translateY(16px)}}@media (min-width:760px){.app-shell{gap:1.15rem;padding:3rem 1.25rem 4rem}.card{padding:1.35rem}.grid-2,.choice-grid{grid-template-columns:1fr 1fr}}
