:root{--bg:#fbf5f2;--card:#fff;--ink:#2b1f24;--muted:#8a7479;--rose:#c8566e;--rose2:#e98a8f;--line:#f0e2de;--ok:#4d8b6a;--err:#b3283f;--r:18px;
--sat:env(safe-area-inset-top);--sab:env(safe-area-inset-bottom)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.5 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif;padding-bottom:calc(24px + var(--sab))}
.topbar{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;padding:calc(8px + var(--sat)) 12px 8px;background:rgba(251,245,242,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-family:Georgia,"New York",serif;font-size:1.2rem;color:var(--rose)}
.back{border:0;background:none;font-size:2rem;color:var(--rose);min-height:44px}
main{max-width:560px;margin:0 auto;padding:20px 16px}
h1{font-family:Georgia,"New York",serif;font-weight:500;font-size:1.9rem;line-height:1.2;margin:8px 0 6px}
h2{font-size:1.15rem;margin:0 0 8px}.muted{color:var(--muted)}.small{font-size:.9rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;margin:14px 0;box-shadow:0 4px 18px rgba(200,86,110,.06)}
.hero{text-align:center;padding:28px 8px}.hero .heart{font-size:2.6rem;color:var(--rose)}
label{display:block;font-weight:600;font-size:.95rem;margin:14px 0 6px}
input,textarea{width:100%;font:inherit;font-size:17px;padding:13px 14px;border:1.5px solid var(--line);border-radius:14px;background:#fffdfc;color:var(--ink)}
textarea{min-height:88px;resize:vertical}input:focus,textarea:focus{outline:none;border-color:var(--rose2);box-shadow:0 0 0 3px rgba(233,138,143,.2)}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;border:0;border-radius:999px;font-family:inherit;font-size:17px;font-weight:600;line-height:1.2;-webkit-appearance:none;appearance:none;margin-top:12px;cursor:pointer;background:linear-gradient(135deg,var(--rose),var(--rose2));color:#fff}
.btn.secondary{background:#fff;color:var(--rose);border:1.5px solid var(--rose2)}.btn.link{background:none;color:var(--muted);min-height:44px;font-weight:500}
.btn[disabled]{opacity:.55}
.err{color:var(--err);font-size:.92rem;margin-top:8px}.err:empty{display:none}
.row{display:flex;gap:10px}.row>*{flex:1}
.list-item{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:60px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;margin-top:10px;font:inherit;text-align:left;color:inherit}
.pill{font-size:.8rem;padding:3px 10px;border-radius:999px;background:#fbe9ea;color:var(--rose)}.pill.ok{background:#e6f2ea;color:var(--ok)}
.progress{height:6px;background:var(--line);border-radius:9px;overflow:hidden;margin:10px 0}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--rose),var(--rose2))}
details.sec{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin:12px 0;overflow:hidden}
details.sec>summary{list-style:none;display:flex;gap:10px;align-items:center;padding:16px;min-height:56px;font-weight:600;cursor:pointer}
details.sec>summary::-webkit-details-marker{display:none}details.sec>summary .ico{color:var(--rose);width:22px;text-align:center}
details.sec>summary::after{content:"⌄";margin-left:auto;color:var(--muted);transition:transform .2s}details[open].sec>summary::after{transform:rotate(180deg)}
.qa{padding:0 16px 14px}.qa dt{font-size:.85rem;color:var(--muted);margin-top:10px}.qa dd{margin:2px 0 0;white-space:pre-wrap;word-wrap:break-word}
.empty{color:var(--muted);font-style:italic}
.lock{text-align:center}.lock .price{font-size:2rem;font-weight:700;color:var(--rose)}
.lock ul{text-align:left;padding-left:20px}
.codebox{font-family:ui-monospace,Menlo,monospace;font-size:1rem;background:#fbf0ee;padding:12px;border-radius:12px;word-break:break-all;text-align:center}
#toast{position:fixed;left:50%;bottom:calc(20px + var(--sab));transform:translateX(-50%) translateY(120px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;transition:transform .25s;max-width:90vw}
#toast.show{transform:translateX(-50%) translateY(0)}
.saved{font-size:.85rem;color:var(--ok);text-align:center;min-height:1.3em}
.saved{position:sticky;top:calc(64px + var(--sat));z-index:4;font-size:.82rem;color:var(--muted);text-align:right;min-height:1.3em;margin:4px 0}
.saved[data-state=saved]{color:var(--ok)}.saved[data-state=offline]{color:var(--err)}
.teaser{border-color:var(--rose2)}.teaser .qa{padding:0}
