:root{--color-page:#f4f2ec;--color-surface:#fbfaf6;--color-ink:#1a1a17;--color-text:#1a1a17;--color-soft-text:#4a463d;--color-subtle:#6b665c;--color-faint:#8a8578;--color-border:#ddd8cc;--color-border-strong:#cfcabd;--color-muted:#eae5d9;--color-muted-strong:#d6d1c4;--color-accent:#b3271e;--color-accent-soft:#faeeec;--color-accent-border:#e3b7b2;--font-body:"Zen Kaku Gothic New", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Shippori Mincho", "Zen Old Mincho", serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;font-family:var(--font-body);color:var(--color-text);background:var(--color-page);letter-spacing:0}*{box-sizing:border-box}body{min-width:320px;color:var(--color-text);background:var(--color-page);font-family:var(--font-body);margin:0;line-height:1.7}a{color:inherit}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.site-header{border-bottom:2px solid var(--color-ink);background:var(--color-surface);justify-content:space-between;align-items:center;gap:1rem;min-height:60px;padding:0 20px;display:flex}.site-title{color:var(--color-ink);font-family:var(--font-serif);letter-spacing:.02em;font-size:1.2rem;font-weight:800;text-decoration:none}nav{align-items:stretch;gap:.9rem;display:flex}nav a,nav span{min-height:60px;color:var(--color-soft-text);align-items:center;font-size:.78rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}nav a:hover,nav a:focus-visible,nav a.is-active{color:var(--color-accent)}nav a.is-active{box-shadow:inset 0 -2px 0 var(--color-accent)}.site-main{width:min(100%,1200px);margin:0 auto;padding:22px 16px 38px}.site-main-with-sidebar{gap:28px;display:grid}.content-main{min-width:0}.content-sidebar{display:none}.page-heading{margin:0 0 1.45rem}.eyebrow{color:var(--color-accent);font-family:var(--font-mono);letter-spacing:.1em;margin:0 0 .45rem;font-size:.72rem;font-weight:700}h1,h2,h3{color:var(--color-ink);font-family:var(--font-serif);margin:0;font-weight:800;line-height:1.28}h1{font-size:clamp(1.55rem,7vw,2.15rem)}h2{font-size:1.05rem}h3{font-size:1.06rem}.page-heading p:not(.eyebrow){max-width:42rem;color:var(--color-subtle);margin:.65rem 0 0;font-size:.86rem}.breadcrumb{color:var(--color-subtle);margin:0 0 1rem;font-size:.82rem;font-weight:700}.breadcrumb a{text-decoration:none}.breadcrumb a:hover,.breadcrumb a:focus-visible{color:var(--color-accent);text-underline-offset:.2em;text-decoration:underline}.ad-slot{border:1px solid var(--color-border);color:#9a9486;font-family:var(--font-mono);background:repeating-linear-gradient(135deg,#efece3,#efece3 10px,#e8e4d8 10px 20px);flex-direction:column;justify-content:center;align-items:center;gap:.15rem;font-size:.66rem;line-height:1.25;display:flex}.ad-slot span:first-child{font-size:.72rem;font-weight:600}.ad-slot-mobile{height:70px;margin:14px 4px 20px}.ad-slot-300x250{width:300px;height:250px}.ad-slot-300x600{width:300px;height:600px}.mobile-heading-ad{display:flex}.ad-slot-live{flex-direction:column;align-items:center;gap:.2rem;margin:14px 4px 20px;display:flex}.ad-slot-live>a{width:100%;max-width:468px;line-height:0;display:block}.ad-slot-live>a>img{width:100%;height:auto}.ad-slot-pr{color:var(--color-faint);font-family:var(--font-mono);letter-spacing:.08em;align-self:flex-start;font-size:.62rem;font-weight:600}.ad-slot-pixel{opacity:0;pointer-events:none;border:0;width:1px;height:1px}.amazon-banner-pr{font-family:var(--font-mono);letter-spacing:.08em;color:#9a9486;border:1px solid var(--color-border);margin-left:auto;padding:.1rem .4rem;font-size:.62rem}.amazon-banner a{color:inherit;flex-direction:column;align-items:center;gap:.7rem;text-decoration:none;display:flex}.amazon-banner img{border:1px solid var(--color-border);width:170px;height:auto}.amazon-banner-title{text-align:center;font-size:.88rem;font-weight:700}.amazon-banner-cta{font-family:var(--font-mono);color:var(--color-accent);border:1px solid var(--color-accent);padding:.35rem 1.2rem;font-size:.72rem;font-weight:600;transition:background .15s,color .15s}.amazon-banner a:hover .amazon-banner-cta{background:var(--color-accent);color:#fff}.sidebar-card{border:1px solid var(--color-border);background:var(--color-surface);padding:18px}.sidebar-card-heading{align-items:center;gap:.45rem;margin-bottom:.85rem;display:flex}.sidebar-card-heading>span{background:var(--color-accent);width:4px;height:14px;display:block}.sidebar-card h2{font-size:.9rem}.hit-rate-list{margin:0}.hit-rate-list div{border-bottom:1px solid #e5e0d4;justify-content:space-between;align-items:baseline;padding:.5rem 0;display:flex}.hit-rate-list div:last-child{border-bottom:0}.hit-rate-list dt{color:var(--color-subtle);font-size:.76rem;font-weight:700}.hit-rate-list dd{color:var(--color-ink);font-family:var(--font-mono);margin:0;font-size:1.12rem;font-weight:800}.hit-rate-list dd.is-accent{color:var(--color-accent)}.sidebar-link-list{display:grid}.sidebar-link-list a{color:var(--color-ink);border-bottom:1px solid #e5e0d4;justify-content:space-between;gap:.5rem;padding:.45rem 0;font-size:.8rem;font-weight:700;text-decoration:none;display:flex}.sidebar-link-list a:last-child{border-bottom:0}.sidebar-link-list a span:last-child{color:var(--color-accent);font-family:var(--font-mono);font-size:.68rem}.venue-section,.archive-strip,.empty-state,.race-detail,.race-feed-section,.result-detail{margin-top:2rem}.section-heading{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.section-heading h2{align-items:center;gap:.6rem;display:flex}.section-heading h2:before{background:var(--color-accent);content:"";width:5px;height:18px;display:inline-block}.section-heading span{color:var(--color-subtle);font-family:var(--font-mono);font-size:.78rem;font-weight:600}.race-feed{gap:1rem;display:grid}.race-article{border:1px solid var(--color-border);background:var(--color-surface);border-radius:4px;padding:17px 16px}.race-article-header{gap:.55rem;display:grid}.race-article-meta{color:var(--color-subtle);font-family:var(--font-mono);flex-wrap:wrap;gap:0;margin:0;font-size:.7rem;font-weight:700;line-height:1.5;display:flex}.race-article-meta>span{padding-right:.55rem}.race-article-meta>span+span{border-left:1px solid var(--color-border-strong);padding-left:.55rem}.race-article h3 a{color:var(--color-ink);text-decoration:none}.race-article h3 a:hover,.race-article h3 a:focus-visible{color:var(--color-accent);text-underline-offset:.18em;text-decoration:underline}.result-article{opacity:.96}.result-summary{color:var(--color-subtle);margin:.1rem 0 0;font-size:.84rem;font-weight:700}.result-badge{border:1px solid var(--color-accent-border);background:var(--color-accent-soft);width:fit-content;min-height:1.35rem;color:var(--color-accent);align-items:center;padding:.08rem .45rem;font-size:.72rem;font-weight:800;line-height:1.3;display:inline-flex}.race-condition-tags{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.race-condition-tag{border:1px solid var(--color-muted-strong);min-height:1.45rem;color:var(--color-soft-text);align-items:center;padding:.12rem .55rem;font-size:.7rem;font-weight:700;line-height:1.3;display:inline-flex}.race-condition-tag.is-accent{border-color:var(--color-accent-border);color:var(--color-accent)}.prediction-list{border-top:1px solid var(--color-ink);margin-top:1rem}.prediction-list-head,.prediction-row{grid-template-columns:22px 24px minmax(0,1fr) 54px;align-items:center;gap:9px;display:grid}.prediction-list.has-ev .prediction-list-head,.prediction-list.has-ev .prediction-row{grid-template-columns:20px 22px minmax(0,1fr) 46px 46px;gap:7px}.prediction-list-head{border-bottom:1px solid var(--color-border-strong);color:var(--color-subtle);padding:.55rem .12rem .45rem;font-size:.68rem;font-weight:700}.prediction-list.has-ev .prediction-list-head span:nth-child(4){text-align:right}.prediction-list-head span:first-child,.prediction-list-head span:nth-child(2){text-align:center}.prediction-list-head span:last-child{text-align:right}.prediction-row{border-bottom:1px solid #e5e0d4;padding:.75rem .12rem}.prediction-row:last-child{border-bottom:0}.mark{color:var(--color-faint);text-align:center;font-size:.92rem;font-weight:900}.prediction-row.is-honmei .mark,.prediction-row.is-honmei .probability{color:var(--color-accent)}.prediction-row.is-second .mark{color:var(--color-ink)}.prediction-row.is-third .mark{color:var(--color-soft-text)}.prediction-row.is-unmarked .mark{color:var(--color-faint);font-size:.76rem}.number,.probability{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.number{color:var(--color-ink);text-align:center;font-size:.82rem;font-weight:500}.horse-cell{gap:.35rem;min-width:0;display:grid}.horse-name{overflow-wrap:anywhere;color:var(--color-ink);font-size:.83rem;font-weight:700;line-height:1.35}.win-rate-bar{background:var(--color-muted);border-radius:5px;width:100%;height:8px;display:block;overflow:hidden}.win-rate-fill{width:var(--win-bar-width);border-radius:inherit;background:#b3ac9c;height:100%;display:block}.prediction-row.is-honmei .win-rate-fill{background:var(--color-accent)}.prediction-row.is-second .win-rate-fill{background:#3a362e}.prediction-row.is-third .win-rate-fill{background:#6a6458}.probability{color:var(--color-ink);text-align:right;font-size:.82rem;font-weight:700}.expected-value{color:var(--color-faint);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;font-size:.8rem;font-weight:600}.expected-value.is-plus{color:var(--color-accent);font-weight:800}.expected-value.is-none{color:var(--color-muted)}.horse-meta{flex-wrap:wrap;align-items:center;gap:.3rem .45rem;display:flex}.horse-odds{color:var(--color-subtle);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.7rem}.bet-badge{border:1px solid var(--color-accent-border);letter-spacing:.04em;white-space:nowrap;border-radius:3px;padding:.08rem .36rem;font-size:.64rem;font-weight:700;display:inline-block}.bet-badge.is-primary{border-color:var(--color-accent);background:var(--color-accent);color:#fdfcf7}.bet-badge.is-secondary{background:var(--color-accent-soft);color:var(--color-accent)}.prediction-row.is-bet-pick{box-shadow:inset 3px 0 0 var(--color-accent)}.remaining-horses{margin-top:.75rem}.remaining-horses summary{cursor:pointer;width:fit-content;color:var(--color-accent);text-underline-offset:.22em;font-size:.82rem;font-weight:700;text-decoration:underline;list-style:none;display:inline-flex}.remaining-horses summary::-webkit-details-marker{display:none}.remaining-horses summary:focus-visible{outline:2px solid color-mix(in srgb, var(--color-accent) 35%, transparent);outline-offset:3px}.remaining-horses[open] .summary-label-more,.remaining-horses:not([open]) .summary-label-close{display:none}.remaining-list{border-top-color:var(--color-border-strong);margin-top:.7rem}.past-races{border-top:1px solid var(--color-border);margin-top:2rem;padding-top:1.2rem}.past-race-feed .race-article{background:color-mix(in srgb, var(--color-surface) 82%, var(--color-muted))}.is-past-race{opacity:.82}.empty-state{border:1px solid var(--color-border);background:var(--color-surface);padding:1.2rem}.empty-state p{color:var(--color-subtle);margin:.6rem 0 0}.archive-links{flex-wrap:wrap;gap:.6rem;display:flex}.archive-result-section,.result-venue-section{margin-top:2rem}.race-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:.85rem;display:grid}.race-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:4px;gap:.35rem;min-height:5.7rem;padding:1rem;text-decoration:none;display:grid}.race-card:hover,.race-card:focus-visible,.archive-links a:hover,.archive-links a:focus-visible,.feed-pagination a:hover,.feed-pagination a:focus-visible,.result-race-line:hover,.result-race-line:focus-visible{border-color:var(--color-accent);outline:2px solid color-mix(in srgb, var(--color-accent) 25%, transparent);outline-offset:2px}.race-card strong{color:var(--color-ink);font-family:var(--font-serif);font-size:1.05rem}.race-card span{color:var(--color-subtle);font-size:.86rem}.archive-links a,.feed-pagination a{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);border-radius:4px;padding:.45rem .7rem;font-weight:700;text-decoration:none}.feed-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin-top:1.2rem;display:flex}.feed-pagination-current{color:var(--color-subtle);font-family:var(--font-mono);font-size:.82rem;font-weight:800}.race-header{border-bottom:2px solid var(--color-ink);padding-bottom:1.2rem}.race-header .race-condition-tags{margin-top:.9rem}.race-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:1rem 0 0;display:grid}.race-meta div{border:1px solid var(--color-border);background:var(--color-surface);padding:.65rem .7rem}.race-meta dt{color:var(--color-subtle);font-size:.68rem;font-weight:700}.race-meta dd{color:var(--color-ink);font-family:var(--font-mono);margin:.1rem 0 0;font-size:.95rem;font-weight:800}.race-meta div:first-child dd{font-family:var(--font-serif)}.result-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:1rem;display:grid}.result-summary-grid div{border:1px solid var(--color-border);background:var(--color-surface);text-align:center;padding:.75rem .6rem}.result-summary-grid div.is-accent{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent)}.result-summary-grid span,.result-summary-grid em{color:inherit;font-size:.66rem;font-style:normal;font-weight:700;display:block}.result-summary-grid strong{color:inherit;font-family:var(--font-mono);margin-top:.2rem;font-size:1.38rem;font-weight:800;line-height:1.05;display:block}.result-summary-grid small{font-size:.68rem}.result-race-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.result-race-line{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-ink);border-radius:4px;gap:.65rem;padding:.85rem;text-decoration:none;display:grid}.result-race-card-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.result-race-card-header>span:first-child{align-items:baseline;gap:.55rem;min-width:0;display:flex}.result-race-number,.result-finisher-number,.result-position{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.result-race-number{font-size:.88rem;font-weight:800}.result-race-name{overflow-wrap:anywhere;font-family:var(--font-serif);font-size:.88rem;font-weight:700}.result-hit-badge{background:var(--color-accent);color:#fff;flex:none;padding:.15rem .5rem;font-size:.68rem;font-weight:800}.result-hit-badge.is-muted{background:var(--color-muted-strong);color:var(--color-soft-text)}.result-finishers{gap:.42rem;display:grid}.result-finisher{grid-template-columns:20px 22px 28px minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.result-position{background:var(--color-ink);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.68rem;font-weight:800;display:inline-flex}.result-finisher:not(:first-child) .result-position{background:#c9c3b4}.result-finisher-mark{color:var(--color-faint);text-align:center;font-weight:900}.result-finisher-mark.is-accent{color:var(--color-accent)}.result-finisher-number{text-align:center;font-size:.78rem}.result-finisher-name{overflow-wrap:anywhere;min-width:0;font-size:.78rem;font-weight:700;line-height:1.35}.result-finisher-popularity{color:var(--color-subtle);white-space:nowrap;font-size:.68rem;font-weight:600}.result-note{color:var(--color-subtle);margin-top:1.5rem;font-size:.82rem;font-weight:700}.result-note p{margin:0}.site-footer{border-top:1px solid var(--color-border);background:var(--color-surface);padding:1.2rem 20px}.site-footer p{width:min(100%,1200px);color:var(--color-subtle);margin:0 auto;font-size:.78rem}@media (width<=520px){.site-header{padding:0 20px}nav{gap:.75rem}nav a,nav span{font-size:.73rem}.section-heading{flex-direction:column;align-items:flex-start;gap:.3rem}}@media (width>=720px){.prediction-list{border-top-width:2px}.prediction-list-head,.prediction-row{grid-template-columns:44px 54px minmax(0,1fr) 90px;gap:16px}.prediction-list.has-ev .prediction-list-head,.prediction-list.has-ev .prediction-row{grid-template-columns:44px 54px minmax(0,1fr) 84px 90px;gap:16px}.prediction-list-head{padding:.5rem .25rem .45rem}.prediction-row{padding:.82rem .25rem}.mark{font-size:1.2rem}.number{font-size:1rem}.horse-name{font-size:.94rem}.probability{font-size:1rem}.expected-value{font-size:.95rem}.horse-odds{font-size:.78rem}.bet-badge{padding:.1rem .45rem;font-size:.7rem}}@media (width>=1024px){.site-header{min-height:66px;padding:0 40px}.site-title{font-size:1.44rem}nav{gap:1.9rem}nav a,nav span{min-height:66px;font-size:.88rem}.site-main{padding:34px 40px 44px}.site-main-with-sidebar{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:34px}.content-sidebar{gap:20px;display:grid;position:sticky;top:20px}.mobile-heading-ad{display:none}.page-heading{margin-bottom:1.65rem}.eyebrow{letter-spacing:.14em;font-size:.75rem}h1{font-size:2.12rem}h2{font-size:1.18rem}h3{font-size:1.48rem}.page-heading p:not(.eyebrow){font-size:.88rem}.race-article{border-radius:6px;padding:24px 26px}.race-article-meta{font-size:.75rem}.race-article-meta>span{padding-right:.7rem}.race-article-meta>span+span{padding-left:.7rem}.race-condition-tag{font-size:.72rem}.remaining-horses summary{font-size:.82rem}.race-meta{gap:.75rem;max-width:34rem}.result-summary-grid{gap:.85rem;margin-bottom:.25rem}.result-summary-grid div{text-align:left;padding:1rem 1.15rem}.result-summary-grid strong{font-size:2.05rem}.result-race-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}}
