/* TAPE-1 legal pages — 端末内で読む前提のシンプル可読スタイル */
:root{
  --bg:#f4f2ec; --panel:#ffffff; --ink:#1c1b18; --muted:#5f5c55;
  --line:#d9d5cb; --accent:#1f6f5c; --warn:#8a5a12;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#14150f; --panel:#1c1e16; --ink:#e6e8dd; --muted:#9ea395;
         --line:#33372a; --accent:#7fd4b0; --warn:#d9a441; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic",sans-serif;
  font-size:16px; line-height:1.85; letter-spacing:.01em;
}
.wrap{max-width:760px; margin:0 auto; padding:24px 20px 72px}
header.masthead{border-bottom:1px solid var(--line); padding-bottom:16px; margin-bottom:28px}
.logo{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:13px; letter-spacing:.18em; color:var(--accent);
  text-transform:uppercase; margin:0 0 6px;
}
h1{font-size:1.5rem; line-height:1.4; margin:0 0 8px}
.meta{font-size:.82rem; color:var(--muted); margin:0}
h2{
  font-size:1.05rem; margin:34px 0 10px; padding-top:14px;
  border-top:1px solid var(--line);
}
h2:first-of-type{border-top:none; padding-top:0}
h3{font-size:.95rem; margin:20px 0 6px}
p,li{font-size:.94rem}
ul,ol{padding-left:1.3em; margin:8px 0}
li{margin:4px 0}
a{color:var(--accent)}
.panel{
  background:var(--panel); border:1px solid var(--line); border-radius:10px;
  padding:16px 18px; margin:18px 0;
}
dl.kv{margin:0; display:grid; grid-template-columns:minmax(7em,10em) 1fr; gap:6px 14px}
dl.kv dt{color:var(--muted); font-size:.86rem}
dl.kv dd{margin:0; font-size:.92rem}
@media (max-width:520px){
  dl.kv{grid-template-columns:1fr; gap:2px}
  dl.kv dd{margin:0 0 10px}
}
.note{color:var(--warn); font-size:.88rem}
nav.links{margin-top:40px; padding-top:16px; border-top:1px solid var(--line); font-size:.88rem}
nav.links a{margin-right:16px; display:inline-block; padding:6px 0}
footer{margin-top:36px; font-size:.8rem; color:var(--muted); line-height:1.7}

.wordmark{width:220px;max-width:75%;height:auto;display:block;margin:12px 0 36px;background:#f4f2ec;padding:12px;border-radius:12px}.hero h1{font-size:clamp(2.6rem,8vw,4rem);letter-spacing:-.04em}.store-link{display:inline-flex;align-items:center;min-height:48px;padding:10px 24px;background:var(--accent);color:var(--bg);border-radius:12px;text-decoration:none;margin:16px 0}.panel h2{margin-top:0}
