@charset "UTF-8";
.race-detail-link{display:block;width:100%;padding:9px 12px;border:1px solid #cce5f3;border-radius:7px;background:#f1f9ff;color:#087faf;font-size:13px;font-weight:700;text-align:center}
:root{--blue:#0284c7;--blue-deep:#036a9e;--ink:#14374d;--muted:#638194;--line:#d5e8f2;--pale:#eef8fe;--green:#168467;--purple:#7354b9;--cols:60px minmax(0,1fr) 150px 110px 140px}
*{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:light}body{margin:0;background:#eef8fe;color:var(--ink);font:15px/1.6 "Segoe UI","Yu Gothic UI","Meiryo",sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button,a,select,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ecad38;outline-offset:3px}button:hover{filter:brightness(.97)}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button{border:0}button,select,input{touch-action:manipulation}[hidden]{display:none!important}.shell{width:min(1060px,calc(100% - 64px));margin-inline:auto}.sr-only,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link:focus{clip-path:none;position:fixed;top:8px;left:8px;width:auto;height:auto;background:#fff;padding:12px;z-index:100}.header{background:#fffffffa;border-bottom:1px solid var(--line)}.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:850;letter-spacing:-.9px}.brand svg{width:30px;height:30px;color:var(--blue);flex-shrink:0}.brand>span{overflow-wrap:anywhere}.account{display:flex;align-items:center;gap:12px;flex-shrink:0}.member-label{border-radius:20px;background:#e9f5fc;color:#4c7d97;font-size:13px;font-weight:700;padding:4px 12px}[data-member=paid] .member-label{background:#f0eaff;color:var(--purple)}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:44px;background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:8px;padding:11px 20px;font-size:14px;font-weight:700;line-height:1.5}.button-small{min-height:37px;font-size:14px;padding:8px 16px}.demo-bar{background:#e1f1fa;border-bottom:1px solid #cfe6f2}.demo-inner{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:43px;font-size:12px;color:#54788e}.demo-inner>span>b{letter-spacing:.1em;color:#217ca9;margin-right:8px}.role-switch{display:flex;align-items:center;gap:3px;padding:3px;background:#d2e8f4;border-radius:6px}.role-switch button{background:transparent;font-size:12px;font-weight:600;padding:4px 12px;min-height:28px;border-radius:4px;white-space:nowrap}.role-switch button[aria-pressed=true]{background:white;color:var(--blue-deep);box-shadow:0 1px 4px #14507c10}.main{padding-top:25px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:700;color:#6b92aa}.page-heading h1{font-size:25px;line-height:1.6;font-weight:750;letter-spacing:.03em}.date-control{display:flex;align-items:center;gap:7px}.date-control input{width:155px;background:transparent;border:0;font-size:14px;font-weight:650;min-height:38px;outline-offset:0}.icon-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #cce1ee;background:#fff;border-radius:7px;font-size:22px;line-height:1}.race-picker{background:white;border:1px solid var(--line);border-radius:14px;padding:15px 20px 16px;margin-bottom:18px}.venue-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}.section-label{font-size:13px;color:#678498;font-weight:700}.venue-select{display:flex;align-items:center;gap:8px;font-size:12px;color:#7a91a1}.venue-select select{font-size:13px;border:0;background:#f0f7fb;border-radius:5px;padding:5px 25px 5px 10px;min-height:30px;max-width:155px}.venue-tabs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.venue-tabs button{background:#f4f9fc;border:1px solid #e2edf4;border-radius:6px;min-height:36px;font-size:14px;font-weight:700}.venue-tabs button[aria-pressed=true]{color:white;background:var(--blue);border-color:var(--blue);box-shadow:0 3px 8px #0284c724}.race-picker-bottom{display:flex;align-items:center;gap:18px;border-top:1px solid #e8f1f6;margin-top:13px;padding-top:12px}.race-label{min-width:48px}.race-tabs{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));width:100%;gap:6px}.race-tabs button{border:1px solid transparent;background:transparent;border-radius:5px;min-height:34px;font-size:14px;font-weight:650}.race-tabs button small{font-size:12px;margin-left:2px;font-weight:500;color:#88a0af}.race-tabs button[aria-pressed=true]{color:var(--blue-deep);border-color:#b4def2;background:#e6f5fd}.race-tabs button[aria-pressed=true] small{color:var(--blue)}.race-tabs button:disabled{color:#abbcc6;background:#f7fafc}.forecast{background:white;border:1px solid #c7e2f0;border-top:3px solid var(--blue);border-radius:14px;overflow:hidden}.race-heading{padding:19px 26px 16px;display:flex;justify-content:space-between;gap:12px;align-items:center}.race-date{font-size:12px;color:#7793a4;margin-bottom:3px}.race-title-wrap h2{font-size:24px;font-weight:800;line-height:1.4}.race-title-wrap h2>span{margin-left:9px;font-size:28px;letter-spacing:-.5px}.race-meta{display:flex;align-items:center;gap:20px;font-size:13px;color:var(--muted)}.race-meta b{font-size:16px;color:var(--ink);margin-left:5px;font-variant-numeric:tabular-nums}.status{display:flex;align-items:center;gap:6px;background:#edf9f3;border-radius:5px;padding:5px 10px;color:#26755e;font-size:12px}.status i{width:5px;height:5px;background:#36a781;border-radius:50%}.status small{font-size:11px;opacity:.65;margin-left:4px}.runner-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:0 26px;padding:11px 0 13px;border-block:1px solid #e4eff5;gap:8px}.runner-list>div{display:flex;gap:9px;align-items:center}.runner-list>div>span:last-child{font-size:13px;font-weight:650;display:flex;align-items:center;gap:7px}.runner-list small{font-size:11px;font-weight:500;color:#88a1b0}.runner-list .boat{width:23px;height:24px;font-size:14px}.boat{display:inline-flex;align-items:center;justify-content:center;border-radius:4px;width:33px;height:34px;font:750 18px/1 "Segoe UI",sans-serif;border:1px solid transparent}.boat-1{color:#244354;background:#fff;border-color:#bfced8}.boat-2{color:#fff;background:#273744}.boat-3{color:#fff;background:#dc4d56}.boat-4{color:#fff;background:#2e87cd}.boat-5{color:#34320c;background:#f0d349}.boat-6{color:#fff;background:#209571}.boats{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.boats i{font-size:13px;font-style:normal;color:#9cb0be}.ticket-heading{display:none}.ticket-tabs{display:flex;margin:12px 26px 0;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}.ticket-tabs button{flex:1;white-space:nowrap;min-height:43px;padding:8px 15px 10px;background:transparent;border-radius:5px 5px 0 0;border-bottom:3px solid transparent;font-size:14px;font-weight:700;color:#648397}.ticket-tabs button[aria-pressed=true]{color:var(--blue);border-bottom-color:var(--blue);background:#f0f9fe}.prediction-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:19px 26px 15px}.prediction-heading h3{font-size:17px;font-weight:750}.prediction-heading h3>span{font-size:13px;color:#7f98a8;font-weight:500;margin-left:9px}.prediction-heading p{font-size:12px;color:#819aa9;margin-top:3px}.divider{color:#c2d2dd;margin:0 7px}.favorite-key{color:var(--blue);font-weight:800}.access-badge{background:#f0f8fc;color:#5d859b;border:1px solid #dbedf6;border-radius:20px;padding:5px 11px;font-size:12px;white-space:nowrap}[data-member=paid] .access-badge{background:#f2edfc;color:var(--purple);border-color:#e5dcf6}.table-head{display:grid;grid-template-columns:var(--cols);gap:12px;margin:0 26px;background:#f3f8fc;border-block:1px solid #e3eef5;padding:9px 14px;font-size:12px;color:#7992a4;font-weight:600}.table-head>span:nth-child(n+3){text-align:right}.table-head small{font-size:11px;color:#94a8b7;margin-left:4px;font-weight:400}.prediction-list{list-style:none;margin:0 26px;padding:0}.prediction-row{display:grid;grid-template-columns:var(--cols);align-items:center;gap:12px;min-height:77px;padding:12px 14px;border-bottom:1px solid #e7f0f6}.rank{display:flex;gap:8px;align-items:center;font-variant-numeric:tabular-nums}.rank>span{font-size:21px;font-weight:750;color:#7691a3}.rank>small{font-size:12px;color:#9eb0bc}.rank .favorite-badge{background:#dbf1fd;color:#087fb8;font-size:11px;font-weight:750;padding:2px 6px;border-radius:4px;white-space:nowrap}.favorite-row{background:#f3fbff}.favorite-row .rank>span{color:var(--blue)}.buy-cell{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.buy-description{color:#89a0af;font-size:12px}.free-label{font-size:11px;font-style:normal;background:#ebf8f1;color:#328368;padding:2px 5px;border-radius:3px;margin-left:6px;white-space:nowrap}.metric{text-align:right;font-variant-numeric:tabular-nums}.metric strong{font-size:25px;font-weight:750;letter-spacing:-.7px;line-height:1.3}.metric strong small{font-size:13px;margin-left:2px;letter-spacing:0;font-weight:650}.probability strong{color:var(--blue-deep)}.recovery strong{font-size:22px;color:#58758a;font-weight:650}.probability-bar{display:block;width:70px;height:3px;background:#e2f1f9;border-radius:5px;margin-top:4px;margin-left:auto;overflow:hidden}.probability-bar i{display:block;background:#5cb7df;height:100%;border-radius:5px}.mobile-metric-label{display:none}.locked-row{background:#f8fbfd;min-height:64px}.locked-row .rank>span{color:#a4b8c5}.locked-buy{display:flex;gap:9px;align-items:center;font-size:13px;color:#89a4b5}.locked-buy svg{width:16px;height:16px;fill:none;stroke:#91acbd;stroke-width:1.5;flex-shrink:0}.masked-value{text-align:right;font-size:18px;color:#cad9e2;padding-right:4px}.unlock-banner{margin:17px 26px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#eaf7ff;border:1px solid #c6e8fa;border-radius:9px;padding:15px 18px}.unlock-copy{display:flex;gap:11px;align-items:center}.lock-icon{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;background:#d9effb;color:var(--blue);border-radius:50%;font-size:22px;font-weight:400}.unlock-copy strong{font-size:14px;color:#266585}.unlock-copy p>span{display:block;font-size:12px;color:#6b91a7;margin-top:2px}.unlock-banner .button{min-height:39px;padding:9px 15px;font-size:13px}.paid-notice{margin:16px 26px;padding:13px 16px;background:#f2edfc;border-radius:8px;color:#7656ad;font-size:13px}.paid-notice>span{margin-right:7px}.metric-help{margin:0 26px 17px;color:#849ba9;font-size:12px}.metric-help summary{cursor:pointer;padding:4px 0;display:list-item;width:fit-content}.metric-help>div{background:#f5fafd;border:1px solid #dfedf5;border-radius:7px;padding:12px 15px;margin-top:8px;line-height:1.9}.metric-help p+p{margin-top:7px}.metric-help strong{color:#57778c}.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:22px 28px;color:#8aa5b6;font-size:12px}.footer>span{font-weight:700;white-space:nowrap}.footer b{font-size:11px;color:#9eb5c3;margin-left:8px}.no-races{text-align:center;padding:65px 20px;background:#fff;border:1px solid var(--line);border-radius:14px}.no-races>span{font-size:32px;color:#b2ccdc}.no-races h2{font-size:19px;margin:12px 0}.no-races p{font-size:14px;color:var(--muted);margin-bottom:24px}.noscript{padding:20px;color:#845a27}dialog{width:min(500px,calc(100% - 32px));padding:32px;border:1px solid #cce5f2;border-radius:17px;color:var(--ink);box-shadow:0 20px 90px #06365326;max-height:90dvh;overflow:auto}dialog::backdrop{background:#123a53aa;backdrop-filter:blur(3px)}.dialog-close{position:absolute;top:13px;right:13px;background:#f2f8fb;border:0;border-radius:50%;font-size:25px}dialog h2{font-size:22px;margin-top:12px;line-height:1.6}.dialog-intro{font-size:14px;color:#6d8a9c;margin-top:9px}.plan-choices{display:grid;gap:12px;margin-top:23px}.plan-choices>button{text-align:left;padding:18px 20px;background:#fff;border:1px solid #d7e8f2;border-radius:10px}.plan-choices>button>span{display:block;font-size:13px;color:#7e9aac}.plan-choices strong{display:block;font-size:17px;margin-top:4px}.plan-choices small{display:block;color:#7f98a9;font-size:13px;margin-top:4px}.plan-choices b{display:block;color:#2481b4;font-size:14px;margin-top:14px}.plan-choices .paid-choice{border-color:#8dcae9;background:#f0faff}.paid-choice i{font-style:normal;font-size:11px;margin-left:9px;letter-spacing:.08em;color:#1b8ac1}.guest-button{display:block;background:transparent;text-decoration:underline;color:#7d96a7;font-size:13px;padding:10px;margin:10px auto 0}.dialog-note{border-top:1px solid #dfedf4;padding-top:14px;font-size:12px;color:#8aa0af;line-height:1.9}
/* Keep race navigation beside forecasts on PC, so the page stays compact. */
@media(min-width:901px){:root{--cols:40px minmax(0,1fr) 110px 85px 100px}.main{display:grid;grid-template-columns:202px minmax(0,1fr);gap:17px 19px;align-items:start}.page-heading{grid-column:1/-1;margin-bottom:0}.race-picker{margin:0;padding:16px 13px}.venue-heading{display:block;margin-bottom:12px}.venue-select{margin-top:10px;display:block}.venue-select label{display:block;font-size:12px;margin-bottom:4px}.venue-select select{width:100%;max-width:none;min-height:34px}.venue-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.venue-tabs button{min-height:36px;font-size:14px}.race-picker-bottom{display:block;margin-top:16px;padding-top:13px}.race-label{display:block;margin-bottom:7px}.race-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.race-tabs button{font-size:14px;min-height:35px;background:#f4f9fc}.race-tabs button small{font-size:11px;margin-left:1px}.forecast,.no-races{min-width:0}.race-heading{padding:16px 22px 13px}.race-meta{gap:12px}.runner-list{margin-inline:22px}.runner-list>div{gap:6px}.runner-list>div>span:last-child{display:block;font-size:12px}.runner-list small{display:block;line-height:1.1;font-size:10px}.ticket-tabs{margin-inline:22px}.ticket-tabs button{font-size:14px;padding-inline:10px}.prediction-heading{padding:16px 22px 13px}.table-head{margin-inline:22px;font-size:12px}.table-head small{display:block;margin:0}.prediction-list{margin-inline:22px}.prediction-row{min-height:72px;padding-inline:12px}.locked-row{min-height:56px}.buy-cell{flex-direction:column;align-items:flex-start;gap:4px}.buy-description{font-size:12px}.metric strong{font-size:24px}.recovery strong{font-size:21px}.unlock-banner{margin-inline:22px;padding:13px}.unlock-copy strong{font-size:13px}.unlock-copy p>span{font-size:12px}.unlock-banner .button{font-size:12px;padding-inline:12px;gap:12px}.paid-notice,.metric-help{margin-inline:22px}.noscript{grid-column:1/-1}.brand{min-width:0}}
@media(max-width:900px){:root{--cols:40px minmax(0,1fr) 110px 85px 100px}.buy-cell{gap:5px;flex-direction:column;align-items:flex-start}.race-meta{gap:12px}.runner-list>div>span:last-child{display:block}.runner-list small{display:block}.table-head small{display:block;margin:0}.footer{display:block}.footer p{margin-top:4px}}
@media(max-width:600px){:root{--cols:24px minmax(86px,1fr) 63px 55px 59px}.shell{width:calc(100% - 28px)}.header-inner{height:60px;gap:8px}.brand{font-size:20px;gap:6px}.brand svg{width:25px;height:25px}.account{gap:6px}.member-label{padding:3px 7px;font-size:12px}.button-small{padding:8px 10px;font-size:12px;min-height:34px}.demo-inner{min-height:65px;flex-wrap:wrap;justify-content:space-between;gap:4px;padding-block:7px;font-size:12px}.demo-inner>span{width:100%;font-size:11px}.role-switch{padding:2px;gap:2px}.role-switch button{font-size:12px;padding:3px 11px;min-height:24px}.main{padding-top:16px}.page-heading{margin-bottom:13px;gap:8px}.page-heading h1{font-size:21px}.eyebrow{font-size:10px;letter-spacing:.11em}.date-control{gap:4px}.date-control input{font-size:13px;width:120px;min-height:32px}.icon-button{width:27px;height:31px;font-size:20px}.race-picker{padding:11px 12px 12px;border-radius:11px;margin-bottom:13px}.venue-heading{margin-bottom:8px}.section-label{font-size:12px}.venue-select{font-size:12px;gap:5px}.venue-select select{font-size:12px;min-height:28px;padding:4px 17px 4px 7px;max-width:133px}.venue-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.venue-tabs button{font-size:14px;min-height:32px}.race-picker-bottom{display:block;margin-top:10px;padding-top:9px}.race-label{display:none}.race-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:3px 6px}.race-tabs button{min-height:32px;font-size:14px}.race-tabs button small{font-size:12px}.forecast{border-radius:11px}.race-heading{padding:14px 14px 12px;align-items:flex-start}.race-date{font-size:11px}.race-title-wrap h2{font-size:21px}.race-title-wrap h2>span{font-size:25px;margin-left:6px}.race-meta{flex-direction:column;align-items:flex-end;gap:7px;font-size:12px}.race-meta b{font-size:14px}.status{font-size:11px;padding:4px 6px;gap:4px}.status small{font-size:9px;margin-left:0}.status i{width:4px;height:4px}.runner-list{margin:0 14px;gap:4px;padding:10px 0}.runner-list>div{display:block;text-align:center}.runner-list .boat{width:22px;height:23px;font-size:14px}.runner-list>div>span:last-child{font-size:12px;margin-top:4px;font-weight:500;line-height:1.4}.runner-list small{display:none}.ticket-tabs{margin:7px 14px 0;gap:0}.ticket-tabs button{font-size:13px;padding:8px 13px 9px;min-height:40px;flex:0 0 auto}.prediction-heading{padding:14px 14px 11px;gap:5px;align-items:flex-start;flex-wrap:wrap}.prediction-heading h3{font-size:16px}.prediction-heading h3>span{font-size:12px;margin-left:5px}.prediction-heading p{font-size:11px;margin-top:3px}.divider{margin:0 4px}.access-badge{font-size:11px;padding:3px 7px;margin-top:2px}.table-head{margin:0 10px;gap:5px;padding:8px 5px;font-size:11px;align-items:center;line-height:1.6}.table-head small{font-size:10px;display:block;margin:0}.prediction-list{margin:0 10px}.prediction-row{min-height:77px;padding:11px 5px;gap:5px}.rank{display:flex;flex-direction:column;align-items:center;gap:2px}.rank>span{font-size:18px;line-height:1.3}.rank>small{font-size:10px}.rank .favorite-badge{font-size:9px;padding:1px 4px}.boats{gap:3px}.boat{width:22px;height:25px;font-size:14px;border-radius:3px}.boats i{font-size:11px}.buy-cell{gap:5px}.buy-description{font-size:11px;line-height:1.3;white-space:nowrap}.free-label{font-size:9px;padding:1px 4px;margin-left:4px}.metric strong{font-size:21px;letter-spacing:-.7px}.metric strong small{font-size:12px;margin-left:1px}.recovery strong{font-size:19px}.probability-bar{width:46px;height:2px;margin-top:4px}.locked-row{min-height:54px}.locked-buy{gap:5px;font-size:11px;white-space:nowrap}.locked-buy svg{width:12px;height:12px}.masked-value{font-size:14px;padding:0}.unlock-banner{margin:13px 14px;padding:12px;display:block}.unlock-copy{gap:8px}.lock-icon{width:25px;height:25px;font-size:19px}.unlock-copy strong{font-size:13px}.unlock-copy p>span{font-size:12px}.unlock-banner .button{width:100%;margin-top:11px;min-height:37px;font-size:13px;justify-content:space-between;padding-inline:14px}.paid-notice{margin:13px 14px;padding:11px;font-size:12px}.metric-help{margin:0 14px 13px;font-size:12px}.metric-help>div{padding:10px}.footer{padding-block:15px 22px;font-size:11px}.footer p{font-size:11px;line-height:1.8}.no-races{padding:40px 16px}.no-races h2{font-size:16px}.no-races p{font-size:13px}dialog{padding:27px 21px}dialog h2{font-size:20px}.dialog-intro{font-size:13px}.dialog-close{right:9px;top:9px;width:28px;height:28px}.plan-choices strong{font-size:16px}.dialog-note{font-size:12px}}
@media(max-width:359px){:root{--cols:18px minmax(78px,1fr) 48px 45px 50px}.shell{width:calc(100% - 20px)}.brand{font-size:17px;gap:4px}.brand svg{width:22px}.member-label{font-size:11px;padding:3px 5px}.account{gap:4px}.button-small{padding-inline:8px}.date-control input{width:111px;font-size:12px}.date-control{gap:2px}.page-heading h1{font-size:19px}.icon-button{width:24px}.boats{gap:2px}.boat{width:21px;height:24px;font-size:14px}.metric strong{font-size:19px}.recovery strong{font-size:17px}.locked-buy{font-size:10px}.prediction-heading p{font-size:10px}.table-head{font-size:10px}.access-badge{font-size:10px}.runner-list{margin-inline:10px}}
.brand{min-width:0}
@media(max-width:600px){.ticket-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:visible}.ticket-tabs button{min-width:0;padding-inline:2px;font-size:12px}.table-head{font-size:12px}.table-head small{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* 入力と結果をAI予想の列に揃えて表示 */
.your-prediction{margin:16px 26px 0;padding:0;border-top:1px solid var(--line)}
.your-prediction-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:13px}
.your-prediction h3{font-size:17px;font-weight:750}
.your-prediction-heading>span{font-size:12px;color:var(--muted)}
.your-input-help{font-size:12px;color:var(--muted);margin:3px 0 10px}
.your-table-head{margin:0}
.your-table-head>span:first-child{grid-column:span 2}
.your-table-head>span:nth-child(2){text-align:right}
.your-entry-row{display:grid;grid-template-columns:var(--cols);align-items:center;gap:12px;min-height:73px;padding:10px 14px;border-bottom:1px solid #e7f0f6}
.your-inputs{grid-column:span 2;display:flex;align-items:center;gap:4px;min-width:0}
.your-boat-input{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}
.your-boat-input>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.your-boat-input input{width:38px;height:40px;min-width:0;padding:0;border:1px solid #b6d5e6;border-radius:4px;background:#fff;text-align:center;font-size:20px;font-weight:700;caret-color:var(--blue)}
.your-boat-input input[aria-invalid=true]{border-color:#b94747;background:#fff9f9}
.your-separator{font-size:13px;color:#9cb0be}
.your-result{display:contents}
.your-locked{min-height:34px;padding:6px 10px;border:1px solid #d5e2f3;border-radius:5px;background:#eaf1fa;font-size:12px;font-weight:650;color:#54719a;white-space:nowrap}
.your-input-status:not(.input-error){position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}
.your-restricted{grid-column:3 / -1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;font-size:12px;line-height:1.5;color:#405c80;overflow-wrap:anywhere}
.your-restricted small{font:inherit;color:inherit}
.your-entry-row:has(.your-restricted){grid-template-columns:max-content minmax(0,1fr);column-gap:8px}
.your-entry-row:has(.your-restricted) .your-inputs{grid-column:1}
.your-entry-row .your-restricted{grid-column:2}
.your-input-status.input-error{font-size:12px;color:#a83636;margin:6px 0}
@media(max-width:600px){
 .your-prediction{margin:12px 10px 0}
 .your-prediction-heading{padding:10px 4px 0}
 .your-prediction h3{font-size:15px}
 .your-input-help{font-size:12px;margin:3px 4px 8px}
 .your-table-head{margin:0}
 .your-entry-row{gap:5px;min-height:60px;padding:8px 5px}
 .your-inputs{gap:2px}
 .your-boat-input input{width:28px;height:36px;font-size:16px}
 .your-separator{font-size:12px}
 .your-locked{font-size:12px;padding:5px;min-height:32px}
}
@media(max-width:359px){.your-boat-input input{width:26px}.your-separator{font-size:11px}}

/* 的中率の右に締切前オッズを配置 */
.odds strong{font-size:18px;color:#58758a;font-weight:650;letter-spacing:-.3px}
.odds strong small{font-size:12px}
.odds-range{display:block;font-size:13px;line-height:1.3;letter-spacing:0}
.odds-heading small{display:block;margin:0}
@media(max-width:600px){
 .table-head,.prediction-row,.your-entry-row{gap:4px}
 .table-head{font-size:11px}
 .table-head small{font-size:10px}
 .metric strong{font-size:19px}
 .recovery strong{font-size:17px}
 .odds strong{font-size:15px}
 .odds strong small{font-size:10px}
 .odds-range{font-size:12px}
 .your-locked{font-size:11px;padding-inline:3px}
 .your-table-head{margin:0}
}
@media(max-width:359px){
 .table-head,.prediction-row,.your-entry-row{gap:3px}
 .table-head{font-size:10px}
 .table-head small{font-size:9px}
 .metric strong{font-size:16px;letter-spacing:-.6px}
 .metric strong small{font-size:11px}
 .recovery strong{font-size:15px}
 .odds strong{font-size:14px}
 .odds strong small{font-size:9px}
 .odds-range{font-size:12px}
 .your-boat-input input{width:24px}
 .your-locked{font-size:10px;padding-inline:2px}
}

/* 読みやすい文字サイズ。列構成と省スペース表示は維持する */
.table-head{font-size:13px;color:#536f83;line-height:1.5;font-weight:700}
.table-head small{font-size:11px;color:#6b8597;font-weight:500}
.buy-description,.prediction-heading p,.your-input-help,.metric-help,.footer{color:#5e7c90}
.locked-buy{color:#66869a}
.race-heading,.prediction-heading,.demo-inner,.unlock-banner{flex-wrap:wrap}
.unlock-copy{min-width:0}
.runner-list>div>span:last-child{font-size:13px}
.runner-list small{font-size:11px}
.your-locked{font-size:12px}
@media(min-width:601px){
 .ticket-tabs button{font-size:14px}
 .your-prediction{margin-inline:22px}
 .your-table-head{margin:0}
 .your-entry-row{padding-inline:12px}
 .table-head{padding-inline:12px}
}
@media(max-width:600px){
 :root{--cols:24px minmax(86px,1fr) 64px 56px 61px}
 .table-head{font-size:11px;line-height:1.5}
 .table-head small{font-size:10px}
 .section-label,.venue-select,.venue-select select{font-size:12px}
 .venue-tabs button,.race-tabs button{font-size:14px}
 .ticket-tabs button{font-size:12px;padding-inline:0}
 .runner-list>div>span:last-child{font-size:12px}
 .race-date,.status,.race-meta{font-size:11px}
 .status small{font-size:9px}
 .prediction-heading p,.buy-description,.access-badge{font-size:11px}
 .buy-description{white-space:normal}
 .locked-buy{font-size:10px;gap:3px;white-space:normal}
 .locked-buy svg{width:10px;height:10px}
 .rank>small,.rank .favorite-badge,.free-label{font-size:9px}
 .rank .favorite-badge{padding-inline:2px}
 .your-input-help,.your-prediction-heading>span,.your-input-status.input-error{font-size:11px}
 .your-locked{font-size:10px;padding-inline:3px}
 .metric strong small{font-size:10px}
 .odds strong small{font-size:9px}
 .odds-range{font-size:12px}
 .metric-help,.paid-notice,.footer,.footer p{font-size:12px}
 .unlock-copy strong,.unlock-banner .button{font-size:13px}
 .unlock-copy p>span{font-size:12px}
 .date-control input{font-size:12px;width:128px}
 .page-heading{flex-wrap:wrap}
 .demo-inner>span{font-size:10px}
 .button-small,.member-label,.role-switch button{font-size:11px}
}
@media(max-width:359px){
 :root{--cols:20px minmax(78px,1fr) 50px 42px 52px}
 .table-head,.prediction-list{margin-inline:8px}
 .your-prediction{margin-inline:8px}
 .your-table-head{margin:0}
 .table-head,.prediction-row,.your-entry-row{padding-inline:4px}
 .table-head{font-size:10px}
 .table-head small{font-size:9px}
 .metric strong{font-size:18px}
 .recovery strong{font-size:16px}
 .odds strong{font-size:14px}
 .odds-range{font-size:11px}
 .your-locked{font-size:9px;padding-inline:1px}
 .locked-buy{font-size:9px}
 .buy-description{font-size:10px}
 .free-label{padding-inline:2px;margin-left:2px}
 .ticket-tabs{margin-inline:10px}
 .ticket-tabs button{font-size:11px}
 .brand{font-size:17px}
 .member-label{padding-inline:4px;font-size:10px}
 .button-small{padding-inline:6px;font-size:11px}
}

.top-odds-open{display:block;margin:4px auto 0;color:#087ba8;background:none;border:0;text-decoration:underline;font-size:13px;cursor:pointer}.top-odds-picks{display:flex;gap:8px;flex-wrap:wrap}.top-odds-picks button{padding:8px 12px;border:1px solid #b7d9e7;border-radius:8px;background:#fff;color:#17475c;cursor:pointer}.top-odds-picks button[aria-pressed=true]{background:#e5f5fc}#top-odds-content svg{display:block;width:100%;height:auto}

.top-inline-history{list-style:none;padding:12px 16px;background:#f2f9fc;border-bottom:1px solid #cfe4ee}.top-inline-history>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.top-inline-history button{margin-left:auto;background:white;border:1px solid #b7d9e7;border-radius:6px;padding:6px 10px;cursor:pointer}.top-inline-history svg{display:block;width:100%;max-height:190px}.top-inline-history p{margin:8px 0}.top-inline-history small{color:#5d7481}

#odds-dialog{position:fixed;inset:0;margin:auto;width:min(580px,calc(100% - 32px));max-width:580px;max-height:85dvh;padding:22px;border:0;border-radius:16px;background:#fff;color:var(--ink);overflow-y:auto;box-shadow:0 20px 70px #183e5260}
#odds-dialog::backdrop{background:rgb(15 39 55 / 48%)}
.odds-modal-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.odds-modal-heading h2{font-size:20px;line-height:1.5;margin:0}.odds-modal-heading>span{font-size:12px;color:#617c8c}.odds-modal-heading button{margin-left:auto;border-radius:8px;padding:8px 12px;background:#eef5f9;min-height:40px}.odds-modal svg{display:block;width:100%;height:auto;margin:12px 0}.odds-modal p{margin:12px 0}.odds-modal p a{color:#087ba8;text-decoration:underline}.odds-modal small{color:#617c8c}.top-single-odds{background:#f0f8fc;padding:20px;border-radius:10px;font-size:18px}
@media(max-width:640px){#odds-dialog{inset:auto 0 0;margin:0;width:100%;max-width:100%;max-height:85dvh;border-radius:18px 18px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom))}.odds-modal-heading h2{font-size:18px}}

/* Compact preview controls and forecast incident messages. */
.mock-forecast-control{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:12px 26px;font-size:12px;color:var(--muted)}
.mock-forecast-control select{max-width:100%;min-width:0;padding:5px 8px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:12px}
.mock-forecast-control small{font-size:11px}
.forecast-incident{margin:14px 26px 20px;padding:12px 16px;border:1px solid #ebceca;border-left:3px solid #b4493c;border-radius:6px;background:#fff8f6;color:#753b34;overflow-wrap:anywhere}
.forecast-incident strong{display:block;font-size:14px;margin-bottom:4px}
.forecast-incident p{font-size:13px;line-height:1.7}
.forecast-incident small{display:block;margin-top:5px;font-size:11px;color:#76615d}
.forecast-incident[data-state=delayed],.forecast-incident[data-state=stale]{border-color:#e6d2a6;border-left-color:#aa7920;background:#fffbf1;color:#72531c}
@media(max-width:600px){.mock-forecast-control{margin:10px}.forecast-incident{margin:12px 10px 16px;padding:10px 12px}}

.closed-odds-label{font-size:12px;color:var(--muted)}

.prediction-heading .forecast-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}
.prediction-heading .forecast-snapshot-label{display:inline-block;font-size:20px;font-weight:750;line-height:1.5;color:#035b88;background:#e6f4fc;border:1px solid #b5dcee;border-radius:5px;padding:3px 9px}
@media(max-width:600px){.prediction-heading{flex-wrap:wrap}.prediction-heading .forecast-snapshot-label{font-size:17px;padding:3px 7px}}
