/* legal pages — shared layout */
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700;900&family=Baloo+2:wght@600;700&display=swap');

:root {
  --orange: #F28C33; --orange-deep: #CC7326; --blue: #7385BF; --link: #4D73D9;
  --yellow-soft: #F7EFC0; --yellow: #F5E27A; --ink: #262626; --coral: #D9735C;
  --cream: #FFFDF7; --cream-2: #FFF8E8; --ink-60: #5b5750; --ink-40: #8b867d;
  --r-md: 18px; --r-pill: 9999px;
  --sh-sm: 0 4px 14px rgba(120,92,40,.08); --sh-md: 0 12px 30px rgba(120,92,40,.12);
  --font-jp: 'Zen Maru Gothic', system-ui, sans-serif;
  --font-en: 'Baloo 2','Zen Maru Gothic',sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; font-family: var(--font-jp); color: var(--ink); background: var(--cream);
  line-height: 1.85; -webkit-font-smoothing: antialiased;
}
a { color: var(--link); text-decoration: none; }
a:hover { color: var(--orange-deep); text-decoration: underline; }

/* top bar */
.lg-nav { background: rgba(255,253,247,.94); border-bottom: 1px solid #f0e7d2; position: sticky; top: 0; z-index: 10; }
.lg-nav-inner { max-width: 820px; margin-inline: auto; padding: 0 24px; height: 66px; display: flex; align-items: center; gap: 12px; }
.lg-brand { display: flex; align-items: center; gap: 9px; font-weight: 900; font-size: 17px; color: var(--ink); }
.lg-brand:hover { text-decoration: none; color: var(--ink); }
.lg-brand img { width: 32px; height: 32px; }
.lg-back { margin-left: auto; font-size: 14px; font-weight: 700; color: var(--ink-60); }

/* content */
.lg-wrap { max-width: 820px; margin: 0 auto; padding: clamp(36px,6vw,64px) 24px 40px; }
.lg-eyebrow { font-family: var(--font-en); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; font-size: 12px; color: var(--orange); margin: 0 0 10px; }
.lg-wrap h1 { font-size: clamp(26px,4.4vw,38px); font-weight: 900; line-height: 1.4; margin: 0 0 10px; }
.lg-updated { color: var(--ink-40); font-size: 13.5px; font-family: var(--font-en); }

.lg-note {
  background: #fff7e3; border: 1.5px solid #f3d79a; border-radius: var(--r-md);
  padding: 16px 20px; margin: 28px 0; font-size: 14px; color: #8a6a1f; line-height: 1.7;
}
.lg-note strong { color: #7a5a10; }

.lg-body { margin-top: 28px; }
.lg-body h2 { font-size: 19px; font-weight: 700; margin: 36px 0 12px; padding-top: 8px; border-top: 1px solid #f0e7d2; }
.lg-body h2:first-child { border-top: none; padding-top: 0; margin-top: 0; }
.lg-body h3 { font-size: 16px; font-weight: 700; margin: 22px 0 8px; }
.lg-body p { margin: 12px 0; color: #3a352e; }
.lg-body ul, .lg-body ol { margin: 12px 0; padding-left: 22px; color: #3a352e; }
.lg-body li { margin: 7px 0; }
.lg-body a { word-break: break-all; }

table { width: 100%; border-collapse: collapse; margin: 18px 0; font-size: 14.5px; background: #fff; border-radius: var(--r-md); overflow: hidden; box-shadow: var(--sh-sm); }
th, td { text-align: left; padding: 14px 16px; border-bottom: 1px solid #f0e7d2; vertical-align: top; }
th { background: var(--cream-2); font-weight: 700; white-space: nowrap; width: 32%; }
tr:last-child th, tr:last-child td { border-bottom: none; }

.fillin {
  display: inline; background: repeating-linear-gradient(-45deg,#fff3d6,#fff3d6 8px,#ffe9b8 8px,#ffe9b8 16px);
  color: #9a6a16; border: 1.5px dashed #e0a93f; border-radius: 7px; padding: 1px 8px;
  font-size: .94em; font-weight: 700;
}

.codeblock {
  background: #2f2b25; color: #e7e0d2; border-radius: 12px; padding: 18px 20px; overflow-x: auto;
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 12.5px; line-height: 1.6; margin: 16px 0; white-space: pre;
}

.lg-foot { border-top: 1px solid #f0e7d2; margin-top: 48px; padding: 28px 24px; text-align: center; font-size: 13px; color: var(--ink-40); }
.lg-foot a { margin: 0 9px; font-weight: 600; }
