*{box-sizing:border-box}body{margin:0;background:#f5f5f5;color:#111;font-family:system-ui,-apple-system,'Noto Sans JP',sans-serif}.browser{max-width:1000px;margin:0 auto;padding:12px}.datebar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#2557a1;color:white;min-height:86px;padding:8px 14px}.datebar h1{font-size:clamp(21px,3.7vw,36px);margin:0;text-align:center;line-height:1.3}.datebar button{background:none;border:0;color:white;font-size:48px;line-height:1;cursor:pointer;padding:0 6px}.datebar button:disabled{opacity:.28;cursor:default}.subbar{display:flex;justify-content:space-between;gap:10px;padding:9px 3px;font-size:13px;color:#4b5360}.subbar a{color:#2457a1;text-decoration:none}.venuegrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.venuecard{display:flex;flex-direction:column;min-height:152px;border:1px solid #a5a5a5;background:white;box-shadow:0 2px 3px #0005;text-align:center;text-decoration:none;color:#111}.venuecard.active:hover{outline:3px solid #a8c2e9;outline-offset:0}.venuecard .venue-name{position:relative;background:#2557a1;color:white;font-size:27px;font-weight:750;padding:12px 4px;line-height:1.35}.venuecard .venue-info{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:7px 2px;font-size:25px;line-height:1.35}.venuecard .first-time{font-size:24px;font-weight:800}.venuecard.inactive{background:#ddd;color:#666}.venuecard.inactive .venue-name{background:#999;color:#eee}.venuecard.inactive .venue-info{font-size:17px;font-weight:650}.grade{position:absolute;left:6px;top:8px;font:700 13px/1.6 system-ui;padding:0 3px;background:#427bc3;border:1px solid #98c3ff}.starcount{color:#ffe177;font-size:13px;position:absolute;right:5px;top:5px}.tablewrap{overflow:auto;background:white;border:1px solid #a7bad5}.race-table{width:100%;min-width:780px;border-collapse:collapse;table-layout:fixed}.race-table th,.race-table td{border:1px solid #a6bbd8;text-align:center}.race-table thead th{height:61px;font-size:21px}.race-table .race-col{width:135px;background:#2557a1;color:white;position:sticky;left:0;z-index:1}.race-table thead .race-col{z-index:2}.race-table .b1{background:#ececec}.race-table .b2{background:#515151;color:white}.race-table .b3{background:#f13e45;color:white}.race-table .b4{background:#4286c8;color:white}.race-table .b5{background:#eee96a}.race-table .b6{background:#54b349;color:white}.race-table tbody td{background:#f3f7fe}.race-table .race-link{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:118px;padding:8px 4px;gap:3px;text-decoration:none;color:white;position:relative}.race-link strong{font-size:27px;line-height:1.15}.race-link .race-title{font-size:15px;line-height:1.3}.race-link .deadline{font-size:22px;font-weight:800}.race-link .chevron{position:absolute;right:8px;font-size:27px;font-weight:400}.race-link .star{color:#ffdf76;font-size:14px;margin-right:3px}.racer-link{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:118px;padding:7px 4px;text-decoration:none}.reg{font-size:15px;color:#111}.racer-name{font-size:20px;color:#152de4;line-height:1.45;overflow-wrap:anywhere}.racer-grade{font-size:20px;color:#111}.race-table tr.selected td{background:#fffbea}.race-table tbody tr:hover td{background:#e3edfc}.bottom-note{font-size:12px;color:#626c78;margin:12px 2px}.message{padding:40px 12px;text-align:center;color:#525c69}button:focus-visible,a:focus-visible{outline:3px solid #d29612;outline-offset:2px}@media(max-width:600px){.browser{padding:7px}.datebar{min-height:65px;padding:8px}.datebar h1{font-size:21px}.datebar button{font-size:38px}.venuegrid{gap:7px}.venuecard{min-height:111px}.venuecard .venue-name{font-size:18px;padding:9px 2px}.venuecard .venue-info{font-size:17px;padding:7px 1px}.venuecard .first-time{font-size:14px}.venuecard.inactive .venue-info{font-size:12px}.starcount{font-size:9px;right:2px;top:2px}.grade{left:2px;top:2px;font-size:8px}.subbar{font-size:11px;flex-wrap:wrap}.race-table{min-width:730px}.race-table .race-col{width:100px}.race-table thead th{font-size:17px;height:48px}.race-link strong{font-size:23px}.race-link .race-title{font-size:12px}.race-link .deadline{font-size:19px}.race-link .chevron{right:4px;font-size:22px}.racer-name{font-size:17px}.racer-grade{font-size:18px}.race-table .race-link,.racer-link{min-height:105px}.reg{font-size:13px}}

.candidate-panel{background:#fff9e8;color:#202a3a;border:1px solid #ddc16f;padding:14px;margin:0 0 16px}.candidate-panel h2{font-size:20px;margin:0}.candidate-panel p{font-size:14px;line-height:1.6;color:#4c422a;margin:5px 0 12px}.candidate-panel .candidate-summary span{background:#e5eef8;color:#183d65;font-weight:700}.candidate-panel summary{color:#183d65}.candidate-panel a{color:#183d72}.candidate-panel a:focus-visible,.candidate-panel summary:focus-visible{outline:2px solid #183d72;outline-offset:3px}.candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.candidate-card{display:flex;flex-direction:column;gap:5px;background:white;border:1px solid #d8c99b;padding:12px;color:#183d72;text-decoration:none;min-width:0}.candidate-card strong{font-size:18px}.candidate-card span,.candidate-card b{font-size:12px}.candidate-card small{color:#4d5360;line-height:1.6}.candidate-card:hover{background:#eef4ff}@media(max-width:600px){.candidate-grid{grid-template-columns:1fr}.candidate-card strong{font-size:16px}}

.prediction-hit-badge{display:block;white-space:normal;background:#fff0b9;color:#744c00;border-radius:4px;font-size:11px;line-height:1.4;padding:3px 5px;margin:5px 3px 0;font-weight:700}.prediction-result-note{display:block;font-size:10px;line-height:1.4;margin-top:3px;color:inherit;opacity:.85}

.escape-cell{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;line-height:1.35;margin-top:6px;color:#fff4c9}.escape-cell small{font-size:10px;color:#d4e3fb}.escape-outcome{font-size:11px;line-height:1.3;color:#fff;margin-top:3px}.race-link .chevron{top:45%}@media(max-width:600px){.escape-cell{font-size:10px}.escape-cell small,.escape-outcome{font-size:9px}}
.race-card-metrics{display:grid;gap:4px;margin-top:8px;padding:6px 4px 0;border-top:1px solid #ffffff46;color:#fff;font-size:11px;line-height:1.3}
.race-card-line{display:flex;justify-content:space-between;align-items:baseline;gap:4px;flex-wrap:wrap;text-align:left}
.race-card-line b{color:#fff3c8;font-variant-numeric:tabular-nums;white-space:nowrap}
.race-card-verdict{display:block;margin:2px 0;padding:3px;border-radius:4px;background:#153e75;color:#fff;font-weight:700}
.race-card-verdict[data-verdict="hit"]{background:#fff0b9;color:#633c00}
.race-card-verdict[data-verdict="miss"]{background:#394d69;color:#fff}
.race-link:has(.race-card-metrics) .chevron{top:12px}
@media(max-width:600px){.race-card-metrics{padding-inline:2px;font-size:10px;gap:3px}}
