:root { --brand:#4f46e5; --brand-2:#7c3aed; --green:#059669; --ink:#0f172a; --muted:#64748b; --line:#e5e9f2; --bg:#f7f7f5; --card:#fff; }
* { box-sizing:border-box; }
body { margin:0; font:15px/1.55 Inter, system-ui, -apple-system, "Segoe UI", sans-serif; color:var(--ink); background:var(--bg); }
a { color:var(--brand); }
.top { max-width:760px; margin:0 auto; padding:24px 16px 8px; display:flex; justify-content:space-between; align-items:center; }
.brand { display:flex; gap:10px; align-items:center; font-weight:800; font-size:18px; color:var(--ink); text-decoration:none; }
.logo { width:32px; height:32px; display:block; flex:none; }
nav { display:flex; gap:14px; align-items:center; font-size:14px; } nav button { all:unset; cursor:pointer; color:var(--muted); } nav button:hover { color:var(--ink); }
main { max-width:760px; margin:0 auto; padding:8px 16px 40px; display:grid; gap:16px; }
footer { max-width:760px; margin:0 auto; padding:10px 16px 40px; color:var(--muted); font-size:13px; } footer a { color:var(--muted); }
.who { color:var(--muted); font-size:14px; margin:0; }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px 22px; }
.card h2 { font-size:17px; margin:0 0 6px; } .card p { margin:4px 0; }
.muted { color:var(--muted); } .small { font-size:13px; }
.set { background:#e7f6ef; border-color:#b7e4cf; } .set h2 { color:#065f46; }
.links { display:flex; gap:16px; margin-top:10px; font-weight:600; } .links a { color:var(--green); text-decoration:none; }
.pin { display:flex; gap:10px; align-items:center; background:#fff; border:1px dashed #9ca3af; border-radius:10px; padding:10px 12px; margin-top:12px; font-size:14px; }
.row { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.big { font-size:32px; font-weight:800; letter-spacing:-.02em; }
.stats { display:flex; gap:28px; margin-top:12px; } .stats b { display:block; font-size:20px; } .stats span { color:var(--muted); font-size:13px; }
button.primary, a.primary { background:var(--green); color:#fff; border:0; border-radius:10px; padding:11px 18px; font:inherit; font-weight:700; cursor:pointer; text-decoration:none; display:inline-block; }
button.primary:disabled { opacity:.5; cursor:default; }
button.ghost { background:#eef2ff; color:var(--brand); border:0; border-radius:10px; padding:10px 16px; font:inherit; font-weight:600; cursor:pointer; }
input { width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:10px; font:inherit; background:#fafafa; }
label { display:block; font-weight:600; font-size:14px; margin:12px 0 6px; } label.check { display:flex; gap:8px; font-weight:400; align-items:flex-start; }
label.check input { width:auto; margin-top:4px; }
.copy { display:flex; gap:10px; margin-top:12px; } .copy input { flex:1; }
.gift { cursor:pointer; user-select:none; } .gift .big { font-size:24px; }
.gift.opened { cursor:default; }
.list { list-style:none; padding:0; margin:8px 0 0; } .list li { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:12px 0; border-top:1px solid var(--line); }
.list li:first-child { border-top:0; } .list b { font-weight:600; } .list .when { color:var(--muted); font-size:13px; }
.pill { font-size:12px; font-weight:600; padding:3px 9px; border-radius:999px; background:#e7f6ef; color:#047857; white-space:nowrap; }
.pill.no { background:#f1f5f9; color:var(--muted); }
.chart { display:flex; align-items:flex-end; gap:3px; height:80px; margin-top:14px; } .chart i { flex:1; border-radius:3px 3px 0 0; background:linear-gradient(180deg, var(--brand-2), var(--brand)); min-height:2px; } .chart i.zero { background:#e2e8f0; }
.axis { display:flex; justify-content:space-between; font-size:12px; color:var(--muted); }
.auction li .bid { font-weight:800; } .rank { width:26px; height:26px; border-radius:50%; background:#eef2ff; color:var(--brand); display:inline-grid; place-items:center; font-size:13px; font-weight:700; margin-right:10px; }
.hero h1 { font-size:34px; line-height:1.15; margin:8px 0; letter-spacing:-.02em; } .hero p { color:#334155; font-size:17px; }
.steps { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-top:6px; } .steps div { background:#fff; border:1px solid var(--line); border-radius:12px; padding:14px; font-size:14px; }
.steps b { display:block; margin-bottom:4px; }
.msg { color:#b42318; font-size:14px; min-height:1em; margin-top:8px; } .ok { color:var(--green); }
.banner { background:#fef3c7; border:1px solid #fcd34d; border-radius:12px; padding:12px 16px; font-weight:600; }
@media (max-width:600px) { .steps { grid-template-columns:1fr; } .hero h1 { font-size:27px; } }
