:root { color-scheme: dark; --ink:#0b1015; --panel:#141b22; --paper:#eee8db; --muted:#a9aaa8; --line:#303840; --brass:#c2a980; --red:#e56b59; --serif:"Yu Mincho","Hiragino Mincho ProN",serif; --sans:"Helvetica Neue","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { background:#06090d; scroll-padding-bottom:calc(var(--bottom-nav-height,5.5rem) + 1rem); }
body { margin:0; color:var(--paper); font:1rem/1.8 var(--sans); -webkit-text-size-adjust:100%; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
img { display:block; }
:focus-visible { outline:2px solid var(--brass); outline-offset:5px; }
.skip-link { position:fixed; left:1rem; top:-8rem; padding:1rem; background:var(--paper); color:var(--ink); z-index:100; }
.skip-link:focus { top:1rem; }
.phone-sheet { width:100%; max-width:480px; margin:auto; min-height:100svh; padding-bottom:calc(var(--bottom-nav-height,calc(5rem + env(safe-area-inset-bottom))) + 1rem); background:var(--ink); box-shadow:0 0 0 1px var(--line), 0 30px 100px #0007; overflow-wrap:anywhere; }
.daily-header { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:calc(1rem + env(safe-area-inset-top)) 1.25rem 1rem; border-bottom:1px solid var(--line); }
.daily-brand { display:flex; align-items:center; gap:.6rem; }
.daily-brand span { display:grid; line-height:1.4; }
.daily-brand strong { font:600 1rem/1.4 var(--serif); letter-spacing:.08em; }
.daily-brand small { color:var(--brass); font-size:.75rem; letter-spacing:.26em; }
.header-return { font-size:.875rem; color:var(--muted); min-height:44px; display:flex; align-items:center; }
.daily-heading { padding:1.6rem 1.25rem 1.3rem; border-bottom:1px solid var(--line); background:linear-gradient(145deg,#171f26,var(--ink) 70%); }
.edition-line { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.25rem .5rem; color:var(--brass); font-size:.75rem; letter-spacing:.08em; }
.daily-heading h1 { margin:1.25rem 0 1.1rem; font:500 2.45rem/1.45 var(--serif); letter-spacing:.03em; }
.daily-heading h1 em { font-style:normal; color:var(--paper); }
.daily-heading h1::before { content:""; display:block; width:1.8rem; height:2px; margin-bottom:.7rem; background:var(--red); }
.date-line { display:flex; align-items:baseline; flex-wrap:wrap; gap:.65rem; }
.date-line > span:first-child { color:var(--muted); font-size:.875rem; }
.date-line time { font-size:1rem; font-variant-numeric:tabular-nums; }
.timezone { font-size:.75rem; color:var(--brass); }
.daily-heading > p { margin:.65rem 0 0; font:1rem/1.8 var(--serif); color:var(--muted); }
.daily-content { padding:1.5rem 1.25rem 0; }
.listing-head { display:flex; align-items:baseline; justify-content:space-between; gap:.5rem; margin-bottom:1rem; }
.listing-head h2 { margin:0; font:500 1.1rem/1.6 var(--serif); }
.listing-head > span { color:var(--muted); font-size:.875rem; }
.notice-card { position:relative; padding:1.25rem; border:1px solid var(--line); border-top:3px solid var(--brass); background:var(--panel); }
.document-label { display:block; color:var(--muted); font-size:.75rem; letter-spacing:.12em; }
.notice-stamp { display:inline-block; margin:1.1rem 0 .15rem; padding:.15rem .6rem; color:var(--red); border:1px solid var(--red); font:500 .875rem/1.7 var(--serif); letter-spacing:.18em; transform:rotate(-4deg); }
.notice-card h3 { margin:1rem 0 .6rem; font:500 1.45rem/1.7 var(--serif); }
.notice-card p { margin:0; color:var(--muted); font-size:1rem; }
.reading-note { margin:1.75rem 0; padding-left:1rem; border-left:1px solid var(--brass); }
.reading-note > span { font-size:.75rem; letter-spacing:.1em; color:var(--brass); }
.reading-note h2 { font-size:.95rem; font-weight:500; margin:.35rem 0; }
.reading-note p { margin:.5rem 0 0; color:var(--muted); font-size:.875rem; }
.next-document { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.15rem 0; border-block:1px solid var(--line); }
.next-document span { display:grid; gap:.25rem; }
.next-document small { font-size:.75rem; letter-spacing:.1em; color:var(--brass); }
.next-document strong { font:500 1.1rem/1.7 var(--serif); }
.next-document b { color:var(--brass); font-size:1.5rem; font-weight:400; }
.daily-footer { padding:2.5rem 1.25rem 1rem; }
.daily-footer p { color:var(--muted); font-size:.875rem; margin:1rem 0; }
.daily-footer small { display:block; color:var(--brass); font-size:.75rem; letter-spacing:.07em; }
.daily-nav { position:fixed; z-index:50; bottom:0; left:50%; transform:translateX(-50%); width:min(100%,480px); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding-bottom:env(safe-area-inset-bottom); background:#10171f; box-shadow:0 -10px 25px #0004; border:1px solid var(--line); }
.daily-nav a { min-width:0; min-height:76px; padding:.65rem .2rem; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:.15rem; text-align:center; border-top:2px solid transparent; }
.daily-nav a + a { border-left:1px solid var(--line); }
.daily-nav span { font-size:.75rem; letter-spacing:.08em; color:var(--muted); }
.daily-nav strong { font-size:.875rem; font-weight:500; }
.daily-nav a[aria-current="page"] { border-top-color:var(--red); background:#291c1b; color:#fff0e7; }
.daily-nav a[aria-current="page"] span { color:#f29d8f; }
.result-summary { background:var(--paper); color:#10161a; margin-bottom:1.75rem; padding:1rem 1.15rem; border-top:3px double #777266; }
.summary-top { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.4rem; }
.summary-top h2 { margin:0; font-size:.95rem; font-weight:500; }
.summary-top span { font-size:.75rem; color:#625b50; }
.result-summary dl { margin:1rem 0; }
.result-summary dl > div { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:.3rem 1rem; padding:.4rem 0; }
.result-summary dt { font-size:.875rem; color:#4c4c48; }
.result-summary dd { margin:0; font-size:1.45rem; font-weight:600; font-variant-numeric:tabular-nums; }
.result-summary dl > div:last-child { border-top:1px solid #9b9586; margin-top:.25rem; padding-top:.65rem; }
.result-summary dl > div:last-child dd { color:#963329; }
.result-summary > p { font-size:.875rem; color:#565148; margin:0; }
.record-card { margin-bottom:1.25rem; padding:1.25rem; border:1px solid var(--line); background:var(--panel); border-top:3px solid var(--brass); }
.record-heading { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:space-between; align-items:flex-start; }
.record-heading h3 { margin:0; font:500 1.6rem/1.5 var(--serif); }
.record-status { flex-shrink:0; padding:.15rem .5rem; font-size:.875rem; color:var(--brass); border:1px solid var(--line); }
.record-status.is-open { color:#ffad9d; border-color:#864239; }
.record-status.is-closed { color:var(--muted); }
.record-status.is-hit { color:var(--brass); border-color:var(--brass); }
.record-status.is-miss { color:#ffad9d; border-color:#864239; }
.record-status.is-canceled { color:var(--muted); }
.record-card > p { margin:1rem 0; color:var(--muted); font-size:1rem; white-space:pre-line; }
.record-fields { margin:1rem 0; }
.record-fields > div { padding:.7rem 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:minmax(5rem,.7fr) minmax(0,1.3fr); gap:1rem; }
.record-fields dt { color:var(--muted); font-size:.875rem; }
.record-fields dd { margin:0; font-size:1rem; text-align:right; font-variant-numeric:tabular-nums; }
.record-fields .key-field dd { color:var(--paper); font-weight:600; }
.record-action,.retry-button { display:flex; width:100%; min-height:48px; justify-content:center; align-items:center; padding:.8rem; border:1px solid var(--brass); background:var(--paper); color:#0b1015; font-size:1rem; }
.record-action.is-unavailable { color:var(--muted); background:transparent; border-color:var(--line); }
.record-action.is-line { background:#06c755; border-color:#06c755; color:#042510; font-weight:600; text-align:center; }
.plan-card { scroll-margin-top:1rem; }
.plan-artwork { margin:-1.25rem -1.25rem 1.25rem; border-bottom:1px solid var(--line); background:#080c10; }
.plan-artwork img { display:block; width:100%; max-width:100%; height:auto; }
.plan-legal-links a { display:inline-block; padding-block:.4rem; color:var(--paper); text-decoration:underline; text-underline-offset:4px; }
.plan-kicker { display:block; margin-bottom:.85rem; font-size:.75rem; letter-spacing:.08em; color:var(--brass); }
.plan-card > .plan-headline { color:var(--paper); font:500 1.65rem/1.65 var(--serif); margin:1.4rem 0; padding-left:.85rem; border-left:2px solid var(--red); }
.sales-section { border-top:1px solid var(--line); padding-top:1.2rem; margin-top:1.4rem; }
.sales-section h4 { color:var(--brass); font:500 1.12rem/1.75 var(--serif); margin:0 0 .75rem; }
.sales-section p { margin:.75rem 0; color:var(--paper); font-size:1rem; line-height:1.95; }
.plan-card .record-fields { margin-top:1.5rem; }
.plan-selector { display:grid; gap:.6rem; margin-bottom:1.5rem; }
.plan-selector a { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:.75rem; border:1px solid var(--line); color:var(--brass); }
.plan-selector a::after { content:'↓'; }
.retry-button { margin-top:1rem; }
.record-note { font-size:.875rem !important; }
.set-block { padding:1rem 0 0; margin-top:1rem; border-top:1px solid var(--line); }
.set-block h4 { margin:0 0 .75rem; font-weight:500; color:var(--brass); }
.set-result-label { margin:.5rem 0 .9rem; color:var(--brass); font-size:1rem; font-weight:600; }
.race-row { display:flex; flex-wrap:wrap; gap:.5rem 1rem; align-items:baseline; justify-content:space-between; padding:.6rem 0; }
.race-row > span:first-child { font-size:1rem; }
.race-outcome { font-size:.875rem; color:var(--muted); }
.race-outcome.is-hit { color:#ffad9d; }
.race-detail { flex-basis:100%; color:var(--muted); font-size:.875rem; }
.set-payout { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.3rem .8rem; padding-top:.75rem; border-top:1px dashed var(--line); }
.set-payout span { color:var(--muted); font-size:.875rem; }
.set-payout strong { font-size:1.25rem; font-variant-numeric:tabular-nums; }
.set-race-label { margin:0 0 .25rem; font-size:1rem; }
.set-ticket-type { margin:0 0 .75rem; color:var(--muted); font-size:.875rem; }
.result-feedback { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line); }
.result-feedback h4 { margin:0 0 .5rem; font-size:.875rem; font-weight:500; color:var(--brass); }
.result-feedback p { margin:0; white-space:pre-line; font-size:1rem; }
.archive-heading h1 { margin-block:1rem .5rem; font-size:2.1rem; }
.archive-heading > p { font:1rem/1.8 var(--sans); }
.archive-content { padding-top:1.2rem; }
.archive-ledger { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:.35rem 1rem; padding-bottom:1.1rem; border-bottom:1px solid var(--line); margin-bottom:1.6rem; }
.archive-ledger > span { font-size:1rem; color:var(--brass); }
.archive-ledger > strong { font-size:.875rem; font-weight:500; }
.archive-ledger > p { flex-basis:100%; margin:0; font-size:.875rem; color:var(--muted); }
.archive-day { margin-bottom:2rem; }
.archive-date { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.3rem .75rem; margin:0 0 1rem; padding:.65rem .75rem; border-left:3px solid var(--red); background:var(--paper); color:var(--ink); font:600 1rem/1.6 var(--sans); }
.archive-date span { font-size:.875rem; font-weight:400; color:#555249; }
.archive-day .record-card { padding:1rem; margin-bottom:.75rem; border-top:1px solid var(--line); }
.archive-day .record-heading h3 { font-size:1.35rem; }
.archive-day .set-block { border-top:0; margin-top:.5rem; padding-top:0; }
.archive-day .set-block + .set-block { border-top:1px solid var(--line); margin-top:1rem; padding-top:1rem; }
.archive-day .set-payout strong { font-size:1.6rem; color:var(--brass); }
.set-payout.is-miss strong,.archive-day .set-payout.is-miss strong { color:#ffad9d; }
.set-payout.is-canceled strong,.archive-day .set-payout.is-canceled strong { color:var(--muted); }
.archive-notice { margin:1rem 0; padding:1rem; background:var(--panel); border:1px solid var(--line); font-size:1rem; }
.archive-notice p { margin:0; }
@media (max-width:359px) { .daily-heading h1 { font-size:2.1rem; } .daily-content,.daily-heading { padding-inline:1rem; } .record-card { padding:1rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media (max-width:359px) { .plan-artwork { margin:-1rem -1rem 1.25rem; } }

.legal-footer-links { display:flex; flex-wrap:wrap; gap:.3rem 1rem; padding-bottom:1rem; border-bottom:1px solid var(--line); }
.legal-footer-links a { display:flex; align-items:center; min-height:44px; font-size:.875rem; text-decoration:underline; text-underline-offset:4px; }
