/* Terms / Privacy pages (loaded after site.css) */
.legal-hero { position: relative; padding: 150px 0 70px; overflow: hidden; text-align: center; }
.legal-hero .bgw { position: absolute; inset: 0; background: url(../game/worlds/solhaven.png) 50% 40% / 2176px auto; image-rendering: pixelated; opacity: .35; }
.legal-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,19,48,.5), var(--night)); }
.legal-hero .wrap { z-index: 2; }
.legal-hero .peek { display: flex; justify-content: center; gap: 4px; margin-bottom: 8px; }
.legal-hero .peek img { width: 120px; height: 120px; image-rendering: pixelated; margin: -24px -10px -26px; transform-origin: 50% 75%; animation: idle 1.6s ease-in-out infinite; }
.legal-hero .peek img:nth-child(2) { animation-delay: -.5s; } .legal-hero .peek img:nth-child(3) { animation-delay: -1s; }
@keyframes idle { 0%,100% { transform: scale(1,1); } 50% { transform: scale(1.04,.95); } }
.updated { color: var(--dim); font-size: 15px; }
.legal { display: grid; grid-template-columns: 260px 1fr; gap: 46px; padding: 30px 0 110px; align-items: start; }
.toc { position: sticky; top: 100px; max-height: calc(100vh - 120px); overflow: auto; padding: 18px; border-radius: 16px; background: var(--night2); border: 1px solid var(--line); }
.toc .px { color: var(--cyan); margin-bottom: 8px; }
.toc a { display: block; padding: 5px 8px; border-radius: 8px; color: var(--mute); text-decoration: none; font-size: 14px; font-weight: 700; }
.toc a:hover, .toc a.on { color: var(--ink); background: rgba(83,236,211,.1); }
.doc section { scroll-margin-top: 100px; padding: 6px 0 22px; border-bottom: 1px solid #1f2860; margin-bottom: 22px; }
.doc h2 { font-size: 28px; margin: 4px 0 12px; }
.doc h2 .n { color: var(--cyan); margin-right: 10px; }
.doc h3 { font: 19px Peaberry, sans-serif; color: var(--cream); margin: 18px 0 8px; }
.doc p, .doc li { color: #c9cff0; }
.doc ul { padding-left: 22px; margin: 0 0 14px; } .doc li { margin: 5px 0; }
.doc a { color: var(--cyan); }
.doc .caps { text-transform: uppercase; font-size: 14px; letter-spacing: .2px; }
.short { display: flex; gap: 14px; align-items: flex-start; margin: 4px 0 16px; padding: 14px 16px; border-radius: 14px; background: rgba(83,236,211,.07); border: 1px solid rgba(83,236,211,.25); }
.short img { width: 64px; height: 64px; margin: -10px -6px -12px -10px; image-rendering: pixelated; flex: none; }
.short p { margin: 0; color: var(--ink); }
.short b { color: var(--cyan); font-family: Peaberry, sans-serif; font-weight: normal; }
@media (max-width: 900px) { .legal { grid-template-columns: 1fr; } .toc { position: static; max-height: none; } }
