:root{--bg:#090f1c;--side:#0b1322;--panel:#101a2b;--panel2:#111f31;--edge:#243148;--text:#f4f7fb;--muted:#90a0b9;--dim:#5f708b;--cyan:#5ae3e1;--cyan-dark:#153f4a;--green:#72dbc5;--gold:#edc67c;--shadow:0 10px 32px rgba(0,0,0,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",system-ui,sans-serif;font-size:14px;line-height:1.6}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.layout{min-height:100vh;display:grid;grid-template-columns:257px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:var(--side);border-right:1px solid #1d2940;display:flex;flex-direction:column;padding:31px 15px 24px}.brand{display:flex;align-items:center;gap:12px;padding:3px 12px 49px}.brand-emblem{width:40px;height:40px;background:var(--cyan);border-radius:12px 12px 12px 4px;display:flex;align-items:center;justify-content:center;color:#07131b;font-size:29px;font-weight:900;letter-spacing:-6px;padding-right:8px;position:relative}.brand-emblem span{position:absolute;right:7px;bottom:9px;width:6px;height:6px;background:#07131b;border-radius:50%}.brand-type{font-size:20px;letter-spacing:1.6px;font-weight:900;line-height:1.15}.brand-type small{display:block;font-size:8px;letter-spacing:1.55px;font-weight:700;margin-top:6px;color:var(--dim)}.sidebar-label{color:#51637d;font-size:10px;font-weight:800;letter-spacing:2.2px;padding:0 15px;margin:0 0 17px}.nav{display:grid;gap:6px;margin-bottom:41px}.nav-item{padding:13px 15px;color:#a7b4c9;display:flex;align-items:center;gap:12px;border-radius:9px;font-weight:700;font-size:12px}.nav-item.active{background:#1c2f40;color:var(--cyan)}.nav-item.muted{opacity:.52;cursor:default}.navico{font-size:17px;width:24px;text-align:center;font-weight:400}.tag-sm{margin-left:auto;font-size:9px;color:var(--dim);font-weight:600}.module{display:flex;gap:11px;align-items:center;min-height:61px;padding:11px 15px;border-radius:10px;margin:1px 0;font-size:13px;font-weight:800}.module small{display:block;color:var(--muted);font-weight:500;font-size:11px}.module .module-orb{width:11px;height:11px;border:2px solid #52627b;border-radius:50%}.active-module{background:#102e36;color:var(--cyan)}.active-module small{color:#87bdbd}.active-module .module-orb{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 0 5px rgba(90,227,225,.1)}.module.disabled{opacity:.49}.mod-live,.mod-future{margin-left:auto;font-size:10px;font-weight:700;white-space:nowrap}.mod-live{color:#75e4c8}.mod-future{color:#8b95aa}.sidebar-bottom{margin-top:auto;border-top:1px solid #243148;padding:22px 13px 0;font-size:11px;font-weight:800;color:#bed5e4}.sidebar-bottom small{display:block;color:#607189;font-weight:500;margin-left:16px;margin-top:2px}.green-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#55d7a8;margin-right:8px;box-shadow:0 0 0 3px rgba(85,215,168,.13)}.main{min-width:0;padding:0 clamp(24px,4vw,62px);max-width:1530px;width:100%;margin:auto}.topbar{height:85px;border-bottom:1px solid #1b293e;display:flex;justify-content:space-between;align-items:center;gap:15px}.breadcrumb{font-size:11px;color:#7d90ab;font-weight:700;letter-spacing:.5px}.breadcrumb b{padding:0 12px;color:#53657b}.top-pill{border:1px solid #294353;border-radius:40px;padding:8px 12px;font-size:10px;font-weight:800;color:#b2c1d6;letter-spacing:.7px;white-space:nowrap}.top-pill .line{display:inline-block;border-left:1px solid #304159;height:11px;margin:0 12px;vertical-align:middle}.page-head{margin-top:42px;margin-bottom:23px}.eyebrow,.section-kicker,.formula-label{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:1.9px;color:#50c8c9;font-weight:800}.line-dash{display:inline-block;height:2px;width:17px;background:var(--cyan);vertical-align:middle;margin-right:7px}.page-head h1{font-size:clamp(30px,3.5vw,49px);letter-spacing:-2px;line-height:1.28;font-weight:850;margin:14px 0}.page-head h1 span{color:var(--cyan)}.page-head p{margin:0;color:#8c9cb2;font-size:12.5px}.banner{border:1px solid #3d3646;background:linear-gradient(93deg,#222332,#1a2334);color:#a9b7c9;border-radius:9px;padding:12px 16px;font-size:11px;display:flex;gap:13px;align-items:center;margin-bottom:20px}.banner b{color:#e6d6b5}.banner-icon{color:#e6c78c;border:1px solid #806d4b;border-radius:50%;font-size:10px;line-height:15px;width:16px;text-align:center;font-weight:700;flex-shrink:0}.content-grid{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);gap:20px}.panel{background:var(--panel);border:1px solid #26344b;border-radius:12px;box-shadow:var(--shadow)}.select-panel,.engine-panel,.entrant-panel,.results{padding:23px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:23px}.section-top h2{font-size:18px;letter-spacing:-.5px;font-weight:800;margin:4px 0 0}.soft-label{color:#9bb0cb;font-size:10px;font-weight:700;border:1px solid #304158;border-radius:5px;padding:4px 8px;white-space:nowrap}.soft-label.accent{color:var(--cyan);border-color:#2b666e;background:#10313b}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 92px;gap:11px}.form-grid label,.model-label{display:block;min-width:0}.form-grid label>span,.model-label>span{display:block;color:#a3b2ca;font-size:11px;margin-bottom:7px;font-weight:600}input,select{background:#0b1525;border:1px solid #2c3d56;color:#e4edfa;border-radius:7px;padding:11px 10px;outline:none;width:100%;min-height:45px;appearance:none}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='m1 1 4 4 4-4' stroke='%238aa0b8' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:25px}input[type=date]{color-scheme:dark;padding-right:6px}.btn{border:0;border-radius:8px;font-weight:850;letter-spacing:.15px;display:flex;align-items:center;justify-content:center;gap:12px;transition:transform .12s,filter .12s}.btn:active{transform:translateY(1px)}.btn.outline{margin-top:20px;background:#172839;border:1px solid #3e556e;color:#c7e1ed;width:100%;min-height:46px;font-size:12px}.button-icon{font-size:21px;line-height:1;color:var(--cyan)}.arrow{margin-left:auto;margin-right:13px;color:var(--cyan);font-size:16px}.status{display:flex;gap:9px;color:#97a9be;font-size:11px;background:#0b1624;border-radius:7px;margin-top:14px;padding:12px}.status.success{color:#81dac7;background:#10312f}.status.error{color:#f7baad;background:#35222c}.status-dot{flex:0 0 7px;height:7px;border-radius:50%;background:#6a7788;margin-top:5px}.status.success .status-dot{background:#73e0bd}.status.error .status-dot{background:#ff9184}.source-data{color:#89a9bd;font-size:10px;margin-top:8px;overflow-wrap:anywhere}.engine-segment{display:flex;background:#091321;padding:4px;border-radius:7px;margin-bottom:22px;gap:4px}.engine-segment button{flex:1;border:0;border-radius:6px;color:#a2acc0;font-size:11px;font-weight:700;background:transparent;padding:10px 5px}.engine-segment button.selected{color:#0b1720;background:var(--cyan)}.engine-segment button.locked{opacity:.5;cursor:not-allowed}.engine-segment button.locked span{font-size:12px;opacity:.6}.model-label select{margin:1px 0 20px;font-size:11px}.formula{border:1px solid #284452;background:linear-gradient(110deg,#0c222b,#102a32);border-radius:8px;padding:14px 15px}.formula-expr{color:#e7f7fb;font-weight:900;font-size:17px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin:7px 0 8px;letter-spacing:-.7px}.formula-expr span{color:var(--cyan)}.formula-foot{color:#7399a8;font-size:10px}.engine-info{margin-top:15px;display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px}.engine-info strong{font-size:12px;color:#dfeefa}.engine-small{color:#7489a0;font-size:10px}.entrant-panel{margin-top:20px}.subtext{font-size:11px;color:#7e91ac;margin:-13px 0 22px}.small-actions{display:flex;align-items:center;gap:18px}.text-btn{padding:3px 0;color:var(--cyan);border:0;background:none;font-size:11px;font-weight:750}.muted-text{color:#8290a5}.table-wrap{width:100%;overflow-x:auto}.boat-table{width:100%;border-spacing:0;border-collapse:collapse;min-width:570px;text-align:left}.boat-table th{font-size:10px;color:#7f92ad;font-weight:650;padding:0 13px 12px;border-bottom:1px solid #304057;white-space:nowrap}.boat-table th small{font-weight:400;color:#5f718c;display:block}.boat-table td{padding:9px 12px;border-bottom:1px solid #25334a;font-size:11px}.boat-table tr:last-child td{border-bottom:0}.boat-table input{background:#0c1626;width:105px;max-width:100%;min-height:35px;padding:6px 10px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;border-color:#293a54}.boat-table input[readonly]{border-color:transparent;color:#aab5c6;background:transparent}.boat-table .frame{font-size:12px;font-weight:800;color:#fff;width:35px;height:35px;display:inline-grid;place-items:center;border-radius:5px}.frame-1{background:#e7e7ec;color:#111 !important}.frame-2{background:#272d39}.frame-3{background:#e65055}.frame-4{background:#3c78c7}.frame-5{background:#dfb456;color:#251a0b!important}.frame-6{background:#42a77e}.below-table{display:flex;justify-content:space-between;gap:12px;color:#657992;font-size:10px;padding-top:13px}.small-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#82bfc6;margin-right:8px}.generate-area{margin:19px 0 24px;background:linear-gradient(105deg,#182d39,#122a34);border:1px solid #25606a;border-radius:12px;padding:21px 23px;display:flex;align-items:center;justify-content:space-between;gap:16px}.generate-title{font-size:15px;font-weight:850}.generate-description{color:#82a5b3;font-size:11px;margin-top:3px}.btn.primary{min-height:50px;min-width:215px;background:var(--cyan);color:#071c23;font-size:13px;box-shadow:0 9px 25px rgba(46,206,209,.12);justify-content:space-between;padding:0 17px}.btn.primary b{font-size:19px}.results{margin-bottom:25px}.results-heading{margin-bottom:19px}.results-summary{display:grid;grid-template-columns:repeat(3,1fr);background:#0c1524;border:1px solid #27374e;border-radius:8px;padding:16px}.metric{display:flex;flex-direction:column;gap:4px;text-align:center;border-right:1px solid #27374e}.metric:last-child{border:0}.metric span{font-size:10px;color:#778ea9}.metric strong{font-size:22px;letter-spacing:-.7px}.result-nav{display:flex;align-items:center;gap:8px;margin:20px 0}.result-nav button{border:1px solid #304158;background:#0d192a;color:#aebed2;border-radius:6px;font-size:11px;font-weight:750;padding:10px 16px}.result-nav button.active{background:#17434a;border-color:#397d7d;color:var(--cyan)}.result-nav button small{display:block;font-weight:400}.result-nav .copy-btn{margin-left:auto;color:#72cacb;background:none;border:0}.ticket-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.ticket{background:#0b1626;border:1px solid #2b3a52;border-radius:8px;padding:10px 8px;text-align:center}.ticket .rank{font-size:9px;color:#647a93;display:block;margin-bottom:5px;font-weight:600}.ticket .parts{display:flex;justify-content:center;align-items:center;gap:3px}.ticket .part{width:25px;height:25px;border-radius:4px;display:grid;place-items:center;font-weight:850;font-size:13px}.ticket .dash{color:#5d6b85;font-size:10px}.scores{margin-top:20px;border-top:1px solid #304158;padding-top:18px}.scores-head{font-size:12px;font-weight:800;margin-bottom:13px}.scores-head small{color:#7387a2;font-weight:400;font-size:10px;margin-left:8px}.score-row{display:grid;grid-template-columns:30px minmax(0,1fr) 52px;align-items:center;gap:10px;margin-bottom:9px}.score-row .frame{border-radius:4px;text-align:center;font-weight:900}.track{height:8px;border-radius:20px;background:#162b3a;overflow:hidden}.fill{background:linear-gradient(90deg,#278b99,var(--cyan));height:100%;border-radius:20px}.score-number{text-align:right;font-family:ui-monospace,monospace;font-weight:700;color:#a5d8e4}.result-note{color:#97a8bf;background:#111f2e;border-left:3px solid #598494;padding:11px 13px;font-size:11px;margin-top:16px}.footer{display:flex;justify-content:space-between;border-top:1px solid #1f2b40;padding:20px 0 27px;color:#536984;font-size:9px;letter-spacing:.8px}
@media(max-width:1100px){.layout{grid-template-columns:220px minmax(0,1fr)}.content-grid{grid-template-columns:1fr}.sidebar{padding-left:9px;padding-right:9px}.main{padding:0 25px}.ticket-grid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:740px){.layout{display:block}.sidebar{position:relative;height:auto;padding:15px 18px;display:block;border-bottom:1px solid #26364a}.brand{padding:0}.brand-type{font-size:16px}.brand-type small{font-size:7px}.brand-emblem{width:34px;height:34px;font-size:25px}.sidebar-label,.sidebar .nav,.sidebar .module,.sidebar-bottom{display:none}.main{padding:0 15px}.topbar{height:56px}.top-pill{font-size:9px;padding:6px 8px}.page-head{margin:27px 0 18px}.page-head h1{font-size:32px}.page-head p{font-size:11px}.panel{padding:17px}.banner{line-height:1.7;font-size:10px}.section-top{margin-bottom:18px}.section-top h2{font-size:16px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label:last-child{grid-column:span 2}.form-grid label:last-child select{width:100%}.generate-area{padding:16px;display:block}.btn.primary{width:100%;margin-top:14px}.small-actions{gap:9px;flex-wrap:wrap}.small-actions .text-btn{font-size:10px}.ticket-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.results-summary{padding:13px 3px}.metric strong{font-size:18px}.footer{font-size:8px;gap:10px;flex-wrap:wrap}}

@media(max-width:740px){.boat-table{min-width:0;table-layout:fixed}.boat-table th:nth-child(2),.boat-table td:nth-child(2){display:none}.boat-table th,.boat-table td{padding-left:7px;padding-right:7px}.boat-table th:first-child,.boat-table td:first-child{width:55px}.boat-table th:nth-child(3),.boat-table td:nth-child(3){width:115px}.boat-table th:nth-child(4),.boat-table td:nth-child(4){width:60px}.boat-table td input{width:100%;min-width:0}.boat-table .lane-val{font-size:12px}}
/* v0.2 - home -> venue -> race; prediction / entry / result navigation */
[hidden]{display:none!important}
.nav button.nav-item{font:inherit;width:100%;background:none;border:0;text-align:left;cursor:pointer}.nav button.nav-item.active{background:#1c2f40;color:var(--cyan)}
.view{padding-bottom:26px}.page-head.small{margin-top:34px;margin-bottom:22px}.page-head.small h1{font-size:clamp(25px,3.4vw,43px);margin:12px 0 6px}.page-head.small h1 small{font-size:.42em;color:var(--muted);font-weight:500}.section-pad{padding:23px}.compact-date{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--muted);font-weight:600}.compact-date input{width:175px}
.venue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.venue-item{background:#0d1a2c;color:var(--text);border:1px solid #31415a;border-radius:10px;min-height:105px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;position:relative;transition:border-color .15s,background .15s;text-align:center}.venue-item:hover,.race-grid button:hover{border-color:#4caab6;background:#142d3d}.venue-icon{font-size:16px;color:#5a9eb0;line-height:1}.venue-item strong{font-size:17px}.venue-meta{color:#778aa5;font-size:10px}.venue-arrow{position:absolute;top:6px;right:12px;color:#6697aa;font-size:22px}.venue-note{margin:17px 0 0}.crumb-back{padding:6px 0;background:none;border:0;color:var(--cyan);font-size:12px;font-weight:700}.race-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.race-grid button{border:1px solid #30425a;background:#0d192a;border-radius:9px;color:white;min-height:102px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px}.race-big{font-size:28px;font-weight:850;letter-spacing:-1px}.race-big small{font-size:13px;color:var(--cyan);margin-left:3px}.race-meta{font-size:10px;color:#8299b2}.race-arrow{position:absolute;right:10px;top:7px;font-size:20px;color:#5b8294}
.race-head{margin:27px 0 18px}.race-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.race-heading h1{font-size:34px;line-height:1.25;margin:6px 0 3px}.race-number{color:var(--cyan)}.race-heading p{color:#7d93ae;font-size:12px;margin:3px 0}.race-switch{display:flex;gap:8px}.race-switch label{font-size:10px;color:#90a4b8;font-weight:650}.race-switch select{width:145px;display:block;font-size:12px;min-height:41px;margin-top:3px}.race-switch label:last-child select{width:85px}
.race-primary-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:#0a1523;border:1px solid #27364b;padding:5px;border-radius:12px;margin:18px 0}.race-primary-tabs button{border:0;background:transparent;border-radius:8px;color:#8a9db9;font-weight:850;font-size:15px;padding:14px 4px}.race-primary-tabs button.active{color:#061c20;background:var(--cyan);box-shadow:0 5px 18px #3de2db2a}.race-section{margin-bottom:18px}.card-main-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid #3a8994;gap:3px;margin-bottom:6px}.card-main-tabs button{border:0;padding:14px;background:#172638;color:#b0c4d4;font-weight:800;border-radius:8px 8px 0 0}.card-main-tabs button.active{background:#246a7d;color:#fff}.card-subtabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 19px}.card-subtabs button{padding:11px 4px;background:none;border:0;border-bottom:3px solid #334357;color:#8898b4;font-size:12px;font-weight:750}.card-subtabs button.active{color:var(--cyan);border-color:var(--cyan)}.card-panel{padding:22px;margin-bottom:18px}.info-note{font-size:12px;color:#91a7ba;background:#0b1927;border-left:3px solid #386f7b;padding:11px 12px;border-radius:3px;margin:0 0 18px}.details-table{border-collapse:collapse;width:100%;min-width:530px;table-layout:auto}.details-table thead th{background:#1c2a3e;padding:14px 12px;color:#adc0d0;font-size:12px;font-weight:800;border-bottom:2px solid #31465b;text-align:left}.details-table td{padding:12px 13px;border-bottom:1px solid #29384b;color:#e4ecf1;font-size:13px}.details-table tbody tr:nth-child(even){background:#142033}.details-table .frame{width:38px;height:38px;display:grid;place-items:center;border-radius:4px;font-weight:900;font-size:16px}.details-table .numeric{font-variant-numeric:tabular-nums;font-size:16px;font-weight:750}.details-table .profile-cell{min-width:180px}.details-table .profile-cell strong{display:block;font-size:12px}.details-table .profile-cell small{display:block;font-size:11px;color:#91a6ba;font-weight:550;max-width:390px;line-height:1.55;margin-top:4px}.empty-detail{border:1px dashed #355066;padding:48px 20px;color:#8da2b6;text-align:center;line-height:2;border-radius:8px}.card-bottom-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:0 0 9px}.card-bottom-actions .btn{margin:0;max-width:320px}.official-link{color:var(--cyan);border:1px solid #30505b;border-radius:7px;padding:9px 13px;font-size:12px;font-weight:700}.result-action{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.result-action .btn{margin:0;max-width:320px}.result-action+.status{margin-bottom:20px}.payout-band{display:grid;grid-template-columns:1fr 1fr;background:#0d1d2e;border:1px solid #294256;padding:18px;border-radius:8px;margin-top:17px;gap:8px}.payout-band>div{display:flex;flex-direction:column;gap:7px}.payout-band span{color:#899db1;font-size:11px}.payout-band strong{color:var(--cyan);font-size:23px;font-weight:850}.muted-label{background:#243044!important;color:#8696a8!important;border-color:#35445a!important}
@media(max-width:1100px){.race-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.venue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:740px){.sidebar{padding-bottom:9px}.sidebar .nav{display:flex;margin:10px 0 0;gap:7px}.sidebar .nav .nav-item{font-size:11px;padding:7px 12px;background:#131f30}.sidebar .nav .nav-item.active{background:#1d3c43}.sidebar .nav .navico{font-size:16px;width:auto}.page-head.small{margin-top:18px}.section-pad{padding:14px}.compact-date input{width:138px;font-size:12px}.venue-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.venue-item{min-height:90px;padding:9px 3px}.venue-item strong{font-size:13px}.venue-meta{font-size:8px}.venue-arrow{right:6px;font-size:15px}.race-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.race-grid button{min-height:92px}.race-head{margin-top:17px}.race-heading{display:block}.race-heading h1{font-size:26px}.race-switch{margin-top:11px}.race-switch select{width:135px}.race-primary-tabs button{font-size:12px;padding:12px 2px}.card-main-tabs button{font-size:13px}.card-subtabs{gap:3px}.card-subtabs button{font-size:11px}.card-panel{padding:15px}.details-table{min-width:500px}.details-table td{font-size:11px;padding:9px}.details-table th{padding:10px 7px!important;font-size:10px!important}.details-table .profile-cell{min-width:150px}.details-table .profile-cell small{font-size:10px}.details-table .frame{width:31px;height:34px;font-size:13px}.payout-band strong{font-size:18px}.result-action .btn{max-width:none}.card-bottom-actions .btn{max-width:none}.footer{font-size:9px}}

/* v0.3 — clear official one-tap path and installable Web shell */
.official-action{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0 10px}.official-action>.btn{margin:0;flex:1;min-width:225px}.official-action>.btn.primary{width:auto;display:flex;align-items:center;justify-content:center}.official-action>.btn.outline{width:auto;display:flex;align-items:center;justify-content:center}.official-action+.subtext{margin:8px 0 12px}.network-notice{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:100;background:#4c2524;color:#fff;padding:12px 18px;border:1px solid #c17d7b;border-radius:10px;width:min(95vw,560px);font-size:12px;text-align:center;box-shadow:0 8px 32px #0008}.btn:disabled{opacity:.48;cursor:not-allowed}.copy-btn{font-size:11px}@media(max-width:740px){.official-action{display:block}.official-action>.btn{min-width:0;width:100%!important;margin-top:9px}.result-nav{flex-wrap:wrap}.result-nav #shareRace{margin-left:0}}

.preview-notice{max-width:1120px;margin:0 auto 16px;background:rgba(25,110,200,.12);border:1px solid rgba(67,160,235,.45);border-radius:10px;padding:12px 16px;color:#bfdcf9;font-size:13px;line-height:1.6}
.preview-notice[hidden]{display:none}
/* Home directory only: existing race pages, navigation and data panels unchanged. */
#homeView .home-directory-head{display:flex;align-items:baseline;gap:16px;margin:20px 0 14px;flex-wrap:wrap}
#homeView .home-directory-head h1{font-size:26px;letter-spacing:-.6px;margin:0;line-height:1.4}
#homeView .home-directory-head p{font-size:12px;margin:0}
#homeView .venue-directory{padding:18px}
#homeView .section-top{margin-bottom:14px}
#homeView .venue-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#homeView .venue-item{padding:0;gap:0;min-width:0;min-height:112px;overflow:hidden;border-radius:8px;background:#182337;border:1px solid #354259;justify-content:flex-start}
#homeView .venue-card-head{position:relative;width:100%;background:#2b3850;display:block;padding:9px 14px 8px;line-height:1.25}
#homeView .venue-item strong{display:block;font-size:27px;font-weight:850;letter-spacing:.03em;white-space:nowrap}
#homeView .venue-item .venue-arrow{top:7px;right:10px;font-size:22px;color:#b8c7db}
#homeView .venue-card-body{width:100%;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;padding:7px 4px 8px;gap:3px;min-height:58px}
#homeView .venue-day-line{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;line-height:1.4;font-size:12px;color:#dde6f2;min-height:17px}
#homeView .venue-grade{border:1px solid #8595ad;border-radius:2px;padding:0 3px;font-size:9px;line-height:1.4;color:#dce7f5}
#homeView .venue-series{font-size:13px;line-height:1}
#homeView .is-ladies{color:#ed84ac}
#homeView .venue-next-hint{display:flex;justify-content:center;align-items:center;gap:3px;font-size:9px;line-height:1.2;color:#91a5c0}
#homeView .venue-next{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;column-gap:5px;line-height:1.3;font-size:16px;font-variant-numeric:tabular-nums;letter-spacing:.01em;color:#edf4fc}
#homeView .venue-next b{font-weight:750}
#homeView .venue-next time{font-weight:750}
#homeView .venue-separator{color:#7890b0;font-size:.85em}
#homeView .venue-inactive{background:#34373b;border-color:#454a50}
#homeView .venue-inactive .venue-card-head{background:#292d33;color:#a9adb4}
#homeView .venue-inactive .venue-arrow{color:#747c89}
#homeView .venue-empty{color:#b7bec8;font-size:11px;line-height:1.5}
#homeView .venue-unknown{background:#18212f;border-style:dashed;border-color:#52647a}
#homeView .venue-unknown .venue-card-head{background:#263347;color:#b7c4d8}
#homeView .venue-stale{border-style:dashed;border-color:#b69d62}
#homeView .venue-history .venue-next-hint,#homeView .venue-closed .venue-next-hint{color:#c5cddd}
#homeView .venue-item:hover{border-color:#70bdbf;background:#20344a}
#homeView .venue-inactive:hover{background:#3b4148;border-color:#788b9f}
#homeView .venue-legend{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 17px;padding:15px 0 0;color:#a9b6c9;font-size:11px;line-height:1.5}
#homeView .venue-legend>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
#homeView .legend-swatch{width:15px;height:13px;display:inline-block;border-radius:3px;border:1px solid #56627a;background:#2b3850}
#homeView .legend-swatch.is-inactive{background:#3b3f45;border-color:#555b65}
#homeView .legend-swatch.is-unknown{background:transparent;border:1px dashed #b69d62}
#homeView .legend-ladies{color:#ed84ac;font-size:15px;line-height:1}
#homeView .venue-note{text-align:center;font-size:10px;margin:10px 0 0;color:#8295af}
@media(max-width:740px){
 #homeView .home-directory-head{gap:5px 12px;margin:13px 0 10px}
 #homeView .home-directory-head h1{font-size:22px}
 #homeView .home-directory-head p{font-size:10px}
 #homeView .venue-directory{padding:10px}
 #homeView .section-top{gap:8px;margin-bottom:10px}
 #homeView .section-top h2{font-size:16px}
 #homeView .section-kicker{font-size:8px;letter-spacing:1px}
 #homeView .compact-date{font-size:10px}
 #homeView .compact-date input{width:130px;min-height:36px;padding:6px;font-size:12px}
 #homeView .venue-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 #homeView .venue-item{min-height:108px;border-radius:5px}
 #homeView .venue-card-head{padding:6px 2px;line-height:1.35}
 #homeView .venue-item strong{font-size:clamp(17px,5vw,22px);letter-spacing:-.025em}
 #homeView .venue-item .venue-arrow{display:none}
 #homeView .venue-card-body{padding:5px 2px 6px;gap:3px;min-height:60px}
 #homeView .venue-day-line{gap:3px;font-size:10px;min-height:14px}
 #homeView .venue-grade{font-size:7px;padding:0 2px}
 #homeView .venue-series{font-size:11px}
 #homeView .venue-next-hint{font-size:8px}
 #homeView .venue-next{font-size:clamp(10px,2.8vw,12px);column-gap:3px;letter-spacing:0}
 #homeView .venue-empty{font-size:9px}
 #homeView .venue-legend{gap:6px 10px;font-size:9px;padding-top:11px}
 #homeView .venue-legend>span{gap:4px}
 #homeView .legend-swatch{width:12px;height:11px}
 #homeView .venue-note{font-size:9px;line-height:1.5;margin-top:9px}
}

