/* Additions only: existing site styles remain unchanged. */
html.age-pending, html.age-pending body { overflow: hidden; }
html.age-pending #site-content { visibility: hidden; pointer-events: none; }
#adult-interstitial[hidden] { display: none; }
#adult-interstitial {
  position: fixed; inset: 0; z-index: 10000; overflow: auto;
  display: grid; place-items: center; padding: 24px;
  background: var(--mk-bg); color: var(--mk-text);
  font: 16px/1.65 var(--font-main);
}
.adult-panel { width: 100%; max-width: 560px; padding: 32px; border: 1px solid var(--mk-border); background: var(--mk-surface); }
.adult-panel h1 { color: var(--mk-ice); font-size: 40px; line-height: 1.15; margin: 20px 0; }
.adult-panel p { margin: 0 0 24px; }
.adult-language { display: flex; gap: 12px; justify-content: flex-end; }
.adult-language button { min-width: 44px; min-height: 44px; color: var(--mk-silver); border: 1px solid var(--mk-border); background: var(--mk-bg); font: inherit; cursor: pointer; }
.adult-language button[aria-pressed=true] { color: var(--mk-ice); border-color: var(--mk-ice); }
.adult-actions { display: grid; gap: 12px; }
.adult-actions button, .adult-actions a { display: block; padding: 14px 20px; min-height: 48px; text-align: center; color: var(--mk-ice); border: 1px solid var(--mk-control-border); background: var(--mk-bg); font: inherit; text-decoration: none; cursor: pointer; }
.adult-panel :focus-visible { outline: 2px solid var(--mk-ice); outline-offset: 4px; }
.adult-panel noscript p { margin-top: 24px; }
.legal-footer { flex-wrap: wrap; }
.legal-document [hidden] { display: none !important; }
@media(max-width:380px) { #adult-interstitial { padding: 12px; } .adult-panel { padding: 20px; } }

/* Larger reading frame without changing the original stylesheets. */
@media (min-width: 900px) {
  .terminal { width: calc(100% - 96px); max-width: 1320px; margin: 32px auto; padding: clamp(40px, 4vw, 72px); font-size: 19px; line-height: 1.75; }
  .terminal h1 { max-width: 24ch; font-size: clamp(42px, 3.4vw, 64px); }
  .terminal h2 { font-size: 26px; }
  .terminal .note, .terminal .intake-check span, .terminal .intake-form label, .terminal .intake-form legend { font-size: 17px; }
  .terminal .motto, .terminal .section-nav a, .terminal .parameters strong, .terminal .clearance h2, .terminal h3, .terminal .action, .terminal .relay-chip { font-size: 16px; }
  .terminal .topline, .terminal .footer-meta { font-size: 14px; }
  .terminal .body-section > p, .terminal .parameters li, .terminal .detail-body { max-width: 80ch; }
  .shell:has(.legal-document) { width: calc(100% - 96px); max-width: 1320px; padding: 0 clamp(32px, 4vw, 64px); }
  .legal-document { padding-top: 56px; }
  .legal-document .statement { max-width: 85ch; font-size: 20px; line-height: 1.8; margin-bottom: 32px; }
  .legal-document h2 { font-size: 26px; margin: 40px 0 16px; }
  .shell:has(.legal-document) .legal-footer { font-size: 14px; }
}
