:root{
  --rose:#FF4F7B; --tang:#FF9F43; --lagoon:#2EC4B6;
  --bg:#FBF7FF; --surface:#fff; --surface2:#F3EEFF;
  --ink:#1D1033; --ink2:#4B3D66; --muted:#8A7FA3; --line:#E8E1F6;
  --grad:linear-gradient(135deg,#FF4F7B 0%,#FF9F43 100%);
}
@media (prefers-color-scheme:dark){
  :root{--bg:#140C24;--surface:#1F1438;--surface2:#2A1C4A;--ink:#F7F2FF;--ink2:#D3C7EE;--muted:#9B8CBF;--line:#33245C}
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Nunito',sans-serif;background:var(--bg);color:var(--ink);
  -webkit-font-smoothing:antialiased;line-height:1.68}
.wrap{max-width:720px;margin:0 auto;padding:0 24px}
header{border-bottom:1px solid var(--line);padding:22px 0;margin-bottom:44px;background:var(--surface)}
header .wrap{display:flex;align-items:center;gap:11px}
.mark{width:36px;height:36px;border-radius:11px;background:var(--grad);display:flex;
  align-items:center;justify-content:center;box-shadow:0 5px 15px rgba(255,79,123,.3)}
.mark span{font-family:'Fraunces',serif;font-style:italic;font-weight:700;font-size:19px;color:#fff;line-height:1}
.wordmark{font-family:'Fraunces',serif;font-style:italic;font-weight:700;font-size:24px;
  letter-spacing:-.02em;color:var(--ink);text-decoration:none}
h1{font-family:'Fraunces',serif;font-weight:700;font-size:clamp(2rem,6vw,2.7rem);
  line-height:1.12;letter-spacing:-.022em;margin-bottom:10px}
h1 em{font-style:italic;font-weight:500}
.updated{color:var(--muted);font-size:14px;margin-bottom:34px}
h2{font-family:'Fraunces',serif;font-weight:700;font-size:1.32rem;
  margin:38px 0 12px;letter-spacing:-.012em}
h3{font-size:1.02rem;font-weight:800;margin:24px 0 8px;color:var(--ink)}
p{margin-bottom:15px;color:var(--ink2);font-size:15.5px}
ul{margin:0 0 15px 21px;color:var(--ink2);font-size:15.5px}
li{margin-bottom:8px}
strong{color:var(--ink);font-weight:800}
a{color:var(--rose);text-decoration:none;font-weight:700}
a:hover{text-decoration:underline}
.callout{background:var(--surface);border-left:4px solid var(--rose);
  border-radius:0 14px 14px 0;padding:17px 21px;margin:22px 0}
.callout.teal{border-left-color:var(--lagoon)}
.callout p{margin:0;font-size:15px}
.callout p+p{margin-top:10px}
table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14.5px}
th{text-align:left;background:var(--ink);color:var(--bg);padding:11px 14px;font-weight:800;font-size:13px}
td{padding:11px 14px;border-bottom:1px solid var(--line);color:var(--ink2);vertical-align:top}
tr:last-child td{border-bottom:none}
footer{border-top:1px solid var(--line);margin-top:58px;padding:26px 0 42px;text-align:center}
footer nav{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-bottom:12px}
footer a{color:var(--ink2);font-size:14px;font-weight:600}
footer a:hover{color:var(--rose)}
footer small{color:var(--muted);font-size:12.5px}
