/* Legal pages: /privacy and /terms (24 September 2026), and the /bot page (30 September 2026). Built on the interior chrome (world-interior.css): the ink band
   hero with the page title and effective date, then a reading layout of a sticky contents list and the document.
   Text is verbatim from context/TOS & Privacy Policy/; fields still to be confirmed show as highlighted placeholders. */
.superstrate-interior-page .legal-doc{padding-block:clamp(56px,7vw,112px) clamp(72px,8vw,128px)}
.superstrate-interior-page .legal-meta{margin:18px 0 0;font-size:15px;letter-spacing:.01em;color:var(--wi-band-muted)}
.superstrate-interior-page .legal-layout{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,72ch);column-gap:clamp(40px,6vw,112px);align-items:start;justify-content:center}
/* Contents: a quiet list that stays in view while the document scrolls. */
/* Pinned high and never taller than the viewport; the wheel scrolls it on its own when it overflows (no scrollbar), and
   overscroll-behavior keeps that scroll from spilling into the page. Fades hint at more above and below. */
.superstrate-interior-page .legal-toc{position:sticky;top:calc(var(--frame-inset, 16px) + 72px);max-height:calc(100svh - var(--frame-inset, 16px) - 104px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:24px;font-size:14px;line-height:1.4;-webkit-mask-image:linear-gradient(#000 calc(100% - 36px),transparent);mask-image:linear-gradient(#000 calc(100% - 36px),transparent)}
.superstrate-interior-page .legal-toc::-webkit-scrollbar{display:none}
.superstrate-interior-page .legal-toc-title{margin:0 0 14px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#45473f}
.superstrate-interior-page .legal-toc ol{margin:0;padding:0;list-style:none;display:grid;gap:9px;counter-reset:legal-toc}
.superstrate-interior-page .legal-toc li{counter-increment:legal-toc;display:grid;grid-template-columns:2.2em 1fr}
.superstrate-interior-page .legal-toc li::before{content:counter(legal-toc) ".";color:#45473f;font-variant-numeric:tabular-nums}
.superstrate-interior-page .legal-toc a{color:#1c1b1f;text-decoration:none;text-underline-offset:.2em}
.superstrate-interior-page .legal-toc a:hover{text-decoration:underline}
/* The document. */
.superstrate-interior-page .legal-body{min-width:0;font-size:clamp(17px,1vw,19px);line-height:1.65;color:#1c1b1f}
.superstrate-interior-page .legal-body > :first-child{margin-top:0}
.superstrate-interior-page .legal-intro p{font-size:1.06em}
.superstrate-interior-page .legal-body h2{margin:2.6em 0 .7em;font-size:clamp(24px,1.7vw,30px);line-height:1.2;letter-spacing:-.02em;scroll-margin-top:calc(var(--wi-header, 104px) + 24px)}
.superstrate-interior-page .legal-body h3{margin:1.8em 0 .5em;font-size:1.08em;line-height:1.3;letter-spacing:-.01em}
.superstrate-interior-page .legal-body p{margin:0 0 1em}
.superstrate-interior-page .legal-body ul,.superstrate-interior-page .legal-body ol{margin:0 0 1.1em;padding-left:1.25em}
.superstrate-interior-page .legal-body li{margin-bottom:.45em}
.superstrate-interior-page .legal-body li::marker{color:#45473f}
.superstrate-interior-page .legal-body a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.superstrate-interior-page .legal-body strong{font-weight:600}
/* Tables scroll inside their own frame rather than widening the page. */
.superstrate-interior-page .legal-table{margin:0 0 1.4em;overflow-x:auto;border:1px solid #ccc6b7;border-radius:12px}
.superstrate-interior-page .legal-table table{width:100%;border-collapse:collapse;font-size:.92em;line-height:1.5}
.superstrate-interior-page .legal-table th,.superstrate-interior-page .legal-table td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid #e3decf}
.superstrate-interior-page .legal-table tr:last-child td{border-bottom:0}
.superstrate-interior-page .legal-table th{background:#f6f3ec;font-weight:600;white-space:nowrap}
.superstrate-interior-page .legal-table td:first-child{font-weight:600;min-width:12em}
/* The Terms' payment table: amounts align right, as in the source. */
.superstrate-interior-page[data-current-page="terms"] .legal-table :is(th,td):nth-child(2){text-align:right;white-space:nowrap}
/* The contact block at the end. */
.superstrate-interior-page .legal-contact{margin-top:1.2em;padding:22px 24px;border:1px solid #ccc6b7;border-radius:14px;background:#fffbf2;line-height:1.7}
.superstrate-interior-page .legal-contact p{margin:0}
/* A field still to be confirmed by the owner. */

/* Code (/bot): inline names get a warm tint and wrap anywhere; blocks scroll inside their own frame, never widening the page. */
.superstrate-interior-page .legal-body code{font-family:ui-monospace,'SFMono-Regular',Consolas,'Liberation Mono',monospace;font-size:.9em;padding:.1em .35em;border-radius:5px;background:#f6f3ec;overflow-wrap:anywhere}
.superstrate-interior-page .legal-body pre{margin:0 0 1.2em;padding:16px 20px;overflow-x:auto;border:1px solid #ccc6b7;border-radius:12px;background:#fffbf2;font-family:ui-monospace,'SFMono-Regular',Consolas,'Liberation Mono',monospace;font-size:.9em;line-height:1.55;white-space:pre}
.superstrate-interior-page .legal-body pre code{padding:0;border-radius:0;background:none;font-size:inherit;overflow-wrap:normal}
@media (max-width:1100px){
 .superstrate-interior-page .legal-layout{grid-template-columns:minmax(0,1fr);row-gap:36px}
 .superstrate-interior-page .legal-toc{position:static;max-height:none;overflow:visible;-webkit-mask-image:none;mask-image:none;padding:20px 22px;border:1px solid #ccc6b7;border-radius:14px}
}
