:root{--bg:#fdf7f4;--card:#fff;--ink:#4a3f45;--muted:#8a7d83;--accent:#e8a0b4;--accent2:#b9a3d9;--line:#f0e4e4}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,"Segoe UI",Nunito,sans-serif;background:linear-gradient(#fdf1f3,#f4f0fb);color:var(--ink);min-height:100vh}
main{max-width:640px;margin:0 auto;padding:24px 18px 60px}main.wide{max-width:1000px}
h1{font-size:1.6rem;text-align:center;line-height:1.3;margin:12px 0 4px}.sub{text-align:center;color:var(--muted);margin:0 0 20px}
.card{background:var(--card);border-radius:22px;padding:20px;box-shadow:0 6px 24px rgba(200,150,170,.15);margin-bottom:18px}
.faces{display:flex;justify-content:space-between;gap:6px}
.face{flex:1;background:none;border:3px solid transparent;border-radius:18px;padding:6px 2px;cursor:pointer;font:inherit;color:var(--muted);font-size:.75rem;transition:.2s}
.face svg{width:100%;max-width:64px;display:block;margin:0 auto 4px}.face.sel{border-color:var(--accent);background:#fff4f7;transform:scale(1.06);color:var(--ink)}
label{display:block;font-weight:600;margin:4px 0 8px}textarea{width:100%;min-height:90px;border:2px solid var(--line);border-radius:14px;padding:12px;font:inherit;resize:vertical}
textarea:focus{outline:none;border-color:var(--accent2)}
button.primary{width:100%;padding:15px;border:0;border-radius:16px;background:linear-gradient(90deg,var(--accent),var(--accent2));color:#fff;font-size:1.05rem;font-weight:700;cursor:pointer}
button.primary:disabled{opacity:.5}button.ghost{background:#fff;border:2px solid var(--line);border-radius:12px;padding:8px 12px;font:inherit;cursor:pointer;color:var(--ink)}
.thanks{text-align:center;font-size:1.1rem}.thanks .big{font-size:3rem}.hidden{display:none}.small{font-size:.85rem;color:var(--muted);text-align:center}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:760px){.grid{grid-template-columns:1fr}}
.row{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}.row svg{width:38px;flex:none}
.tag{font-size:.75rem;background:#f3ecfb;border-radius:8px;padding:2px 7px;margin-left:6px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:16px}
a{color:#a0628a}

#signin{max-width:440px}.signin{text-align:center;margin-top:8vh}.signin .big{font-size:3rem}.signin label{text-align:left}
input{width:100%;border:2px solid var(--line);border-radius:14px;padding:12px;font:inherit;margin-bottom:12px}input:focus{outline:none;border-color:var(--accent2)}
#si-c{font-size:1.4rem;letter-spacing:.3em;text-align:center}
