:root{--navy:#092c53;--blue:#075fc7;--ink:#132c44;--muted:#647385;--line:#d8dfe5;--paper:#f8f7f3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic UI",Meiryo,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ef9e32;outline-offset:4px}header{max-width:1280px;margin:auto;display:flex;align-items:center;gap:40px;padding:23px 48px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:27px;font-weight:800;letter-spacing:.12em}.brand small{display:block;font-size:8px;letter-spacing:.17em;line-height:1}.private{margin-left:auto;font-size:10px;border:1px solid var(--line);padding:4px 10px;color:var(--muted)}nav{display:flex;gap:26px;font-size:12px}main{max-width:1184px;margin:auto;padding:0 24px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;padding:65px 24px 52px;align-items:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;color:var(--blue);margin:0 0 14px}h1{font-family:"Yu Mincho",serif;font-size:clamp(48px,5.8vw,76px);line-height:1.3;letter-spacing:.08em;margin:0 0 22px;font-weight:700}.lead{color:var(--muted);font-size:14px;line-height:2}.primary{display:inline-flex;gap:45px;background:var(--navy);color:white;padding:13px 22px;font-size:13px;margin-top:20px}.primary:hover{background:var(--blue)}.edition{background:#e8edf1;border-top:5px solid var(--navy);padding:24px 30px 30px;position:relative;min-height:340px;box-shadow:10px 10px 0 #e0e2df;overflow:hidden}.edition-top{font-size:10px;letter-spacing:.13em;display:flex;justify-content:space-between;border-bottom:1px solid #b6c2cd;padding-bottom:12px}.date{font-family:Georgia,serif;font-size:106px;line-height:1.3;letter-spacing:-.07em}.date span{font-size:62px;color:#8295a7;padding:0 9px}.edition>p{font-size:12px;margin:0 0 24px}.edition-bottom{display:flex;flex-direction:column;gap:8px}.edition-bottom strong{font-size:20px;letter-spacing:.1em}.edition-bottom span{font-size:9px;letter-spacing:.16em;color:var(--muted)}.vertical{position:absolute;right:20px;top:78px;writing-mode:vertical-rl;font-family:serif;font-size:14px;letter-spacing:.3em}.paper-lines{position:absolute;right:30px;bottom:30px;width:75px;height:36px;background:repeating-linear-gradient(0deg,#abb9c5 0 1px,transparent 1px 6px)}.featured{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:white;margin-bottom:64px}.featured>a{padding:23px 30px}.featured>a+a{border-left:1px solid var(--line)}.featured a:hover{background:#edf3f9}.featured small{font-size:10px;letter-spacing:.12em;color:var(--blue)}.featured h2{font-family:serif;font-size:24px;margin:4px 0}.featured h2 span{float:right;font-family:sans-serif;font-size:18px;font-weight:400}.featured p{margin:0;color:var(--muted);font-size:11px}.featured b{margin-left:15px;font-size:10px;font-weight:400;color:#376951}.section-head{display:flex;justify-content:space-between;align-items:center}.section-head h2,.guide h2{font-family:serif;font-size:30px;letter-spacing:.04em;margin:0}.date-select{font-size:10px;display:flex;align-items:center;gap:12px;color:var(--muted)}select{border:1px solid var(--line);background:white;color:var(--ink);padding:9px;font-size:12px}.notice{display:flex;gap:20px;align-items:flex-start;background:#ecefed;padding:16px 20px;margin:25px 0}.notice>span{font-size:10px;border:1px solid #b5c4b9;white-space:nowrap;padding:1px 6px}.notice p{margin:0;font-size:12px}.notice small{font-size:10px;color:var(--muted)}.filters{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}#venues{display:flex;gap:20px}#venues button{cursor:pointer;border:0;border-bottom:3px solid transparent;background:none;padding:12px 10px;color:var(--muted);font-size:16px;font-weight:700}#venues button[aria-pressed=true]{border-color:var(--blue);color:var(--blue)}#venues small{font-size:10px;font-weight:400;margin-left:8px}.search{display:flex;align-items:center;gap:9px}.search span{font-size:24px}.search input{width:210px;font-size:12px;border:0;background:transparent;padding:9px;color:var(--ink)}.count{font-size:11px;color:var(--muted);margin:16px 0}.race-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.race-card{background:white;border:1px solid var(--line);padding:20px;transition:border-color .15s,transform .15s}.race-card:hover{border-color:var(--blue);transform:translateY(-2px)}.card-top{display:flex;align-items:center;gap:12px}.race-number{font-size:25px;font-weight:750;line-height:1}.race-number small{font-size:12px}.time{font-size:12px;color:var(--muted)}.status{margin-left:auto;font-size:9px;color:#6b7785}.status.ready{color:#327456}.race-card h3{font-size:15px;margin:20px 0 7px}.race-card p{font-size:11px;margin:0;color:var(--muted)}.card-bottom{display:flex;justify-content:space-between;border-top:1px solid #edf0f3;margin-top:17px;padding-top:12px;font-size:11px;color:var(--blue)}.empty{grid-column:1/-1;padding:40px;text-align:center;color:var(--muted);border:1px dashed var(--line)}.guide{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;border-top:1px solid var(--line);margin-top:76px;padding-top:50px}.guide h2{line-height:1.6}.guide>div>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:2}.guide-items article{display:flex;gap:23px;padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid var(--line)}.guide-items article>span{font-family:Georgia,serif;font-size:23px;color:#8e9ba8}.guide-items h3{font-size:14px;margin:0 0 7px}.guide-items p{font-size:12px;margin:0;color:var(--muted)}.notes{padding:25px 0 45px;max-width:880px}.notes h2{font-size:12px}.notes p{font-size:11px;color:var(--muted)}.notes a{text-decoration:underline}footer{border-top:1px solid var(--line);padding:28px 48px;display:flex;align-items:center;gap:30px;max-width:1280px;margin:auto}.footer-brand{font-family:serif;font-size:24px;font-weight:700}.footer-brand small{font-family:sans-serif;font-size:9px;color:var(--muted);margin-left:8px}footer p,footer>a:last-child{font-size:10px;color:var(--muted)}footer>a:last-child{margin-left:auto}@media(max-width:760px){header{padding:16px 20px;gap:15px}nav{display:none}.brand{font-size:23px}.hero{gap:28px;padding:38px 0;grid-template-columns:1fr}.hero h1 br{display:none}.hero h1{font-size:44px}.edition{min-height:270px}.date{font-size:80px}.vertical{top:65px}.hero .lead br{display:none}.featured{margin-bottom:42px}.featured>a{padding:18px 14px}.featured h2{font-size:19px}.featured b{display:block;margin-left:0;margin-top:5px}.section-head{align-items:flex-start;gap:15px;flex-direction:column}.section-head h2,.guide h2{font-size:26px}.notice{gap:12px;padding:14px}.filters{flex-direction:column;gap:0}.search{border-top:1px solid var(--line)}.search input{width:100%}.race-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.race-card{padding:14px}.race-card h3{font-size:13px}.card-top{flex-wrap:wrap;gap:7px}.status{font-size:8px}.race-number{font-size:23px}.time{font-size:10px}.guide{grid-template-columns:1fr;gap:24px;margin-top:44px;padding-top:32px}footer{padding:24px 20px;gap:15px}footer p{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.race-card{transition:none}}

/* Homepage palette refresh */
:root{--navy:#173e66;--blue:#0a8588;--ink:#183047;--line:#dce5e6;--paper:#fffdf9}
body{background:linear-gradient(180deg,#fff8ec 0,#fffdf9 520px)}
header{background:linear-gradient(105deg,#fff0dc 0%,#eaf8f5 52%,#f3edff 100%);border-color:#eadcc8}
.brand{color:#173e66}.brand small{color:#b85e43}
.hero{position:relative;margin:34px 0 40px;padding:48px 38px;border:1px solid #efddc7;border-radius:22px;background:linear-gradient(122deg,#fff0d7 0%,#edf8ff 52%,#f6edff 100%);box-shadow:0 16px 40px rgba(45,67,87,.09)}
.eyebrow{color:#b85842}
h1{background:linear-gradient(95deg,#173e66 0%,#087e87 58%,#bd6047 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.primary{border-radius:5px;background:linear-gradient(105deg,#173e66,#087e87 72%,#287d72);box-shadow:0 5px 14px rgba(18,72,93,.18)}.primary:hover{background:linear-gradient(105deg,#b85e43,#dd8850)}
.edition{border-top-color:#f4c15f;border-radius:8px;background:linear-gradient(135deg,#163f70 0%,#087e87 55%,#a94f67 100%);box-shadow:10px 10px 0 #f4dfc8;color:#fff}
.date{color:#fff}.date span{color:#ffd879}.edition-bottom span{color:#f4e8e6}.paper-lines{background:repeating-linear-gradient(0deg,rgba(255,255,255,.55) 0 1px,transparent 1px 6px)}
.featured{overflow:hidden;border-radius:13px;box-shadow:0 8px 24px rgba(45,67,87,.07)}.featured>a:first-child{background:linear-gradient(130deg,#e7f4ff,#fff 82%)}.featured>a:last-child{background:linear-gradient(130deg,#fff0e7,#fffaf4 82%)}.featured>a+a{border-left-color:#e7d8cf}.featured a:hover{filter:saturate(1.16)}
#venues button{border-radius:8px 8px 0 0}#venues button:nth-child(1){border-bottom-color:#d46a58}#venues button:nth-child(2){border-bottom-color:#29977f}#venues button:nth-child(3){border-bottom-color:#8067b0}
#venues button:nth-child(1)[aria-pressed=true]{background:#fff0ed;color:#a8493d;border-color:#d98472}#venues button:nth-child(2)[aria-pressed=true]{background:#e8f7f1;color:#18775f;border-color:#66b59f}#venues button:nth-child(3)[aria-pressed=true]{background:#f2edff;color:#624a97;border-color:#a291cc}
.race-card{border-top-width:3px;border-radius:10px;box-shadow:0 4px 14px rgba(34,56,76,.045)}.race-card:nth-child(3n+1){border-top-color:#d46a58}.race-card:nth-child(3n+2){border-top-color:#29977f}.race-card:nth-child(3n){border-top-color:#8067b0}.race-card:hover{box-shadow:0 8px 22px rgba(34,56,76,.12)}
.notice{border-left:4px solid #29977f;border-radius:7px;background:linear-gradient(100deg,#e9f7ef,#f2f8ff)}
.guide{margin-bottom:32px;padding:42px 32px;border:1px solid #eee0cf;border-radius:17px;background:linear-gradient(115deg,#fff3e4 0%,#eff8ff 55%,#f5efff 100%)}.guide-items article>span{color:#c26b50}.guide-items article:nth-child(2)>span{color:#168a79}.guide-items article:nth-child(3)>span{color:#7760a7}
.notes{border-left:3px solid #e3b45d;padding-left:16px}footer{border-color:#e8dccc;background:linear-gradient(100deg,#fff9ef,#eef8f5 60%,#f5efff)}
@media(max-width:760px){.hero{margin:20px 0 30px;padding:30px 20px;border-radius:16px}.guide{padding:28px 18px}}
@media(max-width:760px){.hero h1 br{display:block}.hero h1{font-size:clamp(30px,7.4vw,38px)}}
.marks-cta{margin:0 0 18px}.marks-cta a{display:inline-flex;align-items:center;gap:18px;padding:9px 14px;border:1px solid #168a79;border-radius:6px;background:linear-gradient(110deg,#e8f7f1,#f2edff);color:#176e65;font-size:12px;font-weight:750}.marks-cta a:hover{background:#e2f3ef}
@media(max-width:760px){.marks-cta{margin-bottom:14px}.marks-cta a{width:100%;justify-content:space-between;padding:11px 14px}}
