/* Paper & Ink。値はアプリの src/ui/tokens.ts と同じ */
:root {
  --background:#F6F0E4; --surface:#FFFCF5; --raised:#FFFDF8; --muted:#EDE5D7; --border:#D8CEBD; --border-strong:#81796C;
  --text:#252A2D; --text-soft:#625C52; --accent:#EA6A54; --accent-soft:#FBE1D8; --accent-edge:#C4503C;
  --success:#2F684A; --warning:#825500; --danger:#AD392E; --disabled:#E2DBCF; --disabled-text:#5F594F;
  --r1:#DDA93B; --r2:#B9CDB9; --r3:#F2B5A3; --t1:#F8EBCB; --t2:#E4ECE0; --t3:#FAE3DA; --l1:#9A7016; --l2:#4F7360; --l3:#BE5A45;
  --shadow:0 2px 4px #5B4A2F29;
}
* { box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
body { margin:0; font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",system-ui,sans-serif; background:var(--background); color:var(--text); min-height:100vh; line-height:1.6; }
main { max-width:440px; margin:0 auto; padding:20px 16px 40px; }
h1 { font-size:22px; line-height:1.4; text-align:center; margin:4px 0 12px; }
h2 { font-size:18px; margin:24px 0 8px; }
a { color:var(--text); }
:focus-visible { outline:3px solid var(--text); outline-offset:2px; }
.lead { color:var(--text-soft); text-align:center; font-size:14px; }
a.primary,a.secondary { display:block; width:100%; min-height:56px; border:0; border-bottom:3px solid var(--accent-edge); border-radius:16px; background:var(--accent); color:var(--text); font:inherit; font-size:17px; font-weight:700; margin-top:12px; text-align:center; text-decoration:none; line-height:53px; box-shadow:var(--shadow); }
a.secondary { background:var(--surface); border:1.5px solid var(--border-strong); line-height:53px; }
.rank { font-size:30px; font-weight:800; text-align:center; margin:10px 0 2px; }
.fine { color:var(--text-soft); font-size:12px; text-align:center; margin-top:18px; }
.fine a { color:var(--text-soft); }
.doc { font-size:15px; line-height:1.8; }
.doc h2 { font-size:17px; margin-top:24px; }
.doc h3 { font-size:15px; margin-top:20px; }
.doc table { width:100%; border-collapse:collapse; font-size:13px; line-height:1.6; }
.doc th, .doc td { border:1px solid #cfd6e6; padding:6px 8px; text-align:left; vertical-align:top; }
.doc th { background:#eef2fb; }
.lang { font-size:13px; color:var(--text-soft); }
.games { list-style:none; padding:0; margin:16px 0; }
.games li { background:var(--surface); border:1.5px solid var(--border); border-radius:16px; padding:12px 14px; margin-top:10px; font-size:14px; line-height:1.6; }
.games strong { display:block; font-size:16px; }
.en { color:var(--text-soft); font-size:13px; text-align:center; }
