@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600&display=swap");

/* Compact top actions: named layout knobs, shared instrument typography. */
.trackmath .top-actions{--top-group-gap:6px;--top-group-padding:2px 4px;--top-heading-size:12px;--top-support-size:11px;display:grid;grid-template-columns:102px minmax(280px,1fr) 154px 130px;gap:var(--top-group-gap);align-items:stretch;padding:3px 0 0;margin:0;border:0}
.trackmath .top-actions + .instrument-stack{padding-top:3px}
.trackmath .top-actions> *{min-width:0}
.trackmath .top-action-identity{display:flex;gap:24px;padding:var(--top-group-padding);padding-left:0;margin-left:-4px;align-items:center}
.trackmath .top-action-brand{width:max-content}
.trackmath .top-actions .top-action-brand{font-size:17px;font-style:normal;line-height:1.3;flex:none}
.trackmath .top-actions .top-action.top-action-bike{display:flex;flex-direction:row;align-items:center;gap:8px;justify-content:start;justify-self:start;width:max-content;text-align:left;padding:2px 4px;border:0}
.trackmath .top-actions .top-action{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:var(--top-group-padding);width:max-content;max-width:100%;border:0;border-left:1px solid var(--rule);background:transparent;color:var(--bone);text-align:left;cursor:pointer}
.trackmath .top-actions .top-action:is(.top-action-cockpit,[data-top-planning]){align-items:flex-end;text-align:right}
.trackmath .top-action [data-type="instrument-heading"]{font-size:var(--top-heading-size)}
.trackmath .top-action [data-type="human-guidance"]{font-size:var(--top-support-size);color:var(--slate)}
.trackmath .top-actions [data-top-bike-status]{display:grid;grid-template-rows:14px 14px;align-items:center;white-space:nowrap;min-height:0;line-height:14px;color:var(--slate)}
.trackmath .top-actions [data-top-bike-status] .setup-fact-check{color:var(--current-green)}
.trackmath .top-action:hover,.trackmath .top-action:focus-visible{background:var(--navy);outline:1px solid var(--steel)}
.trackmath .top-cockpit-wordmark,.trackmath .top-expressive-wordmark{font:italic 900 28px/32px "TM Cockpit Titillium",sans-serif;white-space:nowrap}
.trackmath .top-cockpit-wordmark{color:var(--orange)}
.trackmath .top-planning .top-expressive-wordmark{color:#e4b75c}
.trackmath .top-cockpit-lockup{display:flex;align-items:center;gap:12px;color:var(--orange)}
.trackmath .top-qr-motif{width:25px;height:25px;flex:none;color:var(--bone);transform:skewX(-12deg)}
.trackmath .top-actual{display:flex;align-items:center;padding:2px 1px 2px 0;color:var(--white)}
.trackmath .top-actual svg{width:100%;max-height:32px}
.trackmath :is(.top-actual,.top-action-brand):focus-visible{outline:1px solid var(--steel);outline-offset:2px}
.trackmath .top-actual:hover{color:var(--white);background:var(--navy)}
.trackmath .top-actions .profile-selector{display:flex;align-items:center;gap:6px;min-width:0}
.trackmath .top-actions .profile-selector .gearing-model-control{min-width:0;max-width:100%;flex:1}
.trackmath .top-actions .profile-selector summary{min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trackmath .top-actions [data-top-profile]{min-width:0;flex:1}
.trackmath .top-planning-choices{position:fixed;inset:auto;margin:0;padding:8px;background:var(--black);color:var(--bone);border:1px solid var(--steel);box-shadow:0 8px 28px #000a;max-width:calc(100vw - 24px);z-index:10000}
.trackmath .top-planning-choices a{display:block;padding:10px 8px}
.trackmath .top-planning-construction{display:block;width:184px;max-width:100%;height:auto;margin:0 auto 8px;image-rendering:pixelated}
.trackmath .top-planning-choices a:hover,.trackmath .top-planning-choices a:focus-visible{background:var(--navy);outline:1px solid var(--interaction-cyan)}
.trackmath .map-header .temporary-clear-all{margin-left:auto}
.trackmath .phone-transfer-panel [data-phone-qr]{max-width:320px;margin-inline:auto}
@media(min-width:781px) and (max-width:950px){.trackmath .top-actions{grid-template-columns:70px minmax(250px,1fr) 135px 125px;--top-group-gap:2px}}
@media(max-width:780px){.trackmath .top-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.trackmath .top-actual{max-width:160px}.trackmath .top-actions .profile-selector summary{max-width:22ch}}

/* Host-safe tokens and reset. The legacy root class remains a Shopify contract. */
.trackmath {
  --black:#090808; --surface:#0b0b0c; --matrix-surface:#090a0c;
  --bone:#d6cdbb; --white:#fff; --navy:#0d1830; --steel:#3f4d5d;
  --slate:#7a8798; --orange:#c5521a; --rule:#303844; --current-green:#0d813e; --required-red:#b44b46; --strategy-blue:#2f83bd; --interaction-cyan:#159bd3;
  --target-proximity-rgb:63,77,93; --target-axis-alpha:.52;
  --axle-preference-rgb:214,205,187;
  --mono:"DM Mono",Consolas,monospace; --sans:Inter,Arial,sans-serif;
  --type-mode:12px; --type-tool:11px; --type-heading:11px; --type-heading-major:13px;
  --type-control:11px; --type-result:12px; --type-interpretation:12px; --type-instruction:10px;
  --type-meta:10px; --type-data:11px; --type-table-heading:9px; --type-compact:9px; --type-tooltip:13px;
  --type-control-label:var(--type-control); --type-helper:var(--type-heading);
  --instrument-title-gap:16.8px;
  --text-primary:var(--bone); --text-supporting:var(--slate); --text-meta:#718096; --text-peripheral:#53647a;
  --text-unscoped:#435269; --text-unscoped-supporting:#344055;
  min-height:100%; margin:0; background:var(--black); color:var(--bone); font-family:var(--sans);
}
.trackmath .phone-transfer-panel{position:fixed;z-index:10000;margin:0;max-height:calc(100dvh - 24px);overflow:auto;padding:16px;background:var(--black);color:var(--bone);border:1px solid var(--interaction-cyan);box-shadow:0 12px 40px #000b}
.trackmath .phone-transfer-panel h2{margin:0 0 12px}
.trackmath .phone-transfer-panel p{margin:12px 0}
.trackmath .phone-transfer-panel .phone-transfer-intro{margin-top:0}
.trackmath .phone-transfer-panel :is([data-phone-status],[data-same-phone-status]):empty{display:none}
.trackmath .phone-transfer-panel [data-nerd-notes]{margin-top:14px;padding-top:10px;border-top:1px solid var(--rule)}
.trackmath .phone-transfer-panel summary{cursor:pointer;color:var(--interaction-cyan)}
.trackmath .phone-transfer-panel .phone-transfer-link{display:flex;align-items:stretch;gap:6px;margin:6px 0 12px}
.trackmath .phone-transfer-panel .phone-transfer-link input{min-width:0;flex:1;margin:0}
.trackmath .phone-transfer-panel .phone-transfer-link button{flex:none}
.trackmath .phone-transfer-panel pre{white-space:pre-wrap;line-height:1.6}
.trackmath .phone-transfer-panel label{display:block}
.trackmath .phone-transfer-panel input,.trackmath .phone-transfer-panel textarea{width:100%;background:var(--black);color:var(--bone);border:1px solid var(--steel);padding:8px;margin:5px 0 12px}
.trackmath .phone-transfer-panel button{background:var(--black);color:var(--interaction-cyan);border:1px solid var(--interaction-cyan);padding:8px;cursor:pointer}
.trackmath .phone-transfer-panel [data-use-cockpit]{display:flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;padding:8px;margin-top:12px;border:1px solid var(--interaction-cyan);color:var(--interaction-cyan);text-decoration:none}
.trackmath .phone-transfer-panel [data-use-cockpit][aria-disabled="true"]{opacity:.4;pointer-events:none}
.trackmath .phone-transfer-panel [data-use-cockpit]:is(:hover,:focus-visible){outline:1px solid var(--interaction-cyan);outline-offset:2px}
.trackmath [data-phone-qr] svg{display:block;width:100%;height:auto;margin:auto;shape-rendering:crispEdges}
.trackmath .terminal-qr>span{width:104px}
.trackmath .terminal-qr>.qr-phone-caption{width:max-content;white-space:nowrap;color:var(--orange);font-style:normal}
.trackmath .terminal-qr [data-qr-mini]{position:relative;display:grid;place-items:center;width:104px;height:104px;margin:0}
.trackmath .terminal-qr [data-qr-mini]::after{content:'CLICK TO\A ENLARGE';white-space:pre;position:absolute;inset:0;display:grid;place-content:center;background:#0d1830ed;color:var(--interaction-cyan);opacity:0;pointer-events:none}
.trackmath .terminal-qr:hover [data-qr-mini]::after,.trackmath .terminal-qr:focus-visible [data-qr-mini]::after{opacity:1}
.trackmath .terminal-qr [data-qr-mini] svg{width:104px;height:104px;display:block;shape-rendering:crispEdges}
.trackmath .terminal-qr .qr-width-label{display:block;width:104px;height:auto;overflow:visible}
.trackmath .terminal-qr [data-qr-mini] img{width:100%!important;height:100%!important}
.trackmath .terminal-qr .qr-send-label{height:13px}
.trackmath .clear-all-confirmation{position:fixed;inset:auto;margin:0;width:min(360px,calc(100vw - 24px));padding:14px;border:1px solid var(--interaction-cyan);background:var(--black);color:var(--bone);box-shadow:0 8px 28px #000a;z-index:10000}
.trackmath .clear-all-confirmation p{margin:0 0 12px}
.trackmath .clear-all-confirmation button{padding:8px;border:1px solid var(--interaction-cyan);background:var(--navy);color:var(--bone);cursor:pointer}
.trackmath .clear-all-confirmation [data-clear-status]:empty{display:none}
.trackmath .terminal-qr.is-qr-updated{animation:qr-current .65s ease-out 1}
@keyframes qr-current{from{outline:2px solid #159bd3;outline-offset:3px}to{outline:2px solid transparent;outline-offset:3px}}
@media(prefers-reduced-motion:reduce){.trackmath .terminal-qr.is-qr-updated{animation:none}}
.trackmath,.trackmath *{box-sizing:border-box}
.trackmath [hidden]{display:none!important}
.trackmath button,.trackmath input,.trackmath select{font:inherit}
.trackmath button,.trackmath summary,.trackmath select{border-radius:0}
.trackmath button,.trackmath a{color:inherit}
.trackmath a{text-decoration:none}
.trackmath :focus-visible{outline:1px solid var(--bone);outline-offset:2px}
.trackmath .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Standalone shell and landing page. */
.trackmath main,.trackmath footer{width:min(1480px,calc(100% - 28px));margin-inline:auto}
.trackmath .landing-view{max-width:1240px;margin-inline:auto;padding:0 0 28px}
.trackmath .landing-intro{padding:24px 4px 26px}
.trackmath .landing-intro h1,.trackmath .top-action-brand{margin:0 0 12px;color:var(--bone);font:500 19px/1.2 var(--mono);letter-spacing:-.045em}
.trackmath .top-action-brand{margin:0}
.trackmath .landing-headline{margin:0;color:var(--bone);font:500 clamp(25px,3vw,38px)/1.23 var(--mono);letter-spacing:-.055em}
.trackmath .landing-headline em{color:var(--orange);font-style:normal}
.trackmath .landing-summary{margin:14px 0;color:#aab4bf;font:400 16px/1.5 var(--sans)}
.trackmath .landing-entry{display:flex;align-items:center;gap:24px}
.trackmath .landing-entry>span{color:var(--slate);font:400 13px/1.45 var(--sans)}
.trackmath .eyebrow{font:500 12px/1.4 var(--mono);letter-spacing:.1em}
.trackmath .eyebrow{margin:0 0 15px;color:var(--steel)}
.trackmath .landing-journey{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.trackmath .landing-stage{min-width:0;display:grid;grid-template-rows:auto auto auto auto auto;align-content:start;align-self:stretch;padding:14px 12px;border:1px solid var(--rule);background:var(--surface)}
.trackmath .landing-stage-heading{margin-bottom:14px}
.trackmath .landing-step{display:block;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--rule);color:var(--slate);font:500 22px/1 var(--mono);letter-spacing:-.055em}
.trackmath .landing-stage h2{margin:0;color:var(--bone);font:500 19px/1.3 var(--mono);letter-spacing:-.045em}
.trackmath .landing-stage-evidence{min-width:0;display:flex;flex-direction:column;gap:12px}
.trackmath .landing-stage-evidence img{object-fit:contain;object-position:top left}
.trackmath .landing-thought{margin:14px 0 8px;color:var(--bone);font:500 13px/1.45 var(--mono)}
.trackmath .landing-explanation{margin:0;color:#aab4bf;font:400 15px/1.5 var(--sans)}
.trackmath .landing-caution{margin:12px 0 0;color:var(--slate);font:400 13px/1.45 var(--sans)}
.trackmath .landing-caution:empty,.trackmath .landing-close p:empty{display:none}
.trackmath .landing-physical-evidence{min-height:260px}
.trackmath .landing-physical-payoff{margin:auto 0 12px;color:var(--bone);font:500 25px/1.2 var(--mono);letter-spacing:-.06em}
.trackmath .landing-evidence{min-width:0;margin:0}
.trackmath .landing-evidence img{display:block;width:100%;height:auto;background:var(--surface)}
.trackmath .landing-evidence figcaption{margin-bottom:8px;color:var(--slate);font:500 10px/1.5 var(--mono);letter-spacing:.025em}
.trackmath .landing-primary-action{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;padding:11px 14px;border:1px solid var(--orange);color:var(--bone);font:500 13px/1.2 var(--mono);letter-spacing:.025em;transition:border-color .15s,background-color .15s,color .15s}
.trackmath .landing-primary-action:hover,.trackmath .landing-primary-action:focus-visible{border-color:var(--bone);background:#10151e;color:var(--white)}
.trackmath .landing-primary-action span[aria-hidden]{color:var(--orange);font-size:22px;line-height:1}
.trackmath .landing-close{margin:22px 4px 0;padding-top:0}
.trackmath .landing-close-copy{grid-column:1;grid-row:1;min-width:0}
.trackmath .landing-close h2{margin:0;color:var(--bone);font:500 19px/1.3 var(--mono);letter-spacing:-.045em}
.trackmath .landing-close p{margin:8px 0 0;color:var(--slate);font:400 13px/1.45 var(--sans)}
/* The splash's live table/sheet/map retains the established landing scale. */
.trackmath .gearing-sheet{margin:64px 4px 20px;border-top:1px solid var(--rule);padding-top:28px;scroll-margin-top:24px}
.trackmath .gearing-sheet-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px);align-items:center;gap:24px 48px;margin-bottom:30px}
.trackmath .gearing-sheet-heading .eyebrow{color:var(--slate);margin-bottom:12px}
.trackmath .gearing-sheet-heading h2{margin:0;color:var(--bone);font:500 clamp(24px,3vw,38px)/1.2 var(--mono);letter-spacing:-.055em}
.trackmath .gearing-sheet-heading p:not(.eyebrow){max-width:450px;margin:12px 0 0;color:#aab4bf;font:400 15px/1.6 var(--sans)}
.trackmath .gearing-sheet-aside{display:flex;flex-direction:column;align-items:flex-end;gap:12px;min-width:0}
.trackmath .gearing-sheet-aside img{display:block;width:100%;height:auto;mix-blend-mode:screen}
.trackmath .gearing-sheet-aside>a{color:var(--interaction-cyan);font:500 11px/1.5 var(--mono);padding-bottom:3px;border-bottom:1px solid var(--steel)}
.trackmath .sheet-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;border-bottom:1px solid var(--rule);padding-bottom:16px}
.trackmath .sheet-views,.trackmath .sheet-camera{display:flex;gap:4px}
.trackmath .sheet-toolbar button{padding:9px 12px;background:transparent;border:1px solid transparent;cursor:pointer;white-space:nowrap;color:var(--slate)}
.trackmath .sheet-views button[aria-pressed=true]{color:var(--bone);border-color:var(--steel);background:var(--navy)}
.trackmath .sheet-toolbar button:hover{color:var(--bone);border-color:var(--steel)}
.trackmath .sheet-toolbar button:disabled{opacity:.4;cursor:default;border-color:transparent;color:var(--slate)}
.trackmath .sheet-morph{flex:1;display:flex;align-items:center;gap:14px;color:var(--slate)}
.trackmath .gearing-sheet input[type=range]{width:100%;min-width:64px;accent-color:var(--interaction-cyan);cursor:ew-resize}
.trackmath .sheet-equipment{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;padding:22px 0 2px;color:var(--slate)}
.trackmath .sheet-equipment>span{text-align:center}
.trackmath [data-sheet-cogs]{position:relative;height:30px;min-width:0}
.trackmath [data-sheet-cogs]>button{position:absolute;top:0;transform:translateX(-50%);width:var(--sheet-cog-width,32px);min-width:0;padding-inline:2px}
.trackmath [data-part]{min-width:32px;padding:5px 8px;border:1px solid var(--rule);background:transparent;color:var(--slate);cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.trackmath [data-part][aria-pressed=true]{color:var(--bone);background:var(--steel);border-color:var(--steel)}
.trackmath [data-part].is-suggested{background:var(--orange);color:var(--white);border-color:var(--orange)}
.trackmath [data-part].is-fitted{background:var(--current-green);color:var(--white);border-color:var(--current-green)}
.trackmath [data-part].is-fitted.is-suggested{box-shadow:inset 0 0 0 2px var(--orange)}
.trackmath [data-part]:hover{color:var(--bone);border-color:var(--bone)}
.trackmath .sheet-stage{display:grid;grid-template-columns:52px minmax(0,1fr);position:relative}
.trackmath .sheet-ring-rail{position:relative;min-height:0}
.trackmath .sheet-ring-rail>span{position:absolute;top:16px;left:0;right:8px;text-align:center;color:var(--slate)}
.trackmath [data-sheet-rings]{position:absolute;inset:0 8px 0 0}
.trackmath [data-sheet-rings]>button{position:absolute;left:0;right:0;transform:translateY(-50%);min-height:22px;padding:3px 4px}
.trackmath .sheet-viewport{position:relative;min-width:0;overflow:hidden}
.trackmath .sheet-viewport canvas{display:block;width:100%;touch-action:none;cursor:grab}
.trackmath .sheet-viewport canvas:active{cursor:grabbing}
.trackmath .sheet-viewport canvas.is-over-point{cursor:crosshair}
.trackmath .sheet-view-caption{position:absolute;top:16px;left:14px;right:14px;display:flex;justify-content:space-between;gap:20px;pointer-events:none;color:var(--slate)}
.trackmath [data-sheet-view-name]{color:var(--bone);letter-spacing:.09em}
.trackmath .sheet-inspection{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);padding:6px 10px;max-width:100%;white-space:nowrap;color:var(--interaction-cyan);background:var(--black);border:1px solid var(--rule);opacity:0;pointer-events:none;transition:opacity .12s}
.trackmath .sheet-inspection.is-visible{opacity:1}
.trackmath .sheet-lower{--sheet-rail-rise:25px;--sheet-grab-width:36px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:center;border-top:0;padding:13px 0 22px}
.trackmath .sheet-target{display:contents}
.trackmath .sheet-lower>.sheet-answer{grid-row:2;min-height:0}
.trackmath .sheet-target input[type=number]{background:transparent;border:0;color:var(--bone);padding:0;appearance:textfield;min-width:0;text-align:right}
.trackmath .sheet-target input::-webkit-inner-spin-button{display:none}
.trackmath .sheet-target-track{grid-column:1/-1;grid-row:1;margin-left:var(--sheet-target-left,109px);margin-right:var(--sheet-target-right,27px);position:relative;height:92px;min-width:0;touch-action:none}
.trackmath .sheet-target-track>input[type=range]{position:absolute;inset:calc(0px - var(--sheet-rail-rise)) 0 auto;width:100%;height:24px;margin:0;appearance:none;background:transparent}
.trackmath .sheet-target-track>input::-webkit-slider-runnable-track{height:3px;background:var(--rule)}
.trackmath .sheet-target-track>input::-webkit-slider-thumb{appearance:none;width:14px;height:24px;margin-top:-10.5px;border:0;background:transparent;cursor:ew-resize}
.trackmath .sheet-target-track>input::-moz-range-track{height:3px;background:var(--rule)}
.trackmath .sheet-target-track>input::-moz-range-thumb{width:14px;height:24px;border:0;background:transparent;cursor:ew-resize}
.trackmath .sheet-target-track :is(input,button):focus{outline:none}
.trackmath .sheet-morph input:focus{outline:none}
.trackmath .sheet-morph input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--black),0 0 0 3px var(--bone)}
.trackmath .sheet-morph input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--black),0 0 0 3px var(--bone)}
.trackmath .sheet-target-track>input:focus-visible~.sheet-tolerance-rail .sheet-target-control{outline:2px solid var(--interaction-cyan);outline-offset:3px}
.trackmath .sheet-target-control :is(input,button):focus-visible{outline:2px solid var(--interaction-cyan);outline-offset:2px}
.trackmath .sheet-tolerance-handle:focus-visible::before{box-shadow:0 0 0 2px var(--bone)}
.trackmath .sheet-tolerance-rail{position:absolute;inset:0 7px;pointer-events:none}
.trackmath .sheet-tolerance-band{position:absolute;top:calc(12px - var(--sheet-rail-rise));height:calc(24px + var(--sheet-rail-rise));background:linear-gradient(90deg,rgba(var(--target-proximity-rgb),.05),rgba(var(--target-proximity-rgb),var(--target-axis-alpha)) var(--sheet-band-target,50%),rgba(var(--target-proximity-rgb),.05));pointer-events:none}
.trackmath .sheet-tolerance-handle{position:absolute;top:calc(24px - var(--sheet-rail-rise)/2);width:var(--sheet-grab-width);height:calc(24px + var(--sheet-rail-rise));padding:0;border:0;background:transparent;pointer-events:auto;touch-action:none;cursor:ew-resize;transform:translate(-50%,-50%)}
.trackmath .sheet-tolerance-handle::before{content:"";position:absolute;top:0;width:1px;height:100%;background:var(--bone)}
.trackmath .sheet-tolerance-handle::before{left:50%}
.trackmath .sheet-tolerance-handle[data-clipped=lower]::before{border-radius:0;clip-path:polygon(100% 0,100% 100%,0 50%);background:var(--bone)}
.trackmath .sheet-tolerance-handle[data-clipped=upper]::before{border-radius:0;clip-path:polygon(0 0,100% 50%,0 100%);background:var(--bone)}
.trackmath .sheet-target-marker{position:absolute;top:0;left:50%;width:0;height:84px;pointer-events:auto;cursor:grab;touch-action:none;z-index:2}
.trackmath .sheet-target-marker:active{cursor:grabbing}
.trackmath .sheet-target-grip{position:absolute;left:calc(var(--sheet-grab-width)/-2);top:calc(6px - var(--sheet-rail-rise));width:var(--sheet-grab-width);height:calc(46px + var(--sheet-rail-rise));cursor:ew-resize}
.trackmath .sheet-target-marker>i{position:absolute;left:-1px;top:calc(12px - var(--sheet-rail-rise));height:calc(40px + var(--sheet-rail-rise));border-left:2px solid var(--bone);pointer-events:none}
.trackmath .sheet-target-marker>i::before{content:"";position:absolute;left:-5px;top:-6px;border:4px solid transparent;border-bottom:6px solid var(--bone);border-top:0}
.trackmath .sheet-target-control{position:absolute;top:52px;left:0;transform:translateX(var(--sheet-control-shift,-50%));display:flex;align-items:center;width:max-content;height:32px;border:1px solid var(--bone);background:var(--black);color:var(--bone);white-space:nowrap}
.trackmath .sheet-target-control::before,.trackmath .sheet-target-control::after{position:absolute;top:50%;transform:translateY(-50%);color:var(--bone);font:400 24px/1 var(--mono);pointer-events:none}
.trackmath .sheet-target-control::before{content:'←';right:calc(100% + 9px)}
.trackmath .sheet-target-control::after{content:'→';left:calc(100% + 9px)}
.trackmath .sheet-target-control>label{padding:0 8px;color:var(--slate)}
.trackmath .sheet-target-control>div{display:flex;align-items:center;align-self:stretch;border-left:1px solid var(--steel);padding:0 5px;gap:2px}
.trackmath .sheet-target-value>span{align-self:flex-start;padding-top:4px}
.trackmath .sheet-target-control .sheet-tolerance-control{padding-right:2px}
.trackmath .sheet-target-control [data-sheet-tolerance]{width:3.5ch}
.trackmath .sheet-target-control .sheet-tolerance-steppers{display:grid;margin-left:3px}
.trackmath .sheet-target-control .sheet-tolerance-steppers button{display:grid;place-items:center;width:14px;height:13px;min-height:0;padding:0;border:1px solid var(--steel);background:transparent;color:var(--bone);cursor:pointer;line-height:1}
.trackmath .sheet-answer{display:flex;flex-direction:column;gap:5px;min-height:72px;color:var(--slate)}
.trackmath .sheet-answer strong{color:var(--interaction-cyan)}
.trackmath .sheet-answer>[data-sheet-error]{color:var(--bone)}
/* Splash uses the article's unified target/Map axis, without its editor or coda. */
.trackmath .sheet-shared-axis{position:relative}
.trackmath .sheet-shared-axis .sheet-lower{--sheet-rail-rise:0px;position:absolute;left:0;right:0;top:var(--journal-axis-y);padding:0;border:0;pointer-events:none}
.trackmath .sheet-shared-axis .sheet-target-track{height:110px;pointer-events:auto}
.trackmath .sheet-shared-axis .sheet-target-track::before{content:"";position:absolute;left:7px;right:7px;top:12px;height:1px;background:var(--rule);pointer-events:none}
.trackmath .sheet-shared-axis .sheet-target-track>input::-webkit-slider-runnable-track{background:transparent}
.trackmath .sheet-shared-axis .sheet-target-track>input::-moz-range-track{background:transparent}
.trackmath .sheet-shared-axis .sheet-target-marker>i{top:12px;width:2px;height:70px;border:0;background:linear-gradient(to bottom,transparent 6px,var(--bone) 6px)}
.trackmath .sheet-shared-axis .sheet-target-marker>i::before{left:-3px;top:0;width:0;height:0}
.trackmath .sheet-shared-axis .sheet-target-grip{top:6px;height:82px;pointer-events:auto}
.trackmath .sheet-shared-axis .sheet-target-control{top:82px;height:46px}
.trackmath .sheet-shared-axis .sheet-tolerance-band{height:70px}
.trackmath .sheet-shared-axis .sheet-tolerance-handle{top:47px;height:70px}
.trackmath .sheet-shared-axis .sheet-target-value>span{align-self:center;padding-top:0}
.trackmath .sheet-shared-axis .sheet-target-control>div{gap:4px;padding-inline:8px}
.trackmath .sheet-shared-axis .sheet-target-control .sheet-tolerance-steppers button{width:18px;height:17px}
/* Splash-only 80% target box. Keep the invisible drag grips full-sized. */
.trackmath .sheet-splash .sheet-target-control{--sheet-target-font-size:14.4px;height:36.8px}
.trackmath .sheet-splash .sheet-target-control>label{padding-inline:6.4px}
.trackmath .sheet-splash .sheet-target-control>div{gap:3.2px;padding-inline:6.4px}
.trackmath .sheet-splash .sheet-target-control .sheet-tolerance-control{padding-right:1.6px}
.trackmath .sheet-splash .sheet-target-control .sheet-tolerance-steppers{margin-left:2.4px}
.trackmath .sheet-splash .sheet-target-control .sheet-tolerance-steppers button{width:14.4px;height:13.6px}
.trackmath .sheet-splash .sheet-target-control::before,.trackmath .sheet-splash .sheet-target-control::after{font-size:19.2px}
.trackmath .sheet-splash .sheet-target-control::before{right:calc(100% + 7.2px)}
.trackmath .sheet-splash .sheet-target-control::after{left:calc(100% + 7.2px)}
.trackmath .sheet-shared-axis>.sheet-answer{padding:55px 0 22px}
.trackmath .sheet-shared-axis .sheet-target-track>input:focus,
.trackmath .sheet-shared-axis .sheet-viewport canvas:focus{outline:none;box-shadow:none}
.trackmath .sheet-shared-axis .sheet-target-track>input:focus-visible~.sheet-tolerance-rail .sheet-target-control{outline:1px solid var(--bone);outline-offset:2px}
.trackmath .sheet-viewport canvas.is-map-scrubbable{cursor:ew-resize}
.trackmath .sheet-reader :is(.sheet-options,.sheet-analysis,[data-sheet-save-view]){display:none}
.trackmath .sheet-shared-axis .sheet-morph>span{display:none}
.trackmath .sheet-options{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;border-top:1px solid var(--rule);padding:14px 0;color:var(--slate)}
.trackmath .sheet-options label{display:flex;align-items:center;gap:7px;cursor:pointer}
.trackmath .sheet-options input{accent-color:var(--interaction-cyan)}
.trackmath .sheet-choice{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.trackmath .sheet-choice-options{display:flex;flex-wrap:wrap;gap:4px}
.trackmath .sheet-choice-options label{position:relative;display:block}
.trackmath .sheet-choice-options input{position:absolute;width:1px;height:1px;opacity:0}
.trackmath .sheet-choice-options span{display:block;padding:7px 9px;border:1px solid var(--rule);color:var(--slate)}
.trackmath .sheet-choice-options input:checked+span{background:var(--navy);border-color:var(--steel);color:var(--bone)}
.trackmath .sheet-choice-options label:hover span{border-color:var(--bone);color:var(--bone)}
.trackmath .sheet-choice-options input:focus-visible+span{outline:1px solid var(--bone);outline-offset:2px}
.trackmath [data-sheet-kit-count]{margin-left:auto}
.trackmath .sheet-footnote{max-width:900px;color:var(--slate);margin:0;padding-top:8px}
.trackmath .sheet-coordinate-note{max-width:960px;color:var(--bone);margin:0;padding:8px 0}
.trackmath .sheet-viewport canvas.is-fixed-view{cursor:default}
.trackmath .sheet-analysis{padding:4px 0 24px}
.trackmath .sheet-analysis-heading,.trackmath .sheet-analysis-limits{display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--slate)}
.trackmath .sheet-analysis-heading output{color:var(--interaction-cyan)}
.trackmath .sheet-analysis-slider{position:relative;height:36px;margin:4px 10px}
.trackmath .sheet-analysis-track{position:absolute;inset:17px 0 auto;height:3px;background:var(--rule)}
.trackmath .sheet-analysis-track>span{position:absolute;top:0;height:100%;background:var(--interaction-cyan)}
.trackmath .sheet-analysis-slider input[type=range]{position:absolute;inset:0;width:100%;height:36px;margin:0;appearance:none;background:transparent;pointer-events:none;border:0}
.trackmath .sheet-analysis-slider input::-webkit-slider-runnable-track{height:3px;background:transparent}
.trackmath .sheet-analysis-slider input::-webkit-slider-thumb{appearance:none;width:16px;height:16px;margin-top:-6.5px;border:2px solid var(--interaction-cyan);border-radius:50%;background:var(--black);pointer-events:auto;cursor:ew-resize}
.trackmath .sheet-analysis-slider input::-moz-range-track{height:3px;background:transparent}
.trackmath .sheet-analysis-slider input::-moz-range-thumb{width:13px;height:13px;border:2px solid var(--interaction-cyan);border-radius:50%;background:var(--black);pointer-events:auto;cursor:ew-resize}
.trackmath .sheet-analysis-slider input:focus-visible{outline:1px solid var(--bone);outline-offset:3px}
.trackmath .sheet-analysis-slider input:focus-visible::-webkit-slider-thumb{background:var(--interaction-cyan)}
@media(max-width:760px){
 .trackmath .gearing-sheet-heading{display:block}.trackmath .gearing-sheet-aside{max-width:320px;margin:20px 0 0 auto}
 .trackmath .sheet-toolbar{flex-wrap:wrap;gap:12px}.trackmath .sheet-morph{order:3;flex-basis:100%}.trackmath .sheet-camera{margin-left:auto}
 .trackmath .sheet-toolbar button{padding:10px 7px}.trackmath .sheet-lower{grid-template-columns:1fr auto;gap:12px}
 .trackmath .sheet-lower>.sheet-answer{grid-row:2;grid-column:1/-1}
 .trackmath .sheet-stage,.trackmath .sheet-equipment{grid-template-columns:42px minmax(0,1fr)}.trackmath .sheet-view-caption{left:8px;right:8px}.trackmath [data-sheet-gesture]{max-width:165px;text-align:right}
 .trackmath .sheet-target{gap:12px}.trackmath [data-sheet-kit-count]{margin-left:0}
}
@media(prefers-reduced-motion:reduce){.trackmath .sheet-inspection,.trackmath [data-part]{transition:none}}
@media(pointer:coarse){.trackmath .sheet-lower{--sheet-grab-width:44px}}
/* Landing stamp repeats the Cockpit QR's existing branded face. */
/* LANDING_STICKER_PLACEMENT_START */
.trackmath .landing-cockpit-stamp{--sticker-left:46.04%;--sticker-top:214.8px;--sticker-width:294.1px;--sticker-rotate:-14.6deg;--sticker-scale:0.883;--sticker-narrow-x:-0.64vw;--sticker-narrow-y:-62.0px;--sticker-narrow-width:294.1px;--sticker-narrow-rotate:-14.6deg;--sticker-narrow-scale:0.883}
/* LANDING_STICKER_PLACEMENT_END */
.trackmath .landing-cockpit-stamp{position:absolute;z-index:1;left:var(--sticker-left);top:var(--sticker-top);width:var(--sticker-width);padding:10px 12px;border:2px solid var(--orange);background:#100d0b;box-shadow:-5px 7px 16px #000d;transform:translate(-50%,-50%) rotate(var(--sticker-rotate)) scale(var(--sticker-scale,1))}
.trackmath .landing-cockpit-stamp .landing-stamp-title{display:block;color:var(--orange);font:normal 900 22px/1.05 "TM Cockpit Titillium",sans-serif;letter-spacing:-.02em}
.trackmath .landing-cockpit-stamp p{margin:8px 0 0;color:var(--bone);font:400 13px/1.42 var(--sans)}
/* Dimension stamp reuses the Cockpit stamp title face, with sheet colours. */
.trackmath .landing-view{position:relative}
/* DIMENSION_STICKER_PLACEMENT_START */
.trackmath .landing-dimension-stamp{--sticker-left:46.96%;--sticker-top:668.6px;--sticker-width:216.6px;--sticker-rotate:9.4deg;--sticker-scale:0.885;--sticker-narrow-x:-3.38vw;--sticker-narrow-y:-567.0px;--sticker-narrow-width:216.6px;--sticker-narrow-rotate:10.9deg;--sticker-narrow-scale:1.000}
/* DIMENSION_STICKER_PLACEMENT_END */
.trackmath .landing-dimension-stamp{position:absolute;z-index:5;left:var(--sticker-left);top:var(--sticker-top);width:var(--sticker-width);padding:14px 16px;border:2px solid #7c92a5;background:#10161c;box-shadow:-5px 7px 16px #000b;transform:translate(-50%,-50%) rotate(var(--sticker-rotate)) scale(var(--sticker-scale,1));color:#d4dde4}
.trackmath .landing-dimension-stamp .landing-stamp-title{display:block;color:#bed2e2;font:normal 900 26px/1.05 "TM Cockpit Titillium",sans-serif;letter-spacing:-.02em;white-space:normal}
.trackmath .landing-dimension-stamp p{margin:9px 0 0;color:#c5cdd3;font:400 15px/1.42 var(--sans)}
.trackmath .landing-dimension-stamp :is(a,em){color:inherit}
.trackmath :is(.landing-cockpit-stamp,.landing-dimension-stamp) em{font-style:italic;color:inherit}
.trackmath :is(.landing-cockpit-stamp,.landing-dimension-stamp) strong{display:inline;font-weight:bolder;color:inherit}
/* Narrow placements are independent of the authored desktop coordinates. */
@media(max-width:1050px){
 .trackmath :is(.landing-dimension-stamp,.landing-cockpit-stamp){translate:clamp(calc(-50vw + 50% + 28px),var(--sticker-narrow-x,0vw),calc(50vw - 50% - 28px)) var(--sticker-narrow-y,0px)}
 .trackmath .landing-dimension-stamp{position:relative;left:auto;top:auto;width:min(var(--sticker-narrow-width,var(--sticker-width)),calc(100% - 48px));margin:32px auto 35px;transform:rotate(var(--sticker-narrow-rotate,-3deg)) scale(var(--sticker-narrow-scale,1))}
 .trackmath .landing-cockpit-stamp{width:min(var(--sticker-narrow-width,var(--sticker-width)),calc(100% - 48px));transform:translate(-50%,-50%) rotate(var(--sticker-narrow-rotate,var(--sticker-rotate))) scale(var(--sticker-narrow-scale,var(--sticker-scale,1)))}
}
.trackmath.is-home footer{display:none}
/* Splash stops use the actual fader positions, with actions docked right. */
.trackmath .sheet-splash .sheet-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 18px}
.trackmath .sheet-playback{width:100%;min-width:0;padding-inline:32px}
.trackmath .sheet-playback .sheet-views{position:relative;display:block;height:32px;margin-inline:7px}
.trackmath .sheet-view-stop{position:absolute;left:var(--sheet-view-position);top:0;bottom:0;width:0}
.trackmath .sheet-playback .sheet-view-stop button{padding:4px 6px;transform:translateX(-50%)}
.trackmath .sheet-view-stop::after{content:"";position:absolute;bottom:-9px;left:0;height:15px;border-left:1px dotted var(--slate);opacity:.5;pointer-events:none}
.trackmath .sheet-playback .sheet-morph{display:block;width:100%;margin:0}
.trackmath .sheet-playback input[type=range]{display:block;width:100%;height:18px;margin:0;padding:0;appearance:none;background:transparent}
.trackmath .sheet-playback input::-webkit-slider-runnable-track{height:2px;background:var(--rule)}
.trackmath .sheet-playback input::-webkit-slider-thumb{appearance:none;width:14px;height:14px;margin-top:-6px;border:0;border-radius:50%;background:var(--bone)}
.trackmath .sheet-playback input::-moz-range-track{height:2px;background:var(--rule)}
.trackmath .sheet-playback input::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:var(--bone)}
.trackmath .sheet-splash .sheet-camera{justify-self:end;margin-left:0;padding-bottom:0}
.trackmath .sheet-splash .sheet-camera button{padding:4px 6px}
@media(max-width:760px){
 .trackmath .sheet-splash .sheet-toolbar{grid-template-columns:minmax(0,1fr);gap:4px}
 .trackmath .sheet-playback .sheet-views{height:34px}
 .trackmath .sheet-playback .sheet-view-stop button{padding:4px 3px}
}
@media(max-width:360px){
 .trackmath .sheet-playback .sheet-views{height:44px}
 .trackmath .sheet-playback .sheet-view-stop button{max-width:50px;white-space:normal}
}
.trackmath footer{min-height:150px;padding-block:30px;border-top:1px solid var(--rule);display:flex;align-items:center;font:500 12px/1.6 var(--mono)}
.trackmath .footer-copy{display:flex;flex-direction:column;color:var(--slate)}
.trackmath .footer-copy p{margin:16px 0 0;color:var(--bone);font-size:12px}

/* Shared instrument frame and compact control family. */
.trackmath .instrument-stack{--instrument-settings-width:196px;--settings-inset:10px;--field-height:30px;--field-inline-padding:6px;--instrument-stack-gap:10px;--major-zone-gap:20px;display:grid;gap:var(--instrument-stack-gap);padding-top:18px}
.trackmath .workspace-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--rule);background:var(--black)}
.trackmath .workspace-tabs a{--tab-chamfer:16px;position:relative;min-width:0;min-height:56px;padding:7px 30px 7px 12px;border-right:1px solid var(--rule);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;color:var(--slate);font:500 var(--type-mode)/1 var(--mono);letter-spacing:.08em}
.trackmath .workspace-tab-label{display:block}
.trackmath .workspace-tab-copy{display:block;max-width:100%;color:#718096;font:500 10px/1.35 var(--mono);letter-spacing:.04em;overflow-wrap:anywhere}
.trackmath .workspace-tabs a:last-child{border-right:0}
.trackmath .workspace-tabs a:hover,.trackmath .workspace-tabs a:focus-visible{color:var(--bone)}
.trackmath .workspace-tabs a:hover .workspace-tab-copy,.trackmath .workspace-tabs a:focus-visible .workspace-tab-copy{color:var(--slate)}
.trackmath.is-optimise .workspace-tabs a:not(.is-active),.trackmath.is-strategy .workspace-tabs a:not(.is-active){color:var(--text-unscoped)}
.trackmath.is-optimise .workspace-tabs a:not(.is-active) .workspace-tab-copy,.trackmath.is-strategy .workspace-tabs a:not(.is-active) .workspace-tab-copy{color:var(--text-unscoped-supporting)}
.trackmath .workspace-tabs a.is-active{color:var(--bone);background:var(--surface);box-shadow:inset 0 -3px var(--bone)}
.trackmath .workspace-tabs a.is-active .workspace-tab-copy{color:var(--slate)}
.trackmath .subnavigation-title{--tab-chamfer:11px;position:relative;width:max-content;max-width:100%;min-height:34px;padding:0 26px 0 12px;border-top:1px solid var(--rule);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;align-items:center;color:var(--bone);font:500 var(--type-tool)/1 var(--mono);letter-spacing:.065em}
.trackmath .subnavigation-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:-1px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.trackmath [data-subnavigation="optimiser-tools"] .subnavigation-tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;border-top:0}
.trackmath [data-subnavigation="optimiser-tools"] .subnavigation-tabs button{min-height:52px;padding:8px 12px;box-shadow:inset 0 -1px var(--rule)}
.trackmath [data-subnavigation="optimiser-tools"] .subnavigation-tabs button::after{content:none}
.trackmath [data-subnavigation="optimiser-tools"] .subnavigation-tabs button.is-active{box-shadow:inset 0 -2px var(--bone)}
.trackmath [data-subnavigation="strategy-tools"] .subnavigation-tabs{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0;border-top:0}
.trackmath [data-subnavigation="strategy-tools"] .subnavigation-tabs button{padding:8px 12px;box-shadow:inset 0 -1px var(--rule)}
.trackmath [data-subnavigation="strategy-tools"] .subnavigation-tabs button::after{content:none}
.trackmath [data-subnavigation="strategy-tools"] .subnavigation-tabs button.is-active{box-shadow:inset 0 -2px var(--bone)}
.trackmath .subnavigation-tabs button{--tab-chamfer:13px;position:relative;min-width:0;min-height:42px;padding:8px 28px 8px 12px;border:0;border-right:1px solid var(--rule);background:transparent;color:var(--slate);cursor:pointer;text-align:left;font:500 var(--type-tool)/1.25 var(--mono);letter-spacing:.045em;box-shadow:inset 0 -1px var(--rule)}
.trackmath .workspace-tabs a::after,.trackmath .subnavigation-tabs button::after,.trackmath .subnavigation-title::after{content:"";position:absolute;z-index:2;top:-1px;right:-1px;width:var(--tab-chamfer);height:var(--tab-chamfer);background:linear-gradient(to bottom left,var(--black) 0 calc(50% - .6px),var(--rule) calc(50% - .6px) calc(50% + .6px),transparent calc(50% + .6px));pointer-events:none}
.trackmath .workspace-tabs a+a::before,.trackmath .subnavigation-tabs button+button::before{content:"";position:absolute;z-index:3;top:0;bottom:0;left:-1px;width:1px;background:var(--rule);pointer-events:none}
.trackmath .subnavigation-tabs button:last-child{border-right:0}
.trackmath [data-subnavigation="optimiser-tools"] .subnavigation-tabs button:not(.is-active):not(:hover):not(:focus-visible),.trackmath [data-subnavigation="strategy-tools"] .subnavigation-tabs button:not(.is-active):not(:hover):not(:focus-visible){color:var(--text-unscoped)}
.trackmath [data-subnavigation="optimiser-tools"] .subnavigation-tabs button:not(.is-active):not(:hover):not(:focus-visible)>small,.trackmath [data-subnavigation="strategy-tools"] .subnavigation-tabs button:not(.is-active):not(:hover):not(:focus-visible)>small{color:var(--text-unscoped-supporting)}
.trackmath .subnavigation-tabs button:hover,.trackmath .subnavigation-tabs button:focus-visible{color:#aaa493;outline:0}
.trackmath .subnavigation-tabs button:not(.is-active):hover,.trackmath .subnavigation-tabs button:not(.is-active):focus-visible{box-shadow:inset 0 -1px var(--steel)}
.trackmath .subnavigation-tabs button.is-active{color:var(--bone);box-shadow:inset 0 -3px var(--bone)}
.trackmath .subnavigation-tabs button[aria-disabled="true"]{cursor:default;color:#53647a}
.trackmath .subnavigation-tabs button small{display:inline-block;margin-left:7px;color:#53647a;font:500 8px/1 var(--mono);letter-spacing:.055em}
.trackmath .subnavigation-explainer{min-height:46px;margin:0;padding:9px 12px;border-bottom:1px solid var(--rule);display:flex;align-items:center;color:var(--slate);font:500 11px/1.45 var(--mono);letter-spacing:.025em}
.trackmath .workspace-tabs~.shared-prerequisite-layer{margin-top:calc(-1 * var(--instrument-stack-gap))}
.trackmath .workspace-tabs~.workspace-panel{margin-top:calc(-1 * var(--instrument-stack-gap))}
.trackmath .major-zone{--major-zone-accent-width:min(var(--instrument-settings-width),100%);position:relative;border:1px solid var(--rule);background:var(--black)}
.trackmath .optimiser-tool-shell,.trackmath .strategy-tool-shell{border-top:0}
.trackmath .major-zone-header{position:relative}
.trackmath .major-zone-header::after{content:"";position:absolute;z-index:2;left:-1px;bottom:-1px;width:var(--major-zone-accent-width);height:1px;background:var(--bone);pointer-events:none}
.trackmath .workspace-placeholder{min-height:160px;padding:20px;border:1px solid var(--rule);background:var(--black)}
.trackmath .workspace-placeholder>p:last-child{margin:0;color:var(--slate);font:500 12px/1.6 var(--mono);letter-spacing:.04em}
.trackmath .instrument-frame{display:grid;grid-template-columns:var(--instrument-settings-width) minmax(0,1fr);border:1px solid var(--rule)}
.trackmath .instrument-frame>.controls{min-width:0;padding-bottom:10px;border-right:1px solid var(--rule);background:var(--surface)}
.trackmath .instrument-frame .results,.trackmath .instrument-frame .matrix-section{min-width:0}
.trackmath .section-rule{min-height:44px;padding-inline:var(--settings-inset,12px);border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;font:500 var(--type-mode)/1 var(--mono);letter-spacing:.07em}
.trackmath .context-axis-heading{display:grid;grid-template-rows:10px 14px;gap:4px;align-content:center;width:max-content;margin-inline:auto;line-height:1}
.trackmath .context-axis-heading>small{min-height:10px;color:var(--slate);text-align:right;font:500 var(--type-compact)/1 var(--mono);letter-spacing:.055em;white-space:nowrap}
.trackmath .context-axis-heading>strong{color:var(--bone);text-align:center;font:500 var(--type-heading-major)/1 var(--mono);letter-spacing:.065em;white-space:nowrap}
.trackmath .context-axis-heading b{margin-left:2px;color:var(--bone);font-weight:600}
.trackmath .display-controls,.trackmath .matrix-display-controls{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:10px}
.trackmath .display-selector,.trackmath .secondary-control,.trackmath .metric-range,.trackmath .tolerance-control,.trackmath .matrix-range-row,.trackmath .tyre-width-control{color:var(--slate);font:500 var(--type-control-label)/1 var(--mono);letter-spacing:.065em}
.trackmath .display-selector select{display:block;width:142px;max-width:100%;height:var(--field-height);margin-top:6px;padding-inline:var(--field-inline-padding);border:1px solid var(--steel);background:var(--black);color:var(--bone);outline:0;font:500 11px/1 var(--mono)}
.trackmath .secondary-control{width:78px}
.trackmath .secondary-control>div{display:grid;grid-template-columns:minmax(0,1fr) auto;width:78px;height:var(--field-height);margin-top:6px;border:1px solid var(--steel);background:var(--black)}
.trackmath .secondary-control input{width:100%;min-width:0;padding-inline:var(--field-inline-padding);border:0;background:transparent;color:var(--bone);outline:0;text-align:right;font:500 11px/1 var(--mono)}
.trackmath .secondary-control i{padding:8px 5px 0 3px;color:var(--slate);font:normal 500 10px/1 var(--mono);white-space:nowrap}
.trackmath .metric-range-pair,.trackmath .range-pair{display:grid;grid-template-columns:48px 10px 48px;gap:4px;align-items:end;width:max-content;margin-top:6px}
.trackmath .analysis-range-label{display:flex;align-items:center;gap:5px}
.trackmath .analysis-range-label>span{white-space:nowrap}
.trackmath .metric-range-pair input,.trackmath .range-pair input{width:48px;height:var(--field-height);margin:0;padding-inline:3px;border:1px solid var(--steel);background:var(--black);color:var(--bone);outline:0;text-align:center;font:500 11px/1 var(--mono)}
.trackmath .metric-range-pair i,.trackmath .range-pair i{padding-bottom:9px;color:var(--steel);font:normal 500 13px/1 var(--mono)}
.trackmath .tolerance-control>span:first-child{display:block;margin-bottom:6px}
.trackmath .tolerance-input{position:relative;display:grid;grid-template-columns:38px 22px 16px;width:max-content;height:var(--field-height);border:1px solid var(--steel);background:var(--black);color:var(--bone);font:500 11px/1 var(--mono);letter-spacing:.06em}
.trackmath .tolerance-input input{width:38px;min-width:0;padding-inline:3px 2px;border:0;background:transparent;color:var(--bone);outline:0;text-align:right;font:500 11px/1 var(--mono)}
.trackmath .tolerance-input>span:nth-child(2){padding:8px 4px 0 2px;color:var(--slate);white-space:nowrap}
.trackmath .tolerance-steppers{display:grid;width:16px;height:100%;border-left:1px solid var(--steel)}
.trackmath .tolerance-input .tolerance-steppers button{all:unset;box-sizing:border-box;display:grid;place-items:center;width:15px;min-width:0;height:14px;min-height:0;margin:0;padding:0;background:var(--black);color:var(--slate);font:500 7px/1 var(--mono);line-height:1;cursor:pointer;touch-action:manipulation}
.trackmath .tolerance-steppers button+button{border-top:1px solid var(--rule)}
.trackmath input[type=number]{appearance:textfield;-moz-appearance:textfield}
.trackmath input[type=number]::-webkit-inner-spin-button,.trackmath input[type=number]::-webkit-outer-spin-button{margin:0;appearance:none}

.trackmath .wheel-settings-row{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin:12px 10px 0}
.trackmath .tyre-width-control,.trackmath .wheel-popover{max-width:100%;margin:0}
.trackmath .wheel-parameter-heading{display:flex;align-items:center;gap:5px;min-width:0}
.trackmath .input-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;width:86px;height:var(--field-height);margin-top:6px;border:1px solid var(--steel);background:var(--black)}
.trackmath .tyre-width-control .input-unit{width:68px}
.trackmath .input-unit input{width:100%;min-width:0;padding-inline:var(--field-inline-padding);border:0;background:transparent;color:var(--bone);outline:0;text-align:right;font:500 11px/1 var(--mono)}
.trackmath .input-unit span{min-width:24px;padding:8px 5px 0 3px;color:var(--slate);text-align:right;white-space:nowrap;font:500 10px/1 var(--mono)}
.trackmath input.is-numeric-draft,.trackmath .input-unit.is-numeric-draft{box-shadow:inset 0 -2px var(--bone)}
.trackmath input.is-numeric-invalid,.trackmath .input-unit.is-numeric-invalid{border-color:var(--required-red);box-shadow:inset 0 -2px var(--required-red)}
.trackmath .wheel-parameter.is-driver>.input-unit{border-color:var(--white)}
.trackmath .wheel-parameter.is-driver>.input-unit.is-numeric-invalid{border-color:var(--required-red)}
.trackmath .tyre-width-control.is-driver>.input-unit{border-color:var(--steel)}
.trackmath .info-popover{position:relative}
.trackmath .info-popover>summary{cursor:pointer;list-style:none}
.trackmath .info-popover>summary::-webkit-details-marker{display:none}
.trackmath .field-info-popover{display:inline-block;width:auto;color:var(--bone);font:500 11px/1 var(--mono);letter-spacing:0}
.trackmath .field-info-popover>summary,.trackmath .spicy .field-info-popover>summary{padding:0;color:var(--bone);font:500 11px/1 var(--mono)}
.trackmath .info-popover-content{position:absolute;z-index:20;top:calc(100% + 7px);left:0;width:290px;max-width:min(330px,calc(100vw - 48px));padding:12px 13px;border:1px solid var(--steel);background:#0d0e11;color:var(--bone);box-shadow:0 8px 22px #0008;font:400 var(--type-tooltip)/1.6 var(--sans);letter-spacing:0}
.trackmath .analysis-range-tooltip{font:400 var(--type-tooltip)/1.6 var(--sans)}
.trackmath .wheel-popover{color:var(--slate);font:500 var(--type-control-label)/1 var(--mono);letter-spacing:.055em}
.trackmath .wheel-popover>summary span{margin-left:4px;color:var(--bone);font-size:12px}
.trackmath .wheel-popover-content{width:280px;padding:11px 12px}
.trackmath .wheel-equation{display:flex;align-items:baseline;gap:6px;color:var(--bone);white-space:nowrap}
.trackmath .wheel-equation strong{font-size:14px;letter-spacing:-.04em}
.trackmath .wheel-popover-content small{display:block;margin-top:8px;color:var(--bone);font-size:10px}
.trackmath .wheel-popover-content p{margin:9px 0 0;color:var(--slate);font:400 var(--type-tooltip)/1.6 var(--sans)}
.trackmath .spicy{margin-top:12px;border-top:1px solid var(--rule)}
.trackmath .spicy>summary{padding:10px;cursor:pointer;color:#8290a0;font:500 11px/1 var(--mono)}
.trackmath .spicy>summary:hover,.trackmath .spicy>summary:focus-visible{color:var(--bone)}
.trackmath .spicy-inner{display:grid;gap:10px;padding:0 10px 12px}
.trackmath .spicy-inner>.control-label{width:132px;max-width:100%;margin:0;color:var(--slate);font:500 var(--type-control-label)/1.3 var(--mono);letter-spacing:.045em}
.trackmath .matrix-range-row{display:block;padding:10px 10px 0;white-space:nowrap}
.trackmath .matrix-range-row>span{display:block;margin-bottom:6px}

/* Gear Map axis, target, ranked results, and coverage summary. */
.trackmath .instrument-frame.gear-map-frame{position:relative;display:block}
.trackmath .instrument-frame.matrix-frame{position:relative}
.trackmath .instrument-frame:is(.gear-map-frame,.matrix-frame)::before,.trackmath:not(.is-strategy) .coverage-lower::before{content:"";position:absolute;z-index:20;top:-1px;left:-1px;width:10px;height:10px;background:linear-gradient(to bottom right,var(--black) 0 calc(50% - .6px),var(--rule) calc(50% - .6px) calc(50% + .6px),transparent calc(50% + .6px));pointer-events:none}
.trackmath .map-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px var(--instrument-title-gap);padding-inline:20px;overflow:visible}
.trackmath .temporary-clear-all{padding:3px 7px;border:1px solid var(--steel);background:transparent;color:var(--bone);font:500 10px/1.2 var(--mono);cursor:pointer}
.trackmath .map-unit-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.trackmath .map-unit-controls-right{margin-left:auto;margin-right:0}
.trackmath .map-unit-controls .display-selector{display:flex;align-items:center;gap:6px}
.trackmath .map-unit-controls select{width:auto;max-width:145px;height:24px;min-height:24px;margin:0;padding:2px 5px;font-size:10px}
.trackmath .map-unit-controls .secondary-control{display:flex;align-items:center;gap:6px}
.trackmath .map-unit-controls .secondary-control[hidden]{display:none}
.trackmath .map-endpoint{position:absolute;top:12px;z-index:8;display:flex;align-items:center;width:max-content;gap:6px;color:var(--slate);font:500 10px/1 var(--mono)}
.trackmath .map-endpoint-min{left:1px}
.trackmath .map-endpoint-min .map-endpoint-value{order:-1}
.trackmath .map-endpoint-max{right:0}
.trackmath .map-endpoint-value{display:flex;align-items:center;width:max-content;height:20px;padding:0 3px;border:1px solid var(--steel);background:var(--black)}
.trackmath .map-endpoint input{field-sizing:content;width:auto;min-width:2ch;max-width:12ch;height:18px;padding:0;border:0;background:transparent;color:var(--bone);font:500 10px/1 var(--mono);text-align:left;outline:0;appearance:textfield}
.trackmath .map-endpoint input::-webkit-inner-spin-button,.trackmath .map-endpoint input::-webkit-outer-spin-button{appearance:none;margin:0}
.trackmath .map-endpoint-max input{text-align:right}
.trackmath .map-endpoint i{margin-left:0;color:var(--bone);font:normal 500 10px/1 var(--mono)}
.trackmath .map-endpoint-value:focus-within{border-color:var(--bone)}
.trackmath .map-endpoint-value:focus-within :is(input,i){color:var(--bone)}
.trackmath .target-control .tolerance-control{padding:0 2px 0 4px;border-left:1px solid var(--steel)}
.trackmath .target-control .tolerance-input{height:24px;grid-template-columns:max-content max-content max-content 13px;gap:1px;justify-content:center;border:0;background:transparent}
.trackmath .target-control .tolerance-input input{field-sizing:fixed;width:4.5ch;min-width:4.5ch;max-width:4.5ch;text-align:center;font:500 11px/1 var(--mono);padding:0;appearance:textfield}
.trackmath .target-control .tolerance-input input::-webkit-inner-spin-button,.trackmath .target-control .tolerance-input input::-webkit-outer-spin-button{margin:0;appearance:none}
.trackmath .target-control .tolerance-input span{margin:0;font:500 10px/1 var(--mono)}
.trackmath .target-control .tolerance-input .tolerance-percent{margin-right:4px}
.trackmath .target-control .tolerance-sign,.trackmath .target-control .tolerance-percent{align-self:center;padding:0}
.trackmath .target-control .tolerance-steppers{width:13px}
.trackmath .target-control .tolerance-steppers button{width:12px;height:12px}
.trackmath .bike-wheel-panel{padding:10px 12px;border-bottom:1px solid var(--rule)}
.trackmath .bike-wheel-panel h3,.trackmath .bike-geometry-panel>h3{margin:0 0 10px;color:var(--bone);font:500 var(--type-control)/1.3 var(--mono)}
.trackmath .bike-wheel-panel .wheel-settings-row{margin:0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px}
.trackmath .bike-wheel-panel .spicy-inner{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 0}
.trackmath .bike-wheel-panel .spicy-inner>.control-label{width:auto}
.trackmath .coverage-section,.trackmath .coverage-instrument,.trackmath .coverage-lower{background:var(--black)}
.trackmath .coverage-section>.section-rule{border-bottom:0}
.trackmath .coverage-section>.section-rule>span,.trackmath .matrix-title-rule>#matrix-title,.trackmath .instrument-frame>.controls>.section-rule>span{color:var(--bone);font-size:var(--type-heading-major)}
/* One vertical axis anchor keeps ticks, target, tolerance and planner overlays
   aligned. Tick lengths are 80% of the former 50 / 39 / 25px heights. */
.trackmath .coverage-plot{--map-axis-y:69px;--map-major-tick:40px;--map-minor-tick:31.2px;--map-small-tick:20px;position:relative;height:calc(var(--map-axis-y) + 48px);margin:36px 20px 0;overflow:visible;font-family:var(--mono)}
/* Keep axis numbers below the inline endpoint labels on narrow screens. */
@media(max-width:900px){.trackmath .coverage-plot{--map-axis-y:87px}}
.trackmath .coverage-grid,.trackmath .coverage-dots,.trackmath .strategy-gap-preview,.trackmath .strategy-preview-dots,.trackmath .target-set-markers{position:absolute;inset:0}
.trackmath .witness-line{position:absolute;top:calc(var(--map-axis-y) - var(--map-major-tick));height:var(--map-major-tick);border-left:1px solid var(--steel)}
.trackmath .witness-line.medium{top:calc(var(--map-axis-y) - var(--map-minor-tick));height:var(--map-minor-tick);border-left-color:#344151}
.trackmath .witness-line.small{top:calc(var(--map-axis-y) - var(--map-small-tick));height:var(--map-small-tick);border-left-color:#202b39}
.trackmath .witness-line b{position:absolute;top:-15px;left:0;transform:translateX(-50%);color:#718096;white-space:nowrap;font:500 10px/1 var(--mono)}
.trackmath .witness-line.edge-min{left:1px!important}
.trackmath .witness-line.edge-max{left:auto!important;right:0}
.trackmath .witness-line.edge-min b{transform:none}
.trackmath .witness-line.edge-max b{transform:translateX(-100%)}
.trackmath .number-line{position:absolute;z-index:3;top:calc(var(--map-axis-y) - 1px);left:0;width:100%;border-bottom:3px solid var(--steel)}
.trackmath .target-tolerance-band{position:absolute;z-index:2;top:calc(var(--map-axis-y) - var(--map-major-tick));height:var(--map-major-tick);pointer-events:none;background:linear-gradient(90deg,rgba(var(--target-proximity-rgb),.05),rgba(var(--target-proximity-rgb),var(--target-axis-alpha)) var(--tolerance-target-position),rgba(var(--target-proximity-rgb),.05))}
.trackmath .target-tolerance-band::before,.trackmath .target-tolerance-band::after{content:"";position:absolute;inset-block:0;width:1px;background:rgba(var(--target-proximity-rgb),.7)}
.trackmath .target-tolerance-band::before{left:0}.trackmath .target-tolerance-band::after{right:0}
.trackmath .tolerance-boundary-handle{position:absolute;z-index:7;top:calc(var(--map-axis-y) - var(--map-major-tick));width:14px;height:var(--map-major-tick);transform:translateX(-50%);cursor:ew-resize;touch-action:none}
.trackmath .tolerance-boundary-handle::before{content:"";position:absolute;inset:0 auto 0 6px;width:1px;background:var(--bone)}
.trackmath .target-slider{position:absolute;z-index:3;top:16px;left:0;width:100%;height:calc(var(--map-axis-y) - 16px);margin:0;opacity:0;cursor:ew-resize}
.trackmath .target-marker{position:absolute;z-index:4;top:-32px;width:10px;height:calc(var(--map-axis-y) + 32px);margin-left:-5px;cursor:grab;pointer-events:auto}
.trackmath .target-marker:active{cursor:grabbing}

/* Axle Position consumes the shared physical setup and local settings rail. */
.trackmath .axle-position-results{padding:12px var(--settings-inset);min-width:0}
.trackmath .axle-position-results>p{margin:0 0 12px}
.trackmath .axle-recommendation{color:var(--bone);height:3em;overflow:auto}
.trackmath .axle-limit-labels{display:flex;justify-content:space-between;gap:12px;margin-top:8px;color:var(--slate)}
.trackmath .axle-limit{display:grid;gap:4px}
.trackmath .axle-limit:last-child{text-align:right}
/* Uniform Ø10 mm scale: cap the former 168px plot at 1.5× (252px).
   Retain 88px for its label lanes; the remaining 164px bounds the diameter.
   Container units keep resizing and hidden-to-visible mode changes CSS-owned. */
.trackmath .axle-dropout-viewport{container-type:inline-size;margin-inline:10px}
.trackmath .axle-dropout-diagram{--axle-diameter:min(164px,calc(100cqw / var(--dropout-aspect)));--axle-radius:calc(var(--axle-diameter)/2);--axle-plot-half:calc(var(--axle-radius) + 44px);display:grid;width:calc(var(--axle-diameter) * var(--dropout-aspect));max-width:100%;margin-inline:auto}
.trackmath .axle-dropout-diagram>.axle-limit-labels{grid-area:1 / 1;align-self:start}
.trackmath .axle-position-plot{grid-area:1 / 1;position:relative;margin:10px 0 14px;height:calc(var(--axle-plot-half)*2);max-height:252px}
.trackmath .axle-dropout-frame{position:absolute;top:calc(50% - var(--axle-radius));inset-inline:0;height:var(--axle-diameter);box-sizing:border-box;border:1px solid var(--steel);border-left:0;border-radius:0 var(--axle-radius) var(--axle-radius) 0;pointer-events:none}
/* The inset track is the full measured axle-centre range. The drawing adds radius,
   never subtracts an invented axle size from the physical-model travel. */
.trackmath .axle-position-track{position:absolute;inset:0 var(--axle-radius);background:linear-gradient(var(--rule),var(--rule)) center/100% 1px no-repeat}
.trackmath .axle-position-target{position:absolute;z-index:4;top:calc(50% - var(--axle-radius));width:20px;height:var(--axle-diameter);transform:translateX(-50%);cursor:ew-resize;touch-action:none}
.trackmath .axle-position-target::before{content:'';position:absolute;left:50%;top:0;width:var(--axle-diameter);height:var(--axle-diameter);box-sizing:border-box;transform:translateX(-50%);border:2px solid var(--bone);border-radius:50%;opacity:.7;pointer-events:none}
.trackmath .axle-position-target::after{content:'';position:absolute;top:-8px;bottom:50%;left:9px;border-left:2px solid var(--bone)}
.trackmath .axle-target-label{position:absolute;top:-28px;left:50%;transform:translateX(-50%);white-space:nowrap;color:var(--bone)}
.trackmath .axle-position-target:focus-visible{outline:0}
.trackmath .axle-position-target:hover::after,.trackmath .axle-position-target:focus-visible::after{box-shadow:0 0 4px var(--bone)}
.trackmath .axle-position-point{position:absolute;top:calc(50% - 12px);width:24px;height:24px;padding:0;border:0;background:transparent;transform:translateX(-50%);cursor:crosshair;outline:0}
.trackmath .axle-position-point::after{content:'';position:absolute;inset:8px;border-radius:50%;background:var(--slate)}
.trackmath .axle-position-point.is-best{z-index:2}
.trackmath .axle-position-point.is-best::after{background:var(--orange)}
.trackmath .axle-position-point.is-current{z-index:3}
.trackmath .axle-position-point.is-current::after{background:var(--current-green)}
.trackmath .axle-position-point.is-current.is-best::after{box-shadow:0 0 0 2px var(--orange)}
.trackmath .axle-position-point.is-evidence-active{z-index:5}
.trackmath .axle-position-point.is-evidence-active::after{transform:scale(1.8)}
.trackmath .axle-point-label{position:absolute;z-index:6;top:calc(50% + var(--axle-radius) + 38px);max-width:100%;white-space:nowrap;pointer-events:none;background:var(--black);line-height:1.4;transform:translateX(-50%);text-align:center}
.trackmath .axle-point-label::after{content:'';position:absolute;left:50%;bottom:100%;height:calc(var(--axle-radius) + 33px);border-left:1px solid currentColor}
.trackmath .axle-point-label.is-best{z-index:8;color:var(--orange)}
.trackmath .axle-point-label.is-current{color:var(--current-green)}
.trackmath .axle-point-label.is-current:not(.is-best){top:calc(50% + 7px);bottom:auto;z-index:3}
.trackmath .axle-point-label.is-current:not(.is-best)::after{height:2px}
.trackmath .axle-retention-cue{position:absolute;z-index:6;top:calc(50% + var(--axle-radius) + 6px + var(--cue-lane)*16px);transform:translateX(-50%);padding:0;border:0;background:var(--black);color:var(--text-peripheral);font:500 var(--type-compact)/1.3 var(--mono);white-space:nowrap;cursor:crosshair}
.trackmath .axle-retention-cue::after{content:'';position:absolute;bottom:100%;left:50%;height:calc(var(--axle-radius) + 1px + var(--cue-lane)*16px);border-left:1px solid var(--rule);pointer-events:none}
.trackmath .axle-retention-cue.is-evidence-active,.trackmath .axle-retention-cue:focus-visible{color:var(--bone);outline:0}
.trackmath .axle-mini{display:grid;grid-template-columns:8ch minmax(48px,1fr) 8ch;gap:6px;align-items:center}
.trackmath .axle-mini-distance{display:grid;white-space:nowrap;gap:1px}
.trackmath .axle-mini-distance:last-child{text-align:right}
.trackmath .axle-mini-track{--mini-radius:7px;position:relative;height:14px;border:0;color:inherit;margin-inline:11px}
.trackmath .axle-mini-track::after{content:'';position:absolute;inset:0 calc(-1 * var(--mini-radius));border:1px solid var(--steel);border-left:0;border-radius:0 var(--mini-radius) var(--mini-radius) 0;pointer-events:none}
.trackmath .axle-mini-track::before{content:'';position:absolute;left:50%;top:0;height:100%;border-left:1px solid var(--rule);opacity:.5}
.trackmath .axle-mini-dot{position:absolute;top:50%;width:5px;height:5px;border-radius:50%;background:currentColor;transform:translate(-50%,-50%)}
.trackmath .axle-position-inspector{height:3em;margin:4px 0 1em;overflow:auto;line-height:1.5;color:var(--bone)}
.trackmath .axle-position-inspector.is-idle .axle-inspection-copy{display:block;padding-top:4px;color:var(--interaction-cyan);font:500 var(--type-instruction)/1.45 var(--mono);letter-spacing:.04em}
.trackmath .axle-position-table{overflow-x:auto}
.trackmath .axle-position-row{display:grid;grid-template-columns:minmax(135px,1fr) 62px minmax(120px,1fr) minmax(90px,.8fr) minmax(165px,1.3fr);gap:10px;align-items:center;width:100%;min-width:620px;min-height:42px;padding:6px 0;text-align:left;border:0;border-top:1px solid var(--rule);background:transparent;color:var(--slate);font-family:var(--mono)}
.trackmath button.axle-position-row{cursor:pointer}
.trackmath .axle-position-row.is-best{color:var(--orange)}
.trackmath .axle-position-row.is-current{color:var(--current-green)}
.trackmath .axle-position-row.is-evidence-active{background:#10151e;box-shadow:inset 2px 0 var(--bone);outline:0}
.trackmath .axle-position-row:focus-visible{outline:0}
.trackmath .axle-value-cell{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 8px}
.trackmath .axle-value-cell>span{white-space:nowrap}
.trackmath .axle-value-detail{font:500 var(--type-meta)/1.35 var(--mono);color:var(--slate)}
.trackmath .axle-value-detail:empty{display:none}
.trackmath .axle-position-row .chain-identity{flex-wrap:wrap}
.trackmath .axle-results-summary{padding-top:10px}
.trackmath .chain-identity{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.trackmath .chain-identity-dot{display:inline-block;flex:none;align-self:center;width:7px;height:7px;border-radius:50%;vertical-align:middle;transform:translateY(-.04em)}
.trackmath .chain-identity-fitted{color:var(--current-green);font:500 var(--type-compact)/1.3 var(--mono)}
.trackmath .target-marker>i{position:absolute;top:32px;left:5px;height:var(--map-axis-y);border-left:3px solid var(--bone)}
.trackmath .target-marker:hover>i{border-left-color:var(--white);box-shadow:0 0 8px rgba(214,205,187,.35)}
.trackmath .target-control{position:absolute;top:0;left:5px;width:max-content;height:32px;padding-inline:0;border:1px solid var(--bone);background:#0b0f16;display:flex;align-items:center;justify-content:center;gap:0;transform:translateX(var(--target-control-shift,-50%));pointer-events:auto;transition:background .14s,box-shadow .14s}
.trackmath .target-marker:hover .target-control{background:#10151e;box-shadow:0 0 0 1px #526070}
.trackmath .target-control label{padding:0 8px;color:#718096;font:500 10px/1 var(--mono);letter-spacing:.08em}
.trackmath .target-control::before,.trackmath .target-control::after{position:absolute;top:50%;transform:translateY(-50%);color:var(--bone);font:400 24px/1 var(--mono);pointer-events:none}
.trackmath .target-control::before{content:'←';right:calc(100% + 9px)}
.trackmath .target-control::after{content:'→';left:calc(100% + 9px)}
.trackmath .target-control>div{display:flex;align-items:center;align-self:stretch;padding:0 6px 0 3px;border-left:1px solid var(--steel)}
.trackmath .target-control input{min-width:2ch;max-width:12ch;height:24px;padding:0;border:0;background:transparent;color:var(--bone);outline:0;text-align:right;font:500 20px/1 var(--mono)}
.trackmath .target-control>label:not(.tolerance-control){display:flex;align-items:center;height:24px}
.trackmath .target-control .tolerance-input{align-items:center}
.trackmath #target-unit.is-inch{position:relative;top:-4px}
.trackmath .target-control span{margin-left:4px;font:500 15px/1 var(--mono)}
.trackmath .coverage-dots{z-index:6;pointer-events:none}
.trackmath .strategy-preview-dots{z-index:7;pointer-events:none}
.trackmath .strategy-preview-dot{position:absolute;top:var(--map-axis-y);width:10px;height:10px;border:2px solid var(--orange);border-radius:50%;transform:translate(-50%,-50%);background:var(--black)}
.trackmath.is-strategy:not(.is-chain-workspace){--strategy-blue:var(--orange)}
.trackmath .target-set-markers{z-index:6;pointer-events:none}
.trackmath .target-set-marker{position:absolute;top:calc(var(--map-axis-y) - var(--map-minor-tick));height:var(--map-minor-tick);border-left:1px solid #344151}
.trackmath .target-set-marker span{position:absolute;top:-15px;left:0;transform:translateX(-50%);color:#718096;white-space:nowrap;font:500 10px/1 var(--mono)}
.trackmath .target-set-marker.is-evidence-muted{opacity:.12}
.trackmath .target-set-marker.is-evidence-relevant{border-left-color:var(--bone);filter:drop-shadow(0 0 3px rgba(214,205,187,.5))}
.trackmath .target-set-marker.is-evidence-relevant span{color:var(--bone)}
.trackmath .strategy-gap-preview{z-index:5;pointer-events:none}
.trackmath .strategy-gap-interval{position:absolute;top:calc(var(--map-axis-y) - var(--map-major-tick));height:var(--map-major-tick);border-inline:2px solid var(--strategy-blue);background:linear-gradient(90deg,rgba(47,131,189,.06),rgba(47,131,189,.22),rgba(47,131,189,.06));box-shadow:inset 0 -2px var(--strategy-blue)}
.trackmath .strategy-gap-endpoint{position:absolute;top:var(--map-axis-y);width:13px;height:13px;border:2px solid var(--strategy-blue);border-radius:50%;transform:translate(-50%,-50%);background:var(--black);box-shadow:0 0 0 2px var(--black)}
.trackmath .strategy-preview-dots.is-gap-emphasis .strategy-preview-dot{opacity:.55}
.trackmath .strategy-preview-dots.is-gap-emphasis .strategy-preview-dot.is-gap-relevant{width:15px;height:15px;border:2px solid var(--bone);opacity:1;box-shadow:0 0 0 2px var(--strategy-blue)}
.trackmath .coverage-plot.is-evidence-preview .coverage-dot{opacity:.14}
.trackmath .coverage-plot.is-evidence-preview .coverage-dot.is-evidence-relevant{z-index:8;opacity:1;box-shadow:0 0 0 2px var(--bone)}
.trackmath .coverage-plot.is-evidence-preview .strategy-preview-dot{opacity:.12}
.trackmath .coverage-plot.is-evidence-preview .strategy-preview-dot.is-evidence-relevant{width:15px;height:15px;border:2px solid var(--bone);opacity:1;box-shadow:0 0 0 2px var(--strategy-blue)}
.trackmath .coverage-plot.is-evidence-preview .strategy-gap-interval{border-inline-width:3px;background:linear-gradient(90deg,rgba(47,131,189,.08),rgba(47,131,189,.34),rgba(47,131,189,.08));box-shadow:inset 0 -3px var(--strategy-blue)}
.trackmath .coverage-plot.is-evidence-preview .strategy-gap-endpoint{width:17px;height:17px;border-color:var(--bone);box-shadow:0 0 0 3px var(--strategy-blue)}
.trackmath .coverage-dot{position:absolute;top:var(--map-axis-y);width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%);background:#526070;pointer-events:auto;cursor:crosshair;transition:width .14s,height .14s,background-color .08s,box-shadow .08s}
.trackmath .coverage-dot.rank-4{width:9px;height:9px;background:#75808e}
.trackmath .coverage-dot.rank-3{width:11px;height:11px;background:#9b9d99}
.trackmath .coverage-dot.rank-2{width:14px;height:14px;background:var(--bone)}
.trackmath .coverage-dot.rank-1{width:18px;height:18px;border:2px solid #0b0f16;background:var(--bone)}
.trackmath .coverage-dot.rank-1.is-within-tolerance{background:var(--orange)}
.trackmath .coverage-dot.is-linked{z-index:8;width:18px;height:18px;background:var(--bone);box-shadow:0 0 0 1px var(--white)}
.trackmath .coverage-dot.rank-4.is-linked-ranked{width:9px;height:9px}.trackmath .coverage-dot.rank-3.is-linked-ranked{width:11px;height:11px}
.trackmath .coverage-dot.rank-2.is-linked-ranked{width:14px;height:14px}.trackmath .coverage-dot.rank-1.is-linked-ranked{width:18px;height:18px}
.trackmath .coverage-dot.is-linked-ranked,.trackmath .coverage-dot.is-matrix-linked{box-shadow:0 0 0 1px var(--black),0 0 0 3px var(--bone)}
.trackmath .coverage-dot.rank-1.is-within-tolerance.is-linked{background:var(--orange);box-shadow:0 0 0 1px var(--orange)}
.trackmath .coverage-dot.is-current{z-index:7;width:15px;height:15px;background:var(--current-green)!important;box-shadow:none}
.trackmath .coverage-dot.is-current.has-suggested-ring{box-shadow:0 0 0 2px var(--orange)!important}
.trackmath .coverage-dot.is-suggested{background:var(--orange)!important}
.trackmath .closest-pin{--leader-left:50%;position:absolute;z-index:5;top:calc(var(--map-axis-y) + 14px);width:max-content;min-height:30px;padding:4px 8px;border:1px solid var(--steel);background:var(--navy);display:flex;justify-content:center;align-items:center;gap:9px;text-align:center;pointer-events:auto;cursor:pointer}
.trackmath .closest-pin:empty{display:none}
.trackmath .closest-pin::before{content:"";position:absolute;top:-14px;left:var(--leader-left);height:13px;border-left:1px solid var(--steel)}
.trackmath .closest-pin span{grid-column:1/-1;color:var(--bone);font:500 10px/1 var(--mono);letter-spacing:.08em}
.trackmath .closest-pin.is-suggested>span{color:#718096}
.trackmath .closest-pin.is-off-range>span{white-space:nowrap;letter-spacing:.025em}
.trackmath .closest-pin.is-off-range.is-suggested>span{color:var(--orange)}
.trackmath .closest-pin.is-off-range::before{display:none}
.trackmath .closest-pin:is(:hover,:focus-visible){outline:1px solid var(--interaction-cyan);outline-offset:2px}
.trackmath .closest-pin strong{padding-inline:9px;border-inline:1px solid var(--steel);color:var(--bone);font:500 18px/1.2 var(--mono)}
.trackmath .closest-pin b,.trackmath .closest-pin small{display:block;white-space:nowrap;font:500 11px/1.2 var(--mono)}
.trackmath .closest-pin small{margin-top:3px;color:var(--bone)}
/* Centre visible capitals/digits rather than differently sized font line boxes. */
.trackmath .closest-pin>:is(span,strong,b){text-box-trim:trim-both;text-box-edge:cap alphabetic}
.trackmath .coverage-lower{container-type:inline-size;display:grid;grid-template-columns:minmax(0,57fr) minmax(0,43fr);gap:18px;align-items:start;padding:15px 20px 13px}
.trackmath .map-gearing-results{min-width:0;align-self:stretch;display:flex;flex-direction:column}
.trackmath .bike-controls-anchor{position:relative;margin-bottom:12px}
.trackmath .map-physical-context{min-width:0;align-self:stretch;border-left:1px solid var(--rule);padding-left:18px}
.trackmath .dropout-projection-host{--shared-dropout-aspect:max(var(--map-dropout-aspect,1),var(--chain-dropout-aspect,1));display:grid;min-width:0;align-self:stretch;align-content:start}
.trackmath .map-priority-slot{margin:4px 0 12px}
/* Current evidence flows directly after Results. */
.trackmath .map-factual-readout{margin-top:8px;min-width:0;height:auto;flex:none;overflow:auto;color:var(--bone);display:flex;flex-direction:column;gap:6px}
.trackmath:not(.is-strategy) .map-factual-readout{height:auto;flex:none;overflow:visible}
.trackmath .map-factual-readout>*{flex-shrink:0}
.trackmath .map-gearing-results>.coverage-filter-heading{margin-bottom:12px}
.trackmath.is-strategy:not(.is-chain-workspace) .map-physical-context>.map-priority-slot{display:none}
.trackmath .map-calculation-context{margin:0;color:var(--slate)}
.trackmath .coverage-ranking-row .map-result-explanation{grid-column:1/-1;margin:0;color:var(--bone)}
.trackmath:not(.is-strategy) .coverage-ranking-row+.coverage-ranking-row{margin-top:4px}
.trackmath .purchase-existing-answer{margin:0 0 8px;color:var(--bone)}
.trackmath .chain-count-instruction{margin:0 0 8px;color:var(--slate)}
.trackmath :is(.chain-priority-buttons button,[data-best-gear-chain])::before{content:none;display:none;width:0;margin:0}
.trackmath :is(.chain-priority-buttons button,[data-best-gear-chain])[aria-pressed=true]::before{content:none;display:none;width:0;margin:0}
.trackmath.is-strategy:not(.is-chain-workspace) .map-gearing-results :is(.coverage-filter-heading,.coverage-filter-notice-slot,.map-priority-slot,#coverage-ranking){display:none}
.trackmath.is-strategy:not(.is-chain-workspace) .map-factual-readout{display:none}
.trackmath.is-strategy:not(.is-chain-workspace) :is(#target-marker,.closest-pin,#target-slider,#target-tolerance-band,.tolerance-boundary-handle){visibility:hidden;pointer-events:none}
/* Keep shared bike facts anchored; Purchase replaces only the left-hand results. */
.trackmath.is-strategy:not(.is-chain-workspace) .dropout-projection-host{display:none}
.trackmath .purchase-results-dock{display:none}
.trackmath .purchase-results-columns{display:grid;grid-template-columns:minmax(0,38fr) minmax(0,62fr);gap:24px;align-items:start}
.trackmath .purchase-results-columns>*{min-width:0}
.trackmath .purchase-results-columns>.purchase-chain-evidence{margin-top:0;border-top:0;padding-top:0}
.trackmath .purchase-results-explanation .strategy-map-explanation{margin-bottom:0}
@media(max-width:1000px){.trackmath .purchase-results-columns{grid-template-columns:minmax(0,1fr)}}
.trackmath.is-strategy:not(.is-chain-workspace) .purchase-results-dock{display:block;height:244px;flex:none;overflow:auto;margin-bottom:12px}
.trackmath .purchase-results-dock>h3{margin:0 0 12px}
.trackmath .purchase-dock-status{margin:0;color:var(--slate)}
.trackmath .purchase-results-dock :is(.strategy-shortlist,.target-set-shortlist){padding:0;grid-template-columns:110px minmax(150px,1fr) minmax(90px,auto) minmax(110px,auto);column-gap:8px;justify-content:stretch}
.trackmath .purchase-results-dock .target-set-section-heading{display:none}
.trackmath.is-strategy:not(.is-chain-workspace) .strategy-gap-interval{background:color-mix(in srgb,var(--orange) 12%,transparent)}
.trackmath .purchase-results-dock :is(.strategy-ranked-row,.target-set-ranked-row){padding:0;border:0;color:var(--white)}
.trackmath .purchase-results-dock :is(.strategy-ranked-row,.target-set-ranked-row)>span:first-child{color:var(--slate)}
.trackmath .purchase-results-dock :is(.strategy-ranked-row,.target-set-ranked-row).is-selected{color:var(--orange);box-shadow:none}
.trackmath .purchase-results-dock :is(.strategy-ranked-row,.target-set-ranked-row):is(:hover,:focus-visible,.is-previewing){background:#10151e;outline:none}
.trackmath .purchase-results-dock :is(.strategy-ranked-row,.target-set-ranked-row):focus-visible{box-shadow:inset 2px 0 var(--bone)}
.trackmath .map-factual-readout .map-dropout-evidence{margin-top:0}
.trackmath.is-strategy .map-priority-slot{opacity:.24}
.trackmath .map-factual-readout [data-compare-setups]{padding:4px 7px;min-height:26px;border:1px solid var(--steel);background:transparent;color:var(--bone);cursor:pointer}
.trackmath .map-factual-readout [data-compare-setups]:disabled{color:var(--text-unscoped);border-color:var(--rule);cursor:default}
.trackmath .map-factual-readout [data-compare-setups]:not(:disabled):hover{border-color:var(--bone);background:var(--navy)}
.trackmath.is-chain-workspace .map-priority-slot{opacity:.24;pointer-events:none}
.trackmath.is-chain-workspace .map-factual-readout{opacity:.24;pointer-events:none}
.trackmath.is-chain-workspace [data-best-gear-chain]{opacity:.24;pointer-events:none}
.trackmath.is-strategy .lower-workspace-tabs .matrix-display-controls{opacity:.24;pointer-events:none}
.trackmath.is-chain-workspace :is(#target-marker,.closest-pin,#target-tolerance-band,.tolerance-boundary-handle){opacity:.24;pointer-events:none}
.trackmath.is-chain-workspace #target-slider{pointer-events:none}
.trackmath.is-strategy .map-factual-readout{color:var(--text-unscoped)}
.trackmath .dropout-projection-host> :is(.map-dropout,.chain-dropout-projection){grid-area:1 / 1;min-width:0}
.trackmath .chain-dropout-projection{display:none;opacity:0;visibility:hidden;pointer-events:none;padding:0 0 4px;align-self:start}
.trackmath .dropout-projection-host>.map-dropout{border-left:0}
.trackmath .dropout-projection-host.shows-chain-region>.map-dropout{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none}
.trackmath .dropout-projection-host.shows-chain-region>.chain-dropout-projection{display:block;grid-area:1/1;opacity:1;visibility:visible;pointer-events:auto}
.trackmath .dropout-projection-host .axle-dropout-diagram{width:calc(var(--axle-diameter) * var(--shared-dropout-aspect))}
@media(max-width:900px){.trackmath .dropout-projection-host{border-left:0;border-top:1px solid var(--rule)}.trackmath .chain-dropout-projection{padding-top:14px}}
.trackmath .map-dropout{position:relative;min-width:0;padding:0}
.trackmath .map-dropout h3{margin:0;color:var(--slate);font:500 var(--type-control)/1.3 var(--mono)}
.trackmath .map-dropout .axle-dropout-viewport{padding-top:0}
.trackmath .map-dropout .axle-dropout-diagram{position:relative}
.trackmath .map-dropout .map-dropout-title{min-height:24px;display:flex;align-items:center;text-align:left;color:var(--bone)}
.trackmath .map-dropout .axle-dropout-diagram{--axle-diameter:min(100px,calc(100cqw / var(--shared-dropout-aspect)));--axle-plot-half:calc(var(--axle-radius) + 28px)}
.trackmath .map-dropout .axle-position-plot{height:calc(46px + var(--axle-diameter) + var(--map-label-room));margin:0;max-height:none}
.trackmath .map-dropout .axle-dropout-frame{top:46px;z-index:2;border-width:1px;border-left:0}
.trackmath .map-dropout .axle-position-track{background-position:center calc(46px + var(--axle-radius))}
.trackmath .map-dropout-inset{--dropout-wall:calc(var(--axle-radius) * (1 - var(--dropout-inner-ratio)));position:absolute;z-index:0;left:calc(-1 * var(--axle-radius));right:calc(-1 * var(--axle-radius));top:46px;height:var(--axle-diameter);mask-image:var(--dropout-hardware-mask,none);mask-composite:intersect;mask-repeat:no-repeat;pointer-events:none}
.trackmath .map-dropout-inset::before{content:'';position:absolute;inset:var(--dropout-wall) var(--dropout-wall) var(--dropout-wall) 0;border:1px solid var(--steel);border-left:0;border-radius:0 calc(var(--axle-radius) - var(--dropout-wall)) calc(var(--axle-radius) - var(--dropout-wall)) 0;box-sizing:border-box}
.trackmath .map-dropout-inset::after{content:'';position:absolute;inset:0;background:linear-gradient(var(--steel),var(--steel)) left top/1px var(--dropout-wall) no-repeat,linear-gradient(var(--steel),var(--steel)) left bottom/1px var(--dropout-wall) no-repeat}
.trackmath .map-dropout .map-current-axle{top:46px}
.trackmath .map-dropout .map-physical-position{top:calc(46px + var(--axle-radius) - 13px)}
.trackmath .map-dropout .is-unmeasured{--dropout-aspect:5;opacity:.45}
.trackmath .map-dropout-limits{grid-area:1 / 1;align-self:start;display:flex;justify-content:space-between;color:var(--slate);font:500 var(--type-compact)/1 var(--mono);margin-top:calc(53px + var(--axle-diameter));pointer-events:none}
.trackmath .map-current-axle{position:absolute;z-index:var(--nut-layer,3);top:calc(50% - var(--axle-radius));width:var(--axle-diameter);height:var(--axle-diameter);transform:translateX(-50%)}
.trackmath .axle-nut-face{position:absolute;left:50%;top:50%;width:var(--axle-diameter);height:var(--axle-diameter);transform:translate(-50%,-50%);box-sizing:border-box;border:1px solid var(--chain-colour);border-radius:50%;background:color-mix(in srgb,var(--chain-colour) 14%,transparent);mask-image:var(--nut-occlusion-mask,none);mask-composite:intersect;mask-repeat:no-repeat;pointer-events:none}
.trackmath .map-current-axle .axle-nut-face{border-color:var(--current-green);background:color-mix(in srgb,var(--chain-colour,transparent) 18%,transparent)}
.trackmath .axle-nut-outline{position:absolute;left:50%;top:50%;width:var(--nut-diameter,var(--axle-diameter));height:var(--nut-diameter,var(--axle-diameter));max-width:none;transform:translate(-50%,-50%);color:var(--chain-colour,var(--current-green));pointer-events:none}
.trackmath .axle-nut-outline :is(polygon,circle){fill:none;stroke:currentColor;stroke-width:var(--nut-line-width,1px);vector-effect:non-scaling-stroke}
.trackmath .map-current-axle .axle-nut-outline,.trackmath .map-physical-position.is-fitted-pairing .axle-nut-outline{color:var(--current-green)}
.trackmath .map-dropout-travel{position:absolute;top:6px;right:10px;margin:0;color:var(--slate);font:500 var(--type-compact)/1.3 var(--mono)}
.trackmath .map-dropout-evidence{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font:500 var(--type-control)/1.3 var(--mono)}
.trackmath .map-inspection-clear{grid-row:1;justify-self:start;padding:2px 5px;border:1px solid var(--steel);background:transparent;color:var(--bone);font:inherit;cursor:pointer}
.trackmath .map-inspection-readout{grid-row:2;margin:4px 0 0;color:var(--bone);overflow:auto}
.trackmath .map-physical-position{position:absolute;z-index:var(--nut-layer,3);top:calc(50% - 13px);width:26px;height:26px;transform:translateX(-50%);border:0;padding:0;background:transparent;color:var(--bone);cursor:crosshair}
.trackmath .map-physical-position.is-inspected .axle-nut-face{box-shadow:0 0 0 1px var(--bone)}
.trackmath .map-physical-position.is-concrete{z-index:var(--nut-layer,4)}
.trackmath .map-physical-position.is-concrete .axle-nut-face{box-shadow:0 0 0 2px var(--bone)}
.trackmath .map-chain-position-label{position:absolute;z-index:5;left:50%;top:calc(50% + var(--axle-radius) + 7px + var(--label-lane)*13px);transform:translateX(calc(-50% + var(--label-shift)));white-space:nowrap;padding:0 3px;color:var(--chain-colour);background:color-mix(in srgb,var(--black) 30%,transparent);font:600 11px/1.2 var(--mono)}
.trackmath .map-chain-position-label::before{content:'';position:absolute;bottom:100%;left:calc(50% - var(--label-shift));height:calc(11px + var(--label-lane)*13px);border-left:1px solid var(--chain-colour);opacity:.55;pointer-events:none}
.trackmath .map-current-axle .map-chain-position-label{top:auto;bottom:calc(100% + 7px);color:var(--current-green)}
.trackmath .map-current-axle .map-chain-position-label::before{top:100%;bottom:auto;height:7px}
.trackmath .map-axle-target{position:absolute;z-index:6;top:0;height:46px;width:24px;transform:translateX(-50%);cursor:ew-resize;touch-action:none}
.trackmath .map-axle-target::before{content:'';position:absolute;left:50%;transform:translateX(-50%);top:18px;bottom:6px;border-left:1px solid var(--steel);pointer-events:none}
.trackmath .map-axle-target::after{content:'';position:absolute;left:50%;transform:translateX(-50%);bottom:0;border:4px solid transparent;border-top:6px solid var(--steel);pointer-events:none}
.trackmath .map-axle-target-box{position:absolute;left:50%;top:3px;transform:translateX(calc(-50% + var(--target-label-shift,0px)));white-space:nowrap;color:var(--steel);font:500 11px/1.3 var(--mono)}
.trackmath .map-axle-target-handle{cursor:ew-resize}
.trackmath .map-axle-preference-gradient{position:absolute;z-index:1;left:0;width:100%;top:46px;height:var(--axle-diameter);overflow:hidden;background-repeat:no-repeat;pointer-events:none}
.trackmath .axle-acceptable-band{position:absolute;z-index:1;top:calc(50% - var(--axle-radius));height:var(--axle-diameter);box-sizing:border-box;border-inline:1px solid #c8c2ab80;background:#c8c2ab14;pointer-events:none}
.trackmath .map-dropout .axle-acceptable-band{top:18px;height:calc(28px + var(--axle-diameter));background:linear-gradient(90deg,rgba(var(--target-proximity-rgb),.05),rgba(var(--target-proximity-rgb),var(--target-axis-alpha)) var(--tolerance-target-position),rgba(var(--target-proximity-rgb),.05));border-color:rgba(var(--target-proximity-rgb),.7)}
.trackmath .map-axle-band-edge{position:absolute;z-index:7;top:18px;height:28px;width:12px;cursor:ew-resize;touch-action:none}
.trackmath .map-axle-band-edge.is-rear{transform:translateX(-100%);border-right:1px solid var(--bone)}
.trackmath .map-axle-band-edge.is-front{border-left:1px solid var(--bone)}
.trackmath :is(.map-axle-target-handle,.map-axle-band-edge):focus{outline:none}
.trackmath .map-axle-target-handle:focus-visible{text-decoration:underline;text-underline-offset:3px}
.trackmath .map-axle-band-edge:focus-visible{filter:drop-shadow(0 0 2px var(--bone))}
.trackmath .map-axle-priority{display:block;margin:0;font:500 var(--type-compact)/1.4 var(--mono)}
.trackmath .map-priority-captions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;color:var(--slate)}
.trackmath .map-priority-captions>strong{color:var(--bone);font-weight:700;font-size:var(--type-control)}
.trackmath .map-priority-captions>span:last-child{text-align:right}
.trackmath .map-axle-priority input{display:block;width:100%;margin:6px 0 0}
.trackmath .map-dropout-travel,.trackmath .map-inspection-readout{text-align:left}
.trackmath .map-inspection-readout{grid-column:1;grid-row:1;margin:0}
.trackmath .map-inspection-clear{grid-column:2;grid-row:1}
.trackmath .map-physical-position.is-fitted-pairing .axle-nut-face{border-color:var(--current-green);background:transparent}
.trackmath .map-physical-position.is-fitted-pairing.is-inspected .axle-nut-face{background:color-mix(in srgb,var(--chain-colour) 18%,transparent)}
.trackmath .map-axle-priority.is-nudged{animation:map-priority-nudge 650ms ease-out}
@keyframes map-priority-nudge{from{box-shadow:0 0 8px #00bfff66}to{box-shadow:0 0 0 transparent}}
@media(prefers-reduced-motion:reduce){.trackmath .map-axle-priority.is-nudged{animation:none;outline:1px solid var(--slate)}}
.trackmath .map-current-axle{transition:opacity 100ms;pointer-events:none}
.trackmath .map-physical-position{transition:opacity 100ms}
.trackmath .map-dropout.is-inspecting .map-current-axle,
.trackmath .map-dropout.is-inspecting .map-physical-position:not(.is-inspected){opacity:.6}
.trackmath .coverage-ranking-row.is-inspected{background:#10151e}
.trackmath .coverage-ranking-row.is-pinned{box-shadow:inset 2px 0 var(--bone)}
.trackmath .physical-setup-context>button.is-physical-invitation{background:#10151e;outline:1px solid var(--interaction-cyan);outline-offset:-1px}
@media(max-width:900px){.trackmath .coverage-lower{grid-template-columns:minmax(0,1fr)}.trackmath .map-dropout{border-left:0;border-top:1px solid var(--rule);padding-top:14px}}
.trackmath :is(.coverage-ranking,.purchase-results-dock){--ranking-head-height:20px;--ranking-row-height:26px}
.trackmath .coverage-ranking{min-width:0;display:grid;gap:0;align-content:start;font-family:var(--mono)}
.trackmath .coverage-filter-heading{position:relative;grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 16px;margin-bottom:0}
.trackmath .coverage-filter-heading .coverage-result-group-heading{min-width:36ch;white-space:nowrap}
.trackmath .coverage-filters{display:flex;flex-wrap:nowrap;gap:0}
.trackmath .coverage-filters button,.trackmath .keep-fitted-chain{min-height:24px;padding:3px 6px;border:1px solid var(--rule);background:transparent;color:var(--slate);font:500 10px/1.25 var(--mono);letter-spacing:.065em;cursor:pointer}
.trackmath .keep-fitted-chain::before{content:none;display:none;width:0;margin:0}
.trackmath .keep-fitted-chain[aria-pressed=true]{color:var(--bone);background:var(--navy)}
.trackmath .keep-fitted-chain[aria-pressed=true]::before{content:none;display:none;width:0;margin:0}
.trackmath .keep-fitted-chain[aria-disabled=true]{opacity:.24;cursor:default}
.trackmath .keep-fitted-chain:focus-visible{outline:1px solid var(--bone);outline-offset:2px}
.trackmath .coverage-filters button[aria-pressed=true]{color:var(--bone);box-shadow:inset 0 -2px var(--bone)}
.trackmath .coverage-filters button:disabled{opacity:.35;cursor:default}
.trackmath .shared-gearing-controls{margin-top:12px}
.trackmath .shared-gearing-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;margin:6px 0 12px}
.trackmath .shared-gearing-fields input,.trackmath .shared-gearing-fields select{min-width:0;width:100%;min-height:30px;padding:4px;border:1px solid var(--steel);background:var(--black);color:var(--bone);font:500 var(--type-control)/1.2 var(--mono)}
.trackmath .shared-gearing-tolerance{grid-column:2;grid-row:1;display:flex;align-items:center;gap:4px;color:var(--slate)}
.trackmath .shared-gearing-tolerance input{width:64px}
.trackmath .shared-gearing-target{display:flex;align-items:center;min-width:0;padding-right:6px;border:1px solid var(--steel);color:var(--bone);font:500 var(--type-control)/1.2 var(--mono)}
.trackmath .shared-gearing-target input{border:0;min-height:28px;text-align:right}
.trackmath .shared-gearing-target span{margin-left:3px}
.trackmath .shared-change-constraint{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:6px}
.trackmath .closest-result-label{color:var(--text-meta);font:500 var(--type-compact)/1 var(--mono);white-space:nowrap}
/* Keep filter feedback out of result rows and reserve its space during dragging. */
.trackmath .coverage-filter-notice-slot{min-width:0;display:flex;align-items:center}
.trackmath .coverage-filter-notice-slot:empty{display:none}
.trackmath.is-chain-workspace .coverage-filter-notice-slot{opacity:.24;pointer-events:none}
.trackmath .coverage-tolerance-notice{display:flex;align-items:center;gap:8px;white-space:nowrap;color:var(--slate);font:500 var(--type-compact)/1.4 var(--mono)}
.trackmath .coverage-tolerance-notice button{padding:3px 6px;border:1px solid var(--interaction-cyan);background:var(--navy);color:var(--interaction-cyan);font:inherit;white-space:nowrap;cursor:pointer}
.trackmath .coverage-tolerance-notice button:is(:hover,:focus-visible){outline:1px solid var(--bone);outline-offset:2px}
.trackmath .coverage-ranking-head,.trackmath .coverage-ranking-row{display:grid;grid-template-columns:48px 54px 64px 70px minmax(160px,1fr);gap:8px;align-items:center}
.trackmath .coverage-result-group-heading{margin:3px 0 1px;color:#9ca7b4;font:500 10px/1.25 var(--mono);letter-spacing:.065em}
.trackmath :is(.coverage-ranking-head,.purchase-results-dock .strategy-ranked-head,.purchase-results-dock .target-set-ranked-head){min-height:var(--ranking-head-height);color:var(--text-meta);font:500 var(--type-table-heading)/1 var(--mono);letter-spacing:.06em}
.trackmath :is(.coverage-ranking-row,.purchase-results-dock button.strategy-ranked-row,.purchase-results-dock button.target-set-ranked-row){min-height:var(--ranking-row-height);font:500 12px/1 var(--mono)}
.trackmath .coverage-ranking-row{color:var(--slate)}
.trackmath .coverage-ranking-head span:first-child,.trackmath .coverage-ranking-row span:first-child{text-align:left}
.trackmath .coverage-ranking-head span:nth-child(n+2):nth-child(-n+4),.trackmath .coverage-ranking-row span:nth-child(n+2):nth-child(-n+4){text-align:right}
.trackmath .coverage-ranking-row b{color:var(--slate)}
.trackmath .coverage-ranking-row.is-within-tolerance span:not(:first-child) b{color:var(--white)}
.trackmath .coverage-ranking-row.is-closest span:not(:first-child) b{color:var(--bone)}
.trackmath .coverage-ranking-row.is-closest>span:nth-child(-n+4) b{color:var(--bone)}
.trackmath .coverage-ranking-row.is-closest.is-suggested>span:nth-child(-n+4) b{color:var(--orange)}
.trackmath .coverage-ranking-row .recommendation-annotation{padding-left:8px;color:var(--bone);text-align:left;font-size:11px}
.trackmath .coverage-ranking-row .recommendation-annotation{white-space:nowrap}
.trackmath .recommendation-annotation .map-chain-consequence{display:inline-block;margin-left:6px;font:inherit;color:var(--bone)}
.trackmath .recommendation-annotation .map-chain-consequence.is-chain-change{font-style:normal}
.trackmath .recommendation-annotation button.map-chain-consequence{border:0;background:none;padding:2px 0;color:var(--interaction-cyan);cursor:pointer}
.trackmath .recommendation-annotation button.map-chain-consequence:hover,.trackmath .recommendation-annotation button.map-chain-consequence:focus-visible{text-decoration:underline}
.trackmath .coverage-ranking-row.is-constrained{font-size:12px}
.trackmath .coverage-ranking-row.is-constrained>span:first-child b{color:var(--bone)}
.trackmath .coverage-summary{min-width:170px;display:grid;grid-template-rows:repeat(3,24px);align-content:end;justify-items:end}
.trackmath .coverage-summary button{justify-self:end;align-self:center;padding:1px 0;border:0;background:transparent;color:var(--slate);text-align:right;font:500 10px/1 var(--mono);cursor:pointer}
.trackmath .coverage-summary button[data-summary-type=buildable]{grid-row:2}
.trackmath .coverage-summary button:hover,.trackmath .coverage-summary button:focus-visible{color:var(--white);text-decoration:underline;text-underline-offset:3px}
.trackmath #gear-table [hidden]{display:none!important}
.trackmath.is-strategy .target-control,.trackmath.is-strategy .closest-pin,.trackmath.is-strategy .coverage-ranking{opacity:1;filter:none}
.trackmath.is-strategy :is(.target-control,.closest-pin,.coverage-ranking,.coverage-filter-heading) :is(label,input,span,strong,b,small,p,button){color:var(--text-unscoped)!important}
.trackmath.is-strategy :is(.target-control,.closest-pin){border-color:var(--text-unscoped)}
.trackmath.is-strategy .target-control>div,.trackmath.is-strategy .closest-pin strong{border-color:var(--text-unscoped)}
.trackmath.is-strategy .target-marker>i{border-left-color:var(--text-unscoped);box-shadow:none}
.trackmath.is-strategy .target-control::before,.trackmath.is-strategy .target-control::after{color:var(--text-unscoped)}
.trackmath.is-strategy .tolerance-boundary-handle::before,.trackmath.is-strategy .target-tolerance-band::before,.trackmath.is-strategy .target-tolerance-band::after{background:var(--text-unscoped)}
.trackmath.is-strategy .closest-pin::before{border-color:var(--text-unscoped)}
.trackmath.is-strategy .coverage-dot:not(.is-current){width:7px!important;height:7px!important;border:0!important;background:#526070!important;box-shadow:none!important}
.trackmath.is-strategy .coverage-dot.is-current{width:15px;height:15px;background:var(--current-green)!important;box-shadow:none!important}
.trackmath.is-strategy .coverage-plot.is-evidence-preview .coverage-dot.is-evidence-relevant:not(.is-current){width:15px!important;height:15px!important;background:var(--bone)!important;opacity:1;box-shadow:0 0 0 2px var(--strategy-blue)!important}
.trackmath.is-strategy .coverage-plot.is-evidence-preview .coverage-dot.is-evidence-relevant.is-current{opacity:1;box-shadow:0 0 0 2px var(--bone)!important}
.trackmath .ownership-bridge{min-width:0;display:block;overflow:hidden;color:var(--slate);text-align:left;text-overflow:clip;white-space:nowrap;font:500 9px/1 var(--mono);letter-spacing:.04em}

/* Gear Matrix and linked interaction states. */
.trackmath .matrix-section,.trackmath .matrix-scroll,.trackmath #gear-table{background:var(--matrix-surface)}
.trackmath .matrix-section{position:relative;margin:0}
.trackmath .matrix-frame .matrix-section>.matrix-title-rule{min-height:52px}
.trackmath .matrix-title-rule{justify-content:flex-start;gap:10px;overflow:hidden;white-space:nowrap}
.trackmath .matrix-state-key{color:#9ca7b4;font:500 10px/1 var(--mono);letter-spacing:.045em}
.trackmath .matrix-state-badges{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,92px);align-items:center;gap:6px}
.trackmath .matrix-state-badge{box-sizing:border-box;width:92px;min-height:24px;padding-inline:7px;border:1px solid var(--steel);display:inline-flex;align-items:center;justify-content:center;color:var(--white);font:500 10px/1 var(--mono);letter-spacing:.04em}
.trackmath .matrix-state-badge.owned{border-color:var(--rule);background:var(--matrix-surface);color:var(--white)}.trackmath .matrix-state-badge.suggested{border-color:var(--orange);background:var(--orange)}.trackmath .matrix-state-badge.installed{border-color:var(--current-green);background:var(--current-green)}
.trackmath .fitted-gear-status{min-width:0;display:flex;gap:6px;align-items:center;justify-content:flex-end;margin-left:auto;color:#718096;font:500 10px/1 var(--mono);letter-spacing:.045em;white-space:nowrap;transition:background .2s,box-shadow .2s}
.trackmath .fitted-gear-label,.trackmath .fitted-gear-divider{flex:0 0 auto}
.trackmath .fitted-gear-divider{color:#53647a}
.trackmath .fitted-gear-status strong{color:var(--required-red);font-weight:500}
.trackmath .fitted-gear-status.is-set strong{color:var(--current-green)}
.trackmath .fitted-gear-status.is-context-highlight{padding:6px 8px;margin-block:-6px;background:#10151e;box-shadow:inset 2px 0 var(--bone)}
.trackmath .matrix-scroll{position:relative;max-width:100%;overflow-x:auto;overflow-y:visible}
.trackmath .matrix-scroll:focus-visible{outline-offset:-1px}
.trackmath #gear-table{position:relative;width:100%;min-width:calc(var(--matrix-column-count) * 64px);border-collapse:separate;border-spacing:0;table-layout:fixed;font-family:var(--mono)}
.trackmath #gear-table th,.trackmath #gear-table td{height:28px;padding:0;border-right:1px solid #202938;border-bottom:1px solid #202938;text-align:center}
.trackmath #gear-table thead th{position:sticky;top:0;z-index:3;background:#0d0e11;color:var(--slate)}
.trackmath #gear-table tbody th{position:sticky;left:0;z-index:2;background:#0d0e11}
.trackmath #gear-table thead th:first-child{left:0;z-index:4;padding:0 5px;white-space:nowrap}
.trackmath .matrix-axis-label{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:3px;color:var(--slate);font:500 10px/1 var(--mono);letter-spacing:.015em}
.trackmath .matrix-header-toggle{width:100%;height:28px;padding:0 4px;border:0;background:transparent;color:var(--slate);cursor:pointer;font:400 13px/1 var(--mono);transition:background .12s,color .12s,box-shadow .12s}
.trackmath .matrix-header-toggle.is-owned{color:var(--bone);font-size:17px;font-weight:600}
.trackmath .matrix-header-toggle:hover{background:#111923;color:#b6bdc6;outline:1px solid #526070;outline-offset:-2px}
.trackmath .matrix-header-toggle:focus-visible,.trackmath .matrix-header-toggle.is-linked-header{outline:1px solid var(--bone);outline-offset:-2px}
.trackmath .matrix-header-toggle.is-ownership-needed{color:var(--bone);outline:1px solid var(--required-red);outline-offset:-2px}
.trackmath #gear-table th.is-ownership-needed{z-index:9}
.trackmath .matrix-ownership-needed-cue{position:absolute;z-index:8;top:calc(100% + 2px);left:50%;padding:2px 4px;background:var(--matrix-surface);color:var(--required-red);pointer-events:none;transform:translateX(-50%);white-space:nowrap;font:500 9px/1.2 var(--mono);letter-spacing:.025em}
.trackmath #gear-table tbody th .matrix-ownership-needed-cue{left:0;transform:none}
.trackmath .matrix-header-toggle.is-current,.trackmath #gear-table th.is-current-header{background:var(--current-green);color:var(--white);outline:0}
.trackmath .matrix-header-toggle.is-suggested{background:var(--orange);color:var(--white);outline:0}
.trackmath .matrix-cell{--target-relevance:0;position:relative;color:var(--slate);background:linear-gradient(rgba(var(--target-proximity-rgb),var(--target-relevance)),rgba(var(--target-proximity-rgb),var(--target-relevance))),var(--matrix-surface);font:11px/1 var(--mono);transition:box-shadow .08s,color .08s}
.trackmath .matrix-cell span{position:relative;z-index:1}
.trackmath .matrix-value-unit{font-size:.8em}
.trackmath .matrix-cell.is-buildable:not(.is-current):not(.is-suggested) span{opacity:var(--owned-range-opacity,1)}
.trackmath .matrix-cell.is-unbuildable{color:var(--unowned-target-text,#4d5662)}
.trackmath .matrix-cell.is-buildable{color:#f1eadc;font-size:17px;font-weight:600}
.trackmath .matrix-cell:hover,.trackmath .matrix-cell:focus-visible,.trackmath .matrix-cell.is-linked,.trackmath .matrix-cell.is-linked-closest{z-index:6;outline:0;box-shadow:inset 0 0 0 1px var(--bone)}
.trackmath .matrix-cell.is-closest,.trackmath .matrix-cell.is-suggested{--target-relevance:0;background:var(--orange);color:var(--white)}
.trackmath .matrix-cell.is-current.is-suggested{box-shadow:inset 0 0 0 2px var(--orange)}
.trackmath .matrix-cell.is-current{--target-relevance:0;background:var(--current-green);color:var(--white)}
.trackmath .matrix-cell.is-current:hover,.trackmath .matrix-cell.is-current:focus-visible,.trackmath .matrix-cell.is-current.is-linked{background:var(--current-green)}

/* Strategy coverage instrument. */
.trackmath .strategy-frame{background:var(--black)}
.trackmath .strategy-settings{background:var(--surface)}
.trackmath .target-set-settings>.tolerance-control{display:block;padding:10px 10px 0}
.trackmath .strategy-option-group{min-width:0;margin:0;padding:0 10px;border:0;color:var(--slate);font:500 11px/1 var(--mono);letter-spacing:.07em}
.trackmath .strategy-option-group legend,.trackmath .strategy-candidate-range>span{display:block;width:100%;padding:10px 0 0;margin:0 0 6px}
.trackmath .strategy-segmented,.trackmath .strategy-allow{display:grid}
.trackmath .strategy-segmented{grid-template-columns:repeat(3,1fr)}
.trackmath .strategy-option-group button{min-height:30px;padding:0 6px;border:1px solid var(--steel);border-right:0;background:var(--black);color:var(--slate);cursor:pointer;font:500 11px/1 var(--mono)}
.trackmath .strategy-option-group button:last-child{border-right:1px solid var(--steel)}
.trackmath .strategy-allow button{border-right:1px solid var(--steel);border-bottom:0;text-align:left}
.trackmath .strategy-allow button:last-child{border-bottom:1px solid var(--steel)}
.trackmath .strategy-option-group button:hover,.trackmath .strategy-option-group button:focus-visible{color:var(--bone)}
.trackmath .strategy-option-group button[aria-pressed=true]{background:#10151e;color:var(--bone);box-shadow:inset 0 -2px var(--bone)}
.trackmath .strategy-spacing-preference{padding-bottom:3px}
.trackmath .strategy-preference-labels{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:5px;align-items:end;color:var(--slate);font:500 9px/1.25 var(--mono);letter-spacing:.035em}
.trackmath .strategy-preference-labels span:last-child{text-align:right}.trackmath .strategy-preference-labels i{color:#53647a;font-style:normal}
.trackmath .axle-priority-control .strategy-preference-labels{grid-template-columns:max-content 1fr max-content}
.trackmath .axle-priority-control .strategy-preference-labels span{white-space:nowrap}
.trackmath .axle-priority-control .strategy-preference-labels i{text-align:center}
.trackmath :is(#strategy-spacing-preference,#axle-priority,.map-axle-priority input){width:100%;height:20px;margin:4px 0 0;padding:0;appearance:none;background:transparent;cursor:ew-resize}
.trackmath :is(#strategy-spacing-preference,#axle-priority,.map-axle-priority input)::-webkit-slider-runnable-track{height:2px;background:var(--steel)}
.trackmath :is(#strategy-spacing-preference,#axle-priority,.map-axle-priority input)::-webkit-slider-thumb{width:10px;height:14px;margin-top:-6px;appearance:none;border:1px solid var(--bone);border-radius:0;background:var(--black)}
.trackmath :is(#strategy-spacing-preference,#axle-priority,.map-axle-priority input)::-moz-range-track{height:2px;background:var(--steel)}
.trackmath :is(#strategy-spacing-preference,#axle-priority,.map-axle-priority input)::-moz-range-thumb{width:10px;height:14px;border:1px solid var(--bone);border-radius:0;background:var(--black)}
.trackmath .map-axle-priority input::-webkit-slider-runnable-track{height:1px}
.trackmath .map-axle-priority input::-webkit-slider-thumb{margin-top:-6.5px}
.trackmath .map-axle-priority input::-moz-range-track{height:1px}
.trackmath :is(#strategy-spacing-preference,#axle-priority,.map-axle-priority input):focus-visible{outline:1px solid var(--bone);outline-offset:2px}
.trackmath .strategy-candidate-range{display:block;padding:0 10px;color:var(--slate);font:500 11px/1 var(--mono);letter-spacing:.07em;white-space:nowrap}
.trackmath .strategy-candidate-range.is-disabled{opacity:.35}
.trackmath .strategy-title-rule{justify-content:flex-start;gap:16px}
.trackmath .strategy-title-rule small{overflow:hidden;color:var(--slate);text-overflow:ellipsis;white-space:nowrap;font:500 10px/1 var(--mono);letter-spacing:.04em}
.trackmath .strategy-status{margin:0;padding:18px var(--settings-inset);color:var(--bone);font:500 11px/1.5 var(--mono);letter-spacing:.035em}
.trackmath :is(.strategy-plan-summary,.target-set-summary){min-height:150px;padding:6px var(--settings-inset) 20px;border-bottom:1px solid var(--rule);font-family:var(--mono)}
.trackmath :is(.strategy-plan-summary,.target-set-summary):empty{display:none}
.trackmath .strategy-plan-heading{margin:0 0 10px;color:var(--slate);font:500 11px/1 var(--mono);letter-spacing:.08em}
.trackmath .strategy-inventory-baseline,.trackmath .strategy-map-explanation{margin:0;color:var(--slate);font:500 10px/1.45 var(--mono);letter-spacing:.045em}
.trackmath .strategy-inventory-baseline{margin-top:16px}
.trackmath .strategy-map-explanation{margin-top:10px;color:var(--interaction-cyan)}
.trackmath .strategy-comparisons{display:grid;gap:5px;align-content:start;text-align:left}
.trackmath .evidence-statement{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;margin:0;padding:7px 0;border:0;background:transparent;color:var(--slate);text-align:left;cursor:crosshair;font:500 var(--type-interpretation)/1.45 var(--mono);letter-spacing:.02em}
.trackmath .evidence-statement>small{color:var(--interaction-cyan);white-space:nowrap;font:500 var(--type-instruction)/1 var(--mono);letter-spacing:.055em}
.trackmath .evidence-statement:hover,.trackmath .evidence-statement:focus-visible,.trackmath .evidence-statement.is-locked{background:#111923;color:var(--bone);outline:0;box-shadow:inset 2px 0 var(--tm-evidence-accent,var(--interaction-cyan)),inset 0 0 0 1px var(--tm-evidence-accent,var(--interaction-cyan))}
.trackmath .strategy-comparisons .evidence-statement{color:var(--slate)}
.trackmath .strategy-comparisons :is(.strategy-recommendation,.strategy-consequence,.target-set-recommendation,.target-set-consequence){color:var(--bone)}
.trackmath .strategy-inline-emphasis{color:var(--bone);font-size:1.1em;font-weight:700}
.trackmath .strategy-shortlist{padding:12px var(--settings-inset) 16px;font-family:var(--mono)}
.trackmath .strategy-ranked-head,.trackmath .strategy-ranked-row{display:grid;grid-template-columns:subgrid;grid-column:1/-1;column-gap:var(--strategy-table-gap);align-items:center;text-align:left}
.trackmath .strategy-ranked-head{min-height:22px;color:var(--text-meta);font:500 var(--type-table-heading)/1 var(--mono);letter-spacing:.06em}
.trackmath .strategy-ranked-row{width:100%;min-height:36px;padding:0;border:0;border-top:1px solid var(--rule);background:transparent;color:var(--slate);cursor:pointer;font:500 11px/1.3 var(--mono)}
.trackmath .strategy-ranked-head span:nth-child(n+3),.trackmath .strategy-ranked-row span:nth-child(n+3){text-align:right}
.trackmath .strategy-ranked-row:hover,.trackmath .strategy-ranked-row:focus-visible,.trackmath .strategy-ranked-row.is-previewing{background:#0d1117;color:var(--interaction-cyan);outline-offset:-1px}
.trackmath .strategy-ranked-row.is-selected{box-shadow:inset 2px 0 var(--bone);color:var(--bone)}

/* Target Set Plan reuses Strategy's purchase controls and evidence grammar. */
.trackmath .target-set-results{min-width:0;background:var(--black)}
.trackmath .target-set-editor{padding:6px var(--settings-inset) 6px;border-bottom:1px solid var(--rule);font-family:var(--mono)}
.trackmath .target-set-editor-heading{display:flex;align-items:center;justify-content:flex-start;gap:6px}
.trackmath .target-set-editor-heading p,.trackmath .target-set-empty{margin:0;color:var(--slate);font:500 10px/1.4 var(--mono);letter-spacing:.045em}
.trackmath .target-set-editor-actions button{min-height:30px;padding:0 9px;border:1px solid var(--steel);background:transparent;color:var(--bone);cursor:pointer;font:500 10px/1 var(--mono);letter-spacing:.04em}
.trackmath .target-set-editor-actions button:hover,.trackmath .target-set-editor-actions button:focus-visible{border-color:var(--bone);background:#0d1117}
.trackmath .target-set-targets{display:grid;margin-top:12px;border-top:1px solid var(--rule)}
.trackmath .target-set-empty{padding:14px 0}
.trackmath .target-set-editor-actions{display:flex;justify-content:flex-start;margin-top:6px}
.trackmath .target-set-target-row{display:grid;grid-template-columns:72px 88px max-content max-content 1fr;gap:10px;align-items:center;min-height:44px;padding:6px 0;border-bottom:1px solid var(--rule);color:var(--slate);font:500 10px/1 var(--mono);letter-spacing:.04em}
.trackmath .target-set-target-row:last-child{border-bottom:0}
.trackmath .target-set-target-row>#target-set-add{margin-left:6px;color:var(--bone);font-size:10px;white-space:nowrap}
.trackmath .target-set-value{position:relative;display:flex;align-items:center;gap:4px}
.trackmath .target-entry-value-box,.trackmath .target-tolerance-value{display:inline-flex;align-items:center;border:1px solid var(--steel);background:var(--black)}
.trackmath .target-set-value input{min-width:0;width:100%;height:30px;padding:0 7px;border:0;background:transparent;color:var(--bone);text-align:right;font:500 11px/1 var(--mono)}
.trackmath .target-set-value span{padding-right:7px;color:var(--slate)}
.trackmath :is(.target-entry-value-box,.target-tolerance-value):focus-within{border-color:var(--bone)}
.trackmath .target-set-value input:focus-visible{outline:0}
.trackmath .target-priority-options{display:flex;min-width:0}.trackmath .target-priority-options button{flex:0 0 auto;min-height:28px;padding:4px 8px;border:1px solid var(--steel);background:var(--black);color:var(--slate);font:500 10px/1.25 var(--mono);white-space:nowrap;cursor:pointer}.trackmath .target-priority-options button+button{border-left:0}.trackmath .target-priority-options button[aria-pressed=true]{background:#10151e;color:var(--bone);box-shadow:inset 0 -2px var(--bone)}
.trackmath .target-set-target-row>button{justify-self:start;min-height:28px;padding:0 7px;border:1px solid var(--steel);background:transparent;color:var(--slate);cursor:pointer;font:500 9px/1 var(--mono);letter-spacing:.04em}.trackmath .target-set-target-row>button:hover,.trackmath .target-set-target-row>button:focus-visible{color:var(--bone)}
.trackmath .target-set-editor-actions:empty{display:none}
.trackmath .target-set-comparisons .target-set-warning{color:var(--bone)}
.trackmath .target-set-section-heading{margin:0;padding:10px 0 7px;color:var(--slate);font:500 var(--type-heading)/1.2 var(--mono);letter-spacing:.055em}
.trackmath .target-set-audit,.trackmath .target-set-shortlist{padding:0 var(--settings-inset) 14px;font-family:var(--mono)}
.trackmath .strategy-inventory-baseline{white-space:pre-line}
.trackmath .target-set-editor-heading>.info-popover{margin:0}
/* Shared content-sized Strategy tables: roomy gutters, no flexible spacer columns. */
.trackmath :is(.strategy-ranked-head,.strategy-ranked-row,.target-set-audit-row,.target-set-ranked-row)>span{padding-inline:10px}
.trackmath .strategy-option-group>.clear-purchase-plan{display:block;margin-top:8px;border:1px solid var(--steel);font-size:var(--type-compact);color:var(--slate)}
.trackmath .strategy-option-group>.clear-purchase-plan[hidden]{display:none}
.trackmath :is(.strategy-shortlist,.target-set-audit,.target-set-shortlist){--strategy-table-gap:clamp(20px,2.2vw,36px);display:grid;justify-content:start;column-gap:var(--strategy-table-gap);overflow-x:auto}
.trackmath .strategy-shortlist{grid-template-columns:repeat(4,max-content)}
.trackmath .strategy-introduction{padding:14px var(--settings-inset) 16px;line-height:1.6}
.trackmath :is(#gearing-coverage-analysis,#target-set-analysis)>.strategy-introduction{padding-bottom:4px;color:var(--text-meta)}
.trackmath .strategy-introduction p{margin:0}
.trackmath .strategy-introduction p+p{margin-top:9px}
.trackmath .target-set-audit{grid-template-columns:repeat(6,max-content)}
.trackmath .target-set-shortlist{grid-template-columns:repeat(4,max-content)}
.trackmath .target-set-audit>.target-set-section-heading,.trackmath .target-set-shortlist>.target-set-section-heading{grid-column:1/-1}
.trackmath .target-set-audit-row{display:grid;grid-template-columns:subgrid;grid-column:1/-1;column-gap:var(--strategy-table-gap);align-items:center;width:100%;min-height:36px;padding:4px 0;border:0;border-top:1px solid var(--rule);background:transparent;color:var(--slate);text-align:left;font:500 10px/1.3 var(--mono)}
.trackmath button.target-set-audit-row{cursor:crosshair}.trackmath button.target-set-audit-row:hover,.trackmath button.target-set-audit-row:focus-visible,.trackmath button.target-set-audit-row.is-locked{background:#111923;color:var(--bone);outline:0;box-shadow:inset 2px 0 var(--interaction-cyan)}
.trackmath .target-set-audit-head{min-height:24px;border-top:0;font-size:var(--type-table-heading);letter-spacing:.06em;color:var(--text-meta)}.trackmath .target-set-audit-row span:first-child,.trackmath .target-set-audit-row span:nth-child(n+3){text-align:right}.trackmath .target-set-audit-row.is-within-tolerance span:nth-child(n+5){color:var(--bone)}
.trackmath .target-set-ranked-row{display:grid;grid-template-columns:subgrid;grid-column:1/-1;column-gap:var(--strategy-table-gap);align-items:center;width:100%;min-height:36px;padding:0;border:0;border-top:1px solid var(--rule);background:transparent;color:var(--slate);text-align:left;font:500 11px/1.3 var(--mono)}
.trackmath button.target-set-ranked-row{cursor:pointer}.trackmath button.target-set-ranked-row:hover,.trackmath button.target-set-ranked-row:focus-visible,.trackmath button.target-set-ranked-row.is-previewing{background:#0d1117;color:var(--interaction-cyan);outline-offset:-1px}.trackmath button.target-set-ranked-row.is-selected{box-shadow:inset 2px 0 var(--bone);color:var(--bone)}
.trackmath .target-set-ranked-head{min-height:22px;border-top:0;font-size:var(--type-table-heading);letter-spacing:.06em;color:var(--text-meta)}.trackmath .target-set-ranked-row span:nth-child(n+3){text-align:right}

/* Strategy analysis navigation and chain-plan decision instrument. */
.trackmath .strategy-panel{border:0;background:var(--black)}
/* PLANNER_STICKER_PLACEMENT_START */
.trackmath [data-planner-sticker="chain"]{--sticker-left:48.36%;--sticker-top:225px;--sticker-scale:1.11;--sticker-rotate:-8.3deg}
.trackmath [data-planner-sticker="purchase"]{--sticker-left:48.36%;--sticker-top:225px;--sticker-scale:1.11;--sticker-rotate:-8.3deg}
/* PLANNER_STICKER_PLACEMENT_END */
.trackmath .strategy-tool-shell{position:relative}
.trackmath .planner-sticker-anchor{position:absolute;z-index:18;inset:0;overflow:clip;pointer-events:none}
.trackmath .planner-construction-sticker{position:absolute;left:var(--sticker-left);top:var(--sticker-top);width:184px;filter:drop-shadow(0 6px 4px #000) drop-shadow(0 20px 17px #000) drop-shadow(0 30px 26px #50380080);transform:translate(-50%,-50%) rotate(var(--sticker-rotate)) scale(var(--sticker-scale));transform-origin:center;pointer-events:none}
.trackmath .planner-construction-sticker img{display:block;width:100%;height:auto;image-rendering:pixelated}
.trackmath .planner-sticker-close{position:absolute;top:5px;left:5px;z-index:1;width:20px;height:20px;padding:0;border:1px solid #fff;border-radius:50%;background:#111;color:#fff;font-size:0;cursor:pointer;pointer-events:auto;transform:translate(-50%,-50%) rotate(calc(0deg - var(--sticker-rotate)))}
.trackmath .planner-sticker-close::before,.trackmath .planner-sticker-close::after{content:"";position:absolute;top:50%;left:50%;width:10px;height:1.5px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.trackmath .planner-sticker-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.trackmath .planner-sticker-close:hover,.trackmath .planner-sticker-close:focus-visible{background:#fff;color:#111;outline:2px solid #fff;outline-offset:2px}
.trackmath .strategy-panel[data-planner-sticker="chain"] [data-planner-sticker="purchase"],.trackmath .strategy-panel[data-planner-sticker="purchase"] [data-planner-sticker="chain"]{display:none}
.trackmath .planner-construction-sticker.is-sticker-editing{pointer-events:auto;cursor:grab;touch-action:none;outline:1px dashed var(--bone)}
.trackmath .planner-construction-sticker.is-sticker-editing:active{cursor:grabbing}
.trackmath .planner-sticker-handle{position:absolute;width:24px;height:24px;padding:0;border:1px solid var(--bone);background:var(--black);color:var(--bone);font:18px/1 var(--mono);cursor:crosshair;touch-action:none}
.trackmath .planner-sticker-rotate{top:-13px;right:-13px}
.trackmath .planner-sticker-scale{right:-13px;bottom:-13px}
.planner-sticker-toolbar{position:fixed;z-index:1000;right:12px;bottom:12px;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:8px 10px;border:1px solid #d6cdbb;background:#100d0b;color:#d6cdbb;font:11px/1.4 monospace}
.planner-sticker-toolbar a{color:#ff6b25}
.trackmath .strategy-tool-navigation .subnavigation-tabs button{--tab-chamfer:16px;min-height:52px;display:flex;flex-direction:column;justify-content:center}
.trackmath .strategy-tool-navigation .subnavigation-tabs button>strong{font:inherit}
.trackmath .strategy-tool-navigation .subnavigation-tabs button>small{display:block;width:100%;margin:5px 0 0;line-height:1.25;overflow-wrap:anywhere}
.trackmath .strategy-tool-navigation .subnavigation-tabs button.is-active>small{color:var(--slate)}
.trackmath .strategy-analysis-stage{min-width:0;background:var(--black)}
.trackmath .strategy-analysis-surface .strategy-frame{border:0}
.trackmath .chain-coverage-analysis{font-family:var(--mono)}
.trackmath .chain-coverage-status{margin:0;padding:20px;color:var(--required-red);font:500 11px/1.5 var(--mono);letter-spacing:.035em}
.trackmath #chain-coverage-analysis>.strategy-introduction{padding-bottom:5px}
.trackmath .chain-coverage-summary{display:grid;align-content:start;gap:3px;height:220px;overflow-y:auto;box-sizing:border-box;padding:5px var(--settings-inset) 10px;border-bottom:1px solid var(--rule)}
.trackmath .chain-coverage-summary small{display:block;margin-bottom:4px;color:var(--slate);font:500 var(--type-meta)/1.35 var(--mono);letter-spacing:.055em}
.trackmath .chain-coverage-summary>p{max-width:1100px;margin:0;color:var(--slate);font:500 var(--type-interpretation)/1.45 var(--mono);letter-spacing:.02em}
.trackmath .chain-coverage-summary .evidence-statement{max-width:1100px;padding-block:2px;font-size:var(--type-interpretation);line-height:1.45;letter-spacing:.02em}
.trackmath .chain-coverage-summary .chain-coverage-current-situation{font-size:var(--type-interpretation)}
.trackmath .chain-coverage-summary .chain-coverage-recommendation{color:var(--bone);font-size:var(--type-heading-major)}
.trackmath .chain-coverage-summary .chain-coverage-result-sentence{font-size:var(--type-interpretation)}
.trackmath .chain-coverage-summary .chain-coverage-evidence-instruction{margin:5px 0 0;color:var(--interaction-cyan);font:500 var(--type-instruction)/1.35 var(--mono);letter-spacing:.04em}
.trackmath .chain-coverage-frontier{padding:11px var(--settings-inset) 5px;border-bottom:1px solid var(--rule)}
.trackmath .chain-coverage-explorer{padding:8px var(--settings-inset) 9px;border-bottom:1px solid var(--rule)}
.trackmath .chain-coverage-assignments{padding:8px var(--settings-inset) 0;border-bottom:0}
.trackmath .chain-coverage-section-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 18px}
.trackmath .chain-coverage-section-heading>span{color:var(--slate);font:500 var(--type-instruction)/1.4 var(--mono)}
.trackmath .chain-coverage-section-heading h3{margin:0;color:var(--bone);font:500 var(--type-heading)/1.2 var(--mono);letter-spacing:.055em}
.trackmath .chain-coverage-axle-key{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 12px;margin-left:auto;color:var(--slate);font:500 var(--type-compact)/1.2 var(--mono)}
.trackmath .chain-coverage-axle-key-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.trackmath .chain-coverage-axle-key-item i{display:inline-block;width:9px;height:9px;border-radius:50%}
.trackmath .chain-coverage-field-layout{--chain-axis-width:112px;min-width:0;display:grid;grid-template-columns:minmax(460px,1.3fr) minmax(240px,.7fr);column-gap:12px;align-items:stretch;margin-top:5px}
.trackmath .chain-coverage-field-layout>*{min-width:0}
.trackmath .chain-coverage-field{grid-column:1;grid-row:1;display:grid;grid-template-columns:var(--chain-axis-width) repeat(var(--chain-field-columns),minmax(84px,1fr));grid-template-rows:auto;grid-auto-rows:minmax(56px,1fr);align-self:start;overflow-x:auto}
.trackmath .chain-field-x,.trackmath .chain-field-y,.trackmath .chain-field-spacer{min-height:24px;padding:3px 5px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);display:grid;place-items:center;color:var(--slate);text-align:center;font:500 10px/1.2 var(--mono);letter-spacing:.025em}
.trackmath .chain-field-spacer,.trackmath .chain-field-x{border-top:1px solid var(--rule)}
.trackmath .chain-field-spacer{white-space:nowrap;letter-spacing:0}
.trackmath .chain-field-spacer,.trackmath .chain-field-y{border-left:1px solid var(--rule)}
.trackmath .chain-field-x{color:var(--bone);font-size:11px}
.trackmath .chain-field-y{position:relative;justify-items:center;align-content:center;gap:3px;white-space:nowrap;background:transparent;cursor:default}
.trackmath .chain-field-y:focus-visible{outline:1px dotted var(--slate);outline-offset:-3px}
.trackmath .chain-field-travel-help{display:none;position:absolute;z-index:5;left:100%;top:0;width:300px;padding:7px 9px;border:1px solid var(--rule);background:#090b0e;color:var(--interaction-cyan);white-space:normal;text-align:left;font:500 var(--type-instruction)/1.4 var(--mono)}
.trackmath .chain-field-y:hover .chain-field-travel-help,.trackmath .chain-field-y:focus-visible .chain-field-travel-help{display:block}
.trackmath .chain-field-y small{height:9px;font:500 7px/9px var(--mono);letter-spacing:0}
.trackmath .chain-field-y .chain-field-travel{--mini-radius:5px;display:block;width:calc(100% - 18px);margin-inline:9px;height:10px;background:#07090b}
.trackmath .chain-field-travel::before{opacity:.2}
.trackmath .chain-field-allowed-region{position:absolute;left:var(--allowed-inset);right:var(--allowed-inset);top:2px;bottom:2px;min-width:2px;background:var(--bone);opacity:.8;border-radius:2px}
.trackmath .chain-field-cell{min-width:84px;min-height:48px;padding:5px 3px;border:0;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:color-mix(in srgb,var(--black),#344356 calc(var(--field-intensity) * 100%));color:var(--bone);cursor:pointer;font:500 var(--type-data)/1.25 var(--mono);display:grid;place-content:center;gap:3px}
.trackmath .chain-field-cell small{color:color-mix(in srgb,var(--slate) 75%,var(--bone));font:500 var(--type-compact)/1.2 var(--mono)}
.trackmath .chain-field-cell:hover,.trackmath .chain-field-cell:focus-visible{position:relative;z-index:1;box-shadow:inset 0 0 0 1px var(--white);outline:0}
.trackmath .chain-field-cell.is-committed{position:relative;z-index:2;box-shadow:inset 0 0 0 2px var(--bone)}
.trackmath .chain-field-cell.is-previewing{position:relative;z-index:3;box-shadow:inset 0 0 0 1px var(--white),0 0 0 1px var(--white)}
.trackmath .chain-coverage-plan-inspector{grid-column:2;grid-row:1;align-self:stretch;contain:size;overflow:auto;min-height:0;box-sizing:border-box;padding:12px 14px;border:1px solid var(--rule);background:#090b0e;color:var(--slate);font:500 10px/1.35 var(--mono);letter-spacing:.035em}
.trackmath .chain-coverage-plan-inspector.is-previewing{box-shadow:inset 2px 0 var(--white)}
.trackmath .chain-coverage-plan-inspector h4{margin:0 0 8px;color:var(--bone);font:500 10px/1.2 var(--mono);letter-spacing:.06em}
.trackmath .chain-plan-facts{display:grid;gap:9px;color:var(--bone);font-size:11px}
.trackmath .chain-plan-facts p{margin:0}
.trackmath .chain-coverage-plan-comparison{display:grid;gap:4px;margin-top:12px;padding-top:10px;border-top:1px solid var(--rule)}
.trackmath .chain-coverage-plan-comparison p{margin:0;color:var(--slate);font:500 10px/1.35 var(--mono);letter-spacing:.035em}
.trackmath .chain-coverage-plan-inspector.is-previewing .chain-coverage-plan-comparison p{color:var(--bone)}
.trackmath .chain-coverage-method{margin:0 0 0 auto}.trackmath .chain-coverage-method>summary{color:var(--bone)}.trackmath .chain-coverage-method .info-popover-content{right:0;left:auto;width:340px;color:var(--slate);font:400 var(--type-tooltip)/1.6 var(--sans);letter-spacing:0}.trackmath .chain-coverage-method .info-popover-content strong{display:block;margin-bottom:7px;color:var(--bone);font:500 var(--type-meta)/1 var(--mono);letter-spacing:.055em}.trackmath .chain-coverage-method .info-popover-content p{margin:0}.trackmath .chain-coverage-method .info-popover-content p+p{margin-top:8px}
.trackmath #chain-coverage-frontier{display:grid;grid-template-columns:repeat(6,max-content);width:max-content;min-width:0;margin-top:7px;border-top:1px solid var(--rule)}
.trackmath .chain-coverage-frontier{overflow-x:auto}
.trackmath .chain-frontier{overflow-x:auto}
.trackmath .chain-frontier-row{display:grid;grid-template-columns:subgrid;grid-column:1/-1;gap:16px;align-items:center;min-height:34px;padding:4px 10px;border:0;border-bottom:1px solid var(--rule);background:transparent;color:var(--slate);text-align:left;cursor:pointer;font:500 11px/1.25 var(--mono);white-space:nowrap}
.trackmath .chain-frontier-row span{min-width:0}
.trackmath .chain-frontier-row span:nth-child(n+3):nth-child(-n+5){text-align:right}
.trackmath .chain-frontier-head{min-height:24px;color:var(--text-meta);cursor:default;font-size:var(--type-table-heading);letter-spacing:.06em}
.trackmath .chain-frontier-row:hover,.trackmath .chain-frontier-row:focus-visible{background:#0d1117;color:var(--bone);outline-offset:-1px}
.trackmath .chain-frontier-head:hover{background:transparent;color:#718096}
.trackmath .chain-frontier-row.is-selected{box-shadow:inset 2px 0 var(--bone);color:var(--bone)}
.trackmath .chain-frontier-row.is-previewing{box-shadow:inset 2px 0 var(--white);color:var(--white)}
.trackmath .chain-frontier-row span:last-child{color:var(--slate);font-size:11px;text-align:left}
.trackmath #chain-coverage-matrix-content{margin-top:4px}
.trackmath .chain-coverage-matrix-scroll{overflow:auto;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.trackmath #chain-coverage-matrix{width:100%;min-width:calc(54px + var(--chain-matrix-columns,4) * 116px);border-collapse:separate;border-spacing:0;table-layout:fixed}
.trackmath #chain-coverage-matrix th:first-child{width:54px;padding-inline:2px;font-size:9px}
.trackmath #chain-coverage-matrix th,.trackmath #chain-coverage-matrix td{position:relative;height:40px;padding:0 6px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);text-align:center;vertical-align:middle;font:500 11px/1.3 var(--mono)}
.trackmath #chain-coverage-matrix th{background:#0d0e11;color:var(--slate);font-size:10px}.trackmath #chain-coverage-matrix thead th:not(:first-child),.trackmath #chain-coverage-matrix tbody th{color:var(--bone);font-size:14px}
.trackmath #chain-coverage-matrix td{background:var(--matrix-surface);color:var(--slate)}
.trackmath #chain-coverage-matrix td.is-covered{color:var(--bone);font-size:14px}
.trackmath #chain-coverage-matrix td.is-uncovered{color:#434b55}
.trackmath #chain-coverage-matrix.is-evidence-preview td{background:#090b0e;color:#2f3946}
.trackmath #chain-coverage-matrix.is-evidence-preview td.is-evidence-relevant{z-index:2;background:#111923;color:var(--bone);box-shadow:inset 0 0 0 1px var(--interaction-cyan)}
.trackmath #chain-coverage-matrix.is-evidence-preview td.is-evidence-tightest{z-index:4;box-shadow:inset 0 0 0 2px var(--bone)}
.trackmath #chain-coverage-matrix td:hover,.trackmath #chain-coverage-matrix td:focus-visible{z-index:4;box-shadow:inset 0 0 0 1px var(--bone);outline:0}

.trackmath #chain-coverage-matrix td{height:52px;min-width:116px;padding-inline:3px}
.trackmath .chain-assignment-reading{display:grid;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);align-items:baseline;gap:1px;width:calc(100% - 12px);margin-inline:auto;white-space:nowrap}
.trackmath .chain-assignment-room{color:var(--interaction-cyan);font:500 8px/1 var(--mono);letter-spacing:0;text-align:left}
.trackmath #chain-coverage-matrix .axle-mini.is-schematic{display:block;width:calc(100% - 8px);margin:3px auto 0;color:var(--bone)}
.trackmath #chain-coverage-matrix .axle-mini-track{--mini-radius:9px;display:block;height:18px;margin-inline:9px}
.trackmath #chain-coverage-matrix .axle-mini-dot{width:11px;height:11px}
.trackmath .chain-assignment-room:last-child{text-align:right}
.trackmath .chain-assignment-links{color:var(--bone);font:500 14px/1 var(--mono)}
.trackmath #chain-coverage-matrix td:hover .chain-assignment-links:not([style]),.trackmath #chain-coverage-matrix td:focus-visible .chain-assignment-links:not([style]){color:var(--white)}
.trackmath #chain-coverage-cell-detail{height:4.2em;overflow:auto;margin:7px 0;color:var(--interaction-cyan);font:500 var(--type-result)/1.4 var(--mono)}
/* Shared physical prerequisites and their existing inline editors. */
.trackmath .physical-setup-frame{display:block}
.trackmath .setup-context-layout{display:grid;grid-template-columns:var(--instrument-settings-width) minmax(0,1fr);border:1px solid var(--rule);background:var(--black)}
.trackmath .inline-bike-actions{display:flex;flex-wrap:wrap;gap:2px 16px;margin:0;border-top:1px solid var(--rule)}
.trackmath .physical-setup-context.inline-bike-actions>button{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;width:auto;min-height:26px;padding:3px 0;border:0;text-align:left;background:none}
.trackmath .inline-bike-actions .setup-summary-heading{display:flex;gap:6px;align-items:center;width:100%}
.trackmath .physical-setup-context.inline-bike-actions>button small{margin:0}
.trackmath .physical-setup-context.inline-bike-actions>button.is-open{box-shadow:none}
.trackmath .physical-setup-context.inline-bike-actions>button.is-open::after{display:none}
.trackmath .inline-bike-setup{position:static;margin-top:6px;min-width:0}
.trackmath .inline-bike-setup .inline-bike-body{position:static;display:block;width:auto;max-width:none;max-height:none;overflow:visible;margin:0;padding:10px;border:1px solid var(--rule)}
.trackmath .inline-bike-body>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.trackmath .inline-bike-body>header button{padding:3px 7px}
.trackmath .inline-bike-body .shared-prerequisite-row{display:none}
.trackmath .inline-bike-body .shared-prerequisite-editor{border:0;padding:0}
.trackmath .inline-bike-body .geometry-editors{display:block}
.trackmath .inline-bike-body .geometry-method{padding:0;border:0}
.trackmath .inline-bike-body .geometry-current-method .geometry-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.trackmath .inline-bike-body .geometry-bb-drop{grid-column:1/-1;display:flex;align-items:center;gap:12px}
.trackmath .inline-bike-body .physical-input-unit input{width:8ch;min-width:0}
.trackmath .inline-bike-body .geometry-field-grid>label{min-width:0}
.trackmath .inline-bike-body .geometry-current-method{margin:0}
.trackmath .inline-bike-body .bike-direct-limits{margin:10px 0}
.trackmath .bike-direct-limits .geometry-method{display:flex;flex-wrap:wrap;gap:10px}
.trackmath .bike-direct-limits .geometry-method-note{flex-basis:100%}
.trackmath .inline-bike-body .model-check-panel{margin-top:12px;padding:12px 0 0;border:0;border-top:1px solid var(--rule)}
.trackmath .inline-bike-body .model-check-content{padding:0}
.trackmath .inline-bike-body button{background:transparent;border:1px solid var(--rule);color:var(--bone);font:inherit;cursor:pointer}
.trackmath .inline-bike-body .model-check-measurement-editor button{margin-left:8px;padding:3px 6px}
.trackmath .inline-bike-body .model-check-measurement-editor .physical-input-unit{display:flex;width:auto;gap:6px;white-space:nowrap}
.trackmath .inline-bike-body .model-check-panel>h3{font:500 var(--type-control)/1.3 var(--mono);margin:0 0 8px;color:var(--bone)}
.trackmath .inline-bike-body .model-check-metrics{padding:0;max-width:none}
.trackmath .inline-bike-body .bike-wheel-panel{padding:0 0 10px;margin-bottom:10px}
.trackmath .inline-bike-body .bike-direct-limits>summary{font:500 var(--type-compact)/1.4 var(--mono);color:var(--slate);cursor:pointer}
.trackmath .inline-bike-body #bike-derived-limits{font-size:11px;margin:10px 0}
/* Bike Setup: headings 12px, editable/readout values 12px, labels and prose
   11px, supporting detail 10px. All sections share the body's left inset. */
.trackmath .inline-bike-body{font:500 11px/1.4 var(--mono);text-align:left}
.trackmath .inline-bike-body>header strong,.trackmath .inline-bike-body h3{font:600 12px/1.3 var(--mono);letter-spacing:.04em}
.trackmath .inline-bike-body .bike-wheel-panel h3,.trackmath .inline-bike-body .bike-geometry-panel>h3,.trackmath .inline-bike-body .model-check-panel>h3{font:600 12px/1.3 var(--mono)}
.trackmath .inline-bike-body .geometry-method,.trackmath .inline-bike-body .geometry-field-label,.trackmath .inline-bike-body .control-label,.trackmath .inline-bike-body .physical-field-heading,.trackmath .inline-bike-body .model-check-fact,.trackmath .inline-bike-body .model-check-measurement-line{font:500 11px/1.4 var(--mono);letter-spacing:.02em}
.trackmath .inline-bike-body .geometry-field-grid>label>span,.trackmath .inline-bike-body .geometry-field-label{min-height:31px;align-content:start}
.trackmath .inline-bike-body input,.trackmath .inline-bike-body .physical-input-unit input,.trackmath .inline-bike-body .model-check-fact strong{font:500 12px/1.2 var(--mono)}
.trackmath .inline-bike-body .physical-input-unit,.trackmath .inline-bike-body .input-unit{width:84px;height:28px;box-sizing:border-box;align-items:center;margin-top:6px}
.trackmath .inline-bike-body .physical-input-unit input,.trackmath .inline-bike-body .input-unit input{width:100%;height:100%;text-align:left;padding:0 5px;font:500 12px/1.2 var(--mono)}
.trackmath .inline-bike-body .physical-input-unit>span,.trackmath .inline-bike-body .input-unit>span{padding:0 5px 0 0;min-width:0;font:500 10px/1 var(--mono)}
.trackmath .inline-bike-body .info-popover-content{max-width:100%;box-sizing:border-box}
.trackmath .inline-bike-body .spicy-inner{column-gap:18px}
.trackmath .inline-bike-body .shared-measurement-link,.trackmath .inline-bike-body .model-check-context,.trackmath .inline-bike-body .model-check-note,.trackmath .inline-bike-body .spicy>summary,.trackmath .inline-bike-body .bike-direct-limits>summary{font:500 10px/1.4 var(--mono)}
.trackmath .inline-bike-body .model-check-narrative,.trackmath .inline-bike-body .model-check-interpretation{font:500 11px/1.45 var(--mono)}
.trackmath .inline-bike-body .model-check-lead{font:600 11px/1.4 var(--mono)}
.trackmath .inline-bike-body .model-check-measurement-line>span{padding-top:0}
.trackmath .inline-bike-body .model-check-measurement-editor .physical-input-unit{border:0;background:none;height:auto}
.trackmath .inline-bike-body .model-check-measurement-line{align-items:center}
.trackmath .inline-bike-body .geometry-field-grid{margin-top:0}
@media(max-width:650px){.trackmath .inline-bike-body .geometry-current-method .geometry-field-grid{grid-template-columns:1fr}.trackmath .inline-bike-body .wheel-settings-row{flex-wrap:wrap}}
.trackmath .shared-bike-strip .physical-setup-context{display:flex;flex-wrap:wrap;align-items:center;gap:0}
.trackmath .shared-bike-strip .physical-setup-context>button{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;width:auto;min-height:30px;padding:4px 10px;border:0}
.trackmath .shared-bike-strip .physical-setup-context>button+button{margin-left:auto;border-left:1px solid var(--rule)}
.trackmath .shared-bike-strip .physical-setup-context>button small{margin:0}
.trackmath .shared-bike-strip .physical-setup-context .setup-summary-heading{display:flex;gap:8px;align-items:center}
.trackmath .lower-workspace-tabs{display:grid;grid-template-columns:minmax(max-content,1.4fr) repeat(2,minmax(0,1fr));align-items:stretch;gap:0;border:1px solid var(--rule)}
.trackmath .lower-workspace-tabs a{display:flex;align-items:center;justify-content:center;min-width:0;margin:0;padding:8px 10px;color:var(--slate);font:600 var(--type-control)/1.3 var(--mono);text-decoration:none;text-align:center}
.trackmath .lower-workspace-tabs~.workspace-panel:not([hidden]){margin-top:calc(-1 * var(--instrument-stack-gap) - 1px)}
.trackmath .lower-workspace-tabs a+a{border-left:1px solid var(--rule)}
.trackmath .lower-workspace-tabs a.is-active,.trackmath .purchase-objective a.is-active{color:var(--bone);box-shadow:inset 0 -2px var(--bone)}
.trackmath .planner-workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.trackmath .purchase-objective{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font:500 var(--type-compact)/1.3 var(--mono)}
.trackmath .purchase-objective[hidden]{display:none}
.trackmath .setup-context-layout{grid-template-columns:minmax(0,1fr)!important}
.trackmath .matrix-title-rule{flex-wrap:wrap;gap:10px}
.trackmath .matrix-title-rule .matrix-display-controls,.trackmath .matrix-title-rule .matrix-range-row{display:flex;align-items:center;gap:6px;margin:0;padding:0}
.trackmath .matrix-title-rule .matrix-range-row>span{margin:0}
.trackmath .matrix-title-rule .display-selector{display:flex;align-items:center;gap:6px;font-size:10px;margin:0}
.trackmath .matrix-title-rule select{font-size:10px;width:142px;height:24px;margin:0;padding:2px 5px}
.trackmath .matrix-title-rule .range-pair{display:flex;align-items:center;gap:3px;margin:0;padding:0 4px;border:1px solid var(--steel);height:24px;box-sizing:border-box}
.trackmath .matrix-title-rule .range-pair i{padding:0;font:500 10px/1 var(--mono)}
.trackmath .matrix-title-rule input{width:4.5ch;padding:2px;font:500 10px/1 var(--mono)}
.trackmath .matrix-title-rule .matrix-state-badge{min-width:65px;padding:5px}
.trackmath #gear-table th{position:relative}
.trackmath .chain-analysis-scope{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.trackmath .chain-analysis-scope [data-band-full]{margin-left:auto;padding:5px 8px;border:1px solid var(--steel);background:transparent;color:var(--bone);font:inherit;cursor:pointer}
.trackmath .purchase-questionnaire{border-bottom:1px solid var(--rule);font-family:var(--mono)}
.trackmath .purchase-questionnaire[hidden]{display:none}
.trackmath .purchase-chain-fit{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:8px var(--settings-inset);border-bottom:1px solid var(--rule);font:500 var(--type-control)/1.4 var(--mono)}
.trackmath .purchase-chain-fit [role=group]{display:flex}
.trackmath .purchase-chain-fit button{padding:6px 10px;border:1px solid var(--steel);background:var(--black);color:var(--slate);font:inherit;cursor:pointer}
.trackmath .purchase-chain-fit button[aria-pressed=true]{background:#101722;color:var(--bone);box-shadow:inset 0 -2px var(--bone)}
.trackmath .purchase-chain-scope{margin:0;color:var(--slate);font:500 var(--type-instruction)/1.4 var(--mono)}
.trackmath .map-chain-controls>:not(.setup-owned-chains),.trackmath .map-chain-controls .setup-owned-chain>*{transition:opacity 45ms linear,box-shadow 45ms linear}
.trackmath.purchase-chains-active [data-chain-action=current]{opacity:.32}
.trackmath.purchase-chains-ignored .map-chain-controls>:not(.setup-owned-chains),.trackmath.purchase-chains-ignored .map-chain-controls .setup-owned-chain>*{opacity:.32}
.trackmath:is(.purchase-chain-link,.purchase-chains-needed) .map-chain-controls [data-best-gear-chain]{opacity:1;box-shadow:0 0 0 1px var(--interaction-cyan)}
.trackmath.purchase-chains-needed .inline-chain-add,.trackmath.purchase-geometry-needed [data-matrix-setup-summary="bike-geometry"]{color:var(--interaction-cyan);outline:1px solid var(--interaction-cyan);outline-offset:-1px}
.trackmath .purchase-chain-evidence{margin:8px 0;color:var(--slate);font:500 var(--type-instruction)/1.4 var(--mono)}
.trackmath .purchase-chain-evidence summary{cursor:pointer;color:var(--bone)}
.trackmath .purchase-chain-evidence p{margin:6px 0}
.trackmath .purchase-chain-evidence small{display:block;color:var(--slate);font:inherit}
@media(prefers-reduced-motion:reduce){.trackmath .map-chain-controls *{transition:none!important}}
.trackmath .purchase-constraints{display:grid;grid-template-columns:260px minmax(0,1fr)}
.trackmath .purchase-constraints>.purchase-allowance-question{border-right:1px solid var(--rule)}
.trackmath .purchase-question{padding:10px 12px;border-top:1px solid var(--rule);min-width:0}
.trackmath .purchase-question fieldset{margin:0;padding:0;border:0;min-width:0}
.trackmath .purchase-allowance-question fieldset{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.trackmath .purchase-allowance-question legend{float:none;margin:0 0 5px;width:auto;max-width:235px;font-size:11px;letter-spacing:0;padding:0}
.trackmath .purchase-question .strategy-segmented,.trackmath .purchase-question .strategy-allow{display:flex;width:max-content;max-width:100%;gap:0;flex-wrap:wrap}
.trackmath .purchase-question .strategy-segmented button{flex:none;min-width:38px;width:auto;padding:5px 10px}
.trackmath .purchase-question .strategy-allow button{flex:none;width:auto;padding:5px 10px}
.trackmath .purchase-question .clear-purchase-plan{margin:0}
.trackmath .purchase-question legend,.trackmath .purchase-objective>span{color:var(--bone);font:500 12px/1.3 var(--mono);margin:0 0 6px}
.trackmath .purchase-search-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.trackmath .purchase-search-controls>fieldset{display:flex;align-items:center;gap:8px}
.trackmath .purchase-search-controls>fieldset>legend{float:left;width:auto;margin:0 4px 0 0;font-size:11px;letter-spacing:0;padding:0}
.trackmath .purchase-search-controls>fieldset{flex-shrink:0}
.trackmath .purchase-question .strategy-allow{flex-wrap:nowrap}
.trackmath .purchase-question .strategy-allow button{border:1px solid var(--steel)}
.trackmath .purchase-question .strategy-allow button+button{border-left:0}
@media(max-width:900px){.trackmath .purchase-constraints{grid-template-columns:210px minmax(0,1fr)}.trackmath .purchase-search-controls{gap:8px}.trackmath .purchase-search-caption{flex-basis:100%}}
@media(max-width:650px){.trackmath .purchase-constraints{grid-template-columns:minmax(0,1fr)}.trackmath .purchase-constraints>.purchase-allowance-question{border-right:0}}
.trackmath .purchase-search-controls[hidden],.trackmath [data-purchase-mode][hidden]{display:none}
.trackmath .purchase-search-caption{color:var(--slate);font-size:10px}
.trackmath .purchase-search-controls .strategy-candidate-range{margin:0}
.trackmath .purchase-search-controls input{width:5ch;padding:4px}
.trackmath .purchase-improvement-question{display:grid;grid-template-columns:minmax(280px,1fr) 1fr;gap:20px;align-items:center}
.trackmath .purchase-improvement-question input[type=range]{width:100%}
.trackmath .purchase-inactive-note,.trackmath .purchase-analysis-context{color:var(--slate);font:500 11px/1.3 var(--mono)}
.trackmath .purchase-analysis-context{padding:6px 12px}
.trackmath .purchase-question.is-inactive :is(fieldset,.target-set-editor){color:var(--text-unscoped);opacity:.5}
.trackmath .purchase-question .target-set-editor{padding:0;min-height:84px}
.trackmath .purchase-question .target-set-value{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;border:0;background:transparent;width:max-content;justify-self:start;padding:0}
.trackmath .purchase-question .target-entry-value-box>input{flex:none;width:7ch;min-width:0;padding:4px;border:0;font:500 14px/1.2 var(--mono)}
.trackmath .target-entry-tolerance{display:inline-flex;align-items:center;gap:3px;margin-left:8px;font:500 11px/1.2 var(--mono);color:var(--slate)}
.trackmath .target-entry-tolerance input{width:5ch!important;font:inherit!important;padding:3px!important;color:var(--bone)}
.trackmath .purchase-question .target-set-target-row{grid-template-columns:75px minmax(200px,1fr) auto auto;gap:8px}
.trackmath .strategy-analysis-stage .strategy-frame{display:block}
.trackmath .purchase-questionnaire~.strategy-analysis-stage{min-height:0}
@media(max-width:900px){.trackmath .purchase-search-controls{grid-template-columns:1fr 1fr}.trackmath .purchase-improvement-question{grid-template-columns:1fr}.trackmath .purchase-question .target-set-target-row{grid-template-columns:75px minmax(170px,1fr)}.trackmath .purchase-question .target-priority-options{grid-column:2}.trackmath .matrix-title-rule{gap:6px}}
.trackmath .purchase-objective a{padding:5px 7px;border:1px solid var(--rule);color:var(--slate);text-decoration:none}
/* One purchase universe; two fixed, adjacent-to-their-controls focus branches. */
.trackmath .purchase-constraints{grid-template-columns:440px minmax(240px,1fr)}
.trackmath .purchase-constraints>.purchase-allowance-question{grid-column:1/-1;border-right:0}
.trackmath .purchase-allowance-question fieldset{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;overflow-x:auto}
.trackmath .purchase-allowance-question legend{float:left;max-width:none;margin:0;padding:5px 0;white-space:nowrap;font-size:12px}
.trackmath .purchase-question .clear-purchase-plan{margin:0;white-space:nowrap}
.trackmath .purchase-search-controls>fieldset{display:flex;align-items:center;gap:18px;flex-shrink:1}
.trackmath .purchase-search-controls>fieldset>legend.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;padding:0;margin:-1px}
.trackmath .purchase-search-label{white-space:nowrap;color:var(--bone);font:500 12px/1.3 var(--mono)}
.trackmath .purchase-part-rows{display:grid;gap:5px}
.trackmath .purchase-part-row{display:grid;grid-template-columns:110px 122px;gap:8px;align-items:center}
.trackmath .purchase-part-row>button{height:30px;min-height:30px;max-height:30px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;white-space:nowrap;padding:3px 6px;border:1px solid var(--steel);background:transparent;color:var(--slate);font:500 11px/1 var(--mono);cursor:pointer}
.trackmath .purchase-part-row>button[aria-pressed=true]{color:var(--bone);background:#10151e;box-shadow:inset 0 -2px var(--bone)}
.trackmath .purchase-part-row .range-pair{display:flex;align-items:center;justify-content:space-between;gap:4px;border:1px solid var(--steel);height:28px;padding:0 4px;margin:0}
.trackmath .purchase-part-row .range-pair input{width:4ch;height:24px;margin:0;padding:2px;border:0;background:transparent;font:500 12px/1 var(--mono);text-align:center;appearance:textfield}
.trackmath .purchase-part-row input::-webkit-inner-spin-button{appearance:none}
.trackmath .purchase-part-row .range-pair i{padding:0;font:500 12px/1 var(--mono)}
.trackmath .purchase-part-row .strategy-candidate-range{transition:opacity 100ms linear}
.trackmath .purchase-part-row .strategy-candidate-range.is-disabled{opacity:.35}
.trackmath :is(.purchase-universe-copy,.purchase-range-copy,.purchase-target-copy){color:var(--slate);font:500 11px/1.5 var(--mono);min-width:0}
.trackmath .purchase-universe-copy{display:flex;align-items:center;padding:10px 12px;border-top:1px solid var(--rule);min-height:76px}
.trackmath .purchase-objective{padding-block:8px 4px;border-bottom:0}
.trackmath .purchase-objective>span{margin:0}
.trackmath :is(.purchase-improvement-question,.purchase-target-question){display:grid;grid-template-columns:164px minmax(0,1fr);align-items:start;gap:10px 18px;border-top:0}
.trackmath [data-purchase-objective]{display:block;align-self:start;padding:7px 6px;border:1px solid var(--steel);color:var(--slate);font:500 10px/1.3 var(--mono);text-decoration:none;white-space:nowrap;transition:color 100ms linear,background-color 100ms linear}
.trackmath [data-purchase-objective].is-active{color:var(--bone);background:#10151e;box-shadow:inset 0 -2px var(--bone)}
.trackmath :is(.purchase-improvement-question,.purchase-target-question)>:not(a){transition:opacity 100ms linear;opacity:1}
.trackmath .purchase-question.is-inactive>:not(a){opacity:.35}
.trackmath .purchase-improvement-question{grid-template-columns:164px minmax(290px,1fr) minmax(210px,1fr);min-height:96px}
.trackmath .purchase-improvement-question .strategy-spacing-preference{width:100%}
.trackmath .purchase-improvement-question .strategy-preference-labels{grid-template-columns:minmax(0,1fr) minmax(0,1fr);font-size:10px;letter-spacing:0;gap:6px}
.trackmath .purchase-improvement-question .strategy-preference-labels i{display:none}
.trackmath .purchase-range-copy{min-height:66px}
.trackmath .purchase-question .target-set-editor{height:152px;min-height:152px;overflow:auto;scrollbar-gutter:stable}
.trackmath .purchase-question .target-set-targets{margin:0;border:0;align-content:start;min-width:615px}
.trackmath .purchase-question .target-set-target-row{grid-template-columns:64px 194px max-content max-content;gap:8px;min-height:38px;padding:3px 0;letter-spacing:0}
.trackmath .purchase-question .target-entry-value-box>input{width:7ch;height:28px;font-size:13px}
.trackmath .purchase-question .target-set-value span{padding-right:0}
.trackmath .purchase-question .target-entry-tolerance{gap:2px;margin-left:5px;font-size:10px}
.trackmath .purchase-question .target-entry-tolerance input{height:26px;border:0;width:4.8ch!important}
.trackmath .purchase-question .target-tolerance-value{padding-right:3px}
.trackmath .purchase-question .target-priority-options{grid-column:auto}
.trackmath .purchase-question .target-priority-options button{padding-inline:6px;font-size:9px}
.trackmath .purchase-question .target-set-target-row>button{grid-column:auto;justify-self:start;margin-left:16px}
.trackmath .purchase-question .target-set-target-row.is-new-target>span{color:var(--bone)}
.trackmath .purchase-target-copy{grid-column:2;min-height:34px}
.trackmath .purchase-analysis-context{display:none}
.trackmath .purchase-questionnaire:not([hidden])~.strategy-analysis-stage{min-height:340px}
@media(min-width:1400px){.trackmath .purchase-target-question{grid-template-columns:164px minmax(615px,1fr) minmax(200px,.42fr)}.trackmath .purchase-target-copy{grid-column:3}}
@media(max-width:1000px){.trackmath .purchase-improvement-question{grid-template-columns:164px minmax(290px,1fr)}.trackmath .purchase-range-copy{grid-column:2;min-height:50px}.trackmath .purchase-constraints{grid-template-columns:minmax(390px,1fr) minmax(180px,.7fr)}}
@media(max-width:680px){.trackmath .purchase-constraints{grid-template-columns:1fr}.trackmath .purchase-universe-copy{min-height:58px;border-top:0;padding-top:0}.trackmath :is(.purchase-improvement-question,.purchase-target-question){grid-template-columns:1fr}.trackmath [data-purchase-objective]{width:max-content}.trackmath :is(.purchase-range-copy,.purchase-target-copy){grid-column:1}.trackmath .purchase-question .target-set-target-row>button{grid-column:auto}.trackmath .purchase-question .target-priority-options{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.trackmath .purchase-questionnaire *{transition:none!important}}
.trackmath .map-chain-controls{max-width:100%;margin:0;font:500 var(--type-compact)/1.3 var(--mono)}
.trackmath .map-chain-controls .setup-owned-chain{grid-template-columns:7px minmax(0,1fr) auto auto;padding-inline:0;column-gap:5px}
.trackmath .map-chain-controls .setup-chain-length{position:relative;display:flex;align-items:center;gap:5px;font-size:var(--type-control);white-space:nowrap}
.trackmath .map-physical-context .setup-chain-assembled{display:grid;gap:0;margin:0 0 0 3px;line-height:1.15}
.trackmath .map-chain-controls .setup-chain-length input{width:5ch;height:22px;padding:0;border:1px solid var(--rule);background:transparent;color:inherit;font:inherit;text-align:center;appearance:textfield}
.trackmath .map-chain-controls .setup-owned-chain .setup-chain-length{color:var(--chain-colour)}
.trackmath .map-chain-controls .setup-chain-length input::-webkit-inner-spin-button,.trackmath .map-chain-controls .setup-chain-length input::-webkit-outer-spin-button{appearance:none;margin:0}
.trackmath .map-chain-controls input::-webkit-inner-spin-button{appearance:none}
.trackmath .setup-chain-assembled{margin-left:7px;color:var(--slate);font-size:10px;white-space:nowrap}
.trackmath .inline-chain-add{display:flex;align-items:center;gap:5px;padding:5px 0;color:var(--bone);flex-wrap:wrap}
.trackmath .inline-chain-add .new-chain-dot{background:#263447;flex:0 0 7px}
.trackmath .inline-chain-add>.chain-count-guidance{margin-left:auto;display:flex;align-items:center;gap:8px}
.trackmath .map-chain-controls .setup-owned-chain button[data-chain-action="remove"]{min-width:49px;margin-left:6px;color:var(--slate);font-size:9px}
.trackmath .map-chain-heading{padding:0 0 2px;color:var(--bone);font-size:var(--type-control);font-weight:600}
.trackmath .map-chain-controls .physical-status:empty{display:none}
.trackmath .map-chain-controls>button{padding:4px 6px;border:0;background:transparent;color:var(--bone);font:inherit;cursor:pointer}
.trackmath .map-chain-controls>button [data-setup-tab-status],.trackmath .map-chain-controls>button [data-setup-tab-detail]{display:none}
.trackmath .map-chain-controls .setup-owned-chain{padding-block:3px}
.trackmath .map-chain-controls .setup-owned-chain button{font-size:10px;width:auto;min-width:52px;padding-inline:5px}
.trackmath .map-chain-controls .setup-owned-chain button[data-best-gear-chain]{min-width:76px}
.trackmath .map-gearing-results .coverage-summary{display:flex;gap:12px;flex-wrap:wrap;min-width:0;margin-top:6px;justify-content:flex-start}
.trackmath .shared-bike-strip .setup-editor-overlay{position:fixed;inset:0;z-index:90}
.trackmath .shared-bike-strip .setup-editor-panel{position:absolute;left:var(--setup-overlay-left,12px);top:var(--setup-overlay-top,12px);margin:0;width:min(650px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - var(--setup-overlay-top,12px) - 12px);border:1px solid var(--steel)}
@media(max-width:600px){.trackmath .shared-bike-strip .physical-setup-context>button+button{margin-left:0}.trackmath .shared-bike-strip .setup-editor-panel{left:12px;top:12px;max-height:calc(100dvh - 24px)}.trackmath .lower-workspace-tabs a{padding:7px 4px}.trackmath .purchase-objective>span{flex-basis:100%}}
.trackmath .workspace-left-rail{min-width:0;border-right:1px solid var(--rule);background:var(--surface)}
.trackmath .physical-setup-context{min-width:0;background:var(--surface)}
.trackmath .workspace-tool-settings>.section-rule{margin-top:0;border-top:0;color:var(--bone);font-size:var(--type-heading-major)}
.trackmath .workspace-tool-settings .controls{min-width:0;padding-bottom:10px}
.trackmath .workspace-analysis-frame{display:block}
.trackmath .workspace-prerequisite-guidance{position:relative}
.trackmath .workspace-prerequisite-guidance[hidden],.trackmath .workspace-tool-settings [hidden]{display:none}
.trackmath .workspace-prerequisite-guidance>button{position:relative;display:flex;align-items:center;gap:7px;padding:6px 12px;border:0;background:transparent;color:var(--interaction-cyan);font:500 var(--type-instruction)/1.3 var(--mono);text-align:left;cursor:pointer}
.trackmath .workspace-prerequisite-guidance>button[hidden]{display:none}
.trackmath .workspace-prerequisite-guidance:not([hidden])>button:not([hidden])::before{content:"↑"}
.trackmath .workspace-prerequisite-guidance>button.is-prerequisite-linked,.trackmath .physical-setup-context>button.is-prerequisite-linked{background:#10151e;outline:1px solid var(--interaction-cyan);outline-offset:-1px}
.trackmath .physical-setup-context>.section-rule{min-height:52px}
.trackmath .physical-setup-support{margin:0;padding:7px 10px;border-bottom:1px solid var(--rule);color:var(--slate);font:italic 500 var(--type-compact)/1.4 var(--mono)}
.trackmath .setup-owned-chain{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:5px 10px;border-bottom:1px solid var(--rule);color:var(--bone);background:var(--black);font:500 var(--type-compact)/1.3 var(--mono)}
.trackmath .setup-owned-chain button{flex-shrink:0;padding:3px 5px;border:1px solid var(--steel);background:transparent;color:var(--bone);font:inherit;cursor:pointer}
.trackmath .setup-owned-chain.is-current button[data-chain-action="current"]{background:var(--current-green);border-color:var(--current-green)}
.trackmath .setup-owned-chain{display:grid;grid-template-columns:7px minmax(0,1fr) auto auto;gap:3px;padding-inline:6px}
.trackmath .setup-chain-length{font-size:10px;line-height:1.3}
.trackmath .setup-owned-chain button{display:flex;align-items:center;justify-content:center;gap:3px;height:22px;font-size:8px;padding-inline:3px;letter-spacing:0;white-space:nowrap}
.trackmath .setup-owned-chain button[data-best-gear-chain]{width:58px;padding-inline:2px;gap:2px}
.trackmath .setup-owned-chain button[data-chain-action="current"]{width:51px}
.trackmath .setup-chain-length{color:var(--chain-colour)}
.trackmath .setup-owned-chain button:focus-visible{outline:2px solid var(--bone);outline-offset:1px}
.trackmath .physical-setup-context>button{display:block;width:100%;min-height:68px;padding:8px 10px;border:0;border-bottom:1px solid var(--rule);background:transparent;color:var(--slate);cursor:pointer;text-align:left;font-family:var(--mono)}
.trackmath .physical-setup-context>button[data-matrix-setup-summary="model-check"],.trackmath .physical-setup-context>button[data-optimiser-setup-summary="model-check"],.trackmath .physical-setup-context>button[data-strategy-setup-summary="model-check"]{min-height:32px;padding-block:4px}
.trackmath .physical-setup-context>button:hover,.trackmath .physical-setup-context>button:focus-visible{background:#10151e;color:var(--bone);outline:0}
.trackmath .physical-setup-context>button.is-open{position:relative;z-index:13;background:#0d0e11;box-shadow:inset 0 2px var(--bone)}
.trackmath .physical-setup-context>button.is-open::after{position:absolute;top:2px;right:-2px;bottom:0;width:3px;background:#0d0e11;content:""}
.trackmath .setup-summary-heading{display:flex;align-items:baseline;justify-content:space-between;gap:7px;color:inherit}
.trackmath .setup-summary-heading strong{font:500 var(--type-control)/1.2 var(--mono);letter-spacing:.05em}
.trackmath .setup-summary-heading em{color:var(--slate);font:500 var(--type-compact)/1 var(--mono);font-style:normal;letter-spacing:.035em;white-space:nowrap}
.trackmath .physical-setup-context>button small{display:block;margin-top:5px;color:#53647a;font:500 var(--type-compact)/1.45 var(--mono);letter-spacing:.025em;overflow-wrap:anywhere}
.trackmath .physical-setup-context>button small:empty{display:none}
.trackmath .physical-setup-context>button[data-setup-state-tone="complete"] .setup-summary-heading em{color:var(--slate)}
.trackmath .physical-setup-context>button[data-setup-state-tone="unchecked"] .setup-summary-heading em{color:var(--slate)}
.trackmath .physical-setup-context>button[data-setup-state-tone="error"] .setup-summary-heading em{color:var(--required-red)}
.trackmath .physical-setup-context>button[data-setup-state-tone="result"] .setup-summary-heading em{color:var(--bone)}
.trackmath .physical-setup-context.inline-bike-actions>button{min-height:32px;padding:4px 6px;color:var(--slate);transition:background-color .12s,color .12s;cursor:pointer}
.trackmath .physical-setup-context.inline-bike-actions>button :is(strong,em){color:var(--slate);font-style:normal}
.trackmath .physical-setup-context.inline-bike-actions>button:hover,.trackmath .physical-setup-context.inline-bike-actions>button:focus-visible{background:var(--navy);color:var(--bone)}
.trackmath .physical-setup-context.inline-bike-actions>button:hover strong,.trackmath .physical-setup-context.inline-bike-actions>button:focus-visible strong{color:var(--bone)}
.trackmath .physical-setup-context.inline-bike-actions>button .setup-fact-check{color:var(--current-green);display:inline-block;transform:scale(1.5);margin-inline:2px}

/* Permanent instrument commentary; blue offers useful capability, not an alert. */
.trackmath .front-page-tip{display:flex;align-items:center;gap:8px;margin:0;color:var(--interaction-cyan);font:500 var(--type-control)/1.45 var(--mono)}
.trackmath .front-page-tip button{padding:4px 0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.trackmath .front-page-tip strong{display:block;font:500 var(--type-heading)/1.45 var(--mono);margin-bottom:4px}
.trackmath .front-page-tip button:hover{text-decoration:underline;text-underline-offset:3px}
.trackmath .front-page-tip.is-quiet{color:var(--slate)}
.trackmath .map-terminal{--terminal-font-family:"TM Lab dmmono","DM Mono",monospace;--terminal-font-size:11px;--terminal-line-height:1.45;margin-top:auto;min-width:0;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:0;padding:8px 0 0;border:0;background:transparent;color:var(--interaction-cyan)}
.trackmath .terminal-actions:has(>button[hidden]):not(:has(>button:not([hidden]))){display:none}
.trackmath .map-factual-readout{margin-bottom:0}
.trackmath .terminal-message{position:relative;width:100%}
.trackmath .terminal-message p{margin:0;white-space:pre-line}
.trackmath .terminal-reveal{display:none;position:absolute;inset:0;pointer-events:none}
.trackmath .terminal-message.is-revealing .terminal-complete{opacity:0}
.trackmath .terminal-message.is-revealing .terminal-reveal{display:block}
.trackmath .terminal-action{padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--interaction-cyan);cursor:pointer}
.trackmath .terminal-action:hover{color:var(--bone)}
.trackmath .terminal-actions{display:flex;align-items:center;gap:16px}
.trackmath .terminal-slot{width:100%;min-width:0;flex-shrink:0}
.trackmath .terminal-slot+.terminal-slot{margin-top:3px}
.trackmath .discovery-word{font:inherit;line-height:inherit;letter-spacing:inherit;padding:0;border:0;border-bottom:1px dotted currentColor;background:transparent;color:var(--interaction-cyan);cursor:pointer;display:inline}
.trackmath .chain-priority-choice.is-terminal-context-cue::before{content:'';position:absolute;inset:-4px;border:1.5px solid var(--interaction-cyan);pointer-events:none}
.trackmath .chain-priority-choice.is-terminal-context-cue .chain-priority-title{color:var(--interaction-cyan)}
.trackmath .purchase-allowance-question [data-purchase-allowance]{position:relative;width:max-content;max-width:100%;padding-right:8px;overflow:visible}
.trackmath .purchase-allowance-question [data-purchase-allowance]>.clear-purchase-plan{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%)}
.trackmath .purchase-allowance-question [data-purchase-allowance].is-terminal-context-cue::before{content:'';position:absolute;inset:-4px;border:1.5px solid var(--interaction-cyan);pointer-events:none}
.trackmath .purchase-allowance-question [data-purchase-allowance].is-terminal-context-cue>legend{color:var(--interaction-cyan)}
@media(max-width:650px){.trackmath .purchase-allowance-question [data-purchase-allowance]>.clear-purchase-plan{position:static;transform:none}}
.trackmath .map-terminal .discovery-word:focus-visible{outline-color:var(--interaction-cyan)}
.trackmath .is-discovery-cue,.trackmath .is-discovery-static{outline:0}
.trackmath .discovery-cue-overlay{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:40;overflow:visible;fill:none;stroke:var(--interaction-cyan);stroke-width:1.5;filter:drop-shadow(0 0 3px var(--interaction-cyan))}
.trackmath [popover].help-floating-panel.help-floating-panel.is-matrix-hint{background:rgba(8,12,18,.28);border:0;box-shadow:none;padding:0 3px;pointer-events:none;overflow:visible;width:max-content;max-width:calc(100vw - 24px);white-space:nowrap}
.trackmath .discovery-cue-overlay.is-intro{animation:track-math-discovery-cue 1.4s ease-in-out 1}
@keyframes track-math-discovery-cue{0%,100%{opacity:.3}40%{opacity:1}}
@media(prefers-reduced-motion:reduce){.trackmath .is-discovery-cue{animation:none}}
@media(prefers-reduced-motion:reduce){.trackmath .terminal-message.is-revealing .terminal-complete{opacity:1}.trackmath .terminal-message.is-revealing .terminal-reveal{display:none}}
.trackmath .is-capability-dormant{opacity:.24;transition:opacity .1s}
.trackmath .is-capability-dormant:is(:hover,:focus-within,.is-discovery-cue,.is-discovery-static){opacity:1}
.trackmath.is-awaiting-owned-kit :is(.coverage-ranking,.map-dropout-title,#coverage-summary){opacity:.24}
.trackmath .map-dropout.is-physical-dormant .axle-position-plot{opacity:.38}
.trackmath #fitted-gear-status.is-missing #fitted-gear-value{color:var(--slate)}
.trackmath .physical-setup-context.inline-bike-actions{gap:6px;align-items:stretch}
.trackmath .physical-setup-context.inline-bike-actions>button{border:1px solid var(--rule);min-height:36px;padding:6px 8px;flex:1 1 auto}
.trackmath .physical-setup-context.inline-bike-actions>button .setup-summary-heading strong{color:var(--bone)}
.trackmath .physical-setup-context.inline-bike-actions>button:focus-visible,.trackmath .map-terminal button:focus-visible{outline:1px solid var(--bone);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.trackmath .is-capability-dormant{transition:none}}
.trackmath .map-results-empty{margin:6px 0;font:500 var(--type-control)/1.45 var(--mono);color:var(--bone)}

/* Disclosed evidence overlays only the lower workspaces, below the instruments. */
.trackmath .coverage-ranking-head [data-compare-setups]{float:right;min-height:22px;padding:3px 6px;border:1px solid var(--steel);background:transparent;color:var(--bone);font:500 var(--type-meta)/1 var(--mono);cursor:pointer}
.trackmath .coverage-ranking-head [data-compare-setups]:disabled{color:var(--steel);border-color:var(--rule);cursor:default}
.trackmath .lower-workspace-tabs{position:relative}
.trackmath .map-comparison-anchor{position:absolute;inset:0 0 auto;height:0;z-index:15}
.trackmath .map-comparison{position:absolute;inset:0 0 auto;padding:12px 20px;border:1px solid var(--steel);background:var(--black);box-shadow:0 8px 16px #0008;color:var(--bone);font:500 var(--type-data)/1.4 var(--mono)}
.trackmath .map-comparison>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.trackmath .setup-popup-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid var(--rule);background:var(--black);position:sticky;top:0;z-index:2}
.trackmath :is(.setup-popup-close,.evidence-close){padding:4px 8px;border:1px solid var(--steel);background:transparent;color:var(--bone);cursor:pointer;min-height:24px}
.trackmath .wheel-source-note{margin:8px 0 0;color:var(--slate)}
.trackmath :is(.map-comparison,.inline-bike-setup,.chain-evidence-drawer) button:focus-visible{outline:1px solid var(--bone);outline-offset:2px}
.trackmath .map-comparison>header strong{font:500 var(--type-heading-major)/1 var(--mono)}
.trackmath .map-comparison button{padding:4px 8px;border:1px solid var(--steel);background:transparent;color:var(--bone);font:500 var(--type-meta)/1 var(--mono);cursor:pointer;min-height:24px}
.trackmath .comparison-objective{margin:8px 0;color:var(--slate);font:500 var(--type-control)/1.45 var(--mono)}
.trackmath .comparison-scroll{max-height:42vh;overflow:auto}
.trackmath .map-comparison table{width:100%;border-collapse:separate;border-spacing:0;white-space:nowrap;text-align:left;font-variant-numeric:tabular-nums}
.trackmath .map-comparison :is(td,th){padding:7px 8px;border-bottom:1px solid var(--rule);vertical-align:middle}
.trackmath .map-comparison th{position:sticky;top:0;z-index:1;background:var(--black);white-space:normal}
.trackmath .map-comparison td:nth-child(n+7){white-space:normal;min-width:100px;max-width:160px}
.trackmath .map-comparison :is(td,th):nth-child(n+3):nth-child(-n+6){text-align:right}
.trackmath .map-comparison :is(td,th):first-child{padding-left:0}
.trackmath .map-comparison th{font:500 var(--type-meta)/1.4 var(--mono);color:var(--slate)}
.trackmath .map-comparison td{color:var(--slate)}
.trackmath .map-comparison .is-reference{background:var(--navy)}
.trackmath .map-comparison .is-reference td{color:var(--bone)}
.trackmath .map-comparison .is-reference-pair{box-shadow:inset 2px 0 var(--bone)}
.trackmath .map-comparison .is-current td:first-child{color:var(--current-green)}
@media(max-width:700px){.trackmath .map-comparison-anchor:has(.map-comparison:not([hidden])){position:relative;grid-column:1/-1;height:auto}.trackmath .map-comparison{position:relative;padding:12px}.trackmath .comparison-scroll{max-height:55vh}}
.trackmath .setup-context-analysis{position:relative;min-width:0;isolation:isolate}
.trackmath .optimiser-context-layout .optimiser-tool-shell{border:0}
.trackmath .strategy-context-layout .strategy-tool-shell{border:0}
.trackmath .setup-editor-overlay{position:absolute;z-index:12;inset:0;display:block;min-width:0;pointer-events:none}
.trackmath .setup-editor-overlay[hidden]{display:none}
.trackmath .optimiser-setup-overlay-dismiss{position:absolute;z-index:0;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:default;pointer-events:auto}
.trackmath .setup-editor-panel{position:relative;z-index:1;width:clamp(500px,72%,650px);max-width:calc(100% - 24px);max-height:min(760px,calc(100vh - 96px));margin-top:var(--setup-overlay-top,0);overflow:auto;border:1px solid var(--steel);border-top:2px solid var(--bone);border-left:0;background:var(--surface);box-shadow:10px 9px 20px rgba(0,0,0,.5);outline:0;pointer-events:auto;overscroll-behavior:contain}
.trackmath .setup-editor-host{min-width:0}
.trackmath .setup-editor-host .shared-prerequisite-row{display:none}
.trackmath .setup-editor-host .shared-prerequisite-editor{border-top:0}
.trackmath .setup-editor-host .shared-prerequisite+.shared-prerequisite{border-top:0}
.trackmath .setup-layer-heading{min-height:46px;padding:0 12px;border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:12px;color:var(--slate);font:500 10px/1 var(--mono);letter-spacing:.05em}
.trackmath .setup-layer-heading>strong{flex:0 0 calc(var(--instrument-settings-width) - 14px);color:var(--bone);font:500 14px/1 var(--mono);letter-spacing:.055em}
.trackmath .shared-prerequisite-layer:not([hidden])~.workspace-panel:not([hidden]){margin-top:calc(var(--major-zone-gap) - var(--instrument-stack-gap))}
.trackmath .shared-prerequisite+.shared-prerequisite{position:relative;border-top:1px solid var(--rule)}
.trackmath .shared-prerequisite-row{position:relative;display:grid;grid-template-columns:calc(var(--instrument-settings-width) - 14px) minmax(160px,210px) minmax(0,1fr) auto;width:100%;gap:12px;align-items:center;min-height:46px;padding:7px 12px;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left;font-family:var(--mono);transition:background .2s,box-shadow .2s}
.trackmath .shared-prerequisite-row:hover{background:var(--surface)}
.trackmath .shared-prerequisite-row:focus-visible{outline:1px solid var(--bone);outline-offset:-1px}
.trackmath .shared-prerequisite-row>strong{color:var(--bone);font:500 14px/1 var(--mono);letter-spacing:.055em}
.trackmath .shared-prerequisite-row>[data-prerequisite-status]{color:var(--slate);font:500 var(--type-helper)/1 var(--mono);letter-spacing:.045em}
.trackmath .shared-prerequisite.is-complete .shared-prerequisite-row>[data-prerequisite-status]{color:var(--current-green)}
.trackmath .shared-prerequisite.is-complete .shared-prerequisite-row>strong{color:#aaa493}.trackmath .shared-prerequisite.is-complete .shared-prerequisite-row>[data-prerequisite-action]{color:#718096}
.trackmath .shared-prerequisite.is-blocking .shared-prerequisite-row>[data-prerequisite-status]{color:var(--required-red)}
.trackmath .shared-prerequisite-row>[data-prerequisite-summary]{min-width:0;overflow:hidden;color:var(--slate);text-overflow:ellipsis;white-space:nowrap;font:500 var(--type-helper)/1 var(--mono);letter-spacing:.035em}
.trackmath .shared-prerequisite-row>[data-prerequisite-action]{color:var(--bone);font:500 var(--type-helper)/1 var(--mono);letter-spacing:.035em;white-space:nowrap}
.trackmath .shared-prerequisite.is-context-highlight>.shared-prerequisite-row{background:#10151e;box-shadow:inset 2px 0 var(--bone)}
.trackmath .shared-prerequisite-editor{border-top:1px solid var(--rule)}
.trackmath .bike-geometry-panel,.trackmath .chain-inventory-panel{min-width:0}
.trackmath .bike-geometry-panel{background:var(--surface)}
.trackmath .geometry-bridge{display:flex;align-items:center;justify-content:center;gap:7px;margin:0;padding:2px 12px 3px;color:var(--slate);font:500 9px/1.25 var(--mono);letter-spacing:.04em;text-align:center}
.trackmath .geometry-editors{--comparison-or-gutter:38px;display:grid;grid-template-columns:minmax(0,1fr) var(--comparison-or-gutter) minmax(0,1fr)}
.trackmath .geometry-method{min-width:0;margin:0;padding:13px 12px 16px;border:0;color:var(--slate);font:500 9px/1 var(--mono);letter-spacing:.06em}
.trackmath .geometry-method h3{margin:0;color:var(--bone);font:500 11px/1.2 var(--mono);letter-spacing:.055em}
.trackmath .geometry-method-note{min-height:31px;margin:5px 0 10px;color:var(--slate);font:500 var(--type-helper)/1.5 var(--mono);letter-spacing:.03em}
.trackmath .geometry-method-separator{display:grid;place-items:center;border-inline:1px solid var(--rule);color:var(--bone);font:500 9px/1 var(--mono);letter-spacing:.06em}
.trackmath .geometry-editors>.geometry-method-separator{margin-block:13px 16px}
.trackmath .geometry-method label{display:block;margin-top:10px}
.trackmath .geometry-method label:first-of-type{margin-top:0}
.trackmath .geometry-method label>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px}
.trackmath .geometry-method label small{color:#53647a;font:500 7px/1 var(--mono);letter-spacing:.04em}
.trackmath .geometry-current-method .geometry-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;margin-top:10px}
.trackmath .geometry-current-method .geometry-field-grid>label{margin:0}
.trackmath .geometry-field-label{display:flex;align-items:flex-start;gap:5px;min-height:18px;color:var(--slate);font:500 var(--type-helper)/1.35 var(--mono);letter-spacing:.035em}
.trackmath .shared-measurement-link{display:flex;align-items:center;gap:5px;margin-top:6px;color:#69788a;font:500 9px/1.3 var(--mono);letter-spacing:.035em}
.trackmath .shared-measurement-link .info-popover-content{width:310px}
.trackmath .geometry-bb-drop{margin:0;padding:0;border:0}
.trackmath .geometry-bb-drop .physical-field-heading small{color:var(--slate);font:500 7px/1 var(--mono);letter-spacing:.05em}
.trackmath .physical-input-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;width:104px;height:30px;margin-top:6px;border:1px solid var(--steel);background:var(--black)}
.trackmath .physical-input-unit input{width:100%;min-width:0;padding:0 4px;border:0;background:transparent;color:var(--bone);outline:0;text-align:right;font:500 11px/1 var(--mono)}
.trackmath .physical-input-unit span{padding:9px 5px 0 2px;color:var(--slate);font:500 9px/1 var(--mono)}
.trackmath .physical-field-heading{display:flex;align-items:center;gap:6px}
.trackmath .physical-spicy{margin-top:0;border-top:0}
.trackmath .physical-spicy .spicy-inner{padding-top:2px}
.trackmath .physical-status{min-height:16px;margin:0;padding:7px 12px;color:var(--text-supporting);font:500 var(--type-compact)/1.35 var(--mono);letter-spacing:.03em}
.trackmath .physical-status.is-blocking{color:var(--required-red)}
.trackmath .physical-status.is-complete,.trackmath .physical-status.is-current{color:var(--current-green)}
.trackmath .geometry-editors>.physical-status{grid-column:1/-1}
.trackmath .geometry-editors>.physical-status:empty{display:none}
.trackmath .chain-count-guidance{display:flex;align-items:center;gap:5px;margin-top:1px;color:var(--slate);font:500 9px/1.2 var(--mono);letter-spacing:.04em}
.trackmath .chain-count-guidance .info-popover-content{width:360px}
.trackmath .help-sections{display:grid;gap:14px}
.trackmath .help-sections section+section{padding-top:13px;border-top:1px solid var(--rule)}
.trackmath .help-sections section>strong{display:block;margin-bottom:7px;color:var(--bone);font:500 10px/1 var(--mono);letter-spacing:.065em}
.trackmath .help-sections p{margin:0 0 7px}.trackmath .help-sections p:last-child{margin-bottom:0}
.trackmath .chain-inventory-list{display:grid}
.trackmath .chain-inventory-row{display:grid;grid-template-columns:82px 124px minmax(130px,1fr) 54px;gap:10px;align-items:center;min-height:68px;padding:8px 12px;font-family:var(--mono)}
.trackmath .chain-inventory-row:not(:last-child){border-bottom:1px solid var(--rule)}
.trackmath .chain-inventory-row.is-current{box-shadow:inset 2px 0 var(--current-green)}
.trackmath .chain-inventory-row>strong{color:var(--bone);font:500 11px/1 var(--mono)}
.trackmath .chain-length-editor{display:grid;gap:5px;color:var(--slate);font:500 9px/1.2 var(--mono);letter-spacing:.04em}
.trackmath .chain-inventory-row .physical-input-unit{width:124px;margin:0}
.trackmath .chain-length{color:var(--slate);font:500 9px/1.35 var(--mono);letter-spacing:.03em}
.trackmath .chain-draft-prompt{color:var(--slate)}
.trackmath .chain-current,.trackmath .chain-remove{min-height:30px;padding:0 7px;border:1px solid var(--steel);background:transparent;color:var(--slate);cursor:pointer;font:500 9px/1 var(--mono)}
.trackmath .chain-current[aria-pressed=true]{border-color:var(--current-green);background:var(--current-green);color:var(--white)}
.trackmath .chain-current:hover,.trackmath .chain-current:focus-visible,.trackmath .chain-remove:hover,.trackmath .chain-remove:focus-visible{color:var(--bone);border-color:var(--bone)}
.trackmath .chain-current-action{display:none}.trackmath .chain-current:hover .chain-current-state,.trackmath .chain-current:focus-visible .chain-current-state{display:none}.trackmath .chain-current:hover .chain-current-action,.trackmath .chain-current:focus-visible .chain-current-action{display:inline}
.trackmath .add-chain-action{display:block;width:max-content;margin:10px 12px 2px auto;padding:7px 9px;border:1px solid var(--steel);background:var(--black);color:var(--bone);cursor:pointer;font:500 9px/1 var(--mono);letter-spacing:.04em}
.trackmath .add-chain-action:hover,.trackmath .add-chain-action:focus-visible{border-color:var(--bone)}
.trackmath .model-check-panel{min-width:0}
.trackmath .model-check-surface-help{display:flex;justify-content:flex-end;min-height:28px;padding:7px 12px 0}
.trackmath .model-check-surface-help .model-check-info{margin:0}
.trackmath .optimise-panel{display:block}
.trackmath .model-check-info .info-popover-content{right:0;left:auto;width:420px}
/* Keep explanatory help inside the editor's scrollable surface, not clipped
   beyond its bounds. Opening help expands only the temporary editor. */
.trackmath .setup-editor-panel .model-check-info[open]{flex-basis:100%;width:100%}
.trackmath .setup-editor-panel .model-check-info .info-popover-content{position:static;width:100%;max-width:100%;box-sizing:border-box;margin-top:7px}
.trackmath .model-check-measurement-line>.model-check-info{margin-top:10px}
.trackmath .setup-editor-panel .model-check-heading{flex-wrap:wrap}
.trackmath .model-check-content{font-family:var(--mono)}
.trackmath .model-check-metrics{display:grid;gap:5px;max-width:650px;padding:10px 12px 11px}
.trackmath .model-check-heading{display:flex;align-items:center;gap:6px;width:max-content;max-width:100%}
.trackmath .model-check-heading .model-check-info{flex:0 0 auto;margin:0}
.trackmath .model-check-lead{margin:0;color:var(--bone);font:500 12px/1.2 var(--mono);letter-spacing:.055em}.trackmath .model-check-lead.is-needed{color:var(--required-red)}
.trackmath .model-check-narrative{max-width:620px;margin:0;color:var(--bone);font:500 var(--type-interpretation)/1.45 var(--mono);letter-spacing:.02em}
.trackmath .model-check-guidance-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}.trackmath .model-check-guidance-actions button{min-height:28px;padding:0 8px;border:1px solid var(--steel);background:transparent;color:var(--bone);cursor:pointer;font:500 10px/1 var(--mono);letter-spacing:.04em}.trackmath .model-check-guidance-actions button:hover,.trackmath .model-check-guidance-actions button:focus-visible{border-color:var(--bone);background:#0d1117}
.trackmath .model-check-measurement-line{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 14px;margin-top:4px;color:var(--slate);font:500 10px/1.35 var(--mono);letter-spacing:.04em}
.trackmath .model-check-measurement-line>span{min-width:150px;padding-top:10px}
.trackmath .model-check-measurement-editor{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 8px}.trackmath .model-check-measurement-editor .physical-input-unit{margin:0}.trackmath .model-check-measurement-editor .shared-measurement-link{margin:0}.trackmath .model-check-measurement-editor>small{grid-column:1/-1;max-width:390px;margin-top:5px;color:var(--slate);font:500 9px/1.4 var(--mono);letter-spacing:.035em}
.trackmath .model-check-fact{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin:0;color:var(--slate);font:500 10px/1.4 var(--mono);letter-spacing:.04em}.trackmath .model-check-fact span{min-width:150px}.trackmath .model-check-fact strong{color:#c7d0da;font:500 11px/1.35 var(--mono);letter-spacing:.015em}
.trackmath .model-check-note,.trackmath .model-check-missing,.trackmath .model-check-interpretation,.trackmath .model-check-context{margin:3px 0 0;color:var(--slate);font:500 var(--type-meta)/1.45 var(--mono);letter-spacing:.04em}
.trackmath .model-check-interpretation{color:#c7c0af;font-size:var(--type-interpretation);letter-spacing:.02em}
.trackmath .model-check-context{max-width:620px;color:var(--text-meta);font-size:var(--type-meta)}
.trackmath .model-check-note{max-width:620px;color:var(--text-peripheral);font-size:var(--type-meta)}
.trackmath .model-check-missing{padding:18px 16px;color:var(--bone);font-size:10px}

/* Semantic typography utilities intentionally follow feature layout rules. Casing remains authored so values and units are never transformed. */
.trackmath .tm-type-mode{font:500 var(--type-mode)/1 var(--mono);letter-spacing:.08em}
.trackmath .tm-type-tool{font:500 var(--type-tool)/1.25 var(--mono);letter-spacing:.045em}
.trackmath .tm-type-heading{font:500 var(--type-heading)/1.2 var(--mono);letter-spacing:.055em}
.trackmath .tm-type-heading.tm-major{font-size:var(--type-heading-major);line-height:1}
.trackmath .tm-type-control{font:500 var(--type-control)/1 var(--mono);letter-spacing:.065em}
.trackmath .tm-type-control.tm-compact{font-size:var(--type-compact);line-height:1.2;letter-spacing:.04em}
.trackmath .tm-type-result{font:500 var(--type-result)/1.45 var(--mono);letter-spacing:.02em}
.trackmath .tm-type-result.tm-compact{line-height:1}
.trackmath .tm-type-interpretation{font:500 var(--type-interpretation)/1.45 var(--mono);letter-spacing:.02em}
.trackmath .tm-type-interpretation.tm-primary{font-size:var(--type-heading-major);color:var(--text-primary)}
.trackmath .tm-type-instruction{font:500 var(--type-instruction)/1.45 var(--mono);letter-spacing:.04em}
.trackmath .tm-type-instruction.tm-compact{font-size:var(--type-compact);line-height:1.35}
.trackmath .tm-type-instruction.tm-interactive{color:var(--interaction-cyan)}
.trackmath .tm-interactive-evidence{--tm-evidence-accent:var(--interaction-cyan)}
.trackmath .tm-type-meta{font:500 var(--type-meta)/1.45 var(--mono);letter-spacing:.04em}
.trackmath .tm-type-meta.tm-peripheral{color:var(--text-peripheral)}
.trackmath .tm-type-data{font:500 var(--type-data)/1.3 var(--mono);letter-spacing:.025em}
.trackmath .tm-type-data.tm-heading{font-size:var(--type-table-heading);line-height:1;letter-spacing:.06em;color:var(--text-meta)}
.trackmath .tm-type-tooltip{font:400 var(--type-tooltip)/1.6 var(--sans);letter-spacing:0}
.trackmath .tm-importance-primary{color:var(--text-primary)}
.trackmath .tm-importance-supporting{color:var(--text-supporting)}
.trackmath .tm-importance-peripheral{color:var(--text-peripheral)}
.trackmath .tm-state-current,.trackmath .tm-state-complete{color:var(--current-green)}
.trackmath .tm-state-suggested{color:var(--orange)}
.trackmath .tm-state-blocking{color:var(--required-red)}

/* Responsive cleanup. Mobile matrix architecture remains a later task. */
@media(max-width:900px){
  .trackmath .landing-primary{grid-template-columns:1fr;align-items:start}.trackmath .landing-primary-action{justify-self:start}
  .trackmath .instrument-frame{grid-template-columns:1fr}
  .trackmath .instrument-frame>.controls{border-right:0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .trackmath .instrument-frame>.controls>.section-rule,.trackmath .instrument-frame>.controls>.spicy{grid-column:1/-1}
  .trackmath .display-controls,.trackmath .matrix-display-controls{align-self:start}
  .trackmath .coverage-ranking{overflow-x:auto}
  .trackmath .coverage-ranking-head,.trackmath .coverage-ranking-row{min-width:448px;grid-template-columns:48px 54px 64px 70px minmax(160px,1fr);gap:5px}
  .trackmath .chain-coverage-field-layout{grid-template-columns:minmax(0,1fr)}
  .trackmath .chain-coverage-plan-inspector{grid-column:1;grid-row:2;contain:none;margin-top:6px}
  .trackmath .chain-coverage-summary{height:310px}
  .trackmath .target-set-audit{overflow-x:auto}
}
@media(max-width:1200px){
  .trackmath .matrix-state-badges{grid-template-columns:repeat(3,64px);gap:4px}.trackmath .matrix-state-badge{width:64px;padding-inline:4px;font-size:9px}
  .trackmath .fitted-gear-status{gap:4px}
  .trackmath .ownership-bridge{font-size:0}.trackmath .ownership-bridge #matrix-caption-copy::after{content:attr(data-compact-copy);font:500 8px/1 var(--mono);letter-spacing:.035em}
}
@media(max-width:700px){
  .trackmath .setup-context-layout{grid-template-columns:1fr}
  .trackmath .workspace-left-rail{border-right:0;border-bottom:1px solid var(--rule)}
  .trackmath .workspace-prerequisite-guidance:not([hidden])>button:not([hidden])::before{content:"↑"}
  .trackmath .physical-setup-context>button{min-height:64px}
  .trackmath .setup-editor-overlay{position:fixed;z-index:80;inset:12px;min-height:0}
  .trackmath .optimiser-setup-overlay-dismiss{position:fixed;inset:0}
  .trackmath .setup-editor-panel{width:100%;max-width:none;max-height:calc(100dvh - 24px);margin-top:0;border:1px solid var(--steel);border-top:2px solid var(--bone);box-shadow:0 8px 24px rgba(0,0,0,.5)}
  .trackmath .matrix-title-rule{min-height:78px;padding-block:6px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:20px 24px 20px;gap:3px 8px;align-items:center;overflow:visible;white-space:nowrap}
  .trackmath .matrix-title-rule>#matrix-title{grid-column:1;grid-row:1}.trackmath .fitted-gear-status{grid-column:1/-1;grid-row:3;margin-left:0;justify-self:end}
  .trackmath .matrix-state-key{grid-column:1;grid-row:2;justify-self:start}.trackmath .matrix-state-badges{grid-column:2;grid-row:2;grid-template-columns:repeat(3,54px);justify-self:end}.trackmath .matrix-state-badge{width:54px;min-height:22px;font-size:8px}
}
@media(max-width:1050px){
  .trackmath .landing-journey{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trackmath .landing-cockpit-stamp{top:50%}
  .trackmath .landing-stage-evidence{width:100%;max-width:275px;justify-self:center}
  .trackmath .landing-close{text-align:center}
}
@media(max-width:560px){
  .trackmath main,.trackmath footer{width:calc(100% - 24px)}
  .trackmath .landing-journey{grid-template-columns:1fr}
  .trackmath .landing-stage{grid-template-rows:auto auto auto 1fr auto}
  .trackmath .landing-stage-evidence{width:100%;max-width:360px;justify-self:center}
  .trackmath .landing-stage-evidence img{max-height:none}
  .trackmath .landing-physical-payoff{margin:12px 0}
  .trackmath .landing-physical-evidence{min-height:0}
  .trackmath .landing-entry{align-items:flex-start;flex-direction:column;gap:10px}
  .trackmath .landing-summary br{display:none}
  .trackmath .landing-cockpit-stamp{position:relative;left:auto;top:auto;justify-self:center;width:min(var(--sticker-narrow-width,320px),calc(100% - 16px));margin-top:-24px;transform:rotate(var(--sticker-narrow-rotate,-6deg)) scale(var(--sticker-narrow-scale,1))}
  .trackmath footer{min-height:0;align-items:flex-start}
  .trackmath .instrument-stack{--instrument-stack-gap:8px;--major-zone-gap:16px;padding-top:12px;margin-inline:-12px}
  .trackmath .workspace-tabs~.workspace-panel{margin-top:-8px}
  .trackmath .workspace-tabs~.shared-prerequisite-layer{margin-top:-8px}
  .trackmath .workspace-tabs a{min-height:56px;padding-inline:8px;font-size:9px}
  .trackmath .workspace-tab-copy{font-size:9px;line-height:1.3;letter-spacing:.02em}
  .trackmath .subnavigation-tabs button{padding-inline:8px;font-size:9px}.trackmath .subnavigation-tabs button small{display:block;margin:4px 0 0}.trackmath .subnavigation-explainer{min-height:56px;padding-inline:10px;font-size:10px}
  .trackmath .workspace-placeholder{min-height:132px;padding:16px}
  .trackmath .instrument-frame>.controls{grid-template-columns:1fr}.trackmath .instrument-frame>.controls>*{grid-column:1}
  .trackmath .display-selector,.trackmath .display-selector select,.trackmath .secondary-control,.trackmath .secondary-control>div{width:100%}
  .trackmath .wheel-popover-content,.trackmath .field-info-popover .info-popover-content{max-width:calc(100vw - 48px)}
  .trackmath .field-info-popover .info-popover-content{right:0;left:auto}
  .trackmath .coverage-plot{margin-inline:12px}.trackmath .map-header{padding-inline:12px}.trackmath .map-unit-controls-right{margin-right:0}.trackmath .coverage-lower{gap:8px;padding-inline:12px}
  .trackmath .coverage-summary{min-width:90px}.trackmath .coverage-summary button{font-size:9px}
  .trackmath .matrix-title-rule{padding-block:6px;gap:3px 6px;white-space:nowrap}.trackmath .matrix-state-badges{gap:3px}.trackmath .fitted-gear-status{margin-left:0}
  .trackmath .matrix-header-toggle.is-owned,.trackmath .matrix-cell.is-buildable{font-size:16px}
  .trackmath :is(.strategy-plan-summary,.target-set-summary){min-height:0;padding:6px 12px 18px}.trackmath .strategy-plan-heading{margin-bottom:9px}.trackmath .strategy-comparisons .evidence-statement{font-size:11px}
  .trackmath .strategy-shortlist{padding-inline:12px}
  .trackmath .target-set-editor,.trackmath .target-set-summary,.trackmath .target-set-audit,.trackmath .target-set-shortlist{padding-inline:12px}.trackmath .target-set-editor-heading{align-items:flex-start}.trackmath .target-set-target-row{grid-template-columns:72px minmax(100px,1fr);padding:8px 0}.trackmath .target-priority-options{grid-column:1/-1}.trackmath .target-set-target-row>button{grid-column:2;justify-self:start}
  .trackmath .evidence-statement{grid-template-columns:1fr;gap:5px}.trackmath .evidence-statement>small{justify-self:start}
  .trackmath .setup-layer-heading{min-height:0;padding:9px 10px;flex-wrap:wrap;gap:6px}.trackmath .setup-layer-heading>strong{flex-basis:100%}
  .trackmath .shared-prerequisite-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:9px 10px}.trackmath .shared-prerequisite-row>strong{grid-column:1;grid-row:1}.trackmath .shared-prerequisite-row>[data-prerequisite-action]{grid-column:2;grid-row:1}.trackmath .shared-prerequisite-row>[data-prerequisite-status]{grid-column:1/-1;grid-row:2;text-align:left}.trackmath .shared-prerequisite-row>[data-prerequisite-summary]{grid-column:1/-1;grid-row:3;overflow:visible;text-overflow:clip;white-space:normal;line-height:1.35}.trackmath .shared-prerequisite-row>[data-prerequisite-summary]:empty{display:none}.trackmath .geometry-editors{grid-template-columns:1fr}.trackmath .geometry-method-separator{min-height:30px;border-inline:0}.trackmath .geometry-current-method .geometry-field-grid{grid-template-columns:1fr}.trackmath .chain-inventory-row{grid-template-columns:72px minmax(0,1fr);gap:7px}.trackmath .chain-length-editor{grid-column:2}.trackmath .chain-length{grid-column:2}.trackmath .chain-current{grid-column:2}.trackmath .chain-remove{grid-column:1;grid-row:3}
  .trackmath .model-check-metrics{padding-inline:12px}.trackmath .model-check-measurement-editor{grid-template-columns:auto}.trackmath .model-check-measurement-editor .shared-measurement-link{margin-top:5px}
}
@media(prefers-reduced-motion:reduce){
}
/* Best Gear selection uses physical inventory identity, independent of fitted status. */
.trackmath .best-gear-chain-controls{padding:10px var(--settings-inset)}
.trackmath .best-gear-chain-controls h3{margin:0 0 8px;color:var(--slate)}
.trackmath :is(#best-gear-chain-options,#axle-chain-options){display:grid;gap:6px}
.trackmath .best-gear-chain-option{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:7px;align-items:center;width:100%;padding:0;border:0;background:transparent;color:var(--slate);cursor:pointer;text-align:left;font:500 var(--type-control)/1.4 var(--mono)}
.trackmath .best-gear-chain-option-value{min-width:100px;padding:7px 5px;border:1px solid var(--rule);display:grid;grid-template-columns:minmax(0,1fr) 12px;gap:5px;align-items:center}
.trackmath .best-gear-chain-option[aria-pressed="true"] .best-gear-chain-option-value{color:var(--bone)}
.trackmath .best-gear-chain-option-state{min-width:0;display:flex;flex-wrap:wrap;gap:4px;color:var(--text-peripheral);font-size:var(--type-compact)}
.trackmath .best-gear-chain-option-fitted{color:var(--current-green)}
.trackmath .best-gear-chain-option-selected{color:var(--current-green);opacity:0;text-align:right}
.trackmath .best-gear-chain-option[aria-pressed="true"] .best-gear-chain-option-selected{opacity:1}
.trackmath .best-gear-chain-shortcuts button{padding:7px 5px;border:1px solid var(--rule);background:transparent;color:var(--slate);cursor:pointer;text-align:left;font:500 var(--type-control)/1.4 var(--mono)}
.trackmath .best-gear-fitted-chain{color:var(--current-green)}
.trackmath .best-gear-chain-shortcuts{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.trackmath .best-gear-chain-shortcuts button{font-size:var(--type-compact)}
.trackmath .best-gear-chain-shortcuts button:disabled{opacity:.5;cursor:default}
.trackmath .best-gear-result-row{min-width:640px}
.trackmath .subnavigation-tabs button:is([data-subnavigation-item="best-gear"],[data-subnavigation-item="axle-position"])>small{display:block;width:100%;margin:5px 0 0;text-align:left;font:500 var(--type-compact)/1.4 var(--mono)}
.trackmath .subnavigation-tabs button:is([data-subnavigation-item="best-gear"],[data-subnavigation-item="axle-position"]).is-active>small{color:var(--slate)}
.trackmath .chain-inner-cross-check{white-space:nowrap;color:var(--slate)}
.trackmath .axle-priority-control{margin-top:18px}
.trackmath .matrix-title-rule{display:flex;align-items:center;flex-wrap:wrap}
.trackmath .matrix-title-rule .matrix-display-controls{padding:0;align-self:center}
.trackmath .matrix-title-rule .matrix-range-row,.trackmath .map-unit-controls .display-selector{font:500 10px/1 var(--mono);letter-spacing:.065em}
.trackmath .matrix-title-rule .range-pair input{margin:0;height:22px;width:4ch;padding:2px;border:0;background:transparent;text-align:center;appearance:textfield;box-sizing:border-box;font:500 10px/1 var(--mono)}
.trackmath .matrix-title-rule .range-pair input::-webkit-inner-spin-button{appearance:none}
.trackmath .matrix-title-rule .range-pair:focus-within{border-color:var(--bone)}
.trackmath .matrix-title-rule .display-selector select,.trackmath .map-unit-controls .display-selector select{width:21ch;max-width:none;height:24px;margin:0;font:500 10px/1 var(--mono);padding:2px 5px;box-sizing:border-box}
.trackmath .inline-bike-body .geometry-editors>.geometry-method{display:block}
.trackmath .bike-setup-schematic{display:block;width:100%;max-width:none;height:auto;overflow:visible;margin:8px 0 0}
.trackmath .bike-schematic-method,.trackmath .bike-model-diagram{container-type:inline-size}
/* The 825-unit drawing can grow; its labels and controls retain their actual UI size. */
.trackmath .bike-setup-schematic :is(text,foreignObject){transform-box:fill-box;transform-origin:center;scale:calc(825px / 100cqw)}
.trackmath .bike-setup-schematic text{font:500 var(--type-control) var(--mono);fill:var(--slate);letter-spacing:0}
.trackmath .schematic-annotation-bg{fill:var(--black)}
.trackmath .coverage-lower{position:relative}
.trackmath .coverage-section:has(.inline-bike-setup:not([hidden])){position:relative;z-index:30}
.trackmath .bike-instrument{position:absolute;top:100%;right:0;width:100cqw;max-width:calc(100vw - 40px);max-height:none;overflow:visible;z-index:30;min-width:0;background:var(--black);border:1px solid var(--steel)}
.trackmath .physical-setup-context.inline-bike-actions{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:0;border:1px solid var(--rule)}
.trackmath .physical-setup-context.inline-bike-actions>button{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;border:0;margin:0;min-width:0;padding:8px 10px;background:var(--navy);box-shadow:inset 0 -2px var(--steel)}
.trackmath .physical-setup-context.inline-bike-actions>button+button{border-left:1px solid var(--rule)}
.trackmath .physical-setup-context.inline-bike-actions>button .setup-summary-heading{justify-content:flex-start;align-items:baseline}
.trackmath .physical-setup-context.inline-bike-actions>button:is(:hover,:focus-visible){background:color-mix(in srgb,var(--navy) 80%,var(--steel));box-shadow:inset 0 -2px var(--bone)}
.trackmath .physical-setup-context.inline-bike-actions>button[aria-expanded=true]{box-shadow:inset 0 -2px var(--bone)}
/* Read the recommendation beside its evidence when both remain comfortably legible. */
.trackmath :is(#target-set-analysis,#gearing-coverage-analysis){container-type:inline-size}
@container (min-width:1100px){
  .trackmath .strategy-results{display:block}
  .trackmath .strategy-results>.strategy-status{grid-column:1/-1}
  .trackmath .strategy-results>.strategy-plan-summary{border-bottom:0}
  .trackmath .target-set-results{display:grid;grid-template-columns:minmax(0,1fr) minmax(600px,1fr);grid-template-rows:auto auto 1fr;align-items:start}
  .trackmath .target-set-results>.strategy-status{grid-column:1/-1}
  .trackmath .target-set-summary{grid-column:1;grid-row:2/4;border-bottom:0}
  .trackmath .target-set-audit{grid-column:2;grid-row:2}
  .trackmath .target-set-shortlist{grid-column:2;grid-row:3}
}
.trackmath .bike-instrument .inline-bike-setup{margin:0;max-height:none;overflow:visible}
.trackmath .bike-instrument .inline-bike-body{padding:12px}
.trackmath .bike-instrument:has(.inline-bike-setup[hidden]){display:none}
.trackmath .bike-wheel-top{display:flex;align-items:center;gap:24px;margin-bottom:8px}
.trackmath .inline-bike-body .bike-wheel-top h3{margin:0}
.trackmath .inline-bike-body .bike-wheel-top .wheel-popover{margin:0}
.trackmath .inline-bike-body .wheel-settings-row{display:flex;align-items:start;gap:16px;flex-wrap:wrap}
.trackmath .inline-bike-body .tyre-width-control{padding-right:0;border-right:0}
.trackmath .inline-bike-body .tyre-width-control .wheel-parameter-heading label{color:var(--bone)}
.trackmath .inline-bike-body [data-wheel-parameter="effectiveDiameterMm"]{margin-left:auto}
.trackmath .inline-bike-body [data-wheel-parameter="effectiveDiameterMm"] .wheel-parameter-heading label,
.trackmath .inline-bike-body [data-wheel-parameter="circumferenceMm"] .wheel-parameter-heading label{color:var(--text-peripheral)}
.trackmath .bike-model-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:start}
.trackmath .bike-model-diagram{grid-area:1/1}
.trackmath .bike-model-readout{grid-area:1/1;align-self:start;min-width:0;width:48%;margin-top:15%;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;z-index:1}
.trackmath .bike-drop-refinement{border-top:1px solid var(--rule);padding-top:8px;margin-top:8px}
.trackmath .bike-drop-refinement>p{font:500 var(--type-meta)/1.4 var(--mono);margin:6px 0 0;color:var(--slate)}
.trackmath .inline-bike-body .bike-drop-refinement .geometry-bb-drop{display:flex;align-items:center;gap:10px}
.trackmath .inline-bike-body .bike-drop-refinement .physical-input-unit{margin:0}
.trackmath .inline-bike-body .schematic-field .bike-model-measurement{margin:0}
@media(max-width:1000px){.trackmath .bike-model-diagram,.trackmath .bike-model-readout{grid-area:auto}.trackmath .bike-model-readout{width:100%;margin-top:0;grid-template-columns:1fr 1fr;gap:16px}.trackmath .bike-drop-refinement{border-top:0;margin:0;padding:0}}
@media(max-width:600px){.trackmath .bike-model-readout{grid-template-columns:1fr}.trackmath .bike-wheel-top{gap:12px;flex-wrap:wrap}}
.trackmath .bike-setup-schematic line,.trackmath .bike-setup-schematic circle,.trackmath .schematic-slot{vector-effect:non-scaling-stroke;stroke-width:1;fill:none}
.trackmath .schematic-slot,.trackmath .schematic-construction{stroke:var(--steel)}
.trackmath .bike-setup-schematic .schematic-slot{stroke-width:1px}
.trackmath .bike-setup-schematic .schematic-inset-mask{fill:black;stroke:none}
.trackmath .schematic-construction{stroke-dasharray:3 4}
.trackmath .schematic-dimension,.trackmath .schematic-centre{stroke:var(--bone)}
.trackmath .schematic-axle{stroke:var(--slate);fill:var(--black)}
.trackmath .bike-limit-schematic .schematic-rear,.trackmath .bike-limit-schematic .schematic-front{fill:color-mix(in srgb,var(--slate) 18%,transparent)}
.trackmath .bike-setup-schematic .schematic-current{stroke:var(--current-green);fill:color-mix(in srgb,var(--current-green) 18%,transparent)}
.trackmath .bike-setup-schematic .schematic-current-label{fill:var(--current-green)}
.trackmath .schematic-field{overflow:visible}
.trackmath .inline-bike-body .schematic-field>label,.trackmath .inline-bike-body .schematic-field>.geometry-bb-drop{display:flex;flex-direction:column;align-items:center;gap:0;margin:0;padding:0;height:auto}
.trackmath .inline-bike-body .schematic-field label>span{font:500 10px/18px var(--mono);background:var(--black);white-space:nowrap}
.trackmath .inline-bike-body .schematic-field .physical-input-unit{width:88px;height:28px;margin:2px 0 0;background:var(--black)}
.trackmath .inline-bike-body .schematic-field .physical-input-unit input{text-align:center}
.trackmath .inline-bike-body .schematic-field .physical-field-heading{height:18px;display:flex;align-items:center;gap:4px;white-space:nowrap;background:var(--black)}
.trackmath .inline-bike-body .schematic-field .physical-field-heading label{font:500 10px/18px var(--mono)}
.trackmath .inline-bike-body .schematic-field #bb-drop-status{font:500 8px/1 var(--mono)}
.trackmath .inline-bike-body .schematic-field .info-popover-content{width:230px;max-width:none;right:0;left:auto}
.trackmath .inline-bike-body .bike-model-instruction{margin:0 0 6px;font:500 11px/1.4 var(--mono)}
.trackmath .inline-bike-body .geometry-editors>.geometry-method>.geometry-method-note{grid-column:1/-1;min-height:0;margin:0}
.trackmath .inline-bike-body .geometry-editors>.geometry-method>label{margin:0}
.trackmath .inline-bike-body .bike-model-measurement{display:block;font:500 11px/1.4 var(--mono);margin:8px 0 12px}
.trackmath .lower-workspace-tab{position:relative;display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:18px;min-width:0;padding:8px 10px;min-height:44px;box-sizing:border-box}
.trackmath .lower-workspace-tabs{border-top:0;border-left:0}
.trackmath .lower-workspace-tab{border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.trackmath .lower-workspace-tab::after{content:"";position:absolute;z-index:2;top:-1px;left:-1px;width:16px;height:16px;background:linear-gradient(to bottom right,var(--black) 0 calc(50% - .6px),var(--rule) calc(50% - .6px) calc(50% + .6px),transparent calc(50% + .6px));pointer-events:none}
.trackmath .lower-workspace-tab+.lower-workspace-tab{border-left:1px solid var(--rule)}
.trackmath .lower-workspace-tab:first-child{clip-path:polygon(16px 0,100% 0,100% 100%,0 100%,0 16px)}
.trackmath .lower-workspace-tab+.lower-workspace-tab::before{content:"";position:absolute;z-index:3;left:-1px;top:-1px;bottom:0;width:1px;background:var(--rule);pointer-events:none}
.trackmath .lower-workspace-tab:has(a.is-active){box-shadow:inset 0 -2px var(--bone)}
.trackmath .lower-workspace-tabs .lower-workspace-tab>a{padding:0;font:500 var(--type-heading-major)/1 var(--mono);letter-spacing:.84px;box-shadow:none}
.trackmath .lower-workspace-tab:not(:has(.matrix-display-controls))>a{align-self:stretch;flex:1}
.trackmath .lower-workspace-tab .matrix-display-controls{display:grid;grid-template-columns:max-content minmax(19ch,max-content);align-items:center;align-self:center;gap:10px;padding:0;margin:0;font:500 10px/1 var(--mono)}
.trackmath .lower-workspace-tab .display-selector{display:flex;align-items:center;gap:6px;margin:0;font:500 10px/1 var(--mono)}
.trackmath .lower-workspace-tab .matrix-display-controls::before,.trackmath .map-unit-controls::before{content:none}
.trackmath .lower-workspace-tab .display-selector select{width:21ch;height:24px;margin:0;padding:2px 5px;box-sizing:border-box;font:500 10px/1 var(--mono)}
.trackmath .map-unit-controls-right{margin-left:0}
.trackmath .map-header .temporary-clear-all{margin-left:auto}
.trackmath .profile-selector { position:relative; }
.trackmath .map-header > .profile-selector { margin-left:auto; }
.trackmath .profile-selector > span { color:var(--slate); }
.trackmath .profile-selector .gearing-model-control > summary { width:auto; min-width:15ch; max-width:32ch; overflow:hidden; }
.trackmath .profile-selector .profile-choices { left:0; right:auto; width:max-content; min-width:100%; max-width:85vw; box-sizing:border-box; }
.trackmath .profile-choices button { display:block; width:100%; text-align:center; margin-bottom:4px; }
.trackmath .profile-dialog { position:fixed; inset:auto; margin:0; box-sizing:border-box; background:var(--black); color:var(--bone); border:1px solid var(--steel); padding:18px; width:min(520px,calc(100vw - 24px)); max-height:80vh; overflow:auto; box-shadow:0 8px 28px #000a; z-index:10000; }
.trackmath .profile-dialog > h2 { margin:0 0 12px; }
.trackmath .profile-dialog button,.trackmath .profile-dialog input,.trackmath .profile-dialog select { background:var(--black); color:var(--bone); border:1px solid var(--steel); padding:6px 8px; color-scheme:dark; }
.trackmath .profile-dialog button { cursor:pointer; margin:4px; }
.trackmath .profile-dialog button:is(:hover,:focus-visible) { border-color:var(--interaction-cyan); }
.trackmath .profile-dialog label { display:grid; gap:6px; margin:12px 0; }
.trackmath .profile-management-row { border-top:1px solid var(--rule); padding:8px 0; }
.trackmath .planner-return{display:none}
.trackmath.is-strategy .planner-return{display:flex;align-items:center;padding:8px 20px;border:1px solid var(--rule)}
.trackmath .planner-return a{color:var(--bone);text-decoration:none}
.trackmath .planner-return a:is(:hover,:focus-visible){color:var(--interaction-cyan)}
/* One Matrix header band, with the view action anchored at the right. */
.trackmath .matrix-frame .matrix-section>.matrix-title-rule{position:relative;display:block;min-height:0;padding:4px 12px;overflow:visible;white-space:normal}
.trackmath .matrix-header-main{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:nowrap;min-width:0}
.trackmath .matrix-header-main> :not([hidden]){flex-shrink:0}
.trackmath .matrix-header-identity{display:flex;align-items:center;gap:var(--instrument-title-gap)}
.trackmath .matrix-header-identity #matrix-title{white-space:nowrap;color:var(--bone)}
.trackmath .matrix-header-key{display:flex;align-items:center;gap:4px;white-space:nowrap}
.trackmath .matrix-header-key .matrix-state-badges{display:flex;gap:3px}
.trackmath .matrix-header-key .matrix-state-badge{width:auto;min-width:0;min-height:0;padding:2px 3px;letter-spacing:0}
.trackmath[data-matrix-view="owned"] .matrix-header-key #owned-badge{display:none}
.trackmath .matrix-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:8px;margin-left:auto;max-width:100%}
.trackmath .matrix-counts{white-space:nowrap;color:var(--slate)}
.trackmath[data-matrix-view="owned"] .matrix-counts{margin-left:auto;text-align:right}
.trackmath[data-matrix-view="owned"] .matrix-header-actions{margin-left:0}
.trackmath .matrix-title-rule .coverage-summary{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:6px;width:max-content;min-width:0;max-width:100%;margin:0;font:500 10px/1 var(--mono)}
.trackmath .matrix-title-rule .coverage-summary button{box-sizing:border-box;flex:0 0 auto;width:max-content;white-space:nowrap;padding:6px 8px;border:1px solid var(--rule);color:var(--bone);text-align:center}
.trackmath .matrix-title-rule .coverage-summary button[hidden]{display:none}
@media(max-width:820px){.trackmath .matrix-header-main{flex-wrap:wrap}}
.trackmath .lower-workspace-tab:has([data-lower-workspace="matrix"]){justify-content:flex-start;padding-inline:20px}
.trackmath .matrix-title-rule{padding-inline:20px}
.trackmath .matrix-title-rule .fitted-gear-status{margin-left:auto;margin-right:0;justify-content:flex-start}
.trackmath .lower-workspace-tab .matrix-display-controls{margin-left:auto}
.trackmath :is(.map-unit-controls,.matrix-display-controls) .secondary-control{display:flex;flex:0 0 auto;align-items:center;gap:6px;width:auto;white-space:nowrap;font:500 10px/1 var(--mono);letter-spacing:.065em}
.trackmath :is(.map-unit-controls,.matrix-display-controls) .secondary-control>div{display:flex;align-items:center;flex:0 0 auto;width:auto;height:24px;margin:0;padding-left:3px;gap:3px;font:500 10px/1 var(--mono)}
.trackmath :is(.map-unit-controls,.matrix-display-controls) .secondary-control input{flex:0 0 auto;min-width:2ch;width:3ch;height:100%;padding:0;appearance:textfield;font:500 10px/1 var(--mono)}
.trackmath :is(.map-unit-controls,.matrix-display-controls) .secondary-control input::-webkit-inner-spin-button,.trackmath :is(.map-unit-controls,.matrix-display-controls) .secondary-control input::-webkit-outer-spin-button{appearance:none;margin:0}
.trackmath :is(.map-unit-controls,.matrix-display-controls) .secondary-control i{padding:0 4px 0 0;font:normal 500 10px/1 var(--mono)}
.trackmath .lower-workspace-tab:has(.matrix-display-controls){overflow:visible}
.trackmath .lower-workspace-tab:has(.matrix-display-controls)>a{flex-shrink:0;white-space:nowrap}
@media(max-width:900px){.trackmath .lower-workspace-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.trackmath .lower-workspace-tab:has(.matrix-display-controls){grid-column:1/-1;border-bottom:1px solid var(--rule)}.trackmath .lower-workspace-tab:has(.matrix-display-controls)+.lower-workspace-tab{border-left:0}}
@media(max-width:560px){.trackmath .lower-workspace-tab:has([data-lower-workspace="matrix"]),.trackmath .matrix-title-rule{padding-inline:12px}}
.trackmath .purchase-constraints{grid-template-columns:minmax(620px,1.4fr) minmax(190px,1fr)}
.trackmath .purchase-search-label{white-space:normal;max-width:150px;flex:0 0 150px}
.trackmath .purchase-part-row{grid-template-columns:110px auto 90px auto minmax(44px,1fr);gap:7px}
.trackmath :is(.purchase-include-label,.purchase-exclude-label){font:500 10px/1 var(--mono);color:var(--slate)}
.trackmath .purchase-exclude-label{margin-left:10px}
.trackmath .purchase-exclusions{display:flex;gap:5px;flex-wrap:wrap}
.trackmath .purchase-exclusions input{width:4.5ch;height:28px;padding:2px;border:1px solid var(--steel);background:transparent;color:var(--bone);font:500 11px/1 var(--mono);text-align:center;appearance:textfield}
.trackmath .purchase-exclusions input::-webkit-inner-spin-button{appearance:none}
.trackmath .purchase-question .target-set-editor{height:auto;min-height:0;overflow:visible;scrollbar-gutter:auto}
.trackmath .purchase-target-copy{min-height:0}
.trackmath .purchase-target-copy:empty{display:none}
.trackmath .purchase-question .target-set-target-row{grid-template-columns:64px 194px max-content max-content auto}
.trackmath .purchase-question .target-set-target-row>.info-popover{justify-self:start;margin:0}
.trackmath .purchase-improvement-question{min-height:0;padding-block:5px 10px;align-items:center}
.trackmath .purchase-improvement-question>:is(a,fieldset){align-self:start}
.trackmath .purchase-improvement-question>.purchase-range-copy{align-self:center}
.trackmath .purchase-improvement-question> a{min-height:30px;box-sizing:border-box;display:flex;align-items:center}
.trackmath .purchase-improvement-question .strategy-spacing-preference>legend{min-height:30px;box-sizing:border-box;display:flex;align-items:center;margin:0;padding:0}
.trackmath .purchase-range-copy{height:30px;min-height:0;padding:0;display:flex;align-items:center;line-height:15px}
.trackmath .purchase-target-question{padding-top:4px;padding-bottom:6px;align-items:start}
.trackmath .purchase-target-question>:is(a,.target-set-editor,.purchase-target-copy){align-self:start}
.trackmath .purchase-target-question .target-set-target-row:first-child{padding-top:0}
.trackmath .purchase-question.is-inactive>:not(a),.trackmath .purchase-question.is-inactive :is(fieldset,.target-set-editor){opacity:1}
.trackmath .purchase-question :is(a,legend,span,input,button,.purchase-range-copy,.purchase-target-copy){transition:color 100ms linear,border-color 100ms linear}
.trackmath .purchase-question.is-inactive :is(a,legend,span,input,button,.purchase-range-copy,.purchase-target-copy):not(.info-popover-content *){color:#34465e}
.trackmath .purchase-question.is-inactive input{-webkit-text-fill-color:#34465e;opacity:1}
@media(max-width:1000px){.trackmath .purchase-constraints{grid-template-columns:1fr}.trackmath .purchase-universe-copy{min-height:0;border-top:0;padding-top:0}.trackmath .purchase-question .target-set-editor{overflow-x:auto}}
@media(max-width:680px){.trackmath .purchase-search-controls>fieldset{display:block}.trackmath .purchase-search-label{max-width:none;margin-bottom:6px}.trackmath .purchase-part-row{grid-template-columns:100px auto 85px auto minmax(40px,1fr);gap:4px}}

/* Shared selection controls. Coloured inventory and ownership controls keep their identity. */
.trackmath :is(:is(.coverage-filters,.strategy-option-group,.target-priority-options,.purchase-chain-fit,.chain-priority-buttons) button[aria-pressed],.keep-fitted-chain,.purchase-evidence-all){border:1px solid var(--steel);background:var(--black);color:var(--slate);box-shadow:none;cursor:pointer}
.trackmath :is(:is(.coverage-filters,.strategy-option-group,.target-priority-options,.purchase-chain-fit,.chain-priority-buttons) button[aria-pressed],.keep-fitted-chain,.purchase-evidence-all)::before{content:none;display:none;width:0;margin:0}
.trackmath :is(:is(.coverage-filters,.strategy-option-group,.target-priority-options,.purchase-chain-fit,.chain-priority-buttons) button[aria-pressed],.keep-fitted-chain,.purchase-evidence-all)[aria-pressed=true]{background:#10151e;color:var(--bone);box-shadow:inset 0 -2px var(--bone)}
.trackmath :is(:is(.coverage-filters,.strategy-option-group,.target-priority-options,.purchase-chain-fit,.chain-priority-buttons) button[aria-pressed],.keep-fitted-chain,.purchase-evidence-all)[aria-pressed=true]::before{content:none;display:none;width:0;margin:0}
.trackmath :is(:is(.coverage-filters,.strategy-option-group,.target-priority-options,.purchase-chain-fit,.chain-priority-buttons) button[aria-pressed],.keep-fitted-chain,.purchase-evidence-all):not(:disabled):is(:hover,:focus-visible){background:var(--navy);border-color:var(--bone)}
.trackmath :is(:is(.coverage-filters,.strategy-option-group,.target-priority-options,.purchase-chain-fit,.chain-priority-buttons) button[aria-pressed],.keep-fitted-chain,.purchase-evidence-all):focus-visible{outline:1px solid var(--bone);outline-offset:2px}
.trackmath :is(:is(.coverage-filters,.strategy-option-group,.target-priority-options,.purchase-chain-fit,.chain-priority-buttons) button[aria-pressed],.keep-fitted-chain,.purchase-evidence-all):disabled{cursor:default}
/* A stretched link makes the inactive Matrix tab one useful click target. */
.trackmath .lower-workspace-tab:has([data-lower-workspace=matrix]:not(.is-active))>a::after{content:'';position:absolute;inset:0;z-index:1}
.trackmath .lower-workspace-tab:has(a:not(.is-active)):hover{background:#10151e}
.trackmath .lower-workspace-tab:has(a:focus-visible){outline:1px solid var(--bone);outline-offset:-2px}
.trackmath .purchase-evidence-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0}
.trackmath .purchase-evidence-toolbar p{margin:0}
.trackmath .purchase-evidence-all{padding:4px 6px;white-space:nowrap}
.trackmath .purchase-evidence-scroll{max-height:none;overflow:visible}
.trackmath .purchase-chain-evidence table{width:100%;border-collapse:collapse}
.trackmath .purchase-chain-evidence caption{text-align:left;color:var(--slate);padding:0 0 8px}
.trackmath .purchase-chain-evidence th,.trackmath .purchase-chain-evidence td{text-align:left;padding:12px 8px;vertical-align:middle;white-space:nowrap}
.trackmath .purchase-chain-evidence thead th{padding-block:4px}
.trackmath .purchase-chain-evidence .purchase-evidence-chain-heading{text-align:right}
.trackmath .purchase-chain-evidence thead{position:sticky;top:0;background:var(--black)}
.trackmath .purchase-evidence-gear-start>*{border-top:1px solid var(--rule)}
.trackmath .purchase-chain-evidence .purchase-evidence-chain{text-align:right;font-variant-numeric:tabular-nums}
.trackmath .purchase-evidence-chain-key{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px 10px}
.trackmath .purchase-evidence-chain-key>span{white-space:nowrap}
.trackmath .purchase-chain-evidence td[colspan]{white-space:normal}
.trackmath .purchase-evidence-dropout{min-width:136px}
.trackmath .purchase-evidence-dropout .axle-mini.is-schematic{display:block;width:min(100%,200px)}
.trackmath .purchase-evidence-dropout .axle-mini-track{--mini-radius:9px;display:block;height:18px;margin-inline:9px;background:#07090b}
.trackmath .purchase-evidence-dropout .axle-mini-dot{width:11px;height:11px}

/* Shared help surfaces. Native top-layer placement escapes clipping/stacking contexts. */
.trackmath [popover].help-floating-panel.help-floating-panel{position:fixed;inset:auto;margin:0;width:360px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:12px 14px;border:1px solid var(--steel);background:#0d0e11;color:var(--bone);box-shadow:0 8px 24px #0009;overflow:auto;overscroll-behavior:contain;text-align:left;text-transform:none;white-space:normal;letter-spacing:0}
.trackmath [popover].help-floating-panel:not(:popover-open){display:none}
.trackmath [popover].help-floating-panel:popover-open{display:block}
.trackmath [popover].help-floating-panel::backdrop{background:transparent;pointer-events:none}
.trackmath .help-floating-panel p{margin:0 0 9px;color:inherit}
.trackmath .help-floating-panel p:last-child{margin-bottom:0}
.trackmath .help-floating-panel section+section{margin-top:12px;padding-top:10px;border-top:1px solid var(--rule)}
.trackmath .help-floating-panel section>strong{display:block;margin:0 0 6px;color:var(--bone)}
.trackmath .help-close{display:block;margin:0 0 9px auto;padding:3px 7px;border:1px solid var(--steel);background:transparent;color:var(--bone);cursor:pointer}
.trackmath .help-close:is(:hover,:focus-visible){border-color:var(--bone);background:var(--navy)}
.trackmath .info-popover>summary{border-radius:2px}
.trackmath .field-info-popover>summary{min-width:20px;min-height:20px;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}
.trackmath .info-popover>summary:is(:hover,:focus-visible),.trackmath .info-popover[open]>summary{color:var(--interaction-cyan);outline:1px solid var(--interaction-cyan);outline-offset:1px}
.trackmath .help-floating-panel .chain-band-width-edit{display:flex;align-items:center;gap:6px;margin:12px 0}
.trackmath .gearing-model-control { position:relative; width:max-content; max-width:100%; text-align:left; }
.trackmath .gearing-model-control > summary { display:flex; align-items:center; justify-content:space-between; gap:8px; box-sizing:border-box; width:25ch; height:24px; cursor:pointer; border:1px solid var(--steel); padding:2px 5px; background:var(--black); color:var(--bone); font:500 11px/1 var(--mono); white-space:nowrap; list-style:none; }
.trackmath .gearing-model-control > summary::-webkit-details-marker { display:none; }
.trackmath .gearing-model-control > summary::after { content:''; flex:none; width:6px; height:6px; margin:-3px 3px 0 0; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); }
.trackmath .gearing-model-field { display:flex; align-items:center; gap:6px; }
.trackmath .gearing-model-options .gearing-model-option { padding-bottom:10px; border-bottom:1px solid var(--rule); }
.trackmath .gearing-model-options .shared-wheel-data { margin-top:4px; padding:12px 5px 5px; border-top:2px solid var(--steel); }
.trackmath .shared-wheel-data h3 { margin:0 0 6px; }
.trackmath .gearing-model-options .wheel-data-link { display:inline; min-height:0; padding:0; border:0; border-bottom:1px dotted currentColor; background:none; color:var(--interaction-cyan); }
.trackmath .gearing-model-options .wheel-bike-setup-link { display:inline; min-height:0; padding:0; border:0; border-bottom:1px dotted currentColor; background:none; color:var(--interaction-cyan); }
.trackmath .first-wheel-form { display:grid; gap:9px; padding:8px 0; }
.trackmath .first-wheel-form>label { display:grid; gap:4px; color:var(--slate); }
.trackmath .first-wheel-form>label>input { box-sizing:border-box; width:100%; min-height:28px; padding:3px 6px; border:1px solid var(--steel); background:var(--black); color:var(--bone); color-scheme:dark; }
.trackmath .first-wheel-input { position:relative; align-items:center; width:88px; height:28px; margin:2px 0 0; box-sizing:border-box; color:var(--bone); }
.trackmath .first-wheel-form .first-wheel-input input { height:100%; width:100%; padding:0 10px; box-sizing:border-box; border:0; background:transparent; text-align:center; color:inherit; color-scheme:dark; }
.trackmath .first-wheel-input>span { padding:0 5px 0 0; }
.trackmath .first-wheel-input .first-wheel-approx:not([hidden]) { position:absolute; left:4px; padding:0; }
.trackmath .first-wheel-input.is-derived { color:var(--slate); }
.trackmath .gearing-model-options .first-wheel-reveal[aria-expanded="true"] { color:var(--slate); }
.trackmath .first-wheel-form>span[data-type="instrument-label"] { color:var(--slate); }
.trackmath .first-wheel-form>button[type="submit"] { justify-self:start; }
.trackmath .wheel-measurement-methods { padding-top:5px; border-top:1px solid var(--rule); }
.trackmath .wheel-measurement-methods h3 { margin:0 0 8px; }
.trackmath .wheel-measurement-methods p { margin:0 0 9px; }
.trackmath .shared-wheel-data.is-arrival-cued { animation:rear-wheel-arrival 1.1s ease-in-out 2; }
@media(prefers-reduced-motion:reduce){.trackmath .shared-wheel-data.is-arrival-cued{animation:none;outline:2px solid var(--interaction-cyan)}}
.trackmath .gearing-model-options { position:absolute; right:0; top:100%; width:min(430px,85vw); max-height:70vh; overflow:auto; background:#0b0e11; border:1px solid #435361; padding:12px; z-index:100; }
.trackmath .gearing-model-options section { margin:0 0 12px; }
.trackmath .gearing-model-options p { margin:6px 0; }
.trackmath .known-chart-section { position:relative; padding:8px 0 10px; border-bottom:1px solid var(--rule); }
.trackmath .known-chart-section>strong { display:block; margin:0 0 5px; color:var(--slate); }
.trackmath .known-chart-menu { position:relative; }
.trackmath .known-chart-menu>summary { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:26px; padding:3px 7px; border:1px solid var(--steel); background:var(--black); color:var(--bone); cursor:pointer; list-style:none; }
.trackmath .known-chart-menu>summary::-webkit-details-marker { display:none; }
.trackmath .known-chart-menu>summary::after { content:'⌄'; font-size:14px; }
.trackmath .known-chart-options { position:absolute; top:calc(100% - 1px); left:0; right:0; z-index:90; padding:4px; border:1px solid var(--steel); background:var(--black); box-shadow:0 8px 20px #000c; }
.trackmath .known-chart-menu:not([open]) .known-chart-options { display:none; }
.trackmath .known-chart-group + .known-chart-group { margin-top:5px; padding-top:5px; border-top:1px solid var(--rule); }
.trackmath .known-chart-group>span { display:block; padding:3px 4px; color:var(--slate); }
.trackmath .known-chart-group button { display:block; width:100%; min-height:25px; border:0; padding:3px 7px; text-align:left; }
.trackmath .gearing-model-options button,
.trackmath .rear-wheel-editor button { min-height:26px; padding:3px 7px; border:1px solid var(--steel); background:var(--black); color:var(--bone); cursor:pointer; }
.trackmath .gearing-model-options button:is(:hover,:focus-visible),
.trackmath .rear-wheel-editor button:is(:hover,:focus-visible) { border-color:var(--bone); background:#10151e; outline:none; }
.trackmath .gearing-model-options input,
.trackmath .rear-wheel-editor input,
.trackmath .rear-wheel-editor select { border:1px solid var(--steel); border-radius:0; background:var(--black); color:var(--bone); }
.trackmath .rear-wheel-editor { width:100%; max-width:650px; padding:5px 0 10px; color-scheme:dark; }
.trackmath .inline-bike-body .rear-wheel-editor { display:block; max-width:none; }
.trackmath .inline-bike-body .rear-wheel-entry { min-width:0; }
.trackmath .inline-bike-body .rear-wheel-editor .wheel-measurement-methods { color:var(--slate); }
@media(max-width:1000px){.trackmath .inline-bike-body .rear-wheel-editor{grid-template-columns:minmax(0,1fr);row-gap:12px}}
.trackmath .rear-wheel-editor h3 { margin:0 0 6px; }
.trackmath .rear-wheel-list:empty { display:none; }
.trackmath .rear-wheel-row { display:grid; grid-template-columns:7px minmax(0,1fr) repeat(3,52px); align-items:center; column-gap:6px; min-height:32px; border-bottom:1px solid var(--rule); }
.trackmath .rear-wheel-dot { width:7px; height:7px; border-radius:50%; background:var(--slate); }
.trackmath .rear-wheel-row.is-fitted .rear-wheel-dot { background:var(--current-green); }
.trackmath .rear-wheel-identity { display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 8px; min-width:0; }
.trackmath .rear-wheel-identity strong { color:var(--bone); overflow-wrap:anywhere; }
.trackmath .rear-wheel-identity small { color:var(--slate); }
.trackmath .rear-wheel-row button { min-height:22px; padding:2px 3px; white-space:nowrap; }
.trackmath .rear-wheel-row button[aria-pressed="true"] { background:var(--current-green); border-color:var(--current-green); color:var(--white); }
.trackmath .rear-wheel-row button:last-child { color:var(--slate); }
.trackmath .rear-wheel-form { display:grid; grid-template-columns:minmax(120px,1fr) auto auto auto auto; align-items:end; gap:6px 14px; padding:8px 0 2px; }
.trackmath .rear-wheel-form>.wheel-measurement-or{align-self:center}
.trackmath .rear-wheel-form>p{grid-column:1/-1;margin:0}
.trackmath .wheel-measurement-help{margin-top:8px}
.trackmath .wheel-measurement-help>summary{cursor:pointer;color:var(--bone);width:max-content;padding:4px 0}
.trackmath .bike-frame-section>summary,.trackmath .bike-model-section>summary{cursor:pointer;color:var(--bone);padding:6px 0}
.trackmath .bike-model-section{border-top:1px solid var(--rule);margin-top:8px}
.trackmath .bike-model-section [data-model-check-status]{color:var(--slate)}
.trackmath .bike-model-section [data-tone="complete"]{color:var(--current-green)}
.trackmath .bike-frame-section.is-context-highlight,.trackmath .bike-model-section.is-context-highlight,.trackmath .inline-bike-body [data-subnavigation-surface="chains"].is-context-highlight{outline:2px solid var(--interaction-cyan);outline-offset:3px}
.trackmath .inline-bike-body [data-subnavigation-surface="chains"]{margin-top:12px;border-top:1px solid var(--rule);padding-top:10px}
.trackmath .inline-bike-body .setup-owned-chain{grid-template-columns:7px minmax(140px,1fr) auto auto auto;max-width:650px;padding:4px 0;gap:8px}
.trackmath .inline-bike-body .setup-owned-chain button{width:auto;min-width:65px;padding-inline:6px;font:inherit}
.trackmath .inline-bike-body .setup-owned-chain .setup-chain-length{display:flex;align-items:center;gap:6px}
.trackmath .inline-bike-body .setup-owned-chain input,.trackmath .inline-bike-body .inline-chain-add input{width:5ch;background:var(--black);border:1px solid var(--steel);color:var(--chain-colour,var(--bone));text-align:center}
.trackmath .inline-bike-body .setup-owned-chain .setup-chain-assembled{margin-left:6px}
.trackmath .inline-bike-body .inline-chain-add{max-width:650px;padding:8px 0}
.trackmath .map-chain-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.trackmath .map-chain-heading>[data-edit-setup-chains]{padding:2px 0;border:0;background:transparent;color:var(--interaction-cyan);cursor:pointer;white-space:nowrap}
.trackmath .map-chain-controls .setup-owned-chains{margin:0}
.trackmath .map-first-chain-add [data-add-first-chain]{padding:4px 6px;border:1px solid var(--steel);background:var(--black);color:var(--bone);cursor:pointer;white-space:nowrap}
.trackmath .rear-wheel-form-title { grid-column:1/-1; color:var(--bone); }
.trackmath .rear-wheel-form label { display:grid; gap:4px; min-width:0; color:var(--slate); }
.trackmath .rear-wheel-form input { box-sizing:border-box; width:100%; min-width:0; height:28px; padding:3px 6px; color-scheme:dark; }
.trackmath .rear-wheel-method { min-width:0; }
.trackmath .rear-wheel-method>span { display:block; margin:0 0 4px; color:var(--slate); }
.trackmath .rear-wheel-method-menu { position:relative; min-width:0; }
.trackmath .rear-wheel-method-menu>summary { box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:6px; height:28px; padding:3px 6px; border:1px solid var(--steel); background:var(--black); color:var(--bone); cursor:pointer; list-style:none; white-space:nowrap; }
.trackmath .rear-wheel-method-menu>summary::-webkit-details-marker { display:none; }
.trackmath .rear-wheel-method-menu>summary::after { content:'⌄'; color:var(--bone); font-size:14px; line-height:1; }
.trackmath .rear-wheel-method-menu>summary:focus-visible { outline:1px solid var(--interaction-cyan); outline-offset:1px; }
.trackmath .rear-wheel-method-options { position:absolute; top:calc(100% - 1px); left:0; right:0; z-index:80; display:grid; padding:2px; border:1px solid var(--steel); background:var(--black); box-shadow:0 6px 16px #000a; }
.trackmath .rear-wheel-method-menu:not([open]) .rear-wheel-method-options { display:none; }
.trackmath .rear-wheel-method-options button { min-height:27px; border:0; padding:4px 6px; text-align:left; white-space:nowrap; }
.trackmath .rear-wheel-method-options button[aria-current="true"] { background:var(--navy); color:var(--bone); }
.trackmath .rear-wheel-form-actions { display:flex; gap:6px; align-self:end; }
.trackmath .rear-wheel-form-actions button { white-space:nowrap; }
.trackmath .rear-wheel-editor.is-arrival-cued { animation:rear-wheel-arrival 1.1s ease-in-out 2; }
@keyframes rear-wheel-arrival { 0%,100% { outline:2px solid transparent; box-shadow:none; } 45% { outline:2px solid var(--interaction-cyan); box-shadow:0 0 14px #159bd366; } }
@media(max-width:560px){.trackmath .rear-wheel-form{grid-template-columns:minmax(0,1fr)}.trackmath .rear-wheel-form>label:first-of-type{grid-column:1/-1}.trackmath .rear-wheel-form-actions{grid-column:1}.trackmath .rear-wheel-row{grid-template-columns:7px minmax(0,1fr) repeat(3,43px);column-gap:3px}.trackmath .inline-bike-body .setup-owned-chain{gap:3px;grid-template-columns:7px minmax(95px,1fr) repeat(3,auto)}.trackmath .inline-bike-body .setup-owned-chain button{min-width:0}.trackmath .inline-bike-body .setup-chain-assembled{display:none}}
@media(prefers-reduced-motion:reduce){.trackmath .rear-wheel-editor.is-arrival-cued{animation:none;outline:2px solid var(--interaction-cyan)}}

/* Shared top-action dropdown treatment, matching the existing Bike Setup. */
.trackmath .top-actions{position:relative}
.trackmath .top-actions > :not(.bike-instrument){align-self:stretch}
.trackmath .top-actions .top-action{position:relative;width:100%;height:100%;justify-content:center;gap:0;border-left:0}
.trackmath .top-actions .top-action::after{content:none}
.trackmath .top-actions .top-action[aria-expanded="true"]{background:var(--navy);border-bottom-color:var(--bone)}
.trackmath .top-dropdown{background:var(--black);color:var(--bone);border:1px solid var(--steel);box-shadow:none;padding:12px;clip-path:inset(0);transform:translateY(0);transform-origin:top;transition:clip-path var(--top-dropdown-duration,100ms) ease-out,transform var(--top-dropdown-duration,100ms) ease-out,display var(--top-dropdown-duration,100ms) allow-discrete,overlay var(--top-dropdown-duration,100ms) allow-discrete}
.trackmath .top-actions .bike-instrument{left:0;right:auto;top:calc(100% + 6px);width:100%;max-width:none;padding:0;z-index:150}
.trackmath .top-actions .profile-choices.top-dropdown{position:fixed;min-width:220px;z-index:160}
.trackmath .top-actions details:not([open])>.top-dropdown{display:none}
.trackmath .top-dropdown-heading,.trackmath .profile-dialog.top-dropdown > h2{display:block;margin:0 0 12px;padding:8px 12px;border-bottom:1px solid var(--rule);background:var(--black);color:var(--bone)}
.trackmath .top-dropdown :is(button,input,select){border-color:var(--steel);color:var(--bone)}
.trackmath .top-dropdown button:is(:hover,:focus-visible){border-color:var(--interaction-cyan)}
.trackmath .schematic-nut :is(polygon,circle){fill:none;stroke:var(--slate);stroke-width:1;vector-effect:non-scaling-stroke}
.trackmath .schematic-current-group .schematic-nut :is(polygon,circle){stroke:var(--current-green)}
.trackmath .top-dropdown:is([hidden],[popover]:not(:popover-open)),.trackmath .top-actions .bike-instrument:has(.inline-bike-setup[hidden]),.trackmath .top-actions details:not([open])>.top-dropdown{clip-path:inset(0 0 100% 0);transform:translateY(-6px);pointer-events:none}
/* Keep the panel's contents and top-layer placement until its exit finishes. */
.trackmath .top-actions .bike-instrument :is(.inline-bike-setup,[data-subnavigation-surface],.shared-prerequisite-editor){transition:display var(--top-dropdown-duration,100ms) allow-discrete}
.trackmath .top-actions details:has(>.top-dropdown)::details-content{transition:content-visibility var(--top-dropdown-duration,100ms) allow-discrete}
@starting-style{.trackmath .top-dropdown{clip-path:inset(0 0 100% 0);transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.trackmath .top-dropdown,.trackmath .top-actions .bike-instrument :is(.inline-bike-setup,[data-subnavigation-surface],.shared-prerequisite-editor),.trackmath .top-actions details:has(>.top-dropdown)::details-content{transition:none}}

/* Results toolbar and compact physical column. Planner layouts remain separate. */
.trackmath .coverage-filters{display:flex;align-items:center;gap:6px}
.trackmath .coverage-filters select{width:31ch;max-width:100%;flex:none;white-space:nowrap;height:24px;min-height:24px;margin:0;padding:2px 5px;box-sizing:border-box;background:var(--black);color:var(--bone);border:1px solid var(--steel);color-scheme:dark}
.trackmath .coverage-filters select option{background:var(--black);color:var(--bone)}
.trackmath .coverage-filter-heading{gap:8px 14px}
.trackmath .keep-fitted-chain{display:inline-flex;align-items:center;gap:5px;letter-spacing:0;min-width:calc(21ch + 41px)}
.trackmath .keep-fitted-chain [data-chain-identity]{color:var(--chain-colour)}
.trackmath .coverage-ranking-head.sr-only{position:absolute;width:1px;height:1px;min-height:0;min-width:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.trackmath .map-dropout-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.trackmath .map-dropout-heading .map-dropout-title{min-height:0;white-space:nowrap}
.trackmath .map-dropout-heading .map-dropout-travel{position:static;margin:0;white-space:nowrap;text-align:right}
.trackmath:not(.is-strategy) .coverage-lower{grid-template-columns:minmax(0,1fr) 330px;gap:10px 16px;padding:12px 16px}
.trackmath:not(.is-strategy) .coverage-filter-heading{grid-column:1;grid-row:1;border:0;padding-bottom:0;gap:6px var(--instrument-title-gap)}
.trackmath:not(.is-strategy) .coverage-filter-heading .coverage-filters{margin-left:0}
.trackmath:not(.is-strategy) :is(.map-header,.matrix-frame .matrix-section>.matrix-title-rule){padding-inline:16px}
.trackmath:not(.is-strategy) .map-gearing-results{grid-column:1;grid-row:2}
.trackmath:not(.is-strategy) .map-physical-context{grid-column:2;grid-row:1 / span 2}
.trackmath:not(.is-strategy) .map-physical-context{padding-left:12px}
.trackmath:not(.is-strategy) .coverage-ranking-row{min-width:0;grid-template-columns:24px 49px 49px 61px minmax(0,1fr);gap:7px;padding:5px 0;align-items:center}
.trackmath:not(.is-strategy) .coverage-ranking-row .recommendation-annotation{white-space:normal;line-height:1.4;padding-left:4px}
.trackmath:not(.is-strategy) .map-priority-slot{margin:4px 0 8px}
.trackmath.is-strategy:not(.is-chain-workspace) .coverage-lower>.coverage-filter-heading{display:none}
@media(max-width:999px){
 .trackmath:not(.is-strategy) .coverage-lower{grid-template-columns:minmax(0,1fr) 330px;gap:10px 12px;padding-inline:12px}
 .trackmath:not(.is-strategy) :is(.map-header,.matrix-frame .matrix-section>.matrix-title-rule){padding-inline:12px}
 .trackmath:not(.is-strategy) .map-dropout{border-top:0;padding-top:0}
}
@media(max-width:820px){.trackmath:not(.is-strategy) .coverage-lower{grid-template-columns:minmax(0,1fr)}.trackmath:not(.is-strategy) .map-physical-context{grid-column:1;grid-row:3}}

/* Compact normal Results workspace; planner surfaces retain their own layout. */
.trackmath:not(.is-strategy) .coverage-lower{border-top:1px solid var(--rule);margin-top:4px;padding-top:4px;grid-template-rows:minmax(27px,auto) minmax(0,1fr)}
.trackmath:not(.is-strategy) .instrument-stack{row-gap:0}
.trackmath:not(.is-strategy) .workspace-panel-matrix{margin-top:-1px}
.trackmath:not(.is-strategy) .gear-map-frame::after{content:'';position:absolute;left:-1px;right:-1px;bottom:-1px;height:1px;background:var(--rule);z-index:21;pointer-events:none}
.trackmath:not(.is-strategy) .coverage-lower::after{content:'';position:absolute;left:-1px;right:-1px;top:-1px;height:1px;background:var(--rule);z-index:21;pointer-events:none}
.trackmath:not(.is-strategy) .map-header{min-height:35px;box-sizing:border-box;padding-block:4px}
.trackmath:not(.is-strategy) .coverage-filter-heading>strong{display:flex;align-items:center;min-height:27px}
.trackmath:not(.is-strategy) .map-physical-context{position:relative}
@media(min-width:821px){.trackmath:not(.is-strategy) .map-physical-context::before{content:'';position:absolute;left:-1px;top:-5px;bottom:-12px;width:1px;background:var(--rule);pointer-events:none}}
.trackmath:not(.is-strategy) .coverage-plot{margin-inline:10px}
.trackmath:not(.is-strategy) .coverage-filter-heading select{height:24px}
.trackmath .coverage-filter-heading>strong{font-style:normal}
/* One-off heading insets, deliberately not tied to Map geometry. */
.trackmath:not(.is-strategy) :is(.map-header>span,#matrix-title,.coverage-filter-heading>strong){margin-left:-6px}
@media(max-width:999px){.trackmath:not(.is-strategy) :is(.map-header>span,#matrix-title,.coverage-filter-heading>strong){margin-left:-2px}}
.trackmath:not(.is-strategy) .map-dropout-heading,.trackmath:not(.is-strategy) .map-dropout-heading .map-dropout-title{min-height:27px}
.trackmath .map-dropout-title{gap:6px}
/* Align visible capitals/digits rather than the fonts' unequal ascent/descent boxes. */
.trackmath:not(.is-strategy) :is(.map-header>span,#matrix-title,.coverage-filter-heading>strong>span,.map-hardware-label,.map-dropout-gearing){text-box-trim:trim-both;text-box-edge:cap alphabetic}
.trackmath:not(.is-strategy) .map-physical-context>.bike-controls-anchor{margin-bottom:0}
.trackmath:not(.is-strategy) .bike-controls-anchor>.inline-bike-actions{display:none}
@media(max-width:820px){.trackmath:not(.is-strategy) .coverage-lower{grid-template-rows:auto auto auto}}

/* Two complete, stationary messages in the Results column. */
.trackmath .map-terminal .terminal-slot{position:relative;min-width:0;margin:0}
.trackmath .map-terminal .terminal-primary{grid-column:1/-1;grid-row:1}
.trackmath .map-terminal .terminal-secondary{grid-column:1/-1;grid-row:2}
.trackmath .map-terminal .terminal-complete{position:relative;margin:0;padding-left:12px;white-space:normal}
.trackmath .map-terminal .terminal-complete:not(:empty)::before{content:'';position:absolute;left:0;top:calc(var(--terminal-font-size)*var(--terminal-line-height)/2);width:3px;height:3px;border-radius:50%;background:currentColor;transform:translateY(-50%)}
.trackmath .map-terminal :is(.discovery-word,.terminal-action){line-height:inherit;vertical-align:baseline;border-bottom:0;text-decoration:underline dotted;text-underline-offset:2px}
.trackmath .map-terminal .terminal-controls{position:absolute;left:-12px;top:calc((var(--terminal-font-size)*var(--terminal-line-height) - 24px)/2);width:24px;height:24px}
.trackmath .terminal-controls button{position:relative;width:24px;height:24px;padding:0;border:0;background:transparent;color:var(--interaction-cyan);cursor:pointer}
.trackmath .terminal-controls button::before{content:'';position:absolute;left:calc(50% + 1.5px);top:50%;width:5px;height:5px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.trackmath .terminal-controls button:is(:hover,:focus-visible){color:var(--bone)}
.trackmath .map-terminal .terminal-slot:has(.terminal-controls:not([hidden])) .terminal-complete::before{display:none}
.trackmath .terminal-controls button:disabled{opacity:.35;cursor:default}
.trackmath .map-terminal .terminal-action{font:inherit;display:inline}
.trackmath:not(.is-strategy) .inline-chain-add{flex-wrap:nowrap;gap:4px}
.trackmath:not(.is-strategy) .inline-chain-add>span{white-space:nowrap}
.trackmath:not(.is-strategy) .inline-chain-add>.chain-count-guidance{gap:4px;white-space:nowrap}

/* State colours live in the header; the Matrix corner retains axis directions. */
.trackmath #gear-table thead th.matrix-axis-cell{width:128px;box-sizing:border-box;padding:0}
.trackmath .matrix-axis-cell .matrix-axis-label{position:absolute;inset:0;box-sizing:border-box;padding:0 3px;flex-direction:row;justify-content:space-between;gap:0;white-space:nowrap}

/* Temporary desktop panels contain their own scroll, leaving the instrument still. */
.trackmath .temporary-working-panel{overflow:auto;overscroll-behavior:contain;box-sizing:border-box;scroll-padding-block:48px 12px}
.trackmath .temporary-working-panel :is(input,button,summary,select){scroll-margin-block:48px 12px}
.trackmath .temporary-working-panel>.top-dropdown-heading,.trackmath .temporary-working-panel>h2,.trackmath .temporary-working-panel .setup-popup-header{position:sticky;top:0;z-index:2;background:var(--black)}
.trackmath .top-actions .bike-instrument.temporary-working-panel{position:fixed;inset:auto;max-width:calc(100vw - 24px)}
.trackmath .gearing-model-field:not(.profile-selector) .gearing-model-options.temporary-working-panel{position:fixed;right:auto;inset:auto;margin:0;z-index:170}
.trackmath .temporary-working-panel .inline-bike-body{overflow:visible;max-height:none}

/* Shared panel treatment. Header wordmarks and Optimise keep their own styling. */
.trackmath .temporary-working-panel{background:var(--black);color:var(--bone);border:1px solid var(--steel);padding:12px;box-shadow:none}
.trackmath .top-actions .bike-instrument.temporary-working-panel{padding:0}
.trackmath .temporary-working-panel>.top-dropdown-heading,.trackmath .temporary-working-panel>h2,.trackmath .temporary-working-panel .setup-popup-header{margin:0 0 10px;padding:4px 0 8px;border-bottom:1px solid var(--rule)}
.trackmath .temporary-working-panel :is(.panel-form-actions,.rear-wheel-form-actions){display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;margin:12px 0 0}
.trackmath .temporary-working-panel :is(.panel-form-actions,.rear-wheel-form-actions)>button{margin:0;padding:5px 8px;border:1px solid var(--steel);background:var(--black);color:var(--bone);cursor:pointer}
.trackmath .temporary-working-panel :is(.panel-form-actions,.rear-wheel-form-actions)>button:is(:hover,:focus-visible){border-color:var(--interaction-cyan)}
.trackmath .temporary-working-panel :is(button,input,select,summary):focus-visible{outline:1px solid var(--interaction-cyan);outline-offset:2px}
.trackmath .temporary-working-panel details:not(.info-popover)>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;color:var(--bone)}
.trackmath .temporary-working-panel details:not(.info-popover)>summary::-webkit-details-marker{display:none}
.trackmath .temporary-working-panel details:not(.info-popover)>summary::after{content:'';display:inline-block;flex:none;width:6px;height:6px;margin:-3px 3px 0 0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.trackmath .temporary-working-panel details:not(.info-popover)[open]>summary::after,.trackmath .gearing-model-control[open]>summary::after{transform:rotate(225deg);margin-top:3px}
.trackmath .temporary-working-panel details:not(.info-popover)>summary:is(:hover,:focus-visible){color:var(--interaction-cyan)}
.trackmath .temporary-working-panel details:not(.info-popover)[open]>summary{border-bottom:1px solid var(--rule);margin-bottom:8px}
.trackmath .temporary-working-panel .gearing-model-option:last-of-type{margin-bottom:0}
.trackmath .clear-all-confirmation{border-color:var(--steel)}
.trackmath .temporary-clear-all{border-color:var(--steel);color:var(--bone)}
.trackmath .temporary-clear-all:is(:hover,:focus-visible){border-color:var(--interaction-cyan)}
.trackmath .help-close{position:sticky;top:0;float:right;display:inline-block;margin:0 0 6px 8px;padding:2px 4px;min-width:20px;border:0;background:var(--black);color:var(--bone)}
.trackmath .help-close:is(:hover,:focus-visible){color:var(--interaction-cyan);outline:1px solid var(--interaction-cyan);background:var(--black)}
.trackmath .info-popover>summary,.trackmath .help-close{position:relative;isolation:isolate}
.trackmath .help-close{position:sticky}
.trackmath .info-popover>summary::after,.trackmath .help-close::after{content:'';position:absolute;z-index:1;left:50%;top:50%;width:max(100%,32px);height:max(100%,24px);transform:translate(-50%,-50%)}
.trackmath .help-close::after{width:max(100%,40px);height:max(100%,40px)}
.trackmath .control-help{display:inline-block;position:relative;vertical-align:middle;margin-left:4px}
.trackmath .control-help>summary{display:inline-flex;width:14px;min-width:14px;height:14px;min-height:14px;align-items:center;justify-content:center}
.trackmath .map-priority-captions>strong,.trackmath .map-chain-heading>span{position:relative}
.trackmath .map-priority-captions>strong>.control-help,.trackmath .map-chain-heading>span>.control-help,.trackmath .map-axle-target-box>.control-help{position:absolute;left:100%;top:50%;transform:translateY(-50%)}
.trackmath .profile-choices button{white-space:normal;overflow-wrap:anywhere}

/* Calculation toggles, recorded fit and menu choices express different state. */
.trackmath :is(.coverage-filter-heading,.setup-owned-chain,.rear-wheel-row,.cockpit-filter-row,.cockpit-chain-scope) button.state-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--steel);background:var(--black);color:var(--bone);box-shadow:none;opacity:1}
.trackmath button.state-toggle::after{content:'✓';display:none;flex:none;width:1em;text-align:center;visibility:hidden}
.trackmath .setup-owned-chain button.state-toggle[data-best-gear-chain]{width:calc(10ch + 1em + 17px);min-width:calc(10ch + 1em + 17px)}
.trackmath :is(.setup-owned-chain,.rear-wheel-row) button.state-toggle.is-fitted-control{width:calc(6ch + 1em + 17px);min-width:calc(6ch + 1em + 17px)}
.trackmath :is(.coverage-filter-heading,.setup-owned-chain,.rear-wheel-row,.cockpit-filter-row,.cockpit-chain-scope) button.state-toggle[aria-pressed=true]{background:var(--bone);border-color:var(--bone);color:var(--black);box-shadow:none;outline:none}
.trackmath .coverage-filter-heading .keep-fitted-chain.state-toggle[aria-pressed=true]:not(:disabled):is(:hover,:focus-visible){background:var(--bone);color:var(--black)}
.trackmath button.state-toggle[aria-pressed=true]::after{display:inline-block;visibility:visible}
.trackmath :is(.setup-owned-chain,.rear-wheel-row) button.state-toggle.is-fitted-control[aria-pressed=true]{background:var(--current-green);border-color:var(--current-green);color:var(--white)}
.trackmath :is(.coverage-filter-heading,.setup-owned-chain,.rear-wheel-row,.cockpit-filter-row,.cockpit-chain-scope) button.state-toggle:not(:disabled):is(:hover,:focus-visible){border-color:var(--interaction-cyan)}
.trackmath :is(.coverage-filter-heading,.setup-owned-chain,.rear-wheel-row,.cockpit-filter-row,.cockpit-chain-scope) button.state-toggle:focus-visible{outline:1px solid var(--interaction-cyan);outline-offset:2px}
.trackmath :is(.coverage-filter-heading,.setup-owned-chain,.rear-wheel-row,.cockpit-filter-row,.cockpit-chain-scope) button.state-toggle:disabled{opacity:.45;cursor:default}
.trackmath .keep-fitted-chain.state-toggle[aria-pressed=true] [data-chain-identity]:not(.chain-identity-dot),.trackmath .cockpit-consider.state-toggle[aria-pressed=true] .chain-identity{color:inherit}
.trackmath .chain-keep-notice{margin:0 0 6px;color:var(--slate);white-space:normal}
.trackmath .chain-keep-notice[hidden]{display:none}
.trackmath .map-chain-controls .setup-owned-chains{position:relative}
.trackmath .map-chain-controls .chain-keep-notice{position:absolute;z-index:1;isolation:isolate;left:50%;top:50%;margin:0;padding:4px 8px;white-space:pre-line;text-align:center;color:var(--bone);background:transparent;transform:translate(-50%,-50%) rotate(-8deg);pointer-events:none;width:max-content;max-width:calc(100% - 16px)}
.trackmath .map-chain-controls .chain-keep-notice::before{content:'';position:absolute;z-index:-1;inset:-3px -6px;border-radius:6px;background:color-mix(in srgb,var(--black) 70%,transparent);filter:blur(5px)}
.trackmath .map-chain-controls .is-keep-restricted>.setup-owned-chain{opacity:.5;filter:grayscale(.65)}
.trackmath .map-chain-controls .is-keep-restricted>.setup-owned-chain:is(:hover,:focus-within){opacity:.85;filter:none}
.trackmath:has(.map-chain-controls .is-keep-restricted:is(:hover,:focus-within)) .keep-fitted-chain:not(:disabled){outline:2px solid var(--interaction-cyan);outline-offset:2px;box-shadow:0 0 9px color-mix(in srgb,var(--interaction-cyan) 65%,transparent)}
.trackmath .gearing-model-options [data-gearing-model]::before{content:none;display:inline-block;flex:none;width:1.25em;margin-right:4px;text-align:center}
.trackmath .gearing-model-options [data-gearing-model][aria-checked=true]::before{content:'✓'}
.trackmath .gearing-model-options [data-gearing-model]{box-shadow:none;text-decoration:none;text-align:center}
.trackmath .inline-bike-setup button.state-toggle::after,.trackmath .inline-bike-setup [data-gearing-model]::before{color:var(--current-green)}
.trackmath .inline-bike-setup button.is-fitted-control[aria-pressed=true]::after{color:color-mix(in srgb,var(--current-green) 20%,white)}

/* Hardware entry points reuse the existing Bike Setup editor. */
.trackmath .top-action-identity{justify-content:flex-start}
.trackmath .top-actions [data-top-profile]{flex:0 1 240px;margin-inline:auto}
.trackmath .map-dropout-heading{column-gap:8px;flex-wrap:wrap}
.trackmath .map-dropout-heading .map-dropout-title{margin-right:auto}
.trackmath .map-hardware-label,.trackmath .map-hardware-edit{border:0;padding:0;background:none;color:var(--bone);cursor:pointer}
.trackmath .map-hardware-edit{color:var(--interaction-cyan);white-space:nowrap}
.trackmath :is(.map-hardware-label,.map-hardware-edit):is(:hover,:focus-visible){color:var(--interaction-cyan);text-decoration:underline;text-underline-offset:3px}
.trackmath :is(.map-hardware-label,.map-hardware-edit):focus-visible{outline:1px solid var(--interaction-cyan);outline-offset:3px}
.trackmath .top-actions{padding-left:10px;border-left:1px solid transparent}

/* First phone entry uses the shared working-panel treatment. */
.trackmath .phone-introduction{position:fixed;inset:auto;margin:0;width:min(440px,calc(100vw - 24px))}
.trackmath .phone-introduction>.setup-popup-header{position:static;padding:0 0 8px;gap:8px}
.trackmath .phone-introduction h2{margin:0}
.trackmath .phone-introduction p{margin:12px 0 0}
