/* FUGATIMING OCEAN DESIGN SYSTEM 2.0 — visual-only overrides, legacy app intact. */
:root{
  color-scheme:dark;
  --rp-bg:#041C32;--rp-paper:#0A2540;--rp-ink:#F4FAFF;--rp-subtle:#B9D4E5;
  --rp-line:#225477;--rp-lime:#F2C14E;
  --fuga-bg:#041C32;--fuga-panel:#072B4A;--fuga-surface:#0A2540;
  --fuga-elevated:#0E3A5D;--fuga-border:#225477;
  --fuga-text:#F4FAFF;--fuga-secondary:#B9D4E5;--fuga-muted:#94B7CC;
  --fuga-cyan:#18B7E6;--fuga-gold:#F2C14E;
}
body.portal-app,body.portal-guest{background:radial-gradient(ellipse at 88% 0%,#104165 0%,transparent 33%),#041C32;color:var(--fuga-text)}
body.portal-app .topbar{background:#07243C;border-right:1px solid #235171;box-shadow:12px 0 38px #020F1E32}
body.portal-app .topbar-in{border-color:var(--fuga-border)}
body.portal-app .brand{color:var(--fuga-text)}
body.portal-app .brand-mark,body.portal-guest .brand-mark{background:linear-gradient(145deg,#097BA8,#18B7E6);color:#F4FAFF;border:1px solid #4BCEEF;box-shadow:0 8px 22px #03263F;transform:skew(-6deg);border-radius:11px;font-weight:950}
.fuga-portal-highlight{color:var(--fuga-cyan)}
body.portal-app .brand-word small{color:#A2C4D9}
body.portal-app .navigation a{color:#C1D8E9;transition:background .16s,color .16s}
body.portal-app .navigation a:hover{background:#103E5D;color:white}
body.portal-app .navigation a[aria-current=page]{background:#104A6A;color:#FFFFFF;box-shadow:inset 3px 0 var(--fuga-cyan)}
body.portal-app .rp-nav-icon{color:#8CCFE9}
body.portal-app .navigation a[aria-current=page] .rp-nav-icon{color:#59D9F2}
body.portal-app .rp-nav-bottom{border-color:#29516D}
body.portal-app .rp-account-avatar{background:var(--fuga-cyan);color:#07233A}
body.portal-app .logout button{color:#D8E9F5;border-color:#37627D}
body.portal-app .rp-install-trigger{background:#0A3752;color:#E5F7FF;border:1px solid #3A7794}
body.portal-app .page{color:var(--fuga-text)}
body.portal-app .page-head h1{color:#F4FAFF;text-wrap:balance}
body.portal-app .page-head .eyebrow,body.portal-app .eyebrow,body.portal-guest .eyebrow{color:#5DDBF4}
body.portal-app h1,body.portal-app h2,body.portal-app h3,body.portal-app h4,body.portal-app strong:not(.rp-race-count),body.portal-guest h1,body.portal-guest h2{color:var(--fuga-text)}
body.portal-app .muted,body.portal-app .rp-dashboard-row small,body.portal-app .rp-list-copy small{color:var(--fuga-secondary)}
body.portal-app a:not(.btn):not(.navigation a):not(.brand){color:#7BDEFA}
body.portal-app a:hover{color:#A9EAFA}
body.portal-app .footer{background:transparent;border-color:#1B4866;color:var(--fuga-muted)}
body.portal-app .card,body.portal-app .member,body.portal-app .auth,body.portal-app .rp-race-group,body.portal-app .rp-product,body.portal-app .rp-split-card,body.portal-app .rp-podium-card,body.portal-app .cup-card,body.portal-guest .auth{
  background:linear-gradient(155deg,#0B2B49,#092239);border:1px solid #225477;color:var(--fuga-text);
  border-radius:18px;box-shadow:0 12px 38px #020E1D30;
}
body.portal-app .card:hover{border-color:#38779B}
body.portal-app .rp-metric,body.portal-app .stat,body.portal-app .radio-pill,body.portal-app .relay-section,body.portal-app .price-tag,body.portal-app .result-card,body.portal-app .rp-live-price{
  background:linear-gradient(145deg,#0E3554,#08263F);border:1px solid #2A5A79;color:#E7F6FF;box-shadow:0 8px 27px #03172A30;
}
body.portal-app .rp-metric small,body.portal-app .stat small,body.portal-app .result-card small{color:#B9D4E5}
body.portal-app .rp-metric strong,body.portal-app .rp-metric-paid strong,body.portal-app .rp-metric-results strong,body.portal-app .stat strong,body.portal-app .result-card strong{color:#F4FAFF}
body.portal-app .rp-metric:first-child{border-top:3px solid #18B7E6}
body.portal-app .rp-metric-paid{border-top:3px solid #F2C14E}
body.portal-app .rp-metric-results{border-top:3px solid #4B9FD2}
body.portal-app .rp-dashboard-row,body.portal-app .rp-race-header,body.portal-app .rp-variant,body.portal-app .rp-podium-card li{border-color:#24506B}
body.portal-app .rp-list-icon,body.portal-app .rp-race-emblem{background:#134462;color:#66DBF5}
body.portal-app .rp-price-regular{color:#F4FAFF}
body.portal-app .btn.primary,body.portal-guest .btn.primary{background:#F2C14E;color:#08233B;border-color:#F2C14E;box-shadow:0 7px 24px #F2C14E1B;font-weight:850}
body.portal-app .btn.primary:hover,body.portal-guest .btn.primary:hover{background:#FFD978;color:#08233B;border-color:#FFD978}
body.portal-app .btn.secondary,body.portal-app .btn.subtle,body.portal-guest .btn.secondary{background:#104060;border:1px solid #2A6689;color:#ECF9FF}
body.portal-app .btn.secondary:hover,body.portal-app .btn.subtle:hover{background:#155171;color:white}
body.portal-app input,body.portal-app select,body.portal-app textarea,body.portal-guest input,body.portal-guest select{background:#071F36!important;border:1px solid #326381!important;color:#F4FAFF!important}
body.portal-app input::placeholder,body.portal-app textarea::placeholder{color:#A5C2D4}
body.portal-app label,body.portal-guest label{color:#D1E6F2}
body.portal-app .table-wrap{border-color:#2A5879;background:#09253D}
body.portal-app table{color:#DDEFF9}
body.portal-app th,body.portal-app .rp-result-scroll thead th{background:#113A59;color:#E0F3FE;border-color:#295776}
body.portal-app td{background:transparent;color:#E2F2FC;border-color:#214D6A}
body.portal-app .rp-results-table tbody tr:nth-child(even):not(.my-result){background:#0D304D}
body.portal-app .rp-results-table tbody tr.my-result,body.portal-app tr.my-result{background:#175270;color:white}
body.portal-app .rp-scroll-top{background:#0A3351}
body.portal-app .badge.paid{background:#153F3C;color:#91E6CE;border:1px solid #276F65}
body.portal-app .badge.unpaid{background:#502631;color:#FFAFB8;border:1px solid #7C4351}
body.portal-app .chip{background:#104562;color:#D2F2FF;border:1px solid #2D7799}
body.portal-app .notice{background:#452634;border-color:#884E63;color:#FFDDE6}
body.portal-app .notice.success{background:#183F40;border-color:#326F6A;color:#B7F5DC}
body.portal-app .rp-product-head b,body.portal-app .rp-live-price strong,body.portal-app .price-tag strong,body.portal-app .rp-split-card b{color:#F2C14E}
body.portal-app .rp-split-card small,body.portal-app .rp-split-card span{color:#B9D4E5}
body.portal-app .rp-extra-fields summary{background:#103A59;color:#DBF4FF}
body.portal-app .rp-podium-card li small{color:#AEC9DB}
body.portal-app .rp-medal{background:#0D4360;color:#D1EEFF}
body.portal-app .rp-medal-1{background:#58431F;color:#FFD978}
body.portal-app .rp-install-dialog{background:#0A2540;color:#F4FAFF;border-color:#35708C}
body.portal-app .rp-install-dialog h2{color:#F4FAFF}
body.portal-app .rp-bottom-tabs{background:#062037F2;border-color:#285C79}
body.portal-app .rp-bottom-tab{color:#B5D2E4}
body.portal-app .rp-bottom-tab:hover{background:#124363;color:white}
body.portal-app .rp-bottom-tab[aria-current="page"],body.portal-app .rp-bottom-menu-trigger[aria-expanded="true"]{background:#115072;color:#FFFFFF}
body.portal-app .rp-bottom-tab[aria-current="page"]::before{background:#18B7E6}
body.portal-app .rp-mobile-menu-dialog,body.portal-app .rp-mobile-menu-dialog .rp-mobile-sheet{background:#09243B;color:#F4FAFF}
body.portal-app .rp-mobile-sheet-eyebrow{color:#5EDBF4}
body.portal-app .rp-mobile-menu-account{background:#103D58;border-color:#2C6987}
body.portal-app .rp-mobile-menu-avatar{background:#18B7E6;color:#04233B}
body.portal-app .rp-mobile-menu-tile[aria-current="page"],body.portal-app .rp-mobile-menu-extra a[aria-current="page"]{background:#115271;color:#F4FAFF}
body.portal-app .rp-mobile-menu-tile-icon,body.portal-app .rp-mobile-menu-extra-icon{color:#80DCF3}
body.portal-app a:focus-visible,body.portal-app button:focus-visible,body.portal-app summary:focus-visible,body.portal-app input:focus-visible{outline:3px solid #F2C14E;outline-offset:3px}

/* Race discovery: CUP -> RACE -> VARIANT; no card/table mode. */
.rp-races-ui{display:block;max-width:1200px}
.rp-race-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:10px 0 26px}
body.portal-app .rp-catalog-switch{display:flex;background:#08243B;border:1px solid #2B6081;gap:5px;padding:5px;border-radius:15px}
body.portal-app .rp-catalog-switch button{flex:1;min-height:47px;padding:10px 18px;color:#D4EAF7;background:transparent;border:0;border-radius:11px;font-size:.9rem}
body.portal-app .rp-catalog-switch button.rp-seg-active{background:#F2C14E;color:#08233B;box-shadow:0 3px 12px #0004}
.rp-race-search-label{flex:1;max-width:390px;font-size:.82rem;font-weight:700}
.rp-race-search-label input{display:block;width:100%;margin:7px 0 0;min-height:46px;padding:10px 14px;border-radius:11px}
.rp-cup-group{margin:24px 0 34px}
.rp-cup-banner{display:flex;align-items:center;gap:20px;padding:25px;border-radius:19px;border:1px solid #38769A;background:linear-gradient(110deg,#114261,#0B2A45)}
.rp-cup-icon{flex:none;width:57px;height:57px;display:grid;place-items:center;font-size:1.65rem;border-radius:16px;background:#184F6B}
body.portal-app .rp-cup-banner h3{font-size:1.35rem;margin:4px 0 0;color:#F4FAFF}
.rp-cup-banner p{margin:6px 0 0;color:#B9D4E5}
body.portal-app .rp-race-group{padding:0;margin:11px 0;border-radius:15px;overflow:hidden}
body.portal-app .rp-race-header{display:flex;align-items:center;gap:15px;padding:19px 20px;margin:0;border:0;list-style:none;cursor:pointer;min-height:84px}
body.portal-app .rp-race-header::-webkit-details-marker{display:none}
body.portal-app .rp-race-header:hover{background:#124363}
.rp-race-heading{flex:1;min-width:0}
.rp-race-heading strong{display:block;font-size:1.02rem}
.rp-race-heading small{display:block;margin-top:4px;color:#B9D4E5;font-size:.8rem}
body.portal-app .rp-race-count{white-space:nowrap;font-size:.75rem;color:#A9CFDF}
.rp-chevron{font-size:1.5rem;color:#85DAF1;transition:transform .17s}
details[open]>.rp-race-header .rp-chevron{transform:rotate(180deg)}
body.portal-app .rp-variant-cards{display:grid;gap:0;padding:0 20px 12px;background:#08243B}
body.portal-app .rp-variant{display:flex;gap:18px;align-items:center;padding:16px 0;flex-wrap:wrap;border-bottom:1px solid #24506B}
.rp-variant-copy{flex:1;min-width:min(100%,200px)}
body.portal-app .rp-variant h4{font-size:.97rem;margin:0 0 5px}
.rp-variant-copy p{font-size:.8rem;margin:0}
.rp-variant-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;justify-content:flex-end}
.rp-variant-actions .btn{white-space:nowrap}
body.portal-app .rp-classic-link{font-size:.79rem;color:#87DAF0!important;font-weight:720}
body.portal-app .rp-variant-price{font-size:1rem;margin:0;white-space:normal}
.rp-price-stack{display:flex;flex-direction:column;align-items:flex-end;gap:1px;white-space:nowrap}
.rp-price-stack del{font-size:.77rem;color:#B5C6D2}
body.portal-app .rp-price-stack strong{font-size:1.15rem;color:#F2C14E}
.rp-price-saving{font-size:.65rem;color:#F5D88B;font-weight:720}
.rp-race-pricing-note{font-size:.78rem;max-width:880px;margin:20px 0}
body.portal-app .rp-catalog-empty{margin:18px 0}
@media(max-width:850px){
 body.portal-app .topbar{background:#07243C}
 body.portal-app .brand{color:#F4FAFF}
 body.portal-app .rp-bottom-tabs{background:#062037F0}
 .rp-race-toolbar{flex-direction:column;align-items:stretch;gap:14px}
 .rp-race-search-label{max-width:none}
 .rp-cup-banner{padding:19px;gap:12px}
 body.portal-app .rp-race-header{padding:15px;gap:11px}
 .rp-race-count{display:none}
 body.portal-app .rp-variant-cards{padding:0 15px 12px}
 .rp-variant-copy{flex-basis:100%}
 .rp-variant-actions{width:100%;justify-content:space-between}
 .rp-price-stack{align-items:flex-start}
 .rp-variant-actions .btn{flex:1;text-align:center}
}
@media(max-width:450px){
 .rp-cup-banner{align-items:flex-start}
 .rp-cup-icon{width:46px;height:46px;font-size:1.4rem}
 body.portal-app .rp-variant-price{margin-right:auto}
 .rp-variant-actions{gap:9px}
 body.portal-app .rp-classic-link{width:100%;text-align:center;padding:8px}
}

.rp-chip-checkout-note{margin:16px 0;padding:15px 18px;border:1px solid #4D6B79;border-radius:13px;background:#123B51;color:#E8F5FF}
.rp-chip-checkout-note>span{font-weight:830;color:#F2C14E}.rp-chip-checkout-note p{margin:6px 0}.rp-chip-checkout-note del{color:#B5CAD5}
.rp-chip-checkout-note strong{color:#FFD978}.rp-chip-checkout-note small{color:#B9D4E5}
@media(max-width:850px){
 body.portal-app .rp-bottom-tabs .rp-bottom-tab[aria-current="page"],body.portal-app .rp-bottom-tabs .rp-bottom-menu-trigger[aria-expanded="true"]{color:#F4FAFF!important}
 body.portal-app .rp-mobile-menu-grid .rp-mobile-menu-tile[aria-current="page"],body.portal-app .rp-mobile-menu-extra a[aria-current="page"]{color:#F4FAFF!important;background:#115271}
 body.portal-app .rp-mobile-menu-extra a:hover{color:#F4FAFF!important;background:#115271}
}
