:root{color:#152829;font-synthesis:none;--green:#155747;--muted:#607076;--border:#dce4e7;--surface:#fff;--radius:6px;background:#f5f7f8;font-family:Yu Gothic UI,Hiragino Kaku Gothic ProN,Meiryo,system-ui,sans-serif;font-size:14px;font-weight:400}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{color:inherit;cursor:pointer;background:#fff;border:1px solid #bcc9cd;border-radius:4px;min-height:40px;padding:8px 16px;font-weight:600;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#f0f5f3;border-color:#508475}button:disabled{cursor:not-allowed;opacity:.45}button.primary{background:var(--green);border-color:var(--green);color:#fff}button.primary:hover:not(:disabled){background:#104535}button.selected{border-color:var(--green);color:var(--green);background:#eef5f2}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #79aaa0}a{color:var(--green);text-underline-offset:3px}input,select{color:#152829;background:#fff;border:1px solid #c2ced2;border-radius:4px;max-width:100%;min-height:42px;padding:9px 12px}input[type=checkbox]{width:19px;height:19px;min-height:19px;accent-color:var(--green);cursor:pointer}select{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.055em;margin-bottom:10px;font-size:36px;font-weight:800;line-height:1.25}h2{letter-spacing:-.04em;margin-bottom:16px;font-size:24px;font-weight:800;line-height:1.4}h3{margin-bottom:12px;font-size:17px}p{margin-bottom:14px;line-height:1.8}small{font-size:12px}strong{font-weight:700}fieldset{min-width:0}progress{appearance:none;background:#d7e0e4;border:0;border-radius:6px;width:100%;height:9px;overflow:hidden}progress::-webkit-progress-bar{background:#d7e0e4;border-radius:6px}progress::-webkit-progress-value{background:var(--progress,#3a9974);border-radius:6px}progress::-moz-progress-bar{background:var(--progress,#3a9974);border-radius:6px}summary{cursor:pointer;font-weight:600;line-height:1.6}details[open]>summary{margin-bottom:16px}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th{color:#34494e;white-space:nowrap;background:#f4f7f9;font-weight:500}td,th{border:1px solid var(--border);text-align:left;padding:10px 12px;line-height:1.5}tr:nth-child(2n) td{background:#fbfcfd}ul,ol{padding-left:23px;line-height:1.9}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}.tabular{font-variant-numeric:tabular-nums}.panel{border-radius:var(--radius);background:#fff;border:1px solid #e0e7eb;min-width:0;padding:20px}.section-title{justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 12px;display:flex}.section-title h2{margin:0}.section-title>span{font-size:12px;line-height:1.6}.table-scroll{min-width:0;max-width:100%;overflow:auto}.app-header{border-bottom:1px solid var(--border);background:#fff;align-items:center;gap:48px;height:76px;padding:0 32px;display:flex}.brand{letter-spacing:-.055em;white-space:nowrap;color:#11262a;font-size:29px;font-weight:900;text-decoration:none}.app-header nav{align-self:stretch;gap:24px;display:flex}.app-header nav button{background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;min-width:70px;padding:0 12px;font-size:16px;font-weight:600}.app-header nav button.active{color:var(--green);border-bottom-color:var(--green);font-weight:800}.header-balance{white-space:nowrap;align-items:baseline;gap:12px;margin-left:auto;display:flex}.header-balance small{color:#415457}.header-balance strong{letter-spacing:-.02em;color:var(--green);font-variant-numeric:tabular-nums;font-size:24px}.header-balance strong span{font-size:15px}.app-shell main{max-width:1760px;min-height:calc(100vh - 130px);margin:0 auto;padding:22px 24px 36px}.workspace-fieldset{border:0;margin:0;padding:0}.notice{color:#285644;background:#edf5f0;border:1px solid #b9d6c9;border-radius:4px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:10px 16px;line-height:1.6;display:flex}.notice.error{color:#8a342e;background:#fff3ef;border-color:#e4bfb7}.notice button{background:0 0;border:0;min-height:26px;padding:0 4px;font-size:21px}.busy-notice{z-index:4;color:#fff;background:#155747;border-radius:5px;padding:14px 20px;position:fixed;top:84px;right:24px;box-shadow:0 4px 24px #153f352b}.app-footer{border-top:1px solid var(--border);color:#75858a;justify-content:space-between;gap:16px;padding:17px 26px;font-size:11px;display:flex}.race-layout{grid-template-columns:minmax(0,2.15fr) minmax(330px,1fr);align-items:start;gap:16px;display:grid}.race-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;display:flex}.race-heading h1{margin:0 0 8px;font-size:38px}.race-heading h1 span{letter-spacing:-.04em;font-size:44px}.race-heading p{flex-wrap:wrap;align-items:center;gap:16px;margin:0;font-size:14px;display:flex}.race-heading p .muted{border-left:1px solid #cbd4d8;padding-left:16px;font-size:12px}.meeting-meta{text-align:right;white-space:nowrap;flex-direction:column;gap:9px;display:flex}.meeting-meta small{color:var(--muted)}.meeting-picker{border-top:1px solid #e4eaec;margin-bottom:13px;padding-top:9px}.meeting-picker>summary{color:#526c64;font-size:12px}.form-pair{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.form-pair label{color:#536869;flex-direction:column;flex:1;gap:7px;min-width:120px;font-size:12px;display:flex}.form-pair select{font-size:14px}.form-pair button{white-space:nowrap}.meeting-picker .form-pair{padding-bottom:12px}.meeting-picker p{margin:10px 0 0;font-size:12px}.race-select{align-items:center;gap:18px;font-size:12px;display:flex}.race-select select{min-width:220px}.track-wrap{background:#dce7e1;border:1px solid #d2dee0;border-radius:3px;position:relative;overflow:hidden}.track{width:100%;height:365px;display:block}.race-hud{pointer-events:none;justify-content:space-between;gap:10px;display:flex;position:absolute;top:12px;left:12px;right:12px}.race-hud span{color:#315a4d;font-variant-numeric:tabular-nums;background:#fcffffed;border:1px solid #cbd8d2;border-radius:3px;padding:6px 10px;font-size:11px;font-weight:700}.race-hud span:first-child{color:#fff;background:#155747;border-color:#155747}.race-controls{flex-wrap:wrap;align-items:center;gap:8px;padding:14px 0;display:flex}.race-controls>.primary{min-height:44px;padding:10px 20px;font-size:15px}.speed-controls{gap:5px;display:flex}.speed-controls button{min-width:42px;min-height:38px;padding:7px 10px}.wind{border-left:1px solid var(--border);color:#465c60;margin-left:4px;padding-left:12px;font-size:12px}.lineup-wrap{align-items:center;gap:10px;margin-left:auto;display:flex}.lineup-wrap small{color:var(--muted)}.lineup{align-items:center;gap:12px;display:flex}.line{gap:2px;display:flex}.bib{background:var(--bib);color:var(--bib-ink);font-variant-numeric:tabular-nums;border:1px solid #15282928;border-radius:2px;justify-content:center;align-items:center;min-width:30px;height:30px;font-size:16px;font-weight:800;line-height:1;display:inline-flex}.bib.small{min-width:23px;height:23px;font-size:13px}.commentary-log{background:#f2f6f7;border-left:2px solid #92afa4;align-items:baseline;gap:14px;min-height:44px;margin-bottom:20px;padding:10px 12px;display:flex}.commentary-log>span{color:#5a706e;white-space:nowrap;font-size:11px}.commentary-log p{margin:0;font-size:12px;line-height:1.7}.rider-table td,.rider-table th{padding:6px 10px}.rider-table td:first-child{text-align:center;width:48px}.rider-table td strong{font-size:13px}.rider-table td small{color:var(--muted);font-size:10px;display:block}.rider-table td:nth-child(n+3){white-space:nowrap;font-size:12px}.rider-table th{font-size:12px}.rider-table .player-row td{background:#eaf4ee}.rider-table .player-row td:nth-child(2){box-shadow:inset 3px 0 #32856c}.running-order{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.running-order>span:first-child{margin-right:8px;font-size:11px}.running-order>span:last-child{margin-left:auto;font-size:11px}.race-log{margin:0 0 16px;font-size:12px}.race-log ol{max-height:240px;padding:0;list-style:none;overflow:auto}.race-log li{border-bottom:1px solid #e5ebed;padding:7px 0;line-height:1.6}.race-log time{width:72px;color:var(--muted);display:inline-block}.result-section{border-top:1px solid var(--border);margin:12px 0 20px;padding-top:16px}.podium{border:1px solid var(--border);border-radius:4px;margin-bottom:12px;display:flex}.podium>div{border-right:1px solid var(--border);flex-wrap:wrap;flex:1;align-items:center;gap:10px;padding:12px;display:flex}.podium>div:last-child{border-right:0}.podium strong{font-size:13px}.podium .muted,.result-section summary,.result-section table{font-size:12px}.next-race-controls{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:20px;display:flex}.next-race-controls small{color:var(--muted)}.cancelled-race{text-align:center;background:#f3f6f5;margin-bottom:24px;padding:50px 24px}.ticket-panel{padding:20px 16px}.ticket-disclosure>summary{letter-spacing:-.04em;font-size:25px;font-weight:800;list-style:none}.ticket-disclosure>summary::-webkit-details-marker{display:none}.ticket-disclosure[open]>summary{margin-bottom:14px}.ticket-fields{border:0;margin:0;padding:0}.bet-tabs{background:#f3f6f8;border-radius:3px;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:15px;padding:3px;display:grid}.bet-tabs button{white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;min-height:38px;padding:8px 4px;font-size:13px;font-weight:500}.bet-tabs button.active{color:var(--green);border-bottom-color:var(--green);background:#fff;font-weight:800}.bet-mode{color:#64767a;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;font-size:12px;display:flex}.bet-mode select{min-height:34px;padding:6px 9px;font-size:12px}.choice-row{justify-content:space-between;align-items:center;gap:16px;min-width:0;margin:0 0 12px;display:flex}.choice-row>label,.choice-row>strong{min-width:42px;font-size:13px}.choice-row>select{flex:1;min-width:0;height:44px;font-size:14px;font-weight:600}.choice-row.stacked{display:block}.choice-row.stacked>label,.choice-row.stacked>strong{margin-bottom:8px;display:block}.number-picker{flex-wrap:wrap;gap:5px;display:flex}.number-picker button{opacity:.55;border:1px solid #d5dfe0;min-width:35px;min-height:36px;padding:5px}.number-picker button.chosen{opacity:1;border:2px solid var(--green);background:#ebf4ef;padding:4px}.number-picker .bib{pointer-events:none}.bet-preview{background:#f5f8f9;border:1px solid #e0e7eb;border-radius:4px;margin:17px 0 14px;padding:18px 17px}.combination{text-align:center;letter-spacing:.06em;margin-bottom:15px;font-size:26px;font-weight:800}.odds-row{justify-content:space-between;gap:12px;margin-bottom:12px;font-size:13px;display:flex}.all-combinations{word-break:break-word;max-height:150px;font-size:11px;overflow:auto}.bet-preview summary{font-size:12px}.stake-row{justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.stake-row input{text-align:right;font-variant-numeric:tabular-nums;width:90px;min-height:36px;padding:6px 8px}.total-row{border-top:1px solid #d1dce0;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:14px;display:flex}.total-row>strong:last-child{color:var(--green);font-variant-numeric:tabular-nums;font-size:23px}.total-row small{font-size:12px;font-weight:500}.purchase{width:100%;min-height:54px;font-size:18px;font-weight:700}.purchase:disabled{font-size:13px}.ticket-caption{color:var(--muted);text-align:center;margin:10px 0 18px;font-size:11px}.field-error{color:#a13f37;font-size:12px}.purchased{border-top:1px solid var(--border);margin:0 -1px;padding-top:18px}.purchased h2{margin-bottom:12px;font-size:22px}.purchased h2 small{color:var(--muted);margin-left:8px;font-size:12px;font-weight:400}.empty-tickets{border:1px solid var(--border);color:#b5c1c7;flex-direction:column;justify-content:center;align-items:center;height:172px;display:flex}.empty-tickets p{color:#78898d;margin:14px 0 0;font-size:12px}.ticket-list{margin:0;padding:0;list-style:none}.ticket-list li{border-bottom:1px solid var(--border);padding:13px 0}.ticket-list li>div{justify-content:space-between;gap:10px;font-size:12px;display:flex}.ticket-list p{color:var(--muted);margin:6px 0;font-size:12px}.ticket-list .hit{color:#155747;background:#ecf5ef;border-radius:3px;margin:8px 0 0;padding:8px}.text-button{color:#687d78;background:0 0;border:0;min-height:36px;padding:6px 0;font-size:11px;text-decoration:underline}.wallet-summary{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.wallet-summary>div{justify-content:space-between;margin-bottom:4px;font-size:12px;display:flex}.wallet-summary>small{color:var(--muted);font-size:10px}.wallet-summary>button{width:100%;margin-top:10px;display:block}.reduced-track{color:#496559;background:#edf3f0;flex-direction:column;justify-content:center;align-items:center;min-height:240px;display:flex}.reduced-track p{margin-top:12px;font-size:12px}.tactics{background:#f7faf8;border:1px solid #bcd5ca;border-radius:4px;margin-bottom:14px;padding:14px}.tactics>.section-title{font-size:12px}.tactics progress{margin:10px 0 14px;display:block}.tactics small{color:#5f766a;margin-top:10px;font-size:11px;display:block}.action-buttons{flex-wrap:wrap;gap:6px;display:flex}.action-buttons button{flex:1;min-width:105px;padding:8px 10px;font-size:12px}.action-buttons kbd{border:1px solid #c5d4ce;border-radius:2px;margin-right:7px;padding:2px 4px;font:10px inherit;display:inline-block}.career-heading{align-items:center;gap:36px;margin-bottom:16px;padding:22px 24px;display:flex}.career-heading p{color:#597073;margin:0;font-size:14px}.class-ladder{flex:1;gap:4px;margin:0;padding:0;list-style:none;display:flex}.class-ladder li{text-align:center;color:#75858b;clip-path:polygon(0 0,87% 0,100% 50%,87% 100%,0 100%,12% 50%);background:#edf2f5;flex:1;padding:18px 2px;font-size:17px;font-weight:700}.class-ladder li:first-child{clip-path:polygon(0 0,87% 0,100% 50%,87% 100%,0 100%);min-width:85px}.class-ladder .current{color:#fff;background:var(--green)}.class-ladder .reached{color:#538776;background:#e4eee8}.career-grid{grid-template-columns:270px minmax(340px,1fr) 325px;align-items:stretch;gap:16px;display:grid}.player-panel{grid-row:span 2;padding:16px}.portrait{object-fit:cover;object-position:50% 30%;border-radius:3px;width:100%;height:254px;margin-bottom:18px;display:block}.player-panel h2{letter-spacing:.04em;margin:0 0 8px;font-size:28px}.player-panel>p{margin-bottom:14px;font-size:12px}.player-style{color:var(--green);margin:2px 0 18px;font-size:19px;display:block}.stat-list{border-top:1px solid var(--border);padding-top:16px}.stat-list label,.fatigue-stat{grid-template-columns:58px 1fr 28px;align-items:center;gap:10px;margin:0 0 13px;font-size:12px;display:grid}.stat-list label strong,.fatigue-stat strong{text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.stat-0{--progress:#64a9dc}.stat-1{--progress:#48a776}.stat-2{--progress:#e5a159}.stat-3{--progress:#df83aa}.stat-4{--progress:#9368cf}.stat-fatigue{--progress:#e7807f}.fatigue-stat{border-top:1px solid var(--border);margin-top:20px;padding-top:17px}.player-prize{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:18px;display:flex}.player-prize>strong{color:var(--green);font-size:23px}.player-prize small{color:var(--muted);font-size:11px}.training-panel h2{font-size:25px}.training-layout{grid-template-columns:1.05fr 1fr;gap:16px;margin-top:16px;display:grid}.weekly-plan{border:1px solid #d3dfe3;border-radius:3px}.weekly-plan label{border-bottom:1px solid #e0e7ea;align-items:center;gap:14px;min-height:74px;padding:12px;display:flex}.weekly-plan label:last-child{border-bottom:0}.weekly-plan label>span{text-align:center;min-width:28px;font-size:19px;font-weight:700}.weekly-plan select{width:100%;min-width:0;padding:8px;font-size:14px;font-weight:600;line-height:1.5}.training-actions{flex-direction:column;gap:12px;display:flex}.training-actions h3{margin:0;font-size:16px}.training-actions p{margin:0;font-size:12px;line-height:1.9}.training-actions>button{min-height:45px;font-size:12px}.training-actions .advance-week{min-height:60px;margin-top:auto;padding:12px 8px;font-size:14px;line-height:1.7}.goal-panel{padding:18px}.goal-panel h2{font-size:26px}.goal-list{border:1px solid var(--border);border-radius:4px;margin:0;padding:0;list-style:none}.goal-list li{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 13px;font-size:13px;display:flex}.goal-list li:last-child{border-bottom:0}.goal-list li small{color:#81908e;font-size:10px;line-height:1.5;display:block}.check-box{color:#fff;background:#fff;border:1px solid #8ca19e;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:19px;height:19px;display:inline-flex}.check-box.checked{background:var(--green);border-color:var(--green)}.next-trial{flex-direction:column;gap:8px;padding:16px 0 12px;display:flex}.next-trial small{color:var(--muted);font-size:11px}.next-trial strong{justify-content:space-between;font-size:17px;display:flex}.next-trial strong span{color:var(--green);font-size:15px}.goal-panel>button{width:100%;margin:0 0 8px;font-size:12px;display:block}.coach-note{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.coach-note h3{margin:0 0 10px;font-size:17px}.coach-note p{color:#52666a;background:#f1f5f7;border-radius:4px;margin:0;padding:12px;font-size:12px}.social-panel{grid-column:2/4;padding:18px}.social-panel .section-title h2{font-size:25px}.social-body{grid-template-columns:1.05fr 1fr;align-items:center;gap:22px;display:grid}.social-body img{object-fit:cover;object-position:center;border-radius:3px;width:100%;height:160px}.social-body p{margin-bottom:13px;font-size:13px;line-height:1.9}.social-actions{gap:10px;margin-bottom:9px;display:flex}.social-actions button{flex:1;min-height:44px;padding:9px 12px;font-size:13px}.social-body small{font-size:10px}.career-racing{grid-area:span 2/2/auto/4}.career-bottom{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.career-bottom h2{font-size:22px}.career-log{margin:0;padding:0;list-style:none}.career-log li{border-bottom:1px solid #e4eaec;padding:9px 0;font-size:12px;line-height:1.7}.career-log li:first-child{color:var(--green);font-weight:600}.career-bottom table{font-size:12px}.career-bottom .table-scroll>small{margin-top:10px;font-size:10px;display:block}.last-race{margin-top:16px}.career-entry{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.career-entry .section-title h2{font-size:21px}.career-entry>button{margin-top:14px}.career-entry>small{margin-top:9px;font-size:10px;display:block}.season-numbers{margin:0}.season-numbers>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:12px 0;font-size:12px;display:flex}.season-numbers dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.goal-panel>p.muted{margin-top:18px;font-size:11px}.class-goal{color:var(--green);font-size:16px;font-weight:700}.achievement{color:var(--green);background:#e8f3ec;border:1px solid #b4d1c1;border-radius:3px;padding:12px;font-size:12px;font-weight:700}.career-create{grid-template-columns:1.3fr 1fr;gap:36px;max-width:1080px;margin:28px auto;padding:42px;display:grid}.career-create h1{margin-top:15px;font-size:42px}.career-create .lead{color:#45635b;margin-bottom:28px;font-size:16px}.career-create>img{object-fit:cover;object-position:center;border-radius:4px;width:100%;height:530px}.career-create form{max-width:460px;margin-top:25px}.career-create form>label{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.career-create form .muted{margin-bottom:15px;font-size:12px}.career-create form .primary{width:100%;min-height:52px;font-size:16px}.page-title{margin-bottom:22px}.page-title h1{margin-bottom:10px;font-size:34px}.page-title p{margin:0;font-size:14px}.roster-screen,.guide-screen{max-width:1340px;margin:0 auto}.roster-filters{align-items:end;gap:20px;margin-bottom:22px;display:flex}.roster-filters label{flex-direction:column;gap:8px;font-size:12px;display:flex}.roster-filters label:first-child{width:350px;max-width:100%}.roster-filters>span{margin-left:auto;padding-bottom:10px;font-size:12px}.roster-screen table{white-space:nowrap;font-size:13px}.roster-screen .panel>p{margin:18px 0 0;font-size:12px}.load-more{margin:22px auto 0;display:block}.comparison{background:#f4f8f6;border:1px solid #cddfd5;gap:20px;margin-bottom:22px;padding:22px;display:flex}.comparison>div{flex:1}.comparison h2{margin:0 0 7px;font-size:22px}.comparison p{font-size:12px}.comparison label{grid-template-columns:65px 1fr 30px;align-items:center;gap:12px;margin-bottom:9px;font-size:12px;display:grid}.guide-screen>.panel{margin-bottom:20px}.guide-screen .panel h2{font-size:23px}.guide-screen .panel p,.guide-screen .panel li{font-size:13px;line-height:1.9}.guide-screen .panel a{font-size:12px}.guide-columns{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}.guide-screen table{font-size:13px}.settings-actions{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.setting-toggle{align-items:center;gap:12px;margin-top:22px;font-size:13px;display:flex}.bet-guide{margin:0}.bet-guide>div{border-bottom:1px solid var(--border);grid-template-columns:74px 1fr;gap:18px;padding:11px 0;font-size:13px;display:grid}.bet-guide dt{font-weight:700}.bet-guide dd{margin:0;line-height:1.7}.instructions li{margin-bottom:10px}.scope-list li{margin-bottom:12px}.import-preview{background:#f3f7f4;border:1px solid #b4cdbd;border-radius:4px;margin-top:20px;padding:20px}.import-preview button{margin-right:10px}.empty-message{text-align:center;padding:30px}@media (width>=1600px){.track{height:410px}.career-grid{grid-template-columns:290px minmax(390px,1fr) 350px}.portrait{height:295px}.weekly-plan label{min-height:84px}.social-body img{height:195px}}@media (width<=1320px){.app-header{gap:30px;padding:0 24px}.app-header nav{gap:10px}.brand{font-size:26px}.race-layout{grid-template-columns:minmax(0,1.9fr) 340px}.race-heading h1{font-size:31px}.race-heading h1 span{font-size:37px}.race-heading p{gap:9px;font-size:12px}.race-heading p .muted{padding-left:9px;font-size:10px}.meeting-meta small{font-size:10px}.meeting-meta{font-size:12px}.track{height:320px}.lineup-wrap{margin-left:0}.career-grid{grid-template-columns:235px minmax(330px,1fr) 275px;gap:12px}.career-heading{gap:20px}.career-heading h1{font-size:29px}.class-ladder li{padding:16px 2px;font-size:15px}.career-heading p{font-size:12px}.training-panel{padding:16px}.training-panel .section-title{display:block}.training-panel .section-title>span{margin-top:5px;display:block}.training-layout{gap:12px}.weekly-plan label{gap:7px;padding:8px}.weekly-plan select{padding:8px 4px;font-size:12px}.goal-panel{padding:15px}.portrait{height:230px}.social-body{gap:16px}.social-body p{font-size:12px}.social-actions button{padding:9px 6px;font-size:12px}.social-panel .section-title>span{font-size:10px}.social-body img{height:150px}}@media (width<=1080px){.app-header{gap:20px}.brand{font-size:24px}.app-header nav{gap:6px}.app-header nav button{min-width:60px;padding:0 8px;font-size:14px}.header-balance{gap:8px}.header-balance small{font-size:10px}.header-balance strong{font-size:20px}.app-shell main{padding:18px 16px 30px}.race-layout{grid-template-columns:minmax(0,1fr) 310px;gap:12px}.panel{padding:16px}.meeting-meta{display:none}.race-heading h1{font-size:30px}.race-heading h1 span{font-size:36px}.race-heading p .muted{display:none}.race-controls>.primary{padding:9px 14px}.track{height:300px}.ticket-panel{padding:16px 13px}.bet-preview{padding:15px 12px}.race-hud span{padding:5px 7px;font-size:10px}.career-heading{display:block}.class-ladder{margin-top:20px}.career-grid{grid-template-columns:225px minmax(0,1fr)}.player-panel{grid-row:span 2}.training-panel,.goal-panel{grid-column:2}.social-panel{grid-column:1/3}.career-racing{grid-area:span 2/2}.training-layout{grid-template-columns:1fr 1fr}.goal-list{grid-template-columns:1fr 1fr;display:grid}.goal-list li:nth-last-child(2){border-bottom:0}.coach-note{display:none}.career-create{gap:24px;padding:30px}.career-create h1{font-size:32px}.career-create>img{height:500px}.action-buttons button{min-width:115px}.race-heading p strong{font-size:13px}.podium{flex-direction:column}.podium>div{border-right:0;border-bottom:1px solid var(--border);padding:9px}.podium>div:last-child{border-bottom:0}}@media (width<=760px){body{font-size:14px}.app-header{grid-template-columns:1fr auto;gap:0 10px;height:auto;min-height:105px;padding:15px 16px 0;display:grid}.brand{font-size:23px}.header-balance{flex-direction:column;grid-area:1/2;align-items:flex-end;gap:0}.header-balance strong{font-size:19px}.header-balance strong span{font-size:12px}.header-balance small{font-size:9px}.app-header nav{grid-area:2/1/auto/3;justify-content:space-between;gap:4px;margin-top:10px}.app-header nav button{flex:1;min-width:0;min-height:44px;padding:8px 4px;font-size:13px}.app-shell main{padding:14px 12px 24px}.race-layout{flex-direction:column;gap:14px;display:flex}.race-panel,.ticket-panel{width:100%}.race-panel{padding:14px 12px}.race-heading{gap:5px;margin-bottom:10px}.race-heading h1{margin-bottom:6px;font-size:30px}.race-heading h1 span{font-size:34px}.race-heading p strong{font-size:12px}.track{height:245px}.race-hud{gap:5px;top:8px;left:7px;right:7px}.race-hud span{padding:5px;font-size:9px}.race-hud span:last-child{display:none}.race-controls{gap:7px;padding:12px 0}.race-controls>.primary{min-height:42px;font-size:14px}.race-controls>button{padding:8px 10px;font-size:12px}.speed-controls button{min-width:35px;min-height:35px;padding:6px 8px;font-size:12px}.wind{border:0;margin-left:auto;padding:0;font-size:10px}.lineup-wrap{justify-content:flex-end;width:100%;margin-top:2px}.lineup-wrap>small{font-size:10px}.bib.small{min-width:22px;height:22px;font-size:12px}.lineup{gap:9px}.commentary-log{gap:10px;margin-bottom:17px;padding:9px 10px}.commentary-log p{font-size:11px}.race-panel .section-title{gap:10px;margin-bottom:10px}.race-panel .section-title h2{font-size:22px}.race-panel .section-title>span{font-size:10px}.rider-table{min-width:570px}.rider-table td,.rider-table th{padding:6px 8px}.rider-table td:nth-child(2){min-width:125px}.rider-table .bib{min-width:27px;height:27px;font-size:14px}.ticket-panel{padding:18px 14px}.ticket-disclosure>summary{justify-content:space-between;align-items:center;font-size:24px;display:flex}.ticket-disclosure>summary:after{content:"＋";color:#627a72;font-size:20px;font-weight:400}.ticket-disclosure[open]>summary:after{content:"−"}.bet-tabs button{min-height:43px;font-size:13px}.ticket-mode{font-size:13px}.bet-mode select{min-height:38px;font-size:13px}.choice-row>select{min-height:46px;font-size:14px}.purchase{font-size:17px}.empty-tickets{height:130px}.panel{padding:16px 14px}.app-footer{flex-direction:column;gap:5px;padding:15px 16px;font-size:10px}.notice{padding:10px 12px;font-size:12px}.busy-notice{text-align:center;font-size:12px;top:115px;left:12px;right:12px}.career-create{flex-direction:column-reverse;gap:18px;margin:0;padding:20px;display:flex}.career-create>img{object-position:50% 25%;height:240px}.career-create h1{margin-top:5px;font-size:28px}.career-create .lead{margin-bottom:15px;font-size:12px}.career-create p{font-size:12px}.career-create form{margin-top:20px}.career-create form label,.career-create form select{font-size:12px}.career-heading{margin-bottom:14px;padding:18px 14px}.career-heading h1{white-space:normal;font-size:26px}.career-heading p{font-size:11px}.class-ladder{gap:2px;margin-top:18px}.class-ladder li{padding:13px 1px;font-size:12px}.class-ladder li:first-child{min-width:57px}.career-grid{flex-direction:column;gap:14px;display:flex}.player-panel{grid-template-columns:104px 1fr;column-gap:17px;padding:14px;display:grid}.portrait{grid-area:1/1/6;height:156px;margin:0}.player-panel h2{grid-column:2;margin:0 0 4px;font-size:24px}.player-panel>p{grid-column:2;margin:0 0 4px;font-size:10px}.player-panel>small{grid-column:2;margin-top:3px;font-size:10px}.player-style{grid-column:2;margin:0 0 5px;font-size:16px}.stat-list{grid-column:1/3;grid-template-columns:1fr 1fr;gap:6px 16px;margin-top:14px;padding-top:16px;display:grid}.stat-list label{grid-template-columns:50px 1fr 23px;gap:6px;margin-bottom:7px;font-size:10px}.stat-list label strong{font-size:12px}.stat-list progress{height:8px}.fatigue-stat{grid-column:1/3;grid-template-columns:50px 1fr 28px;gap:10px;margin:8px 0 0;padding-top:13px;font-size:11px}.player-prize{flex-flow:wrap;grid-column:1/3;align-items:baseline;gap:12px;margin-top:14px;padding-top:13px}.player-prize strong{font-size:20px}.training-panel h2,.goal-panel h2,.social-panel .section-title h2{font-size:23px}.training-panel .section-title>span{margin-top:6px;font-size:10px}.training-layout{grid-template-columns:1fr;gap:12px}.weekly-plan label{min-height:54px;padding:7px 10px}.weekly-plan label>span{min-width:32px;font-size:16px}.weekly-plan select{min-height:38px;font-size:14px}.training-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:4px;display:grid}.training-actions h3,.training-actions p,.training-actions .advance-week{grid-column:1/3}.training-actions h3{font-size:15px}.training-actions p{font-size:11px}.training-actions>button{min-height:42px;font-size:12px}.training-actions .advance-week{min-height:50px;margin-top:2px;font-size:15px}.goal-list{display:block}.goal-list li{padding:11px 12px;font-size:13px}.goal-list li:nth-last-child(2){border-bottom:1px solid var(--border)}.goal-list li small{margin-left:12px;font-size:10px;display:inline}.goal-panel>button{min-height:44px;font-size:13px}.next-trial{padding:15px 0}.coach-note{margin-top:16px;display:block}.coach-note h3{font-size:16px}.coach-note p{font-size:11px}.social-panel .section-title{display:block}.social-panel .section-title>span{margin-top:4px;font-size:10px;display:block}.social-body{grid-template-columns:1fr;gap:13px}.social-body img{aspect-ratio:2.7;object-fit:cover;height:auto}.social-body p{margin-bottom:10px;font-size:12px}.social-actions button{min-height:44px;padding:10px 8px;font-size:12px}.career-bottom{grid-template-columns:1fr;gap:14px;margin-top:14px}.career-bottom h2{font-size:22px}.career-bottom table{font-size:11px}.career-bottom td,.career-bottom th{padding:8px}.career-log li{font-size:11px}.tactics{padding:12px}.action-buttons{gap:5px}.action-buttons button{min-width:88px;min-height:42px;padding:8px 6px;font-size:11px}.action-buttons kbd{display:none}.tactics small{font-size:10px}.running-order{gap:4px}.running-order>span:first-child{width:100%;margin-bottom:3px}.running-order>span:last-child{font-size:9px}.result-section h2{font-size:22px}.podium{flex-flow:wrap}.podium>div{border:0;border-right:1px solid var(--border);flex-direction:column;flex:1;justify-content:center;gap:7px;min-width:100px;padding:12px 6px}.podium strong{font-size:11px}.podium>div:last-child{border:0}.next-race-controls button{font-size:12px}.next-race-controls small{font-size:10px}.page-title h1{font-size:28px}.page-title p{font-size:12px}.roster-filters{flex-wrap:wrap;gap:12px}.roster-filters label:first-child{width:100%}.roster-filters input,.roster-filters select{font-size:14px}.roster-filters>span{font-size:10px}.roster-screen table{font-size:12px}.roster-screen .panel>p{font-size:10px}.comparison{gap:15px;padding:13px}.comparison>div{min-width:0}.comparison h2{font-size:17px}.comparison label{grid-template-columns:1fr 22px;gap:5px;font-size:10px}.comparison label progress{grid-area:auto/1}.comparison label strong{grid-column:2}.comparison p{font-size:10px}.guide-columns{grid-template-columns:1fr;gap:14px;margin-bottom:14px}.guide-screen>.panel{margin-bottom:14px}.guide-screen .panel h2{font-size:22px}.guide-screen .panel p,.guide-screen .panel li{font-size:12px}.guide-screen .panel ul,.guide-screen .panel ol{padding-left:18px}.guide-screen .panel a{overflow-wrap:anywhere;font-size:11px}.guide-screen table{min-width:480px;font-size:12px}.settings-actions{gap:8px;margin:16px 0}.settings-actions button{min-height:44px;font-size:12px}.setting-toggle{align-items:center;font-size:11px;line-height:1.6}.setting-toggle input{flex-shrink:0}.bet-guide>div{grid-template-columns:65px 1fr;gap:12px;font-size:12px}.import-preview{padding:14px}.import-preview p{word-break:break-all}.reduced-track{min-height:220px;font-size:13px}.reduced-track p{font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.app-header{flex-wrap:wrap;height:64px}.app-shell main{width:100%;min-width:0;padding-top:16px}.workspace-fieldset,.race-player,.career-grid>*,.training-layout>*,.social-body>*{min-width:0}.section-title{flex-wrap:wrap;gap:5px 12px}.section-title>span,.notice,.player-panel h2,.career-log,.milestone-list{overflow-wrap:anywhere}.form-pair label{flex-basis:140px;min-width:0}.form-pair select,.race-select select{width:100%;min-width:0}.race-select select{flex:1}.race-controls,.lineup-wrap,.lineup{min-width:0}.lineup,.lineup-wrap{flex-wrap:wrap}.table-scroll{overscroll-behavior-x:contain}.table-scroll:focus-visible{outline:2px solid var(--green);outline-offset:2px}.app-footer{flex-wrap:wrap}.race-heading>div:first-child{align-items:center;gap:20px;display:flex}.race-heading h1{white-space:nowrap;margin:0}.race-heading>div:first-child{flex-wrap:wrap;min-width:0}.meeting-meta{white-space:normal}.race-heading p{row-gap:5px}.race-heading p .muted{border:0;padding:0}.race-heading{min-height:53px;margin-bottom:8px}.track{height:350px}.rider-table td{padding:4px 10px}.rider-table td small{margin-left:10px;font-size:10px;display:inline}.rider-table td:nth-child(2){min-width:190px}.rider-table .bib{min-width:28px;height:26px;font-size:14px}.empty-tickets{height:130px}.race-controls+.section-title{margin-top:8px}.career-heading{gap:18px;margin-bottom:12px;padding:10px 18px}.career-heading h1{white-space:normal;margin-bottom:5px;font-size:26px}.class-ladder{min-width:0}.class-ladder li{min-width:0;padding:10px 2px}.career-grid{grid-template-columns:220px minmax(0,1fr) 280px;align-items:start;gap:14px}.player-panel{grid-row:span 2}.portrait{height:120px;margin-bottom:10px}.player-panel h2{font-size:24px}.player-style{margin-bottom:10px;font-size:17px}.stat-list{padding-top:12px}.stat-list label{grid-template-columns:52px minmax(0,1fr) 28px;gap:7px;margin-bottom:10px}.fatigue-stat{grid-template-columns:52px minmax(0,1fr) 28px;gap:7px;margin-top:12px;padding-top:12px}.training-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:12px}.weekly-plan label{gap:8px;min-height:51px;padding:5px 9px}.weekly-plan label>span{min-width:24px;font-size:16px}.weekly-plan select{padding:8px 5px}.training-actions{gap:8px}.training-actions .advance-week{min-height:48px;margin-top:auto;padding:10px 8px}.career-tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.career-tabs button{flex:140px;padding:9px 14px}.career-tabs button small{color:#315c46;background:#ecf4ed;border-radius:3px;margin-left:8px;padding:1px 6px;font-size:11px;line-height:1.6;display:inline-block}.career-tabs button[aria-current=page]{background:var(--green);border-color:var(--green);color:#fff}.plan-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.plan-presets button{min-width:0;padding:8px 6px;font-size:12px;line-height:1.5}.plan-presets button[aria-pressed=true]{border-color:var(--green);color:var(--green);box-shadow:inset 0 0 0 1px var(--green);background:#e9f3ed}.training-forecast{background:#f1f7f3;border:1px solid #cdded5;border-radius:4px;padding:10px}.training-forecast h3{margin-bottom:6px;font-size:14px}.training-forecast p,.training-forecast>small{font-size:12px;line-height:1.7}.training-forecast>small{display:block}.training-forecast p{margin:6px 0 0}.forecast-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;margin:8px 0;padding:0;font-size:12px;display:grid}.forecast-stats div{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 5px;min-width:0;display:flex}.forecast-stats dd{font-variant-numeric:tabular-nums;color:var(--green);margin:0;font-weight:700}.goal-panel h2{margin-bottom:12px;font-size:23px}.goal-list li{gap:10px;padding:8px 11px}.next-trial{gap:5px;padding:10px 0}.coach-note{margin-top:10px;padding-top:10px;display:block}.coach-note summary{font-size:13px}.coach-note[open]>summary{margin-bottom:8px}.career-view-life .social-panel{grid-column:2}.career-view-life .social-body{grid-template-columns:minmax(0,1fr);gap:14px}.career-view-life .social-body img{height:150px}.milestones-panel{grid-column:3}.life-event h3{margin-bottom:8px}.event-choices{gap:8px;display:grid}.event-choices button{text-align:left;white-space:normal;min-width:0;padding:11px 12px}.event-choices strong,.event-choices small{line-height:1.6;display:block}.event-choices small{margin-top:3px;font-size:12px;font-weight:400}.milestone-list{margin:0;padding:0;list-style:none}.milestone-list li{border-bottom:1px solid var(--border);padding:12px 0;font-size:13px;line-height:1.7}.milestone-list li:first-child{padding-top:0}.milestone-list li:last-child{border-bottom:0}.milestone-list small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.career-grid>.career-bottom{grid-column:2/4;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:0}.career-create{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);margin:0 auto;padding:28px}.career-create>div,.career-create form{min-width:0}.career-create>img{height:480px}.career-create input,.career-create select{width:100%}.guide-columns{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width>=761px){.app-shell{grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;display:grid}.app-header{gap:12px 24px;height:auto;min-height:64px;padding-top:6px;padding-bottom:6px}.app-header nav{min-height:48px}.app-shell main{overscroll-behavior-y:contain;scrollbar-gutter:stable;min-height:0;padding-bottom:18px;overflow:auto}.app-footer{padding:10px 24px}.track{height:clamp(230px,40dvh,350px)}.ticket-disclosure[open]>summary{margin-bottom:10px}.bet-preview{margin:12px 0 10px;padding:12px}.combination{margin-bottom:10px}.total-row{margin-top:10px;padding-top:10px}}@media (width>=1101px){.training-panel{padding:16px}.training-panel h2{font-size:23px}.training-panel .section-title{margin-bottom:10px}.plan-presets{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-presets button{min-height:38px;padding:7px 6px}}@media (width>=1600px){.track{height:390px}}@media (width<=1320px){.race-heading>div:first-child{align-items:baseline;gap:13px}.race-heading p{display:block}.race-heading p .muted{margin-top:4px;display:block}.career-grid{grid-template-columns:200px minmax(0,1fr) 250px}}@media (width<=1100px){.career-grid{grid-template-columns:200px minmax(0,1fr)}.training-panel,.goal-panel,.career-racing,.career-view-life .social-panel,.milestones-panel,.career-grid>.career-bottom{grid-column:2}.career-grid>.career-bottom{grid-template-columns:minmax(0,1fr)}.career-heading{display:block}.class-ladder{margin-top:14px}.training-panel .section-title{display:block}.training-panel .section-title>span{margin-top:5px;display:block}.race-layout{grid-template-columns:minmax(0,1fr) minmax(270px,.68fr)}.race-heading{flex-wrap:wrap}.race-heading>div:first-child{align-items:center}.race-heading p .muted{display:block}}@media (width>=761px) and (width<=900px){.app-header{gap:8px 14px;padding-left:16px;padding-right:16px}.app-header nav{gap:2px}.app-header nav button{padding-left:6px;padding-right:6px}.header-balance{gap:5px}.header-balance strong{font-size:18px}.training-layout{grid-template-columns:minmax(0,1fr)}.career-create{gap:22px;padding:22px}.career-create h1{font-size:29px}}@media (width<=760px){.app-header{grid-template-columns:minmax(0,1fr) auto;height:auto;padding:12px 12px 0}.brand{font-size:clamp(19px,5.5vw,23px)}.header-balance strong{font-size:18px}.app-shell main{padding-top:14px}.section-title{align-items:flex-start}.race-heading>div:first-child{display:block}.race-heading h1{margin-bottom:6px}.track{height:245px}.rider-table td{padding:5px 8px}.rider-table td:nth-child(2){min-width:140px}.rider-table td small{margin:3px 0 0;font-size:11px;display:block}.race-hud span{font-size:11px}.wind,.lineup-wrap>small{font-size:12px}.lineup-wrap{justify-content:flex-start}.race-controls>button,.speed-controls button{min-height:44px}.career-heading{margin-bottom:10px;padding:10px 12px}.career-heading h1{font-size:23px}.career-heading p{font-size:12px}.class-ladder{margin-top:10px}.class-ladder li{padding:8px 1px;font-size:12px}.class-ladder li:first-child{min-width:54px}.career-tabs{gap:5px}.career-tabs button{flex:1 1 0;padding:9px 5px;font-size:12px;line-height:1.6}.career-tabs button small{width:fit-content;margin:2px auto 0;display:block}.career-grid{align-items:stretch;gap:14px}.player-panel{grid-template-columns:68px minmax(0,1fr);column-gap:12px;padding:12px}.portrait{height:94px;margin:0}.player-panel h2{font-size:21px}.player-panel>p,.player-panel>small{font-size:12px}.player-panel>.fatigue-stat+p{grid-column:1/-1;margin:6px 0 0}.stat-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 10px;margin-top:8px;padding-top:8px}.stat-list label{grid-template-columns:minmax(0,1fr) 25px;gap:3px;margin-bottom:5px;font-size:12px}.stat-list progress{grid-area:2/1;width:100%}.stat-list label strong{grid-area:1/2/3}.fatigue-stat{margin-top:5px;padding-top:8px}.training-layout{grid-template-columns:minmax(0,1fr)}.training-actions{margin-top:0;display:flex}.training-actions p,.training-panel .section-title>span,.social-panel .section-title>span{font-size:12px}.weekly-plan select{min-height:44px;font-size:16px}.training-actions .advance-week{margin-top:4px}.training-forecast{margin-top:0}.career-view-life .social-body img{aspect-ratio:2.7;height:auto}.career-grid>.career-bottom{grid-template-columns:minmax(0,1fr)}.career-bottom td,.career-bottom th{padding:8px 6px}.career-log li,.coach-note p,.goal-list li small,.social-body small,.career-bottom .table-scroll>small{font-size:12px}.career-create{gap:16px;padding:18px}.career-create>img{height:200px}.career-create p,.career-create .lead,.career-create form label{font-size:13px}.career-create input,.career-create form select{font-size:16px}.guide-columns{grid-template-columns:minmax(0,1fr)}.roster-filters>span{margin-left:0;font-size:12px}.busy-notice{overflow-wrap:anywhere}}.practice-panel{grid-column:2/-1;min-width:0}.practice-roles,.director-riders,.director-team{flex-wrap:wrap;gap:8px;display:flex}.practice-roles{margin:16px 0}.practice-roles button[aria-pressed=true],.director-riders button[aria-pressed=true],.race-director .action-buttons button[aria-pressed=true]{color:#194632;background:#dfece5;border-color:#436e58}.practice-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.practice-fields label{flex-direction:column;gap:6px;min-width:0;display:flex}.practice-fields select{width:100%;min-width:0}.practice-fields small{color:#52645e;line-height:1.6}.practice-line{flex-wrap:wrap;gap:10px;margin:18px 0;padding:0;list-style:none;display:flex}.practice-line li{background:#f0f4ef;border-radius:7px;padding:10px 14px}.practice-line small,.practice-line strong{display:block}.practice-result{border-top:1px solid #dce3da;margin-top:16px;padding-top:16px}.race-director{background:#fafcf8;border:1px solid #cddbd0;border-radius:8px;margin-top:12px;padding:12px}.race-director .section-title{flex-wrap:wrap;gap:5px;margin-bottom:10px}.director-riders button{text-align:left;align-items:center;gap:8px;padding:8px 10px;display:flex}.director-riders small{font-size:11px;display:block}.role-advice{margin:10px 0;font-size:12px;line-height:1.6}.race-director .action-buttons{flex-wrap:wrap;gap:6px;display:flex}.race-director .action-buttons button{flex:90px}.signature-card{background:#edf0e4;border-radius:7px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:12px;display:flex}.signature-card>div:first-child{flex:260px;min-width:0}.signature-card p{margin:6px 0;font-size:12px}.signature-card small{margin-top:6px;font-size:11px;display:block}.role-report{margin-top:12px;font-size:12px}.role-report ul{padding-left:20px;line-height:1.8}@media (width<=760px){.practice-panel{grid-column:1/-1}.practice-fields{grid-template-columns:minmax(0,1fr)}.practice-fields select{font-size:16px}.practice-panel .section-title{flex-wrap:wrap}.director-riders button{flex:120px}.director-team button{flex:100px}.signature-card>div:last-child,.signature-card button{width:100%}}.broadcast-picture{border-radius:4px;position:relative;overflow:hidden}.broadcast-picture .track{display:block}.broadcast-stage{color:#fff;pointer-events:none;background:#183b35ed;border-left:4px solid #d5e4c8;border-radius:3px;max-width:calc(100% - 158px);padding:9px 12px;position:absolute;bottom:12px;left:12px}.broadcast-stage strong{letter-spacing:.04em;font-size:20px;display:block}.broadcast-stage small{margin-top:3px;font-size:11px;line-height:1.5;display:block}.broadcast-stage.bell-stage{border-left-color:#f2ca66}.broadcast-map{pointer-events:none;width:120px;height:60px;position:absolute;bottom:10px;right:10px}.broadcast-controls{flex-wrap:wrap;align-items:center;gap:6px;padding:8px 0;display:flex}.broadcast-controls button{min-height:36px;padding:6px 10px;font-size:12px}.broadcast-controls small{color:#536b61;font-size:11px}@media (width<=760px){.broadcast-stage{max-width:calc(100% - 101px);padding:6px 8px;bottom:7px;left:6px}.broadcast-stage strong{font-size:15px}.broadcast-stage small{display:none}.broadcast-map{width:84px;height:42px;bottom:5px;right:5px}.broadcast-controls button{min-height:44px}.broadcast-controls small{width:100%}}.rider-voices{background:#fffdf7;border:1px solid #d7dfd5;border-radius:7px;margin:12px 0;padding:12px}.voice-heading{flex-wrap:wrap;align-items:center;gap:6px 9px;font-size:13px;display:flex}.voice-heading>span:last-child{color:#665f47;margin-left:auto;font-size:12px}.voice-heading small{color:#627064}.voice-columns{grid-template-columns:1fr 1.3fr;gap:10px;margin:9px 0;display:grid}.voice-columns p{background:#f3f5ef;border-radius:7px;margin:0;padding:10px;font-size:12px;line-height:1.8}.voice-columns .rider-thought{background:#f8edcf;border:1px dashed #c2ab6f}.voice-columns small{color:#6c725f;font-size:10px;display:block}.paddock-comments{margin-top:9px;font-size:12px}.paddock-comments>div{border-top:1px solid #e2e4d9;padding:10px 0}.paddock-comments p{margin:5px 0;line-height:1.7}.life-conversation{margin:12px 0}.life-conversation p{background:#f4f3e8;border-radius:6px;grid-template-columns:110px minmax(0,1fr);gap:8px;padding:9px 12px;display:grid}.life-conversation p:last-child{background:#e9f1e8}.life-conversation strong{font-size:12px}.life-outcome{background:#f2f5ed;border-left:3px solid #78875b;padding:12px;line-height:1.8}@media (width<=760px){.voice-columns{grid-template-columns:minmax(0,1fr)}.life-conversation p{grid-template-columns:minmax(0,1fr);gap:3px}.rider-voices{padding:10px}}.live-rider-thought{background:#fcf5df;border-left:3px solid #b8a065;padding:7px 10px}.live-rider-thought small{color:#756541;font-size:11px}.live-rider-thought p{margin:3px 0 0;font-size:12px;line-height:1.6}.career-create .career-photo{align-content:start;gap:10px;min-width:0;display:grid}.career-photo>img{object-fit:contain;background:#f4f7f9;border-radius:6px;width:100%;height:320px}.career-photo label{gap:8px;font-size:13px;display:grid}.career-photo input[type=file]{width:100%;min-width:0;padding:8px;font-size:12px}@media (width<=760px){.career-photo>img{height:240px}}.photo-presets{flex-wrap:wrap;gap:8px;display:flex}.photo-presets button[aria-pressed=true]{border-color:var(--green);color:var(--green);background:#e8f2ec}.opening-call{color:#173e35;pointer-events:none;background:#fffffff0;border-left:4px solid #c89740;flex-wrap:wrap;align-items:center;gap:5px 12px;padding:7px 10px;display:flex;position:absolute;top:44px;left:12px;right:12px}.opening-call strong{font-size:18px}.opening-call span{font-size:12px}.broadcast-controls>[role=group]{flex-wrap:wrap;gap:5px;display:flex}.broadcast-controls>[role=group] button[aria-pressed=true]{border-color:var(--green);background:#e8f2ec}@media (width<=760px){.opening-call{gap:2px 8px;padding:5px 8px;top:40px;left:6px;right:6px}.opening-call strong{font-size:14px}.opening-call span{font-size:11px}}.track-3d{position:relative}.race-3d-bib{pointer-events:none;border:1px solid #fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;font-weight:800;line-height:1;display:grid;position:absolute;transform:translate(-50%,-100%);box-shadow:0 1px 3px #16332f55}.watch-results{background:#f4f9f6;border:1px solid #cdded5;border-radius:6px;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:18px;margin:12px 0 18px;padding:16px;display:grid}.watch-results>section{min-width:0;margin:0}.watch-results .podium{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.watch-results .podium>div{flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;padding:10px;display:flex}.result-payouts p{margin:0 0 8px;font-size:12px}.result-payouts table{width:100%}.result-payouts th,.result-payouts td{white-space:nowrap;padding:7px 8px;font-size:12px}.result-payouts td:nth-child(n+3){text-align:right}.result-payouts>small{margin-top:8px;font-size:11px;line-height:1.6;display:block}@media (width<=1100px){.watch-results{grid-template-columns:minmax(0,1fr)}}.race-player-interactive{--race-picture-height:clamp(210px, 42dvh, 420px)}.race-cutin{z-index:4;pointer-events:none;color:#fff9e9;clip-path:polygon(2% 0,100% 4%,98% 100%,0 96%);background:#11191708;border-block:2px solid #d8caa366;width:min(280px,26%);height:62px;animation:2.4s ease-out both manga-cutin;position:absolute;top:8px;left:12px;overflow:hidden}.race-cutin img{object-fit:cover;object-position:68% 46%;opacity:.12;width:100%;height:100%;position:absolute}.race-cutin-copy{z-index:1;text-shadow:1px 2px 2px #000;background:linear-gradient(90deg,#080f0d38,#080f0d0d 78%,#0000);flex-direction:column;justify-content:center;width:78%;height:100%;padding:7px 10px 7px 14px;display:flex;position:relative}.race-cutin-copy small{color:#e9dba9;overflow-wrap:anywhere;font-size:clamp(9px,.9vw,11px)}.race-cutin-copy strong{margin:3px 0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(15px,1.6vw,21px);font-weight:900;line-height:1.2}.race-cutin-copy span{font-size:clamp(9px,.9vw,11px);line-height:1.4}.race-cutin-no-image .race-cutin-copy{width:100%}@keyframes manga-cutin{0%{opacity:0;transform:translate(35px)scale(.98)}10%,84%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(-12px)}}@media (width<=760px){.race-cutin{width:min(140px,36%);height:46px;top:5px;left:6px}.race-cutin-copy{width:100%;padding:4px 6px}.race-cutin-copy small{font-size:9px}.race-cutin-copy strong{font-size:13px}.race-cutin-copy span{display:none}}@media (width>=761px) and (width<=1100px){.race-cutin{height:54px}.race-cutin-copy{width:90%;padding:4px 8px}.race-cutin-copy small{font-size:9px;line-height:1.15}.race-cutin-copy strong{margin:3px 0;font-size:16px;line-height:1.1}.race-cutin-copy span{display:none}}@media (prefers-reduced-motion:reduce){.race-cutin{animation:none}}.race-player-interactive>.track-wrap{z-index:5;position:sticky;top:0;box-shadow:0 4px 12px #173d3426}.race-player-interactive .track{height:var(--race-picture-height)}.race-player-interactive .reduced-track{min-height:0;height:var(--race-picture-height)}.race-player-interactive .broadcast-controls{flex-wrap:nowrap;gap:6px;padding:5px;overflow-x:auto}.race-player-interactive .broadcast-controls>*{flex-shrink:0}.race-player-interactive .broadcast-controls>[role=group]{flex-wrap:nowrap}.race-player-interactive .broadcast-controls>small{width:240px}@media (width<=760px){.race-player-interactive .broadcast-controls{flex-wrap:wrap;overflow-x:visible}.race-player-interactive .broadcast-controls>[role=group]{flex-wrap:wrap;max-width:100%}.race-player-interactive .broadcast-controls>small{width:100%}}.race-player-interactive .live-rider-thought p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.race-player-interactive :is(.race-director button,.race-controls button){scroll-margin-top:calc(var(--race-picture-height) + 150px);scroll-margin-bottom:16px}.race-status{border:1px solid #bbd3c6;border-left:4px solid var(--green);background:#f4f9f6;border-radius:6px;margin:10px 0;padding:12px 14px;font-size:13px}.race-player-interactive .race-status{scroll-margin-top:calc(var(--race-picture-height) + 150px)}.race-events{background:#f8fbf9;border:1px solid #cdded5;border-radius:6px;margin:12px 0;font-size:13px}.race-event-current{border-left:4px solid var(--green);padding:12px 14px}.career-review{border-left:5px solid var(--green);grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:12px 24px;margin-bottom:12px;display:grid}.career-review-warning{background:#fffaf2;border-left-color:#b96c25}.career-review h2{margin:2px 0 6px;font-size:21px}.career-review p{margin-bottom:0;font-size:13px}.career-review dl,.career-record-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.career-review dt,.career-record-summary dt{color:var(--muted);font-size:12px}.career-review dd,.career-record-summary dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:17px;font-weight:700}.career-review-last{border-top:1px solid var(--border);grid-column:1/-1;padding-top:8px}.career-retire{margin:0 0 12px}.career-retire p{font-size:13px}.career-retire-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.career-retire-actions strong{flex-basis:100%}.career-ending{color:#fff;background:linear-gradient(115deg,#14362f,#254b4c);margin-bottom:14px;padding:28px}.career-ending h1{max-width:28ch;margin:6px 0 10px;font-size:clamp(24px,4vw,34px)}.career-ending p{max-width:62ch}.career-ending button.primary{color:#18342e;background:#f2d38d;border-color:#f2d38d}.career-ending button.primary:hover:not(:disabled){background:#ffe0a1}.career-record-summary{grid-template-columns:repeat(4,minmax(0,1fr));padding:6px 0 18px}.career-record>details{margin-top:14px}.career-record .table-scroll{max-height:22rem;margin:10px 0;overflow:auto}.career-record .career-log{margin-bottom:0}.career-record-replay{margin-top:16px}.career-record-replay .race-player{margin-top:12px}.career-archive{margin-top:14px}.career-archive>label{gap:6px;max-width:360px;margin-bottom:18px;font-weight:600;display:grid}@media (width<=760px){.career-review{grid-template-columns:1fr}.career-record-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.career-ending{padding:20px}}.race-events strong{margin-top:5px;display:block}.race-events small{color:#52645c;font-size:11px}.race-events p{overflow-wrap:anywhere;margin:6px 0 0;line-height:1.65}.race-events summary{cursor:pointer;min-height:44px;padding:12px 14px}.race-events .race-events-note{color:#52645c;margin:0 14px 10px;font-size:12px}.race-events ol{overscroll-behavior:contain;max-height:360px;margin:0;padding:0 14px 12px;list-style:none;overflow-y:auto}.race-events li{border-top:1px solid #dce8e1;padding:10px 0}.race-player-interactive .race-events{scroll-margin-top:calc(var(--race-picture-height) + 150px)}@media (height<=600px){.race-player-interactive>.track-wrap{position:relative;top:auto}.race-player-interactive :is(.race-director button,.race-controls button,.race-status,.race-events){scroll-margin-top:16px}}.race-review{background:#f4f9f6;border:1px solid #bbd3c6;border-radius:6px;margin:14px 0;padding:16px;font-size:13px}.race-review h2{margin:0 0 12px;font-size:19px}.race-review h3{margin:18px 0 8px;font-size:15px}.race-review p{overflow-wrap:anywhere;line-height:1.7}.race-review-summary{gap:6px;display:grid}.race-review-settlement,.race-review-hint{background:#e7f0e9;border-radius:4px;padding:10px}.race-review-note{color:#52645c;font-size:12px}.race-review-training{border:1px solid #bbd3c6;border-radius:4px;padding:12px}.review-training{background:#f4f9f6;border-color:#bbd3c6;margin-bottom:16px}.review-training h2{font-size:19px}.review-training p,.review-training small{overflow-wrap:anywhere;line-height:1.7}.review-training-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0;display:grid}.review-training-options>div{background:#fff;border:1px solid #d4e1d8;border-radius:4px;padding:12px}.review-training-options h3{margin-top:0;font-size:15px}.review-training-options small{margin-top:8px;display:block}.review-training button{min-height:44px}.rival-chapter{border-color:#bfd3c8;margin:16px 0}.traits-panel{margin:16px 0}.traits-panel>summary,.race-traits>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:700}.traits-panel p,.race-traits{overflow-wrap:anywhere;line-height:1.7}.trait-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.trait-choices article{border:1px solid #d4e2d9;border-radius:6px;flex-direction:column;min-width:0;padding:16px;display:flex}.trait-choices article[data-equipped=true]{background:#e9f3ec;border-color:#286c53}.trait-choices h3{margin:0 0 8px;font-size:17px}.trait-choices h3 small{color:#315e4d;font-size:12px}.trait-choices p{margin:6px 0}.trait-choices progress{width:100%;height:8px}.trait-requirement{font-size:13px}.trait-actions{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:12px;display:flex}.trait-actions button{min-height:44px}@media (width<=760px){.trait-choices{grid-template-columns:1fr}.trait-actions button{width:100%}}.rival-chapter h2{margin:6px 0 12px;font-size:21px}.rival-chapter h3{font-size:16px}.rival-chapter p,.rival-chapter small{overflow-wrap:anywhere;line-height:1.7}.rival-chapter button,.rival-chapter summary{min-height:44px}.rival-chapter summary{cursor:pointer;padding:12px 0}.rival-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.rival-choices article{background:#f4f8f5;border:1px solid #d4e2d9;border-radius:6px;flex-direction:column;padding:16px;display:flex}.rival-choices blockquote{color:#496459;margin:0 0 16px;line-height:1.7}.rival-choices button{margin-top:auto}.rival-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.rival-heading>span{color:#315e4d;font-size:13px}.rival-weeks{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0;list-style:none;display:grid}.rival-weeks li{border:1px solid #d8e4dc;border-radius:4px;padding:12px}.rival-weeks strong,.rival-weeks span{margin-top:5px;font-size:12px;display:block}.rival-weeks [data-state=current]{background:#f2f8f4;border:2px solid #286c53}.rival-weeks [data-state=done]{background:#e9f3ec}.rival-actions{flex-wrap:wrap;gap:8px;display:flex}.rival-growth,.rival-comparison{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.rival-growth dt{color:#496459;font-size:12px}.rival-growth dd{font-variant-numeric:tabular-nums;margin:4px 0 0;font-weight:700}.rival-growth small,.rival-comparison span,.rival-comparison strong{display:block}.rival-week-review,.rival-outcome{background:#f2f8f4;border-radius:4px;margin-top:14px;padding:12px}.rival-outcome button{margin:4px 8px 4px 0}@media (width<=760px){.rival-choices{grid-template-columns:1fr}.rival-weeks,.rival-growth,.rival-comparison{grid-template-columns:repeat(2,minmax(0,1fr))}.rival-chapter h2{font-size:19px}.rival-actions button{width:100%}}.training-opportunity{background:#f2f8f4;border:1px solid #b5d5bd;border-left:4px solid #286c53;border-radius:6px;grid-template-columns:minmax(0,1fr) minmax(180px,.65fr);gap:16px;margin:16px 0;padding:16px;display:grid}.training-opportunity h3{margin:6px 0;font-size:19px}.training-opportunity p,.weekly-report p,.rival-epilogue p{overflow-wrap:anywhere;line-height:1.7}.training-opportunity small,.opportunity-bonds{color:#315e4d;font-size:12px}.training-opportunity button{width:100%;min-height:44px}.weekly-report{background:#fafbf6;border:1px solid #d5dfce;border-radius:6px;margin:12px 0;padding:12px 16px}.weekly-report summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:700}.weekly-report-reaction{margin-top:4px}.report-growth{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.report-growth>div{background:#fff;border:1px solid #dde7df;border-radius:4px;padding:10px}.report-growth dt{color:#496459;font-size:12px}.report-growth dd{font-variant-numeric:tabular-nums;margin:4px 0 0}.report-growth strong{color:#215f44;font-size:22px}.report-growth small{color:#52645c;margin-top:4px;display:block}.report-milestones{color:#215f44;padding-left:20px;font-weight:700}.rival-epilogue{border:1px solid #bfd3c8;border-radius:4px;margin:12px 0;padding:12px}.social-result{background:#e9f3ec;border-radius:4px;padding:12px}@media (width<=760px){.training-opportunity{grid-template-columns:1fr;gap:8px;padding:12px}.report-growth{grid-template-columns:repeat(2,minmax(0,1fr))}}#review-practice-setup,#review-weekly-training{scroll-margin-top:80px}@media (width<=760px){.review-training-options{grid-template-columns:1fr}.review-training-options button,.race-review-training button{width:100%}}.race-review-moments{gap:10px;margin:0;padding:0;list-style:none;display:grid}.race-review-moments li{background:#fff;border:1px solid #d4e1d8;border-radius:4px;padding:12px}.race-review-moments strong{margin-top:6px;display:block}.race-review-moments small{color:#52645c}.race-review button,.race-review summary{min-height:44px}.race-review summary{cursor:pointer;padding:12px 0}.race-review-commands{max-height:240px;padding-left:24px;line-height:1.9;overflow-y:auto}.race-review-energy{padding:0;list-style:none}.race-review-energy li{font-variant-numeric:tabular-nums;grid-template-columns:80px 1fr 42px;align-items:center;gap:10px;margin:7px 0;display:grid}.race-review-energy meter{width:100%}.race-review-jobs{padding:0;list-style:none}.race-review-jobs li{align-items:start;gap:8px;margin:12px 0;display:flex}.race-review-jobs strong,.race-review-jobs span{line-height:1.7;display:block}@media (width<=760px){.race-review{padding:12px}.race-review-moments button{width:100%}}.race-status-heading,.race-status-heading>div{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.race-status-heading{justify-content:space-between}.race-status-heading strong{font-size:16px}.race-status-heading span:not(.bib),.race-status-heading small{color:#466156;font-size:11px}.race-status-line{color:#466156;margin-top:5px;font-size:12px}.race-status-values{font-variant-numeric:tabular-nums;grid-template-columns:1fr 1fr 1.4fr;gap:10px;margin:10px 0;display:grid}.race-status-values dt,.race-status-orders p>span{color:#52645c;font-size:11px}.race-status-values dd{margin:3px 0 0;font-weight:700}.race-status-energy progress{accent-color:#277447;width:100%;height:6px;margin-top:4px;display:block}.race-status-energy[data-level=medium] progress{accent-color:#9d720a}.race-status-energy[data-level=low] progress{accent-color:#bd403a}.race-status-orders{flex-wrap:wrap;gap:4px 20px;display:flex}.race-status-orders p{margin:0}.race-status-orders p>span{margin-right:7px}.race-status-orders small{color:#52645c;font-size:11px}.race-command-notice{color:#234f3c;overflow-wrap:anywhere;min-height:1.6em;margin:8px 0 0;font-size:12px;line-height:1.6}.race-director :is(.director-riders,.action-buttons,.director-team) button,.race-director .signature-card button{min-height:44px}@media (width<=760px){.race-status{padding:10px}.race-status-values{grid-template-columns:.8fr 1fr 1.3fr;gap:8px}.race-status-values dd{font-size:12px}}
