:root{color-scheme:light;--ink:#183047;--muted:#68788a;--line:#dce5e6;--paper:#fffdf9;--navy:#173e66;--teal:#087e87}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#fff8ec,#fffdf9 420px);color:var(--ink);font-family:"Yu Gothic UI",Meiryo,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}header{max-width:1184px;margin:auto;padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:800;letter-spacing:.12em;color:var(--navy)}.brand small{display:block;font-size:8px;letter-spacing:.16em;color:#a75c4b}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(140deg,var(--navy),var(--teal));color:#fff}nav{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--navy)}nav button{border:1px solid #a5bbb7;border-radius:4px;background:#fff;padding:7px 10px;color:inherit;cursor:pointer}main{max-width:1184px;margin:auto;padding:0 24px}.edition{padding:42px 22px 25px}.eyebrow{margin:0 0 7px;color:#b85842;font-size:10px;letter-spacing:.2em;font-weight:800}h1{margin:0;font-family:"Yu Mincho",serif;font-size:clamp(30px,4vw,42px);letter-spacing:.07em;color:var(--navy)}.date{margin:4px 0;color:var(--muted);font-size:14px;font-weight:700}.description{margin:14px 0;color:#51677c;font-size:13px}.legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.legend span{padding:4px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:11px;font-weight:700}.race-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.race-card{min-width:0;padding:17px;border:1px solid var(--line);border-top:3px solid #29977f;border-radius:9px;background:#fff;box-shadow:0 5px 16px #22384c0c}.race-card:nth-child(3n+1){border-top-color:#d46a58}.race-card:nth-child(3n){border-top-color:#8067b0}.race-top{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#18775f;font-size:12px;font-weight:800}.race-top time{color:var(--muted);font-size:11px;font-weight:500}h2{margin:5px 0 0;font-size:16px;line-height:1.4}.course{margin:2px 0 13px;color:var(--muted);font-size:11px}.picks{list-style:none;margin:0;padding:0;border-top:1px solid #edf0f3}.pick{min-width:0;display:grid;grid-template-columns:32px 42px minmax(0,1fr);align-items:center;gap:8px;padding:8px 1px;border-bottom:1px solid #edf0f3}.mark{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f7e8e4;color:#b84c3c;font-size:16px;font-weight:900}.mark-○{background:#e7f1fc;color:#286ca7}.mark-▲{background:#e6f5eb;color:#268254}.mark-△{background:#f2ecff;color:#725bb0}.mark-☆{background:#fff4d8;color:#9b741d}.number{white-space:nowrap;color:#52657d;font-size:11px;font-weight:700}.horse{min-width:0;overflow-wrap:anywhere;font-size:14px;font-weight:800}.no-pick{padding:13px 1px;color:var(--muted);font-size:12px}.paper-link{display:inline-block;margin-top:12px;color:#087e87;font-size:11px;font-weight:750}.paper-link:hover{text-decoration:underline}footer{margin-top:40px;padding:20px 0;border-top:1px solid var(--line);color:var(--muted);font-size:11px}footer a{font-weight:800;color:var(--navy)}footer p{margin:6px 0}button:focus-visible,a:focus-visible{outline:3px solid #ef9e32;outline-offset:3px}@media(max-width:800px){.race-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){header{padding:15px 16px}.brand{font-size:21px}nav{gap:8px;font-size:11px}nav button{padding:7px}.edition{padding:30px 4px 21px}main{padding:0 16px}.race-grid{grid-template-columns:1fr;gap:10px}.race-card{padding:14px}.horse{font-size:15px}}@media print{body{background:white}header nav button,.paper-link{display:none}.edition{padding-top:8px}.race-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.race-card{padding:10px;break-inside:avoid;box-shadow:none}footer{margin-top:14px}a{color:inherit}}
