/* Shared layout for text pages: rules, privacy, terms, admin. */
html, body { height: auto; }
main { max-width: 760px; margin: 0 auto; padding: 24px 16px 80px; }
.top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.top a { text-decoration: none; font-weight: 700; }
h1 { font: 700 clamp(32px, 7vw, 52px)/1.05 "Space Grotesk", sans-serif; margin: 0 0 10px; }
h1 em { font-style: normal; background: linear-gradient(90deg, #22c55e, #06b6d4); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lead { color: var(--muted); font-size: 17px; margin: 0 0 28px; }
nav.toc { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
nav.toc a { text-decoration: none; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--line); color: var(--text); font-size: 13px; font-weight: 600; }
nav.toc a:hover { border-color: var(--me); }
section { margin: 0 0 18px; padding: 20px; border-radius: 20px; scroll-margin-top: 16px; }
section h2 { font: 700 22px "Space Grotesk", sans-serif; margin: 0 0 12px; display: flex; gap: 10px; align-items: center; }
section p { margin: 0 0 10px; }
.steps { counter-reset: s; list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.steps li { counter-increment: s; display: grid; grid-template-columns: 32px 1fr; gap: 10px; align-items: start; }
.steps li::before { content: counter(s); width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--me); color: #000; font-weight: 800; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; }
.card { background: rgba(255, 255, 255, 0.05); border-radius: 14px; padding: 14px; }
.card b { display: block; font: 700 26px "Space Grotesk", sans-serif; color: var(--me); }
.card.green b { color: #4ade80; }
.card span { color: var(--muted); font-size: 13px; }
ul.rules { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
ul.rules li { padding: 10px 12px 10px 40px; border-radius: 12px; background: rgba(255, 255, 255, 0.04); position: relative; }
ul.rules li::before { position: absolute; left: 12px; top: 9px; }
ul.do li::before { content: "✓"; color: #4ade80; font-weight: 800; }
ul.dont li::before { content: "✕"; color: #f87171; font-weight: 800; }
.warn { border-color: rgba(248, 113, 113, 0.4); }
.emergency { background: rgba(248, 113, 113, 0.12); border-radius: 12px; padding: 12px; margin-top: 12px; font-weight: 600; }
footer.foot { text-align: center; color: var(--muted); font-size: 13px; margin-top: 30px; }
