/* Baasto document pages (Terms, Privacy, Report): same palette as site.css. */
:root {
  --orange: #ff6a13; --orange-deep: #e2530a; --orange-soft: #fff1e7;
  --white: #fff; --cream: #fffaf5; --ink: #1d1712; --muted: #6b6157; --dim: #9a9087; --line: #ece5dd;
  --silver: linear-gradient(135deg, #fbfcfd 0%, #d5d9df 38%, #f4f5f7 52%, #b9bec6 78%, #eceef1 100%); --silver-edge: #c8cdd4;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: var(--cream); color: var(--ink); font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif; line-height: 1.7; -webkit-font-smoothing: antialiased; }
a { color: var(--orange-deep); }
.wrap { max-width: 800px; margin: 0 auto; padding: 0 24px; }
header { position: sticky; top: 0; z-index: 10; background: var(--cream); border-bottom: 1px solid var(--line); }
header nav { display: flex; justify-content: space-between; align-items: center; height: 64px; max-width: 1120px; }
.back { font-size: 14px; color: var(--muted); text-decoration: none; }
.back:hover { color: var(--orange-deep); }
.mark { font-family: "Outfit", "Inter", sans-serif; font-weight: 800; font-size: 22px; letter-spacing: -.02em; display: inline-flex; align-items: center; gap: .4em; text-decoration: none; color: var(--ink); }
.mark .tile { width: 1.3em; height: 1.3em; flex: none; filter: drop-shadow(0 3px 6px rgba(226,83,10,.25)); }
.mark .word { position: relative; padding-bottom: .22em; line-height: 1; }
.mark .swig { position: absolute; left: -.04em; bottom: -.08em; width: 104%; height: .34em; overflow: visible; }
.mark .swig path { stroke-width: 3.2px; }
.mark .dot { color: var(--orange); }
.doc { padding: 56px 24px 80px; }
.draft { background: var(--orange-soft); border: 1px solid #ffd4b8; border-radius: 14px; padding: 14px 18px; font-size: 14px; color: var(--muted); margin-bottom: 40px; }
h1 { font-family: "Outfit", "Inter", sans-serif; font-weight: 800; letter-spacing: -.03em; font-size: clamp(32px, 6vw, 52px); line-height: 1.05; }
.meta { color: var(--dim); font-size: 13px; margin: 10px 0 36px; }
h2 { font-family: "Outfit", "Inter", sans-serif; font-size: 21px; font-weight: 700; margin: 44px 0 12px; scroll-margin-top: 84px; }
p, li { color: var(--muted); font-size: 16px; }
p + p { margin-top: 12px; }
p b, li b { color: var(--ink); font-weight: 600; }
ul { padding-left: 20px; margin-top: 8px; }
li { margin: 6px 0; }
li::marker { color: var(--orange); }
.toc { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 4px 24px; background: var(--white); border: 1px solid var(--line); border-radius: 16px; padding: 20px 22px; font-size: 14px; }
.toc b { grid-column: 1 / -1; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--orange-deep); font-weight: 600; margin-bottom: 6px; }
.toc a { color: var(--muted); text-decoration: none; }
.toc a:hover { color: var(--orange-deep); }
table { width: 100%; border-collapse: collapse; margin-top: 12px; font-size: 14px; background: var(--white); border-radius: 12px; overflow: hidden; border: 1px solid var(--line); }
th, td { text-align: left; padding: 10px 14px; border-bottom: 1px solid var(--line); vertical-align: top; color: var(--muted); }
th { color: var(--ink); font-weight: 600; background: var(--silver); }
footer { background: var(--ink); padding: 28px 24px 40px; font-size: 13px; color: rgba(255,255,255,.6); max-width: none; }
footer p { max-width: 752px; margin: 0 auto; color: rgba(255,255,255,.6); }
footer a { color: rgba(255,255,255,.85); }
@media (max-width: 600px) { .wrap, .doc { padding-left: 16px; padding-right: 16px; } table { font-size: 13px; } }
