:root{
  --red:#d7352b; --red-d:#a62a24; --red-dd:#7d1f21;
  --bg:#eef0fb; --card:#fff; --ink:#1c1c28; --mute:#6b6f85; --line:#e3e5f2;
  --r:22px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--bg)}
body{margin:0;font:16px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif;color:var(--ink);
  background:linear-gradient(180deg,#e6e9fb 0,var(--bg) 320px);min-height:100vh;
  padding:max(16px,env(safe-area-inset-top)) 16px max(32px,env(safe-area-inset-bottom))}
#app{max-width:560px;margin:0 auto}
h1,h2,h3{margin:0;letter-spacing:-.02em}
h1{font-size:32px;font-weight:800;line-height:1.1}
h2{font-size:22px;font-weight:800;margin-bottom:12px}
.sub{color:var(--mute);margin:6px 0 0}
.top{display:flex;align-items:center;justify-content:space-between;margin:8px 0 18px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{width:44px;height:44px;border-radius:12px;box-shadow:0 2px 8px #0002}
.brand b{font-size:20px;font-weight:800}
.card{background:var(--card);border-radius:var(--r);padding:20px;margin-bottom:16px;box-shadow:0 1px 2px #1c1c280d,0 8px 24px #1c1c2810}
.hero{text-align:center;padding:28px 20px}
.hero .big{font-size:64px;line-height:1;margin-bottom:8px}
.hero h2{font-size:26px}
.btn{appearance:none;border:0;cursor:pointer;font:inherit;font-weight:700;border-radius:999px;padding:13px 22px;
  background:var(--red);color:#fff;transition:transform .08s,background .15s}
.btn:active{transform:scale(.97);background:var(--red-d)}
.btn.block{display:block;width:100%}
.btn.ghost{background:#eef0fb;color:var(--ink)}
.btn.danger{background:#fde8e6;color:var(--red-d)}
.btn.small{padding:8px 14px;font-size:14px}
.btn[disabled]{opacity:.5}
input,select{width:100%;font:inherit;padding:13px 16px;border:1.5px solid var(--line);border-radius:14px;background:#fafbff;color:var(--ink);margin-bottom:10px}
input:focus{outline:none;border-color:var(--red);background:#fff}
label{display:block;font-size:13px;font-weight:700;color:var(--mute);margin:2px 0 6px 4px}
.tabs{display:flex;background:#eef0fb;border-radius:999px;padding:4px;margin-bottom:18px}
.tabs button{flex:1;border:0;background:none;font:inherit;font-weight:700;padding:10px;border-radius:999px;color:var(--mute);cursor:pointer}
.tabs button.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px #0002}
.err{background:#fde8e6;color:var(--red-d);padding:10px 14px;border-radius:14px;margin-bottom:12px;font-weight:600;font-size:14px}
.note{font-size:13px;color:var(--mute);margin:10px 0 0}
.list{list-style:none;margin:0;padding:0}
.list li{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}
.list li:first-child{border-top:0}
.list .t{flex:1;min-width:0;word-break:break-word}
.list a{color:var(--red);font-size:14px;font-weight:600;text-decoration:none}
.x{border:0;background:#eef0fb;width:32px;height:32px;border-radius:50%;font-size:18px;line-height:1;color:var(--mute);cursor:pointer}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}
.pill{display:inline-block;background:#eef0fb;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700;color:var(--mute)}
.pill.red{background:#fde8e6;color:var(--red-d)}
.reveal{background:linear-gradient(160deg,var(--red),var(--red-dd));color:#fff;border-radius:var(--r);padding:28px 20px;text-align:center;margin-bottom:16px}
.reveal .who{font-size:34px;font-weight:800;letter-spacing:-.02em;margin:6px 0 2px;word-break:break-word}
.reveal small{opacity:.85}
.reveal .btn{background:#fff;color:var(--red-d)}
.reveal input{max-width:300px;margin:12px auto 10px;text-align:center}
details summary{cursor:pointer;font-weight:700;list-style:none}
details summary::-webkit-details-marker{display:none}
details[open] summary{margin-bottom:12px}
.row{display:flex;gap:8px}.row>*{flex:1}
.spacer{height:8px}
.budget-card{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 18px}
.budget-card strong{font-size:20px;color:var(--red-d);margin-left:auto}
.budget-card small{width:100%;color:var(--mute);margin-top:-6px}
.amazon-btn{display:block;text-align:center;text-decoration:none;margin-top:14px}
