/* OBI 戦歴の見た目。docs/DESIGN.md に従う: 紙色の地・罫線で区切る・色は深緑1つ(+山吹の印)・角4px・影なし。値は OBI 本体(index.html)と同じ */
:root{--ink:#1d2025;--gray:#5b5f66;--gray-2:#8a8f99;--paper:#f7f4ec;--kinari:#efeadd;--white:#fff;--rule:#e3e0d6;--rule-strong:#cfcabd;--alert:#b23a3a;--accent:#1b5e30;--accent-bg:#1b5e30;--on-accent:#fff;--mark:#f2b705;--on-mark:#1d2025;--r:4px;
  --font:"Noto Sans JP",system-ui,sans-serif;--font-num:"Jost","Noto Sans JP",sans-serif}
/* 暗い画面(2026-10-19 第4回・戦歴の画面だけ。sr3.css と同じ値。端末の設定 prefers-color-scheme に従う) */
@media (prefers-color-scheme: dark){:root{--ink:#ecebe6;--gray:#aeb3bb;--gray-2:#8d929b;--paper:#15171b;--kinari:#1f2227;--white:#1c1f24;--rule:#33373e;--rule-strong:#4a4f58;--alert:#f08c88;--accent:#6fcf8a;--accent-bg:#1f6b38;--on-accent:#fff;--mark:#f2b705;--on-mark:#1d2025}}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font:400 16px/1.8 var(--font);min-height:100vh;padding-bottom:env(safe-area-inset-bottom)}
button,a.btn{font:inherit;cursor:pointer}button{color:inherit;background:none;border:0}
a{color:var(--ink);text-underline-offset:.2em}
.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}
.wrap{max-width:560px;margin:0 auto;padding:0 16px}
.hidden{display:none!important}
header{border-bottom:1px solid var(--rule-strong);background:var(--paper);position:sticky;top:0;z-index:20}
header .wrap{display:flex;align-items:center;height:48px;gap:16px}
header h1{flex:1;display:flex;align-items:baseline;gap:10px;font-weight:400;white-space:nowrap}
header h1 .logo{font-family:var(--font-num);font-weight:700;font-size:20px;letter-spacing:.14em;line-height:1;padding-bottom:3px;border-bottom:3px solid var(--mark);text-decoration:none}
header h1 .subt{font-size:12px;letter-spacing:.08em;color:var(--gray)}
.textbtn{font-size:14px;text-decoration:underline;text-underline-offset:.2em;min-height:44px;display:inline-flex;align-items:center;color:var(--ink);white-space:nowrap}
.btn{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 16px;border-radius:var(--r);font-weight:700;font-size:16px;width:100%;text-decoration:none}
.btn-main{background:var(--accent-bg);color:var(--on-accent)}
.btn-sub{background:var(--white);color:var(--ink);border:1px solid var(--ink)}
.btn:disabled{opacity:.4;cursor:default}
.stack{display:flex;flex-direction:column;gap:8px}
section.block{padding:24px 0}
h2{font-size:20px;font-weight:900;letter-spacing:-.01em;line-height:1.35;margin-bottom:12px}
.sub{font-size:14px;color:var(--gray)}
.note{font-size:13px;color:var(--gray);margin-top:12px}
.err{font-size:14px;color:var(--alert);margin-top:12px}
.tally{display:flex;gap:16px;align-items:baseline;padding:12px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);font-size:14px;color:var(--gray)}
.tally b{font-family:var(--font-num);font-size:24px;color:var(--ink);margin-right:2px}
.histlist{border-top:1px solid var(--ink)}
.hrow{display:grid;grid-template-columns:84px 1fr auto;gap:12px;align-items:center;width:100%;text-align:left;padding:12px 0;border-bottom:1px solid var(--rule);min-height:52px}
.hrow .hd{font-size:14px;color:var(--gray)}
.hrow .ht{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hrow .hs{font-size:12px;color:var(--gray);white-space:nowrap}
.hrow .hn{grid-column:2 / 4;font-size:12px;color:var(--gray);margin-top:-8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hdtable{width:100%;border-collapse:collapse;font-size:14px;margin:8px 0}
.hdtable th{font-size:12px;color:var(--gray);font-weight:400;text-align:right;padding:6px 4px;border-bottom:1px solid var(--ink);white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}
.hdtable td{padding:8px 4px;text-align:right;border-bottom:1px solid var(--rule);font-size:16px}
.hdtable td:first-child,.hdtable th:first-child{text-align:left;color:var(--gray);width:44px;font-size:12px}
.hdtable td.win{font-weight:700;box-shadow:inset 0 -3px 0 var(--mark)}
.hdtable td small{font-size:10px;color:var(--alert);margin-left:2px;white-space:nowrap}
.hdtable tr.sum td{font-weight:700;border-bottom:0;border-top:1px solid var(--ink)}
.meta{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;font-size:14px;color:var(--gray)}
.me{font-weight:700;color:var(--accent)}
.qrbox{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:16px 0}
.qrbox canvas{width:208px;height:208px;background:#fff;border:1px solid var(--rule-strong)}
.qrbox .url{font-size:11px;color:var(--gray);word-break:break-all;text-align:center}
input[type=text]{height:48px;border:1px solid var(--rule-strong);border-radius:var(--r);background:var(--white);color:var(--ink);padding:0 12px;width:100%;font-size:16px}
.chk{display:flex;gap:10px;align-items:center;min-height:44px;font-size:14px}
.rowline{padding:16px 0;border-top:1px solid var(--rule)}
footer{padding:32px 0 48px;font-size:12px;color:var(--gray)}
.toast{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-50%,200%);background:var(--ink);color:var(--paper);font-size:14px;padding:10px 16px;border-radius:var(--r);transition:transform .2s;z-index:90;white-space:nowrap}
.toast.show{transform:translate(-50%,0)}
.toast:empty{display:none}   /* 文字が無い間は置かない(画面の下にはみ出した札が残らない) */
.policy h2{font-size:17px;margin:28px 0 8px}.policy p,.policy li{font-size:15px;margin-bottom:8px}.policy ul{padding-left:1.2em}
