/* Bloomward — Copyright, Terms of Service and Privacy Policy pages: a notebook page between
   dark field bars. Standalone (bloomward.css locks the page for the game canvas). */
:root {
  --paper: #f3eee2; --paper-2: #ebe4d3; --paper-3: #e1d8c3;
  --ink: #2e2a22; --ink-2: #5a5243; --ink-3: #8a7f6a; --rule: #b9ab8c;
  --moss: #5f7446; --moss-dark: #45553a; --sage: #8fa079;
  --night: #10110d; --night-2: #2a2c1f; --cream: #efe8d6;
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", "URW Palladio L", Georgia, serif;
  --sans: "Avenir Next", Avenir, "Segoe UI", "Helvetica Neue", "Noto Sans", system-ui, sans-serif;
  color-scheme: light;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
a { color: var(--moss-dark); text-underline-offset: 3px; }
a:hover { color: var(--ink); }
:focus-visible { outline: 2px solid var(--moss); outline-offset: 3px; border-radius: 2px; }

.inner { max-width: 780px; margin: 0 auto; padding: 0 24px; }

.legal-header, .legal-footer { background: radial-gradient(ellipse at 50% 0%, var(--night-2) 0%, var(--night) 80%); color: var(--cream); }
.legal-header .inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 68px; }
.home-link { color: var(--cream); text-decoration: none; font-family: var(--serif); font-size: 26px; letter-spacing: .02em; }
.home-link:hover { color: #fff; }
.play-link { flex: none; padding: 8px 20px; border: 1px solid rgba(239, 232, 214, .5); border-radius: 2px; color: var(--cream); font-family: var(--serif); font-size: 14px; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.play-link:hover { background: rgba(239, 232, 214, .12); border-color: var(--cream); color: #fff; }

main.legal { flex: 1; width: 100%; max-width: 780px; margin: 0 auto; padding: 44px 24px 72px; }
.legal h1 { font-family: var(--serif); font-weight: 400; font-size: clamp(32px, 6vw, 44px); line-height: 1.15; margin: 0 0 6px; }
.legal .updated { margin: 0 0 28px; font-size: 13px; color: var(--ink-3); }
.legal .summary { margin: 0 0 36px; padding: 18px 22px; background: #faf7ef; border: 1px solid var(--paper-3); border-left: 3px solid var(--moss); border-radius: 3px; }
.legal .summary p { margin: 0; }
.legal h2 { font-family: var(--serif); font-weight: 400; font-size: 24px; line-height: 1.25; margin: 38px 0 10px; }
.legal p, .legal ul, .legal table { margin: 0 0 14px; }
.legal ul { padding-left: 22px; }
.legal li { margin-bottom: 4px; }
.legal .caps { font-size: 14px; }
.legal table { width: 100%; border-collapse: collapse; font-size: 15px; }
.legal th, .legal td { text-align: left; vertical-align: top; padding: 8px 12px 8px 0; border-bottom: 1px solid var(--paper-3); }
.legal th { font-weight: 600; color: var(--ink-2); font-size: 13px; letter-spacing: .04em; }
.legal .table-wrap { overflow-x: auto; }

.legal-footer .inner { display: flex; flex-direction: column; align-items: center; gap: 10px; padding-top: 24px; padding-bottom: 24px; font-size: 13px; color: rgba(239, 232, 214, .6); text-align: center; }
.legal-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 8px; }
.legal-footer a { color: rgba(239, 232, 214, .8); text-decoration: none; }
.legal-footer a:hover, .legal-footer a[aria-current="page"] { color: #fff; text-decoration: underline; }
.legal-footer p { margin: 0; }
.studio-logo { display: block; border-radius: 6px; opacity: .85; transition: opacity 150ms ease; }
.studio-logo:hover, .studio-logo:focus-visible { opacity: 1; }
.studio-logo img { display: block; width: 108px; height: auto; }

@media (max-width: 520px) {
  .home-link { font-size: 22px; }
  .play-link { padding: 7px 12px; font-size: 12px; letter-spacing: .1em; }
  main.legal { padding-top: 30px; }
}
