:root{
  --bg:#f7f8fb;
  --card:#ffffff;
  --text:#101828;
  --muted:#667085;
  --border:#e5e7eb;
  --shadow: 0 10px 30px rgba(16,24,40,.08);
  --radius:20px;
  --blue:#4f7cff;
  --pink:#ff4fb1;
}
*{box-sizing:border-box}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto; background:var(--bg); color:var(--text)}
a{color:inherit}
.container{max-width:980px;margin:0 auto;padding:16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.row{display:flex;gap:12px;flex-wrap:wrap}
input,textarea,select{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px;background:#fff;outline:none}
textarea{min-height:96px;resize:vertical}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:14px;padding:10px 14px;background:#fff;cursor:pointer;text-decoration:none;gap:8px}
.btn.primary{background:linear-gradient(90deg,var(--blue),var(--pink));color:#fff;border-color:transparent}
.badge{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:6px 10px;background:#f2f4f7;font-size:12px;color:#344054}
.muted{color:var(--muted);font-size:13px}
.grid{display:grid;gap:14px}
.post-img{width:100%;height:auto;border-radius:18px;display:block}
.react{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.emoji-btn{border:1px solid var(--border);border-radius:999px;background:#fff;padding:9px 12px;cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.emoji-btn .count{font-size:12px;opacity:.75}
.alert{border-radius:14px;padding:10px 12px;margin:12px 0}
.alert.err{background:#fff1f2;border:1px solid #fecdd3}
.alert.ok{background:#ecfdf3;border:1px solid #abefc6}
.header-hero{
  background: radial-gradient(1200px 500px at 20% 10%, rgba(79,124,255,.65), transparent 55%),
              radial-gradient(900px 500px at 85% 20%, rgba(255,79,177,.55), transparent 60%),
              linear-gradient(120deg, rgba(79,124,255,.45), rgba(255,79,177,.45));
  color:#fff;
  padding:20px 0 10px;
  position:sticky;
  top:0;
  z-index:10;
  border-bottom:1px solid rgba(255,255,255,.25);
}
.header-hero .curve{
  height:42px;
  background:var(--bg);
  border-top-left-radius:50% 100%;
  border-top-right-radius:50% 100%;
}
.brand{display:flex; justify-content:center; align-items:center;}
.brand img{max-width:340px; width:min(80vw, 420px); height:auto; filter: drop-shadow(0 12px 20px rgba(0,0,0,.18));}
.page-title{text-align:center; margin:18px 0 6px; font-size:34px; letter-spacing:-.5px;}
.segment{display:flex; justify-content:center; margin:10px 0 18px;}
.segment .pill{background:#eef2ff;border:1px solid #e0e7ff;padding:6px;border-radius:999px;display:inline-flex;gap:6px;}
.segment a{text-decoration:none;padding:10px 16px;border-radius:999px;font-weight:600;color:#344054;}
.segment a.active{background:#fff;box-shadow:0 8px 16px rgba(16,24,40,.10);color:#101828;}
.footer-nav{position:sticky; bottom:0; background:#fff; border-top:1px solid var(--border); z-index:10;}
.footer-nav .container{display:flex; justify-content:space-around; align-items:center; padding:10px 12px;}
.footer-nav a{text-decoration:none; display:flex; flex-direction:column; align-items:center; gap:6px; font-size:12px; color:#475467;}
.footer-nav a .ico{font-size:20px;}
.footer-nav .fab{
  width:58px; height:58px; border-radius:999px;
  background:linear-gradient(90deg,var(--blue),var(--pink));
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:28px; margin-top:-24px;
  box-shadow: 0 18px 30px rgba(255,79,177,.22);
  border:6px solid #fff;
  text-decoration:none;
}
.footer-spacer{height:12px;}
