:root{--ink:#111827;--muted:#4b5563;--line:#d1d5db;--card:#f9fafb;--accent:#1d4ed8}*{box-sizing:border-box}[hidden]{display:none!important}body{padding:16px 16px calc(56px + env(safe-area-inset-bottom,0px));color:var(--ink);background:#fff;margin:0;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;line-height:1.6}header,main,.rules{max-width:1100px;margin:0 auto}h1{word-break:keep-all;margin:4px 0;font-size:clamp(20px,5vw,28px)}.title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}#color-toggle{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex:none;align-items:center;gap:8px;margin-top:2px;padding:0 4px;font-size:14px;display:inline-flex}#color-toggle .track{background:#9ca3af;border-radius:13px;width:44px;height:26px;transition:background .15s;position:relative}#color-toggle .track:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0000004d}#color-toggle[aria-checked=true] .track{background:var(--accent)}#color-toggle[aria-checked=true] .track:after{transform:translate(18px)}#color-toggle:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:8px}.lead{color:var(--muted);margin:0 0 16px;font-size:14px}section{margin:0 0 20px}h2{border-bottom:1px solid var(--line);margin:0 0 8px;padding-bottom:4px;font-size:17px}h2.pict{align-items:center;gap:10px;display:flex}h2.pict svg{width:84px;height:auto;display:block}h2.pict .count{color:var(--ink);margin:0;font-size:15px;font-weight:600}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.count{color:var(--muted);margin-left:8px;font-size:14px;font-weight:400}.grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.card{border:1px solid var(--line);background:var(--card);width:100%;color:inherit;font:inherit;text-align:center;cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:6px 6px 8px;display:flex;position:relative}.card:hover{border-color:#6b7280}.card:focus-visible,.back:focus-visible,.controls button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.card svg{width:100%;height:auto;display:block}.no{color:var(--muted);font-size:12px;position:absolute;top:4px;left:7px}.third-count{color:var(--accent);margin:0;font-size:13px;font-weight:600}.back{border:1px solid var(--line);min-height:44px;color:inherit;font:inherit;cursor:pointer;background:#fff;border-radius:8px;margin:12px 0;padding:8px 12px}.base-head{flex-wrap:wrap;align-items:center;gap:8px 20px;margin:0 0 16px;display:flex}.base-head .card{width:min(300px,100%)}dialog{border:none;border-radius:12px;width:min(640px,100vw - 32px);padding:16px}dialog::backdrop{background:#1118278c}dialog h2{border:none;padding:0;font-size:16px}#zoom-figure svg{width:100%;height:auto;display:block}.controls{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.controls button{border:1px solid var(--line);min-height:44px;color:inherit;font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:8px 12px}#close{border-color:var(--ink)}.credit{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));color:var(--muted);letter-spacing:.04em;background:#ffffffd9;border-radius:999px;padding:2px 8px;font-size:12px;text-decoration:none;position:fixed}.credit:hover{text-decoration:underline}.rules{border-top:1px solid var(--line);margin-top:24px;padding-top:8px;font-size:14px}.rules summary{min-height:44px;color:var(--muted);cursor:pointer;align-items:center;list-style:none;display:inline-flex}.rules summary::-webkit-details-marker{display:none}.rules summary:before{content:"▸";margin-right:6px;transition:transform .15s}.rules[open] summary:before{transform:rotate(90deg)}.rules summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.rules dl{margin:4px 0 0}.rules dt{margin-top:10px;font-weight:600}.rules dd{margin:2px 0 0}.ratio{vertical-align:middle;border:1px solid var(--line);border-radius:8px;margin:0 4px;display:inline-flex;overflow:hidden}.ratio button{min-height:32px;color:var(--muted);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:#fff;border:none;padding:2px 10px}.ratio button+button{border-left:1px solid var(--line)}.ratio button[aria-pressed=true]{background:var(--ink);color:#fff}.ratio button:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
