:root{--navy:#103c31;--navy-2:#1b4f43;--gold:#c8a357;--gold-soft:#f0e3c7;--paper:#f7f9f7;--card:#fff;--ink:#17342c;--muted:#53625d;--line:#d5ded9;--green:#1f7a5a;--green-soft:#dcefe6;--red:#b14f48;--red-soft:#f5dfdc;--amber:#87631f;--amber-soft:#f5ead0;--shadow:0 10px 28px #103c311a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:#53625d;margin:0}body{justify-content:center;display:flex}button,select,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{width:min(100%,520px);min-height:100vh;padding-bottom:calc(82px + env(safe-area-inset-bottom));background:radial-gradient(circle at 90% -10%, #c8a3573d, transparent 30%), linear-gradient(180deg, #103c3109, transparent 38%), var(--paper);position:relative;box-shadow:0 0 40px #103c313d}.topbar{z-index:20;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;color:#fff;background:linear-gradient(140deg, #0d352b, var(--navy-2));position:sticky;top:0;box-shadow:0 6px 18px #103c3147}.brand-row,.section-head,.race-title-row,.horse-head,.metric-line,.detail-row,.result-meta,.report-link{align-items:center;display:flex}.brand-row{gap:11px}.brand-link{min-width:0;color:inherit;cursor:pointer;border-radius:13px;flex:1;align-items:center;gap:11px;text-decoration:none;display:flex}.brand-link:hover .brand-copy strong,.brand-link:focus-visible .brand-copy strong{color:var(--gold-soft)}.brand-link:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.mark{object-fit:contain;filter:drop-shadow(0 3px 8px #0000003d);border-radius:50%;flex:0 0 43px;width:43px;height:43px;display:block}.brand-copy{min-width:0}.brand-copy strong{letter-spacing:.2px;font-family:Georgia,Times New Roman,serif;font-size:17px;display:block}.brand-copy span{color:#d7e2dd;margin-top:2px;font-size:11px;display:block}.header-actions{align-items:center;gap:6px;display:flex}.logout-button,.account-button{color:#eaf1f4;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;justify-content:center;align-items:center;min-height:34px;padding:7px 11px;font-size:10px;font-weight:800;display:inline-flex}.account-button{color:var(--gold-soft);border-color:#c8a95d73}.logout-button:active,.account-button:active{background:#ffffff29}.content{padding:15px 14px 28px}.eyebrow{color:var(--amber);letter-spacing:1.2px;text-transform:uppercase;margin:0 0 4px;font-size:10px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{margin-bottom:4px;font-family:Georgia,Times New Roman,serif;font-size:25px;line-height:1.1}h2{margin-bottom:3px;font-size:17px}h3{margin-bottom:4px;font-size:15px}.muted{color:var(--muted)}.small{font-size:12px}.selector-grid{grid-template-columns:1.35fr 1fr;gap:9px;margin:14px 0 10px;display:grid}.field{position:relative}.field label{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;margin:0 0 5px 2px;font-size:10px;font-weight:800;display:block}.select-wrap{position:relative}.select-wrap:after{border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);content:"";pointer-events:none;width:7px;height:7px;position:absolute;top:50%;right:12px;transform:translateY(-70%)rotate(45deg)}select,.search-input{border:1px solid var(--line);background:var(--card);width:100%;min-height:45px;color:var(--ink);appearance:none;border-radius:13px;outline:0;padding:0 34px 0 12px;font-weight:700;box-shadow:0 3px 12px #071a2a0a}select:focus,.search-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c8a95d2b}.race-tabs{scroll-behavior:smooth;scrollbar-width:none;gap:7px;margin:7px -14px 14px;padding:3px 14px 5px;display:flex;overflow-x:auto}.race-scroll-arrow{display:none}.race-tabs::-webkit-scrollbar{display:none}.sort-row::-webkit-scrollbar{display:none}.race-tab{border:1px solid var(--line);min-width:43px;height:39px;color:var(--muted);background:#fffdf8bd;border-radius:12px;font-size:12px;font-weight:800}.race-tab.active{border-color:var(--navy);background:var(--navy);color:#fff;box-shadow:0 5px 12px #071a2a33}@media (hover:hover) and (pointer:fine){.race-tabs-shell{grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:7px;margin:7px 0 14px;display:grid}.race-tabs{min-width:0;margin:0;padding:3px 0 5px}.race-scroll-arrow{border:1px solid var(--gold);background:var(--navy);color:#fff;cursor:pointer;border-radius:12px;place-items:center;width:38px;height:39px;padding:0 0 3px;font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:800;line-height:1;display:grid;box-shadow:0 4px 10px #071a2a29}.race-scroll-arrow:disabled{border-color:var(--line);color:#9a9da0;cursor:default;box-shadow:none;background:#e7e3da}.race-scroll-arrow:focus-visible{outline-offset:2px;outline:3px solid #c8a95d59}}.race-summary{background:linear-gradient(135deg, #fffdf8f5, #f7eed6eb), var(--card);box-shadow:var(--shadow);border:1px solid #c8a95d59;border-radius:19px;margin-bottom:13px;padding:16px;overflow:hidden}.jump-card{cursor:pointer;scroll-margin-top:12px}.jump-target{scroll-margin-top:12px}.jump-card:focus-visible{outline-offset:3px;outline:3px solid #c8a95d8c}@media (hover:hover){.jump-card:hover{border-color:#c8a95dc7}}.race-title-row{justify-content:space-between;align-items:flex-end;gap:9px}.race-title-row h1{margin:0}.race-number{flex:none}.race-type-summary{text-align:left;flex:1;min-width:0;padding:0 0 4px 8px}.race-type-summary strong{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:850;line-height:1.1;display:block;overflow:hidden}.post-time{background:var(--navy);color:#fff;white-space:nowrap;border-radius:10px;flex:none;padding:7px 9px;font-size:11px;font-weight:800}@media (width<=430px){.race-title-row{gap:5px}.race-type-summary strong{font-size:11px}.race-title-row .post-time{padding-left:6px;padding-right:6px}}.race-facts{flex-wrap:wrap;gap:7px;margin:12px 0;display:flex}.fact,.tag{border:1px solid var(--line);color:#46525c;background:#ffffffb3;border-radius:999px;align-items:center;min-height:25px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.fact{min-height:32px;padding:6px 10px;font-size:11px}.fact.pace.hot{background:var(--red-soft);color:var(--red);border-color:#d8aaa5}.fact.pace.cold{color:#285d91;background:#e1ebf6;border-color:#afc7e1}.section-head{justify-content:space-between;gap:10px;margin:18px 2px 8px}.section-head h2{margin:0}.runner-count{color:var(--muted);font-size:11px}.race-runner-count{font-size:13px;font-weight:850}.sort-row{scrollbar-width:none;gap:7px;margin:0 -14px 12px;padding:2px 14px 4px;display:flex;overflow-x:auto}.sort-chip{border:1px solid var(--line);background:var(--card);min-height:35px;color:var(--muted);border-radius:999px;flex:none;padding:0 12px;font-size:11px;font-weight:800}.sort-chip.active{border-color:var(--gold);background:var(--gold-soft);color:#654c14}.factor-mode-bar{justify-content:space-between;align-items:center;gap:10px;margin:-2px 2px 10px;display:flex}.factor-mode-bar>span{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;font-size:10px;font-weight:900}.factor-mode-toggle{border:1px solid var(--line);background:#ebe8e1;border-radius:9px;grid-template-columns:repeat(3,1fr);display:inline-grid;overflow:hidden}.factor-mode-toggle button{min-width:56px;min-height:30px;color:var(--muted);letter-spacing:.5px;background:0 0;border:0;padding:0 10px;font-size:9px;font-weight:900}.factor-mode-toggle button.active{background:var(--navy);color:#fff}.horse-list{gap:10px;display:grid}.horse-card{border:1px solid var(--line);background:var(--card);border-radius:17px;transition:border-color .16s,transform .16s;overflow:hidden;box-shadow:0 4px 15px #071a2a0e}.horse-card.top-ranked{border-color:#1f7a5a73}.horse-card.search-target{animation:2.2s ease-out search-target-pulse}@keyframes search-target-pulse{0%,35%{border-color:var(--gold);background:#fff8de;box-shadow:0 0 0 4px #c8a95d47,0 8px 24px #071a2a21}to{border-color:var(--line);background:var(--card);box-shadow:0 4px 15px #071a2a0e}}.horse-card-main{position:relative}.horse-summary-top{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:pan-y;padding:13px 13px 0}.horse-note-editor,.horse-note-display,.race-note-editor,.race-note-display{width:100%;color:var(--red);margin-top:9px;font-size:14px;font-weight:900;line-height:1.3}.horse-note-editor,.race-note-editor{box-sizing:border-box;border:2px solid var(--red);min-height:54px;max-height:132px;font:inherit;resize:vertical;-webkit-user-select:text;user-select:text;touch-action:auto;background:#fff;border-radius:9px;outline:0;padding:8px 9px;font-weight:900}.horse-note-editor::placeholder,.race-note-editor::placeholder{color:#c77b80}.horse-note-editor:focus,.race-note-editor:focus{box-shadow:0 0 0 3px #b4353d24}.horse-note-display,.race-note-display{overflow-wrap:anywhere;white-space:pre-wrap;min-height:18px}.horse-number-toggle{z-index:2;cursor:pointer;background:0 0;border:0;width:43px;height:43px;padding:2px;display:grid;position:absolute;top:11px;left:11px}.horse-head{align-items:flex-start;gap:10px;padding-left:49px}.saddle{color:#fff;text-shadow:0 1px 2px #00000059;border:2px solid #071a2a33;border-radius:11px;flex:0 0 39px;place-items:center;width:39px;height:39px;font-size:15px;font-weight:900;display:grid}.saddle.light{color:#101820;text-shadow:none}.eliminated-horse-row{grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:55px;padding:6px 11px;display:grid}.eliminated-horse-row .horse-number-toggle{position:static}.eliminated-horse-name{color:#747b80;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:Georgia,Times New Roman,serif;font-size:15px;font-weight:800;overflow:hidden}.horse-card.eliminated{box-shadow:none;background:#efede7;border-color:#c9c7c1}.horse-card.eliminated .saddle{text-shadow:none;color:#f8f8f5!important;background:#9ba0a3!important;border-color:#858b8f!important}.horse-card.eliminated .grade,.horse-card.eliminated .grade-a,.horse-card.eliminated .grade-b,.horse-card.eliminated .grade-c,.horse-card.eliminated .grade-k,.horse-card.eliminated .grade-x{color:#6b7175;background:#d5d3cd}.horse-identity{flex:1;min-width:0;height:39px;position:relative}.horse-primary-row{grid-template-columns:minmax(0,1fr) 92px;align-items:start;gap:6px;min-width:0;height:39px;display:grid}.horse-name{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-family:Georgia,Times New Roman,serif;font-size:15px;font-weight:800;line-height:1;overflow:hidden}.horse-context-group{grid-template-columns:22px 64px;justify-content:end;align-self:center;align-items:center;gap:4px;width:92px;display:grid}.distance-change-box{background:var(--green-soft);width:22px;height:24px;color:var(--green);border:1px solid #acd5c4;border-radius:6px;place-items:center;font-size:16px;font-weight:900;line-height:1;display:grid}.distance-change-box.unfavorable{color:#a83f5e;background:#f7dce5;border-color:#dc9eb0}.distance-change-box.empty{visibility:hidden}.style-code{color:#303b43;white-space:nowrap;background:#ebe8e1;border:1px solid #bbb5aa;border-radius:7px;justify-content:center;align-self:center;align-items:center;width:64px;min-height:24px;margin:0 auto;padding:2px 8px;font-size:17px;font-weight:900;line-height:1;display:inline-flex}.style-code.pace-positive{background:var(--green-soft);color:var(--green);border-color:#acd5c4}.style-code.pace-caution{background:var(--amber-soft);color:#76530e;border-color:#dfc985}.style-code.pace-negative{background:var(--red-soft);color:var(--red);border-color:#d8aaa5}.style-code.pace-neutral{color:#303b43;background:#ebe8e1;border-color:#bbb5aa}.style-code.data-code{flex-direction:column;gap:0;min-height:36px;padding:2px 8px}.style-code.data-code small{letter-spacing:.08em;font-size:8px;font-weight:900;line-height:1}.style-code.data-code strong{font-size:18px;font-weight:900;line-height:1.05}.style-code.data-neutral{color:#303b43;background:#ebe8e1;border-color:#bbb5aa}.style-code.data-fit-low{color:#a83f5e;background:#f7dce5;border-color:#dc9eb0}.style-code.data-loff-long{background:var(--red-soft);color:var(--red);border-color:#d8aaa5}.horse-sub{color:var(--muted);flex-wrap:wrap;align-items:flex-end;gap:7px;margin:0;font-size:13px;font-weight:800;line-height:1;display:flex;position:absolute;bottom:0;left:0}.horse-fc{color:var(--amber);align-self:flex-end;font-size:13px;font-weight:900;line-height:1.15}.horse-fc.fc-combo-green{color:var(--green)}.grade{color:#626b71;background:#e4e1da;border-radius:6px;padding:3px 7px}.grade-a,.grade-k{background:var(--green);color:#fff}.grade-b{color:#fff;background:#171b1f}.grade-c{color:#171b1f;background:#e4e1da;font-weight:900}.grade-x{background:var(--red);color:#fff}.sort-score{text-align:right;flex:0 0 67px;width:67px}.score-line{justify-content:flex-end;align-items:baseline;gap:5px;display:flex}.score-line strong{color:var(--navy);font-size:20px;line-height:1}.score-line span{color:var(--muted);letter-spacing:.5px;text-transform:uppercase;font-size:9px;font-weight:800}.rank-badge{border-radius:6px;margin-top:5px;padding:2px 5px;font-size:9px;font-weight:900;display:inline-flex}.rank-badge.rank-first{background:var(--green-soft);color:var(--green)}.rank-badge.rank-placed{background:var(--amber-soft);color:#76530e}.rank-badge.rank-neutral{color:#687178;background:#ebe8e1}.rank-badge.missing{color:#7a8186;background:#ebe8e1}.value-strip{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:11px;display:grid}.value-cell{background:#f3f1eb;border-radius:9px;padding:7px 8px}.value-cell span{color:var(--muted);letter-spacing:.5px;text-transform:uppercase;font-size:8px;font-weight:800;display:block}.value-cell strong{margin-top:2px;font-size:13px;display:block}.value-cell.positive{background:var(--green-soft);color:var(--green)}.value-cell.negative{background:var(--red-soft);color:var(--red)}.value-cell.aml-outside-top-three{background:var(--amber-soft);color:#76530e}.value-cell.aml-outside-top-three span{color:inherit}.factor-panel{background:#faf8f3;border:1px solid #e7e1d7;border-radius:11px;margin:8px 13px 0;padding:10px}.factor-panel.horse-detail-toggle{width:calc(100% - 26px);color:inherit;font:inherit;text-align:left;cursor:pointer;display:block}.factor-panel.horse-detail-toggle:focus-visible,.expand-hint.horse-detail-toggle:focus-visible,.horse-details:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.factor-panel-title{color:var(--muted);letter-spacing:.55px;text-transform:uppercase;margin-bottom:8px;font-size:9px;font-weight:900}.factor-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.factor-cell{text-align:center;border-radius:9px;min-width:0;min-height:49px;padding:8px 5px}.factor-cell span,.factor-cell strong{display:block}.factor-cell span{color:var(--muted);letter-spacing:-.15px;text-overflow:clip;font-size:10px;font-weight:900;overflow:hidden}.factor-cell strong{white-space:nowrap;margin-top:4px;font-size:14px}.factor-cell.factor-first{background:var(--green-soft);color:var(--green)}.factor-cell.factor-placed{background:var(--amber-soft);color:#76530e}.factor-cell.factor-neutral{color:#5f6970;background:#ece9e2}.expand-hint{color:#7d858b;text-align:center;cursor:pointer;background:0 0;border:0;width:100%;padding:8px 13px 13px;font-size:9px;display:block}.horse-details{cursor:pointer;border-top:1px solid #ece8df;padding:0 13px 14px;display:none}.horse-card.expanded .horse-details{display:block}.metric-grid{grid-template-columns:repeat(2,1fr);gap:8px 14px;margin:13px 0;display:grid}.metric-line{gap:8px}.metric-label{width:35px;color:var(--muted);font-size:9px;font-weight:900}.metric-track{background:#e8e4dc;border-radius:999px;flex:1;height:6px;overflow:hidden}.metric-fill{border-radius:inherit;background:#a9afb3;height:100%;display:block}.metric-fill.metric-first{background:var(--green)}.metric-fill.metric-placed{background:#d4ad3f}.metric-fill.metric-neutral{background:#a9afb3}.metric-fill.metric-fit-low{background:#e995ad}.metric-number{text-align:right;width:25px;font-size:10px;font-weight:800}.metric-line.fit-low .metric-label,.metric-line.fit-low .metric-number{color:#b54b69}.detail-list{background:#f3f1eb;border-radius:12px;padding:9px 10px}.detail-row{border-bottom:1px solid #e3ded4;justify-content:space-between;gap:10px;min-height:25px;font-size:10px}.detail-row:last-child{border-bottom:0}.detail-row span{color:var(--muted)}.detail-row strong{text-align:right}.detail-row strong.alert-red{color:var(--red)}.tag-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tag.fc{background:var(--amber-soft);color:#76530e;border-color:#dfc985}.tag.good{background:var(--green-soft);color:var(--green);border-color:#acd5c4}.horse-commentary{background:#fffdf8;border:1px solid #ded8cb;border-radius:13px;margin-top:11px;padding:11px}.horse-commentary h3{color:var(--navy);margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:14px}.commentary-row{border-top:1px solid #ebe6dc;grid-template-columns:42px 1fr;align-items:start;gap:8px;padding:7px 0;display:grid}.commentary-row>span{letter-spacing:.45px;text-transform:uppercase;border-radius:7px;justify-content:center;padding:3px 5px;font-size:9px;font-weight:900;display:inline-flex}.commentary-row.pros>span{background:var(--green-soft);color:var(--green)}.commentary-row.cons>span{background:var(--red-soft);color:var(--red)}.commentary-row p{color:#34434d;margin:1px 0 0;font-size:11px;font-weight:700;line-height:1.45}.bottom-line-card{background:linear-gradient(145deg, #efe3bfad, #fffdf8f5 48%), var(--card);box-shadow:var(--shadow);border:1px solid #b9ab7f;border-radius:17px;margin-top:18px;padding:16px}.bottom-line-card[data-race-note-press]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:pan-y}.race-note-editor,.race-note-display{margin-top:10px}.race-note-editor{-webkit-user-select:text;user-select:text;touch-action:auto}.bottom-line-card h2{color:var(--navy);margin:2px 0 11px;font-family:Georgia,Times New Roman,serif;font-size:22px}.bottom-line-scores{white-space:nowrap;margin-left:3px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:700;display:inline}.bottom-line-score-label{color:#735c22;font-size:13px;font-weight:900}.bottom-line-scores strong{color:#111;font-size:14.6px;font-weight:900}.bottom-line-row{border-top:1px solid #b9ab7f73;grid-template-columns:62px 1fr;gap:10px;padding:9px 0;display:grid}.bottom-line-row span{color:#735c22;letter-spacing:.3px;text-transform:uppercase;font-size:10px;font-weight:900}.bottom-line-row strong{color:var(--navy);font-size:12px;line-height:1.4}.empty{color:var(--muted);text-align:center;border:1px dashed #c9c3b8;border-radius:16px;padding:28px 18px}.search-panel{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:18px;gap:10px;margin:15px 0 18px;padding:14px;display:grid}.search-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.search-grid select{text-overflow:ellipsis;min-width:0;padding-left:10px;padding-right:26px;font-size:11px}.target-score-field{border:0;min-width:0;margin:0;padding:0}.target-score-field legend{color:var(--muted);letter-spacing:.55px;text-transform:uppercase;margin:0 0 7px 2px;font-size:10px;font-weight:900}.target-score-toggle{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.target-score-toggle button{border:1px solid var(--line);min-width:0;min-height:38px;color:var(--muted);background:#f7f5ef;border-radius:11px;padding:0 5px;font-size:11px;font-weight:900}.target-score-toggle button.active{border-color:var(--gold);background:var(--gold-soft);color:#654c14;box-shadow:inset 0 0 0 1px #c8a95d29}.fc-field{border:0;min-width:0;margin:0;padding:0}.fc-match-row{color:var(--muted);letter-spacing:.55px;text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:10px;font-weight:900;display:flex}.fc-match-toggle{border:1px solid var(--line);background:#f1eee7;border-radius:999px;padding:2px;display:inline-flex}.fc-match-toggle button{min-width:48px;min-height:28px;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:0 12px;font-size:10px;font-weight:900}.fc-match-toggle button.active{background:var(--navy);color:#fff;box-shadow:0 2px 7px #071a2a29}.fc-match-toggle button:disabled{cursor:default;opacity:.48}.fc-chip-grid{flex-wrap:wrap;gap:6px 5px;display:flex}.fc-chip{border:1px solid var(--line);min-width:0;min-height:32px;color:var(--muted);background:#f7f5ef;border-radius:999px;flex:0 0 calc(12.5% - 4.375px);padding:0 3px;font-size:10px;font-weight:900}.fc-chip.fc-combo-chip.active{border-color:var(--green);background:var(--green-soft);color:var(--green);box-shadow:inset 0 0 0 1px #1f6f4e24}.fc-chip.active{border-color:var(--gold);background:var(--gold-soft);color:#654c14;box-shadow:inset 0 0 0 1px #c8a95d29}.fc-selection-summary{background:var(--gold-soft);color:#654c14;letter-spacing:.25px;border:1px solid #dccb9c;border-radius:12px;margin:-3px 2px 13px;padding:9px 12px;font-size:10px;font-weight:900}.fc-selection-summary.fc-combo-summary{background:var(--green-soft);color:var(--green);border-color:#acd5c4}.results-list{gap:10px;display:grid}.result-card{border:1px solid var(--line);background:var(--card);width:100%;color:inherit;text-align:left;border-radius:15px;padding:13px;box-shadow:0 3px 12px #071a2a0d}.result-card h3{margin:0}.result-meta{color:var(--muted);justify-content:space-between;gap:10px;margin-top:8px;font-size:10px}.result-target-score{background:var(--gold-soft);color:var(--navy);white-space:nowrap;border-radius:999px;flex:none;padding:4px 7px}.result-target-score em{color:#735c22;font-style:normal;font-weight:900}.result-target-score strong{color:var(--navy)}.result-leader{background:#f3f1eb;border-radius:10px;margin-top:9px;padding:9px 10px;font-size:11px}.result-leader strong{color:var(--navy)}.report-card{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:18px;margin:14px 0;padding:16px}.report-link{background:var(--navy);color:#fff;border-radius:13px;justify-content:space-between;gap:12px;margin-top:12px;padding:13px;font-size:12px;font-weight:800;text-decoration:none}.report-download-list{gap:9px;margin-top:13px;display:grid}.report-download{width:100%;color:var(--ink);text-align:left;background:#faf8f3;border:1px solid #dfd7c6;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;text-decoration:none;display:grid}.report-download:disabled{opacity:.72}.report-download-unavailable{background:#f1f0ec;border-color:#d8d5cc}.report-download-date{min-width:0}.report-download-date strong,.report-download-date small{display:block}.report-download-date strong{color:var(--navy);font-size:13px}.report-download-date small{color:var(--muted);margin-top:4px;font-size:9px;line-height:1.35}.report-download-action{box-sizing:border-box;background:var(--navy);color:#fff;white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:6px;width:112px;padding:8px 9px;font-size:10px;font-weight:900;display:inline-flex}.report-download-action b{color:var(--gold);font-size:14px;line-height:1}.report-download-action-unavailable{color:#fff;background:#77766f}.stat-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0;display:grid}.stat{border:1px solid var(--line);text-align:center;background:#f8f5ee;border-radius:13px;padding:13px 6px}.stat strong{color:var(--navy);font-size:20px;display:block}.stat span{color:var(--muted);text-transform:uppercase;margin-top:3px;font-size:9px;font-weight:800;display:block}.glossary-intro{color:var(--muted);margin:10px 0 14px;font-size:14px;line-height:1.5}.glossary-jump-links{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.glossary-jump-links a{border:1px solid var(--line);background:var(--card);min-height:44px;color:var(--amber);border-radius:12px;align-items:center;padding:8px 12px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.glossary-jump-links a:hover{background:var(--gold-soft)}.glossary-jump-links a:focus-visible,.glossary-tutorial-copy a:focus-visible,.nav-button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.glossary-section{border:1px solid var(--line);border-top:3px solid var(--gold);background:var(--card);box-shadow:var(--shadow);scroll-margin-top:calc(100px + env(safe-area-inset-top));border-radius:18px;margin:14px 0;padding:18px 16px 4px}.glossary-section h2{color:var(--navy);margin-bottom:4px;font-family:Georgia,Times New Roman,serif;font-size:21px;line-height:1.25}.glossary-terms{margin:0}.glossary-tutorial-copy{color:var(--ink);margin:14px 0;font-size:14px;line-height:1.65}.glossary-tutorial-copy a{color:var(--amber);text-underline-offset:3px;font-weight:800;text-decoration:underline}.glossary-term{padding:16px 0}.glossary-term+.glossary-term{border-top:1px solid var(--line)}.glossary-term dt{color:var(--amber);flex-wrap:wrap;align-items:baseline;gap:4px 9px;margin-bottom:7px;font-size:16px;font-weight:900;line-height:1.4;display:flex}.glossary-term dt span{color:var(--ink);font-size:13px;font-weight:700}.glossary-term dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.65}.glossary-term dd p{margin-bottom:10px}.glossary-term dd p:last-child{margin-bottom:0}.glossary-term dt.glossary-green{color:var(--green)}.glossary-grade-scale{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:12px 0;display:grid}.glossary-grade-scale>div{background:var(--paper);border-radius:10px;justify-items:center;gap:5px;padding:9px 0;display:grid}.glossary-grade-scale .grade{text-align:center;min-width:28px;font-size:14px;font-weight:900}.glossary-grade-scale strong{font-size:12px}.glossary-term .glossary-caption{color:var(--muted);font-size:12px;line-height:1.5}.glossary-code-list{gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.glossary-code-list li{grid-template-columns:92px minmax(0,1fr);align-items:baseline;gap:9px;display:grid}.glossary-code-list strong{color:var(--amber);font-size:12px}.glossary-rank-key{flex-wrap:wrap;gap:7px;margin-top:13px;font-size:12px;font-weight:800;display:flex}.glossary-rank-key span,.glossary-fit-warning{border-radius:6px;padding:4px 7px}.glossary-rank-first{background:var(--green-soft);color:var(--green)}.glossary-rank-next{background:var(--amber-soft);color:#76530e}.glossary-fit-warning{background:var(--red-soft);color:var(--red);-webkit-box-decoration-break:clone;box-decoration-break:clone;font-weight:800}.bottom-nav{z-index:30;padding:8px 10px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#103c31f7;border-top:1px solid #ffffff14;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:max(0px,50vw - 260px);right:max(0px,50vw - 260px)}.nav-button{color:#c4d1cc;background:0 0;border:0;border-radius:12px;place-items:center;gap:3px;min-height:54px;font-size:9px;font-weight:800;display:grid}.nav-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px;height:20px}.nav-button.active{color:var(--gold);background:#c8a95d21}.desktop-report-control,.desktop-report-pane{display:none}@media (width>=1024px){body:has(.app-shell.desktop-report-open){justify-content:flex-start}.race-workspace-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.race-workspace-heading .muted{margin-bottom:0}.desktop-report-control{justify-content:flex-end;margin:0;display:flex}.race-selector-grid{margin-top:8px}.desktop-report-control button,.desktop-report-header button{background:var(--navy);min-height:34px;color:var(--gold-soft);cursor:pointer;border:1px solid #c8a95d94;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:900}.app-shell.desktop-report-open{width:100vw;box-shadow:none;background:#53625d;grid-template-rows:auto 1fr;grid-template-columns:520px minmax(0,1fr);padding-bottom:0;display:grid}.app-shell.desktop-report-open>.topbar,.app-shell.desktop-report-open>.content{background-color:var(--paper);grid-column:1}.app-shell.desktop-report-open>.topbar{grid-row:1}.app-shell.desktop-report-open>.content{border-right:1px solid #103c3133;grid-row:2;min-height:calc(100vh - 75px);padding-bottom:100px}.app-shell.desktop-report-open>.bottom-nav{width:520px;left:0;right:auto}.desktop-report-pane{background:#dfe6e2;grid-area:1/2/span 2;grid-template-rows:auto 1fr;min-width:0;height:100vh;padding:14px 16px 16px;display:grid;position:sticky;top:0}.desktop-report-header{justify-content:space-between;align-items:center;gap:18px;min-height:58px;padding:5px 4px 12px;display:flex}.desktop-report-header>div{gap:3px;min-width:0;display:grid}.desktop-report-header span{color:var(--amber);letter-spacing:1.2px;font-size:10px;font-weight:900}.desktop-report-header strong{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:18px;overflow:hidden}.desktop-report-frame-wrap{background:#525659;border:1px solid #c8c2b6;border-radius:12px;min-height:0;position:relative;overflow:hidden;box-shadow:0 12px 28px #071a2a2e}.desktop-report-frame{background:#525659;border:0;width:100%;height:100%}.desktop-report-status{z-index:1;color:#fff;text-align:center;background:#525659;place-items:center;padding:24px;font-size:14px;font-weight:800;display:grid;position:absolute;inset:0}}@media (width>=521px){.app-shell{min-height:100dvh}}@media (width<=350px){.logout-button{display:none}.value-strip{grid-template-columns:1fr 1fr}}.login-page{width:100%;min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));background:radial-gradient(circle at 82% 3%,#c8a3573d,#0000 29%),linear-gradient(155deg,#0b3027 0%,#1b4f43 60%,#103c31 100%);place-items:center;display:grid}.login-card{background:#f7f9f7fb;border:1px solid #c8a95d52;border-radius:24px;width:min(100%,430px);padding:28px 24px 24px;box-shadow:0 24px 70px #00000057}.login-brand{align-items:center;gap:13px;display:flex}.login-mark{object-fit:contain;filter:drop-shadow(0 8px 18px #103c313d);border-radius:50%;flex:0 0 62px;width:62px;height:62px;display:block}.login-brand p{color:var(--navy);margin:0;font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:700;line-height:1.05}.login-brand span{color:var(--muted);letter-spacing:.8px;text-transform:uppercase;margin-top:4px;font-size:11px;font-weight:800;display:block}.login-rule{background:linear-gradient(90deg, var(--gold), #c8a95d14);height:1px;margin:22px 0}.login-eyebrow{color:var(--amber);letter-spacing:1.3px;text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:900}.login-card h1{color:var(--navy);margin-bottom:8px;font-size:29px}.login-intro,.login-help,.login-loading>p{color:var(--muted);font-size:13px;line-height:1.5}.login-form{gap:8px;margin-top:20px;display:grid}.login-form label{color:var(--navy);letter-spacing:.5px;text-transform:uppercase;margin-top:5px;font-size:11px;font-weight:900}.login-form input{width:100%;min-height:50px;color:var(--ink);background:#fff;border:1px solid #d8d0c1;border-radius:13px;outline:0;padding:0 14px;font-size:16px;box-shadow:inset 0 1px 2px #071a2a08}.login-form input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c8a95d2e}.login-submit,.member-access-error button{background:var(--navy);color:#fff;border:0;border-radius:13px;min-height:50px;margin-top:10px;font-weight:900;box-shadow:0 8px 18px #071a2a33}.login-submit:disabled{cursor:not-allowed;opacity:.55}.login-secondary{color:#71581c;text-underline-offset:3px;background:0 0;border:0;width:100%;margin-top:16px;padding:6px;font-size:12px;font-weight:850;text-decoration:underline;display:block}.login-secondary-group{gap:2px;display:grid}.login-secondary-group .login-secondary+.login-secondary{margin-top:2px}.login-help{text-align:center;margin:18px 0 0}.login-message{border-radius:11px;margin-top:12px;padding:11px 12px;font-size:12px;font-weight:700;line-height:1.4}.login-message.error{background:var(--red-soft);color:#7b302b}.login-message.success{background:var(--green-soft);color:#155c43}.login-message.warning{background:var(--amber-soft);color:#6d5015}.member-loading{min-height:100dvh;color:var(--navy);place-items:center;padding:28px;font-size:14px;font-weight:850;display:grid}.member-access-error{align-content:center;min-height:100dvh;padding:30px 24px;display:grid}.member-access-error p{color:var(--red);margin:22px 0 6px;font-size:14px;line-height:1.5}.member-access-actions{gap:10px;display:grid}.member-access-actions .member-retry{color:var(--navy);box-shadow:none;background:#fff;border:1px solid #d8d0c1;margin-top:0}.billing-page{width:100%;min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 12px calc(26px + env(safe-area-inset-bottom));background:radial-gradient(circle at 85% 0,#c8a3573d,#0000 28%),linear-gradient(155deg,#0b3027 0%,#1b4f43 62%,#103c31 100%)}.billing-shell{background:var(--card);border:1px solid #c8a95d57;border-radius:24px;width:min(100%,620px);margin:0 auto;padding:24px 18px;box-shadow:0 24px 70px #0000004d}.billing-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.billing-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.billing-header-actions button,.billing-notice button,.membership-active-card button,.billing-change-plan{min-height:36px;color:var(--navy);background:#fff;border:1px solid #d8d0c1;border-radius:11px;padding:7px 11px;font-size:11px;font-weight:850}.billing-shell h1{color:var(--navy);margin-bottom:7px;font-size:29px}.billing-intro{color:var(--muted);font-size:13px}.account-settings-card{background:#faf8f2;border:1px solid #d8d0c1;border-radius:15px;gap:11px;margin-top:18px;padding:15px;display:grid}.account-settings-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.account-settings-heading>div{gap:3px;display:grid}.account-settings-heading strong{color:var(--navy);font-size:13px}.account-settings-heading span,.billing-email-note{color:var(--muted);font-size:10px;line-height:1.4}.account-settings-heading .manage-billing-button{background:var(--navy);color:#fff;border:0;border-radius:11px;flex:none;min-height:39px;padding:8px 12px;font-size:11px;font-weight:900}.account-settings-heading .manage-billing-button:disabled{opacity:.6}.email-change-form{gap:6px;display:grid}.email-change-form label{color:var(--navy);letter-spacing:.35px;text-transform:uppercase;font-size:10px;font-weight:900}.email-change-form>div{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.email-change-form input,.email-change-form button{border:1px solid #d8d0c1;border-radius:11px;min-height:43px}.email-change-form input{min-width:0;color:var(--ink);background:#fff;padding:0 12px;font-size:14px}.email-change-form button{color:var(--navy);background:#fff;padding:0 12px;font-size:11px;font-weight:900}.email-change-form button:disabled{opacity:.6}.membership-active-card,.billing-current-access,.billing-notice{border-radius:15px;margin-top:18px;padding:15px;font-size:13px;line-height:1.5}.membership-active-card{background:var(--green-soft);color:#155c43;border:1px solid #bcdcca;gap:8px;display:grid}.membership-active-card button{background:var(--navy);color:#fff;border:0;margin-top:4px}.billing-current-access{color:#594c31;background:#f7f3e9;border:1px solid #d8d0c1}.billing-notice{background:var(--amber-soft);color:#6d5015;justify-content:space-between;align-items:center;gap:10px;display:flex}.plan-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:20px;display:grid}.plan-card-free strong{color:var(--green)}.plan-card{min-height:126px;color:var(--ink);background:#fff;border:1px solid #d8d0c1;border-radius:15px;place-items:center;padding:13px 8px;display:grid;box-shadow:0 4px 14px #071a2a0d}.plan-card.selected{border:2px solid var(--gold);background:#fffaf0;box-shadow:0 0 0 3px #c8a95d26}.plan-card:disabled{opacity:.45}.plan-card span{color:var(--navy);text-transform:uppercase;font-size:12px;font-weight:900}.plan-card strong{font-family:Georgia,Times New Roman,serif;font-size:27px}.plan-card small{color:var(--muted);text-align:center;font-size:10px;line-height:1.3}.billing-date-field{color:var(--navy);letter-spacing:.4px;text-transform:uppercase;gap:7px;margin-top:18px;font-size:11px;font-weight:900;display:grid}.billing-date-field select{min-height:50px;color:var(--ink);background:#fff;border:1px solid #d8d0c1;border-radius:13px;padding:0 14px;font-size:16px}.billing-date-field small{color:var(--muted);letter-spacing:0;text-transform:none;font-size:11px;font-weight:600;line-height:1.4}.billing-plan-note{color:var(--muted);background:#f7f3e9;border-radius:13px;margin:18px 0 0;padding:13px;font-size:12px;line-height:1.45}.billing-plan-note.archive-plan-note{background:var(--green-soft);color:#155c43;border:1px solid #bcdcca}.billing-continue{background:var(--navy);color:#fff;border:0;border-radius:13px;width:100%;min-height:52px;margin-top:18px;font-weight:900;box-shadow:0 8px 18px #071a2a33}.billing-continue:disabled{opacity:.55}.billing-security{color:var(--muted);text-align:center;margin:10px 10px 0;font-size:10px;line-height:1.45}.billing-date-confirmation{border:2px solid var(--gold);background:var(--gold-soft);color:var(--navy);text-align:center;border-radius:14px;gap:3px;margin:14px 0;padding:13px 15px;display:grid}.billing-date-confirmation span{color:var(--amber);letter-spacing:.7px;text-transform:uppercase;font-size:10px;font-weight:900}.billing-date-confirmation strong{font-family:Georgia,Times New Roman,serif;font-size:23px}.billing-date-confirmation small{color:#4f5961;font-size:11px;font-weight:700;line-height:1.35}.billing-date-confirmation.checkout-reminder{margin-top:10px}.billing-change-plan{margin:4px 0 14px}.stripe-checkout{min-height:320px}@media (width<=430px){.billing-header{align-items:flex-start}.billing-header .login-brand span{display:none}.billing-header-actions{max-width:112px}.account-settings-heading{align-items:flex-start}.email-change-form>div{grid-template-columns:1fr}.plan-card{min-height:116px;padding:11px 5px}.plan-card strong{font-size:23px}}
