.dashboard-wrapper.svelte-1uha8ag{max-width:1300px;margin:0 auto;padding:2rem 1.5rem 3rem}.config-panel.svelte-1uha8ag{background:var(--color-podium-white);border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(220px,320px);margin-bottom:1.5rem;display:grid;overflow:hidden}.athlete-section.svelte-1uha8ag{min-width:0;padding:2rem}.race-section.svelte-1uha8ag{border-left:1px solid #e2e8f0;padding:2rem}.owned-strip.svelte-1uha8ag{background:#22c55e0f;border:1px solid #22c55e40;border-radius:12px;flex-direction:column;gap:.7rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.owned-strip-head.svelte-1uha8ag{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.owned-strip-title.svelte-1uha8ag{font-family:var(--font-mono);color:#166534;letter-spacing:.08em;font-size:.72rem;font-weight:800}.owned-strip-sub.svelte-1uha8ag{font-family:var(--font-mono);color:#15803d;opacity:.75;font-size:.68rem}.owned-strip-chips.svelte-1uha8ag{flex-wrap:wrap;gap:.45rem;display:flex}.owned-chip.svelte-1uha8ag{background:var(--color-podium-white);color:var(--color-carbon-dark);font-family:var(--font-mono);border:1px solid #22c55e66;border-radius:999px;align-items:center;gap:.4rem;max-width:100%;padding:.35rem .4rem .35rem .55rem;font-size:.72rem;font-weight:700;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.owned-chip.svelte-1uha8ag:hover{background:#22c55e14;border-color:#15803d}.owned-chip-disc.svelte-1uha8ag{font-size:.85rem}.owned-chip-name.svelte-1uha8ag{white-space:nowrap;text-overflow:ellipsis;max-width:18rem;overflow:hidden}.owned-chip-x.svelte-1uha8ag{color:#94a3b8;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.15rem .35rem;font-size:.85rem;line-height:1;transition:all .12s}.owned-chip-x.svelte-1uha8ag:hover{color:var(--color-race-accent);background:#ef44441f}.filter-panel.svelte-1uha8ag{background:var(--color-podium-white);border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.25rem 1.75rem;display:flex}.filter-title.svelte-1uha8ag{font-family:var(--font-mono);color:var(--color-carbon-mid);letter-spacing:.1em;font-size:.75rem;font-weight:700}.filter-row.svelte-1uha8ag{flex-wrap:wrap;gap:.5rem;display:flex}.filter-chip.svelte-1uha8ag{background:var(--color-asphalt-light);font-family:var(--font-mono);cursor:pointer;color:var(--color-carbon-mid);border:1px solid #e2e8f0;border-radius:6px;padding:.5rem .9rem;font-size:.72rem;font-weight:700;transition:all .15s}.filter-chip.svelte-1uha8ag:hover{border-color:var(--color-carbon-dark)}.filter-chip.active.svelte-1uha8ag{background:var(--color-race-accent);color:var(--color-podium-white);border-color:var(--color-race-accent)}.result-count.svelte-1uha8ag{font-family:var(--font-mono);color:#94a3b8;margin-left:auto;font-size:.72rem}.table-wrap.svelte-1uha8ag{background:var(--color-podium-white);border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.upgrade-table.svelte-1uha8ag{border-collapse:collapse;width:100%}.upgrade-table.svelte-1uha8ag thead:where(.svelte-1uha8ag) th:where(.svelte-1uha8ag){text-align:left;font-family:var(--font-mono);color:#64748b;letter-spacing:.1em;text-transform:uppercase;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.85rem 1rem;font-size:.68rem;font-weight:700}.upgrade-table.svelte-1uha8ag thead:where(.svelte-1uha8ag) th.num:where(.svelte-1uha8ag){text-align:right}.upgrade-table.svelte-1uha8ag tbody:where(.svelte-1uha8ag) tr:where(.svelte-1uha8ag){border-bottom:1px solid #f1f5f9;transition:background .12s}.upgrade-table.svelte-1uha8ag tbody:where(.svelte-1uha8ag) tr:where(.svelte-1uha8ag):last-child{border-bottom:0}.upgrade-table.svelte-1uha8ag tbody:where(.svelte-1uha8ag) tr:where(.svelte-1uha8ag):hover{background:#f8fafc}.upgrade-table.svelte-1uha8ag tbody:where(.svelte-1uha8ag) td:where(.svelte-1uha8ag){vertical-align:middle;color:var(--color-carbon-dark);padding:1rem;font-size:.92rem}.upgrade-table.svelte-1uha8ag tbody:where(.svelte-1uha8ag) td.num:where(.svelte-1uha8ag){text-align:right;font-family:var(--font-mono);font-weight:700}.col-rank.svelte-1uha8ag{width:2.5rem;font-family:var(--font-mono);color:#94a3b8;text-align:center;font-size:.78rem}.upgrade-table.svelte-1uha8ag thead:where(.svelte-1uha8ag) th.col-rank:where(.svelte-1uha8ag){text-align:center}.col-action.svelte-1uha8ag{white-space:nowrap;width:1%}tr.optimal.svelte-1uha8ag td.col-rank:where(.svelte-1uha8ag){color:var(--color-roi-green);font-weight:800}tr.optimal.svelte-1uha8ag{background:#22c55e0a}tr.optimal.svelte-1uha8ag:hover{background:#22c55e14}.row-link.svelte-1uha8ag{color:var(--color-carbon-dark);font-weight:800;line-height:1.3;text-decoration:none;display:block}.row-link.svelte-1uha8ag:hover{color:var(--color-race-accent)}.row-sub.svelte-1uha8ag{color:#94a3b8;margin-top:.2rem;font-size:.74rem;font-style:italic;line-height:1.4;display:block}.disc-chip.svelte-1uha8ag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;background:var(--color-asphalt-light);color:var(--color-carbon-mid);border:1px solid #e2e8f0;border-radius:4px;align-items:center;gap:.35rem;padding:.3rem .55rem;font-size:.7rem;font-weight:700;display:inline-flex}.disc-bike.svelte-1uha8ag{color:#1d4ed8;background:#eff6ff;border-color:#dbeafe}.disc-swim.svelte-1uha8ag{color:#0e7490;background:#ecfeff;border-color:#cffafe}.disc-run.svelte-1uha8ag{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.rate-pill.svelte-1uha8ag{color:var(--color-carbon-mid);background:#f1f5f9;border-radius:6px;padding:.3rem .6rem;font-size:.88rem;display:inline-block}.rate-pill.rate-best.svelte-1uha8ag{color:#15803d;background:#22c55e1f}.rate-pill.rate-mid.svelte-1uha8ag{color:#b45309;background:#fef3c7}.unit.svelte-1uha8ag{color:#94a3b8;margin-left:.15rem;font-size:.72rem;font-weight:600}.rate-pill.svelte-1uha8ag .unit:where(.svelte-1uha8ag){color:inherit;opacity:.7}.inspect-btn.svelte-1uha8ag{background:var(--color-carbon-dark);color:var(--color-podium-white);font-family:var(--font-mono);letter-spacing:.06em;border-radius:6px;padding:.5rem .85rem;font-size:.68rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-block}.inspect-btn.svelte-1uha8ag:hover{background:var(--color-race-accent)}.own-btn.svelte-1uha8ag{background:var(--color-podium-white);color:#15803d;font-family:var(--font-mono);letter-spacing:.06em;cursor:pointer;white-space:nowrap;border:1px solid #22c55e80;border-radius:6px;margin-right:.4rem;padding:.5rem .75rem;font-size:.68rem;font-weight:700;transition:all .15s;display:inline-block}.own-btn.svelte-1uha8ag:hover{color:var(--color-podium-white);background:#15803d;border-color:#15803d}.own-btn.svelte-1uha8ag:focus-visible{outline:2px solid var(--color-roi-green);outline-offset:2px}.empty-state.svelte-1uha8ag{background:var(--color-podium-white);text-align:center;color:#64748b;font-family:var(--font-mono);border:1px dashed #cbd5e1;border-radius:12px;padding:3rem;font-size:.85rem}@media (width<=900px){.config-panel.svelte-1uha8ag{grid-template-columns:1fr}.race-section.svelte-1uha8ag{border-top:1px solid #e2e8f0;border-left:0}}@media (width<=720px){.dashboard-wrapper.svelte-1uha8ag{padding:1.5rem 1rem 2.5rem}.athlete-section.svelte-1uha8ag,.race-section.svelte-1uha8ag{padding:1.5rem 1.25rem}.filter-panel.svelte-1uha8ag{padding:1rem 1.25rem}.filter-panel.svelte-1uha8ag .result-count:where(.svelte-1uha8ag){margin-left:0}.upgrade-table.svelte-1uha8ag thead:where(.svelte-1uha8ag){display:none}.upgrade-table.svelte-1uha8ag,.upgrade-table.svelte-1uha8ag tbody:where(.svelte-1uha8ag){width:100%;display:block}.upgrade-table.svelte-1uha8ag tr:where(.svelte-1uha8ag){border-bottom:1px solid #f1f5f9;grid-template-columns:1fr auto;grid-template-areas:"name name""disc cost""time rate""action action";gap:.4rem .75rem;padding:1rem 1.1rem;display:grid}.upgrade-table.svelte-1uha8ag td:where(.svelte-1uha8ag){border:0;padding:0;text-align:left!important}.upgrade-table.svelte-1uha8ag td.col-name:where(.svelte-1uha8ag){grid-area:name}.upgrade-table.svelte-1uha8ag td.col-disc:where(.svelte-1uha8ag){grid-area:disc}.upgrade-table.svelte-1uha8ag td.col-cost:where(.svelte-1uha8ag){grid-area:cost}.upgrade-table.svelte-1uha8ag td.col-time:where(.svelte-1uha8ag){grid-area:time}.upgrade-table.svelte-1uha8ag td.col-rate:where(.svelte-1uha8ag){grid-area:rate}.upgrade-table.svelte-1uha8ag td.col-action:where(.svelte-1uha8ag){flex-wrap:wrap;grid-area:action;justify-content:flex-end;gap:.4rem;width:auto;padding-top:.5rem;display:flex}.own-btn.svelte-1uha8ag{margin-right:0}.col-rank.svelte-1uha8ag{display:none!important}}
