:root{--bg:#fffaf0;--card:#fff;--ink:#1f1b3a;--mute:#6b6788;--line:#efe6d6;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px)}
@media (prefers-color-scheme:dark){:root{--bg:#161330;--card:#221e45;--ink:#f6f2ff;--mute:#aaa5cf;--line:#352f66;color-scheme:dark}}
body{background:var(--bg);color:var(--ink);font-family:"Fredoka",system-ui,sans-serif}
.card{background:var(--card);border:2px solid var(--line);border-radius:1.25rem}
.grad{background:linear-gradient(135deg,#ff4d8d,#ff8a3d 55%,#ffc933)}
.pop{transition:transform .15s}.pop:hover{transform:translateY(-3px) rotate(-.5deg)}
.feat{border-color:#ffc933;box-shadow:0 0 0 4px rgba(255,201,51,.28)}
.btn{background:#ff4d8d;color:#fff;border-radius:999px;padding:.6rem 1.2rem;font-weight:600}.btn:hover{background:#e63b79}
.inp{width:100%;background:var(--bg);border:2px solid var(--line);border-radius:.9rem;padding:.6rem .9rem;color:var(--ink)}
.hidden{display:none}@keyframes bob{50%{transform:translateY(-10px)}}.bob{animation:bob 3s ease-in-out infinite}
.legal h1{font-size:2rem;font-weight:700}
.legal h2{font-size:1.25rem;font-weight:700;margin:1.6rem 0 .4rem}
.legal p,.legal li{line-height:1.65;margin:.4rem 0}
.legal ul{list-style:disc;padding-left:1.4rem}
.legal table{width:100%;border-collapse:collapse;font-size:.9rem;margin:.6rem 0}
.legal td,.legal th{border:2px solid var(--line);padding:.5rem;text-align:left;vertical-align:top}
.legal a{color:#ff4d8d;font-weight:600}
.legal mark{background:rgba(255,201,51,.35);color:inherit;padding:0 .25rem;border-radius:.25rem}
